Skip to content

Commit

Permalink
Update documentation about pseudo-types.
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
tglsfdc committed Dec 28, 2015
1 parent fc995bf commit 731dfc7
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions doc/src/sgml/datatype.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -4616,6 +4616,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>
Expand Down Expand Up @@ -4729,14 +4737,24 @@ 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>
<entry><type>trigger</></entry>
<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>
Expand All @@ -4759,10 +4777,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</>.
Expand Down

0 comments on commit 731dfc7

Please sign in to comment.