[Please CC any replies]


Here is a patch to the documentation clarifying some minor issues. 

The first is to the main SPI documentation clarifying that SPI isn't
available unless there is a current snapshot (leading to the "no
snapshot has been set" error).

The second clarifies when the get_fn_expr_rettype() and
get_fn_expr_argtype() functions can actually provide the information

Have a nice day,
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.
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 @@
+ <note>
+  <para>
+   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.
+  </para>
+ </note>
   To avoid misunderstanding we'll use the term <quote>function</quote>
   when we speak of <acronym>SPI</acronym> 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 <function>get_fn_expr_rettype</>.
+    <footnote>
+     <para>
+      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.
+     </para>
+    </footnote>
      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:

Attachment: pgp96sslT5d75.pgp
Description: PGP signature

Reply via email to