Re: Issues for named/mixed function notation patch

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Issues for named/mixed function notation patch
Дата
Msg-id 162867790910071525w2fcaafddiddddba360f080065@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Issues for named/mixed function notation patch  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
2009/10/8 Tom Lane <tgl@sss.pgh.pa.us>:
> Jeff Davis <pgsql@j-davis.com> writes:
>> On Wed, 2009-10-07 at 17:45 -0400, Tom Lane wrote:
>>> I think what he was considering was the question of insisting that
>>> the VARIADIC keyword be attached to the named argument that actually
>>> matches the VARIADIC parameter.
>
>> It seems strange to me if we have a situation where changing the call:
>>   foo(a, b, VARIADIC c)
>> to be more explicit by using named call notation:
>>   foo(a AS x, b AS y, VARIADIC c AS z)
>> is "less correct" in the sense that the VARIADIC keyword goes from
>> "required" to "ignored".
>
> No, that's not what I'm driving at.  The small change that I've got in
> mind would require you to say VARIADIC, but it would allow the function
> to match both the above call and
>    foo(a AS x, c AS z, VARIADIC b AS y)
> when really z is the variadic parameter in this case.  I'm not sure if
> this would bother anyone or not.  It seems impossible that a function
> could ever have more than one variadic parameter, so there's not really
> any ambiguity from maintaining the syntactic rule that the VARIADIC
> keyword is at the end even when the variadic argument isn't, but it
> might look a bit odd.
>
> What I *don't* want to do is fix this by allowing/requiring
>    foo(a AS x, VARIADIC c AS z, b AS y)
> because it would be a bigger change in the grammar output structure than
> seems warranted.  We could possibly have VARIADIC throw an error if the
> named argument that matches to the variadic parameter isn't the last
> one, but I'm not sure that that's important rather than just pedantry.
> People would probably tend to write it that way anyway.

It is just pedantry. Position in named notation isn't important, and
there are no reason, why we VARIADIC should be last.

Pavel

>
>                        regards, tom lane
>


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Make it possibly to specify GUC params per user and per database.
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: Issues for named/mixed function notation patch