Re: variadic function support - Mailing list pgsql-patches

From Pavel Stehule
Subject Re: variadic function support
Date
Msg-id 162867790806250302j7c659cd1j188eb54b37e30028@mail.gmail.com
Whole thread Raw
In response to Re: variadic function support  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: variadic function support  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-patches
2008/6/25 Tom Lane <tgl@sss.pgh.pa.us>:
> "Pavel Stehule" <pavel.stehule@gmail.com> writes:
>>> Tom Lane wrote:
>>>> Your point about the syntax is good though.  It would be better if
>>>> the syntax were like
>>>> create function foo (a text, variadic b int[])
>>>> or maybe even better
>>>> create function foo (a text, variadic b int)
>
>> I don't see problem with your syntax. It well block combination OUT
>> and VARIADIC parameter - my one request, variadic parameter have to be
>> array.
>
> Well, we should certainly store the parameter type as an array in
> proargtypes, because that makes this feature transparent to all the
> PLs.  However, it doesn't follow that the CREATE FUNCTION syntax
> has to specify the array type rather than the element type.  I think
> the Java precedent might be good reason to go with using the element
> type in the function declaration.

I afraid so Java syntax isn't good  inspiration
http://www.java-tips.org/java-se-tips/java.lang/using-the-varargs-language-feature.html
http://www.clanproductions.com/java5.html

they use symbol ... like specific synonym to [].
public Method getMethod(String name, Class... parameterTypes)

I didn't find any info about vararg in Oracle - it uses collection and
it allows implicit constructors for emulation o variadic functions -
but "variadic" argument isn't scalar too. So I invite any opinions
about it.

Regards
Pavel Stehule

>
>                        regards, tom lane
>

pgsql-patches by date:

Previous
From: "Pavel Stehule"
Date:
Subject: Re: variadic function support
Next
From: Andrew Dunstan
Date:
Subject: Re: variadic function support