It is not obvious that a function should be declared "RETURNS VOID" if it is not supposed to return a value.
There's also a user-comment on the 8.1 doc-page. Joachim
Index: create_function.sgml =================================================================== RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v retrieving revision 1.68 diff -c -r1.68 create_function.sgml *** create_function.sgml 16 Sep 2006 00:30:17 -0000 1.68 --- create_function.sgml 3 Nov 2006 03:51:37 -0000 *************** *** 152,158 **** may be a base, composite, or domain type, or may reference the type of a table column. Depending on the implementation language it may also be allowed ! to specify <quote>pseudotypes</> such as <type>cstring</>. </para> <para> When there are <literal>OUT</> or <literal>INOUT</> parameters, --- 152,160 ---- may be a base, composite, or domain type, or may reference the type of a table column. Depending on the implementation language it may also be allowed ! to specify <quote>pseudotypes</> such as <type>cstring</>. If the ! function is not supposed to return a value, specify <literal>VOID</> as ! return type. </para> <para> When there are <literal>OUT</> or <literal>INOUT</> parameters,
---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org