summaryrefslogtreecommitdiff
path: root/doc/src/sgml/catalogs.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/catalogs.sgml')
-rw-r--r--doc/src/sgml/catalogs.sgml37
1 files changed, 24 insertions, 13 deletions
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index e70cee4506..0cc355330d 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
- $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.69 2003/04/15 13:23:35 petere Exp $
+ $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.70 2003/05/08 22:19:55 tgl Exp $
-->
<chapter id="catalogs">
@@ -3315,9 +3315,9 @@
<para>
The catalog <structname>pg_type</structname> stores information about data types. Base types
(scalar types) are created with <command>CREATE TYPE</command>.
- A complex type is automatically created for each table in the database, to
+ A composite type is automatically created for each table in the database, to
represent the row structure of the table. It is also possible to create
- complex types with <command>CREATE TYPE AS</command> and
+ composite types with <command>CREATE TYPE AS</command> and
derived types with <command>CREATE DOMAIN</command>.
</para>
@@ -3378,12 +3378,9 @@
<entry>
<structfield>typbyval</structfield> determines whether internal
routines pass a value of this type by value or by reference.
- Only <type>char</type>, <type>short</type>, and
- <type>int</type> equivalent items can be passed by value, so if
- the type is not 1, 2, or 4 bytes long,
- <productname>PostgreSQL</> does not have
- the option of passing by value and so
- <structfield>typbyval</structfield> had better be false.
+ <structfield>typbyval</structfield> had better be false if
+ <structfield>typlen</structfield> is not 1, 2, or 4 (or 8 on machines
+ where Datum is 8 bytes).
Variable-length types are always passed by reference. Note that
<structfield>typbyval</structfield> can be false even if the
length would allow pass-by-value; this is currently true for
@@ -3397,7 +3394,7 @@
<entry></entry>
<entry>
<structfield>typtype</structfield> is <literal>b</literal> for
- a base type, <literal>c</literal> for a complex type (i.e.,
+ a base type, <literal>c</literal> for a composite type (i.e.,
a table's row type), <literal>d</literal> for a derived type (i.e.,
a domain), or <literal>p</literal> for a pseudo-type. See also
<structfield>typrelid</structfield>
@@ -3431,7 +3428,7 @@
<entry><type>oid</type></entry>
<entry><literal>pg_class.oid</literal></entry>
<entry>
- If this is a complex type (see
+ If this is a composite type (see
<structfield>typtype</structfield>), then this column points to
the <structname>pg_class</structname> entry that defines the
corresponding table. (For a free-standing composite type, the
@@ -3468,14 +3465,28 @@
<entry><structfield>typinput</structfield></entry>
<entry><type>regproc</type></entry>
<entry><literal>pg_proc.oid</literal></entry>
- <entry>Input conversion function</entry>
+ <entry>Input conversion function (text format)</entry>
</row>
<row>
<entry><structfield>typoutput</structfield></entry>
<entry><type>regproc</type></entry>
<entry><literal>pg_proc.oid</literal></entry>
- <entry>Output conversion function</entry>
+ <entry>Output conversion function (text format)</entry>
+ </row>
+
+ <row>
+ <entry><structfield>typreceive</structfield></entry>
+ <entry><type>regproc</type></entry>
+ <entry><literal>pg_proc.oid</literal></entry>
+ <entry>Input conversion function (binary format), or 0 if none</entry>
+ </row>
+
+ <row>
+ <entry><structfield>typsend</structfield></entry>
+ <entry><type>regproc</type></entry>
+ <entry><literal>pg_proc.oid</literal></entry>
+ <entry>Output conversion function (binary format), or 0 if none</entry>
</row>
<row>