diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-01-02 00:41:26 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-01-02 00:41:26 +0000 |
commit | e274325e02cffacf9e0e0717fcdffe7641de9049 (patch) | |
tree | cd43ed277286c3625bdfe98a5a03dece12242e56 /doc/src | |
parent | 4764ae823b78a602ebfe01a91084c4b1ec931554 (diff) | |
download | postgresql-e274325e02cffacf9e0e0717fcdffe7641de9049.tar.gz postgresql-e274325e02cffacf9e0e0717fcdffe7641de9049.zip |
Fix incorrect description of rowtype variable declarations. Eventually
(IMHO) the code should be fixed to do what the documentation formerly
claimed, and then revert this change.
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/plsql.sgml | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/doc/src/sgml/plsql.sgml b/doc/src/sgml/plsql.sgml index a7c9b12c1b0..7ec861d8505 100644 --- a/doc/src/sgml/plsql.sgml +++ b/doc/src/sgml/plsql.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.51 2001/11/28 04:18:46 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/Attic/plsql.sgml,v 2.52 2002/01/02 00:41:26 tgl Exp $ --> <chapter id="plpgsql"> @@ -457,21 +457,28 @@ END; <para> <synopsis> -<replaceable>name</replaceable> <replaceable>table-datatype</replaceable>; +<replaceable>name</replaceable> <replaceable>tablename</replaceable><literal>%ROWTYPE</literal>; </synopsis> </para> <para> - A variable declared with a composite type (referenced by the name of - the table that defines that type) is called a <firstterm>row</> - variable. Such a variable can hold a whole row of a SELECT or FOR + A variable of a composite type is called a <firstterm>row</> + variable (or <firstterm>rowtype</> variable). Such a variable can hold a + whole row of a SELECT or FOR query result, so long as that query's column set matches the declared - rowtype of the variable. The individual fields of the row value are + type of the variable. The individual fields of the row value are accessed using the usual dot notation, for example <literal>rowvar.field</literal>. </para> <para> + Presently, a row variable can only be declared using the + <literal>%ROWTYPE</literal> notation; although one might expect a + bare table name to work as a type declaration, it won't be accepted + within <application>PL/pgSQL</application> functions. + </para> + + <para> Parameters to a function can be composite types (complete table rows). In that case, the corresponding identifier $n will be a row variable, and fields can @@ -563,9 +570,7 @@ user_id users.user_id%TYPE; <type>%ROWTYPE</type> provides the composite data type corresponding to a whole row of the specified table. <replaceable>table</replaceable> must be an existing - table or view name of the database. A row variable declared - in this way acts the same as a row variable explicitly declared using - the same composite (row) datatype. + table or view name of the database. </para> <programlisting> @@ -616,6 +621,15 @@ RENAME id TO user_id; RENAME this_var TO that_var; </programlisting> </para> + + <note> + <para> + RENAME appears to be broken as of PostgreSQL 7.2. Fixing this is + of low priority, since ALIAS covers most of the practical uses of + RENAME. + </para> + </note> + </sect2> </sect1> |