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. 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