Update documentation about pseudo-types.

Tone down an overly strong statement about which pseudo-types PLs are
likely to allow.  Add "event_trigger" to the list, as well as
"pg_ddl_command" in 9.5/HEAD.  Back-patch to 9.3 where event_trigger
was added.
This commit is contained in:
Tom Lane 2015-12-28 11:04:42 -05:00
parent c3e068b261
commit ea786b278c

View File

@ -4591,6 +4591,14 @@ SELECT * FROM pg_attribute
<primary>trigger</primary>
</indexterm>
<indexterm zone="datatype-pseudo">
<primary>event_trigger</primary>
</indexterm>
<indexterm zone="datatype-pseudo">
<primary>pg_ddl_command</primary>
</indexterm>
<indexterm zone="datatype-pseudo">
<primary>language_handler</primary>
</indexterm>
@ -4704,7 +4712,7 @@ SELECT * FROM pg_attribute
<row>
<entry><type>record</></entry>
<entry>Identifies a function returning an unspecified row type.</entry>
<entry>Identifies a function taking or returning an unspecified row type.</entry>
</row>
<row>
@ -4712,6 +4720,16 @@ SELECT * FROM pg_attribute
<entry>A trigger function is declared to return <type>trigger.</></entry>
</row>
<row>
<entry><type>event_trigger</></entry>
<entry>An event trigger function is declared to return <type>event_trigger.</></entry>
</row>
<row>
<entry><type>pg_ddl_command</></entry>
<entry>Identifies a represention of DDL commands that is available to event triggers.</entry>
</row>
<row>
<entry><type>void</></entry>
<entry>Indicates that a function returns no value.</entry>
@ -4734,10 +4752,11 @@ SELECT * FROM pg_attribute
<para>
Functions coded in procedural languages can use pseudo-types only as
allowed by their implementation languages. At present the procedural
languages all forbid use of a pseudo-type as argument type, and allow
allowed by their implementation languages. At present most procedural
languages forbid use of a pseudo-type as an argument type, and allow
only <type>void</> and <type>record</> as a result type (plus
<type>trigger</> when the function is used as a trigger). Some also
<type>trigger</> or <type>event_trigger</> when the function is used
as a trigger or event trigger). Some also
support polymorphic functions using the types <type>anyelement</>,
<type>anyarray</>, <type>anynonarray</>, <type>anyenum</>, and
<type>anyrange</>.