Pavel Stehule <pavel.steh...@gmail.com> writes:
> actually, there isn't any difference between a) and b)

> a) select somevariadicwithany(10);
> b) select somevariadicwithany(variadic 10);

> in this case the keyword VARIADIC is ignored.

Well, in my mind what the VARIADIC keyword does is it prevents the parser
from building an ARRAY[] expression around the remaining parameters.
Which would be incorrect for a VARIADIC ANY function because such a
function presumably doesn't want to force all the actual arguments
to be the same type --- if it did, it could use VARIADIC ANYARRAY.

VARIADIC ANY basically exists to allow an ANY-argument function to
accept any number of ANY parameters.  As such, PG_NARGS() is all it
really needs to know, plus the already-existing support for obtaining
the parameters' actual datatypes.

                        regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to