Commit 699300a1 authored by Tom Lane's avatar Tom Lane

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.
parent 2ef6c66a
......@@ -754,6 +754,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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment