Index: doc/src/sgml/spi.sgml =================================================================== RCS file: /projects/cvsroot/pgsql/doc/src/sgml/spi.sgml,v retrieving revision 1.42 diff -u -r1.42 spi.sgml --- doc/src/sgml/spi.sgml 29 Jul 2005 13:00:03 -0000 1.42 +++ doc/src/sgml/spi.sgml 13 Aug 2005 19:10:54 -0000 @@ -29,6 +29,14 @@ + + + SPI can not be used in functions called prior to the start of query + execution because there is no current snapshot at that point. Examples of + this include type input functions and cost estimation functions. + + + To avoid misunderstanding we'll use the term function when we speak of SPI interface functions and Index: doc/src/sgml/xfunc.sgml =================================================================== RCS file: /projects/cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v retrieving revision 1.103 diff -u -r1.103 xfunc.sgml --- doc/src/sgml/xfunc.sgml 30 May 2005 23:09:07 -0000 1.103 +++ doc/src/sgml/xfunc.sgml 13 Aug 2005 19:10:55 -0000 @@ -2778,6 +2778,16 @@ as an alternative to get_fn_expr_rettype. + + + Information about argument and return types is generally available if + you are executing a normal function within a normal query. However, it + can be missing for implicitly used functions, such as type + input/output functions that are called directly by the planner before + the query starts. + + + For example, suppose we want to write a function to accept a single element of any type, and return a one-dimensional array of that type: