aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-12-28 11:04:42 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2015-12-28 11:04:42 -0500
commitea786b278c2471c69602c4b268be1ce90340e408 (patch)
tree4d36cb92c0cbe59f9033b17a92683cd0c7e8fa58
parentc3e068b26185e6c667dbb45f05bb2466ed11cfea (diff)
downloadpostgresql-ea786b278c2471c69602c4b268be1ce90340e408.tar.gz
postgresql-ea786b278c2471c69602c4b268be1ce90340e408.zip
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.
-rw-r--r--doc/src/sgml/datatype.sgml27
1 files changed, 23 insertions, 4 deletions
diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index 6e7717dfb37..61b562da97f 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -4592,6 +4592,14 @@ SELECT * FROM pg_attribute
</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>
@@ -4713,6 +4721,16 @@ SELECT * FROM pg_attribute
</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>
</row>
@@ -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</>.