diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-29 19:44:23 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-29 19:44:23 +0000 |
commit | 0f085f6e9df81140ee69f29f31f42b2824f0afed (patch) | |
tree | 8168bd9aa2e2eaac65dccfde4f7c7286cf569b72 /doc/src | |
parent | eb47ee486538fb0ea81917b3e35d6cff9f7a0ec7 (diff) | |
download | postgresql-0f085f6e9df81140ee69f29f31f42b2824f0afed.tar.gz postgresql-0f085f6e9df81140ee69f29f31f42b2824f0afed.zip |
Add proallargtypes and proargmodes columns to pg_proc, as per my earlier
proposal for OUT parameter support. The columns don't actually *do*
anything yet, they are just left NULLs. But I thought I'd commit this
part separately as a fairly pure example of the tasks needed when adding
a column to pg_proc or one of the other core system tables.
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/bki.sgml | 3 | ||||
-rw-r--r-- | doc/src/sgml/catalogs.sgml | 40 |
2 files changed, 39 insertions, 4 deletions
diff --git a/doc/src/sgml/bki.sgml b/doc/src/sgml/bki.sgml index 867dd421fea..23fb02a8cfc 100644 --- a/doc/src/sgml/bki.sgml +++ b/doc/src/sgml/bki.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/bki.sgml,v 1.13 2005/01/05 23:42:03 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/bki.sgml,v 1.14 2005/03/29 19:44:22 tgl Exp $ --> <chapter id="bki"> @@ -97,6 +97,7 @@ $PostgreSQL: pgsql/doc/src/sgml/bki.sgml,v 1.13 2005/01/05 23:42:03 tgl Exp $ <type>oid</type>, <type>tid</type>, <type>xid</type>, <type>cid</type>, <type>int2vector</type>, <type>oidvector</type>, <type>_int4</type> (array), <type>_text</type> (array), + <type>_oid</type> (array), <type>_char</type> (array), <type>_aclitem</type> (array). Although it is possible to create tables containing columns of other types, this cannot be done until after <structname>pg_type</> has been created and filled with diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 946dd53b349..11d774410d3 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -1,6 +1,6 @@ <!-- Documentation of the system catalogs, directed toward PostgreSQL developers - $PostgreSQL: pgsql/doc/src/sgml/catalogs.sgml,v 2.98 2005/03/29 00:16:49 tgl Exp $ + $PostgreSQL: pgsql/doc/src/sgml/catalogs.sgml,v 2.99 2005/03/29 19:44:22 tgl Exp $ --> <chapter id="catalogs"> @@ -2855,7 +2855,39 @@ <entry><structfield>proargtypes</structfield></entry> <entry><type>oidvector</type></entry> <entry><literal><link linkend="catalog-pg-type"><structname>pg_type</structname></link>.oid</literal></entry> - <entry>An array with the data types of the function arguments</entry> + <entry> + An array with the data types of the function arguments. This includes + only input arguments (including INOUT arguments), and thus represents + the call signature of the function. + </entry> + </row> + + <row> + <entry><structfield>proallargtypes</structfield></entry> + <entry><type>oid[]</type></entry> + <entry><literal><link linkend="catalog-pg-type"><structname>pg_type</structname></link>.oid</literal></entry> + <entry> + An array with the data types of the function arguments. This includes + all arguments (including OUT and INOUT arguments); however, if all the + arguments are IN arguments, this field will be null. + Note that subscripting is 1-based, whereas for historical reasons + <structfield>proargtypes</> is subscripted from 0. + </entry> + </row> + + <row> + <entry><structfield>proargmodes</structfield></entry> + <entry><type>"char"[]</type></entry> + <entry></entry> + <entry> + An array with the modes of the function arguments, encoded as + <literal>i</literal> for IN arguments, + <literal>o</literal> for OUT arguments, + <literal>b</literal> for INOUT arguments. + If all the arguments are IN arguments, this field will be null. + Note that subscripts correspond to positions of + <structfield>proallargtypes</> not <structfield>proargtypes</>. + </entry> </row> <row> @@ -2865,7 +2897,9 @@ <entry> An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. - If none of the arguments have a name, this field may be null. + If none of the arguments have a name, this field will be null. + Note that subscripts correspond to positions of + <structfield>proallargtypes</> not <structfield>proargtypes</>. </entry> </row> |