1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
8
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
10
HREF="mailto:pgsql-docs@postgresql.org"><LINK
12
TITLE="PostgreSQL 9.1beta1 Documentation"
13
HREF="index.html"><LINK
16
HREF="datatype.html"><LINK
18
TITLE="Object Identifier Types"
19
HREF="datatype-oid.html"><LINK
21
TITLE="Functions and Operators"
22
HREF="functions.html"><LINK
25
HREF="stylesheet.css"><META
26
HTTP-EQUIV="Content-Type"
27
CONTENT="text/html; charset=ISO-8859-1"><META
29
CONTENT="2011-04-27T21:20:33"></HEAD
35
SUMMARY="Header navigation table"
47
>PostgreSQL 9.1beta1 Documentation</A
56
TITLE="Object Identifier Types"
57
HREF="datatype-oid.html"
74
>Chapter 8. Data Types</TD
89
TITLE="Functions and Operators"
104
NAME="DATATYPE-PSEUDO"
105
>8.17. Pseudo-Types</A
111
> type system contains a
112
number of special-purpose entries that are collectively called
116
>. A pseudo-type cannot be used as a
117
column data type, but it can be used to declare a function's
118
argument or result type. Each of the available pseudo-types is
119
useful in situations where a function's behavior does not
120
correspond to simply taking or returning a value of a specific
125
HREF="datatype-pseudo.html#DATATYPE-PSEUDOTYPES-TABLE"
133
NAME="DATATYPE-PSEUDOTYPES-TABLE"
137
>Table 8-24. Pseudo-Types</B
158
>Indicates that a function accepts any input data type.</TD
167
>Indicates that a function accepts any array data type
169
HREF="extend-type-system.html#EXTEND-TYPES-POLYMORPHIC"
180
>Indicates that a function accepts any data type
182
HREF="extend-type-system.html#EXTEND-TYPES-POLYMORPHIC"
193
>Indicates that a function accepts any enum data type
195
HREF="extend-type-system.html#EXTEND-TYPES-POLYMORPHIC"
199
HREF="datatype-enum.html"
210
>Indicates that a function accepts any non-array data type
212
HREF="extend-type-system.html#EXTEND-TYPES-POLYMORPHIC"
223
>Indicates that a function accepts or returns a null-terminated C string.</TD
232
>Indicates that a function accepts or returns a server-internal
239
>language_handler</TT
242
>A procedural language call handler is declared to return <TT
244
>language_handler</TT
254
>A foreign-data wrapper handler is declared to return <TT
266
>Identifies a function returning an unspecified row type.</TD
275
>A trigger function is declared to return <TT
287
>Indicates that a function returns no value.</TD
296
>An obsolete type name that formerly served all the above purposes.</TD
302
> Functions coded in C (whether built-in or dynamically loaded) can be
303
declared to accept or return any of these pseudo data types. It is up to
304
the function author to ensure that the function will behave safely
305
when a pseudo-type is used as an argument type.
308
> Functions coded in procedural languages can use pseudo-types only as
309
allowed by their implementation languages. At present the procedural
310
languages all forbid use of a pseudo-type as argument type, and allow
317
> as a result type (plus
321
> when the function is used as a trigger). Some also
322
support polymorphic functions using the types <TT
341
> pseudo-type is used to declare functions
342
that are meant only to be called internally by the database
343
system, and not by direct invocation in an <ACRONYM
347
query. If a function has at least one <TT
351
argument then it cannot be called from <ACRONYM
355
preserve the type safety of this restriction it is important to
356
follow this coding rule: do not create any function that is
357
declared to return <TT
360
> unless it has at least one
372
SUMMARY="Footer navigation table"
383
HREF="datatype-oid.html"
401
HREF="functions.html"
411
>Object Identifier Types</TD
425
>Functions and Operators</TD
b'\\ No newline at end of file'