diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 7d23ed4..86d28fb 100644
*** a/doc/src/sgml/plpgsql.sgml
--- b/doc/src/sgml/plpgsql.sgml
***************
*** 123,129 ****
       and they can return a result of any of these types.  They can also
       accept or return any composite type (row type) specified by name.
       It is also possible to declare a <application>PL/pgSQL</application>
!      function as returning <type>record</type>, which means that the result
       is a row type whose columns are determined by specification in the
       calling query, as discussed in <xref linkend="queries-tablefunctions"/>.
      </para>
--- 123,131 ----
       and they can return a result of any of these types.  They can also
       accept or return any composite type (row type) specified by name.
       It is also possible to declare a <application>PL/pgSQL</application>
!      function as accepting <type>record</type>, which means that any
!      composite type will do as input, or
!      as returning <type>record</type>, which means that the result
       is a row type whose columns are determined by specification in the
       calling query, as discussed in <xref linkend="queries-tablefunctions"/>.
      </para>
*************** user_id users.user_id%TYPE;
*** 672,685 ****
     </para>
  
     <para>
-     Only the user-defined columns of a table row are accessible in a
-     row-type variable, not the OID or other system columns (because the
-     row could be from a view).  The fields of the row type inherit the
-     table's field size or precision for data types such as
-     <type>char(<replaceable>n</replaceable>)</type>.
-    </para>
- 
-    <para>
      Here is an example of using composite types.  <structname>table1</structname>
      and <structname>table2</structname> are existing tables having at least the
      mentioned fields:
--- 674,679 ----
