diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index db8da53677b..7856e39e3fa 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -2200,9 +2200,9 @@ PG_FUNCTION_INFO_V1(funcname);
In a version-1 function, each actual argument is fetched using a
PG_GETARG_xxx()
- macro that corresponds to the argument's data type. In non-strict
+ macro that corresponds to the argument's data type. (In non-strict
functions there needs to be a previous check about argument null-ness
- using PG_ARGNULL_xxx().
+ using PG_ARGISNULL(); see below.)
The result is returned using a
PG_RETURN_xxx()
macro for the return type.
@@ -2366,14 +2366,6 @@ CREATE FUNCTION concat_text(text, text) RETURNS text
explicitly, using PG_ARGISNULL().
-
- At first glance, the version-1 coding conventions might appear to be just
- pointless obscurantism, over using plain C> calling
- conventions. They do however allow to deal with NULL>able
- arguments/return values, and toasted
(compressed or
- out-of-line) values.
-
-
The macro PG_ARGISNULL(n>)
allows a function to test whether each input is null. (Of course, doing
@@ -2388,6 +2380,14 @@ CREATE FUNCTION concat_text(text, text) RETURNS text
this works in both strict and nonstrict functions.
+
+ At first glance, the version-1 coding conventions might appear
+ to be just pointless obscurantism, compared to using
+ plain C calling conventions. They do however allow
+ us to deal with NULLable arguments/return values,
+ and toasted
(compressed or out-of-line) values.
+
+
Other options provided by the version-1 interface are two
variants of the