Skip to content
Snippets Groups Projects
Commit ee56e14b authored by Tom Lane's avatar Tom Lane
Browse files

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 b71e37c8
No related branches found
No related tags found
No related merge requests found
...@@ -739,6 +739,20 @@ SELECT mleast(VARIADIC ARRAY[10, -1, 5, 4.4]); ...@@ -739,6 +739,20 @@ SELECT mleast(VARIADIC ARRAY[10, -1, 5, 4.4]);
actual argument of a function call. actual argument of a function call.
</para> </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> <para>
The array element parameters generated from a variadic parameter are The array element parameters generated from a variadic parameter are
treated as not having any names of their own. This means it is not treated as not having any names of their own. This means it is not
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment