Skip to content

Commit ea786b2

Browse files
committed
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.
1 parent c3e068b commit ea786b2

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

doc/src/sgml/datatype.sgml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4591,6 +4591,14 @@ SELECT * FROM pg_attribute
45914591
<primary>trigger</primary>
45924592
</indexterm>
45934593

4594+
<indexterm zone="datatype-pseudo">
4595+
<primary>event_trigger</primary>
4596+
</indexterm>
4597+
4598+
<indexterm zone="datatype-pseudo">
4599+
<primary>pg_ddl_command</primary>
4600+
</indexterm>
4601+
45944602
<indexterm zone="datatype-pseudo">
45954603
<primary>language_handler</primary>
45964604
</indexterm>
@@ -4704,14 +4712,24 @@ SELECT * FROM pg_attribute
47044712

47054713
<row>
47064714
<entry><type>record</></entry>
4707-
<entry>Identifies a function returning an unspecified row type.</entry>
4715+
<entry>Identifies a function taking or returning an unspecified row type.</entry>
47084716
</row>
47094717

47104718
<row>
47114719
<entry><type>trigger</></entry>
47124720
<entry>A trigger function is declared to return <type>trigger.</></entry>
47134721
</row>
47144722

4723+
<row>
4724+
<entry><type>event_trigger</></entry>
4725+
<entry>An event trigger function is declared to return <type>event_trigger.</></entry>
4726+
</row>
4727+
4728+
<row>
4729+
<entry><type>pg_ddl_command</></entry>
4730+
<entry>Identifies a represention of DDL commands that is available to event triggers.</entry>
4731+
</row>
4732+
47154733
<row>
47164734
<entry><type>void</></entry>
47174735
<entry>Indicates that a function returns no value.</entry>
@@ -4734,10 +4752,11 @@ SELECT * FROM pg_attribute
47344752

47354753
<para>
47364754
Functions coded in procedural languages can use pseudo-types only as
4737-
allowed by their implementation languages. At present the procedural
4738-
languages all forbid use of a pseudo-type as argument type, and allow
4755+
allowed by their implementation languages. At present most procedural
4756+
languages forbid use of a pseudo-type as an argument type, and allow
47394757
only <type>void</> and <type>record</> as a result type (plus
4740-
<type>trigger</> when the function is used as a trigger). Some also
4758+
<type>trigger</> or <type>event_trigger</> when the function is used
4759+
as a trigger or event trigger). Some also
47414760
support polymorphic functions using the types <type>anyelement</>,
47424761
<type>anyarray</>, <type>anynonarray</>, <type>anyenum</>, and
47434762
<type>anyrange</>.

0 commit comments

Comments
 (0)