1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-17 06:41:24 +03:00

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.
This commit is contained in:
Tom Lane 2014-12-21 15:30:39 -05:00
parent f8c51fe6bb
commit acbcb32629

View File

@ -739,6 +739,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