Hello,
Our implementation of variadic parameters are not complete. The
support of "any" type is incomplete. Modificator VARIADIC for funccall
parameters needs transformation from ArrayExpr to standard parameters
list.
==current behave==
postgres=# select variadic_demo2(10,'Petr',20,20,30);
NOTICE: arg(0) = 10
NOTICE: arg(1) = Petr
NOTICE: arg(2) = 20
NOTICE: arg(3) = 20
NOTICE: arg(4) = 30
variadic_demo2
----------------
(1 row)
Time: 3,245 ms
postgres=# select variadic_demo2(10,'Petr',20, variadic array[10,20]);
NOTICE: arg(0) = 10
NOTICE: arg(1) = Petr
NOTICE: arg(2) = 20
NOTICE: arg(3) = {10,20}
variadic_demo2
----------------
(1 row)
==fixed behave==
Time: 1,287 ms
postgres=# select variadic_demo2(10,'Petr',20,20,30);
NOTICE: arg(0) = 10
NOTICE: arg(1) = Petr
NOTICE: arg(2) = 20
NOTICE: arg(3) = 20
NOTICE: arg(4) = 30
variadic_demo2
----------------
(1 row)
Time: 0,994 ms
postgres=# select variadic_demo2(10,'Petr',20, variadic array[10,20]);
NOTICE: arg(0) = 10
NOTICE: arg(1) = Petr
NOTICE: arg(2) = 20
NOTICE: arg(3) = 10
NOTICE: arg(4) = 20
variadic_demo2
----------------
(1 row)
regards
Pavel Stehule