postgres.git / summary / log / commit / refs
commit b27679a466592ae27690f6ed0a6ff3a09812dfd7
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun Dec 21 20:30:39 2014 +0000
First released in: 9.5.0, 9.0.19, 9.1.15, 9.2.10, 9.3.6, 9.4.1
Docs: clarify treatment of variadic functions with zero variadic arguments.
Explain that you have to use "VARIADIC ARRAY[]" to pass an empty array
to a variadic parameter position. This was already implicit in the text
but it seems better to spell it out.
Per a suggestion from David Johnston, though I didn't use his proposed
wording. Back-patch to all supported branches.
doc/src/sgml/xfunc.sgml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 117367f3992..9ecee8a07c7 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -699,6 +699,20 @@ SELECT mleast(VARIADIC ARRAY[10, -1, 5, 4.4]);
actual argument of a function call.
</para>
+ <para>
+ Specifying <literal>VARIADIC</> in the call is also the only way to
+ pass an empty array to a variadic function, for example:
+
+<screen>
+SELECT mleast(VARIADIC ARRAY[]::numeric[]);
+</screen>
+
+ Simply writing <literal>SELECT mleast()</> does not work because a
+ variadic parameter must match at least one actual argument.
+ (You could define a second function also named <literal>mleast</>,
+ with no parameters, if you wanted to allow such calls.)
+ </para>
+
<para>
The array element parameters generated from a variadic parameter are
treated as not having any names of their own. This means it is not
[parent: fce3a719839e]