Re: functional call named notation clashes with SQL feature

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: functional call named notation clashes with SQL feature
Date: 2010-05-28 03:52:44
Message-ID: 4BFF3E0C.9080904@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian wrote:
> Peter Eisentraut wrote:
>
>> On tor, 2010-05-27 at 12:59 -0400, Tom Lane wrote:
>>
>>>> I think we should fix it now. Quick thought: maybe we could use
>>>>
>>> FOR
>>>
>>>> instead of AS: select myfunc(7 for a, 6 for b);
>>>>
>>> I'm afraid FOR doesn't work either; it'll create a conflict with the
>>> spec-defined SUBSTRING(x FOR y) syntax.
>>>
>> How about
>>
>> select myfunc(a := 7, b := 6);
>>
>
> One concern I have is that in PL/pgSQL, := and = behave the same, while
> in SQL, they would not. That might cause confusion.
>
>

That is a sad wart that we should never have done, IMNSHO (it was before
my time or I would have objected ;-) ). But beyond that, = is an
operator in SQL and := is never an operator, IIRC.

cheers

andrew

I doubt there will be much confusion.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-05-28 04:06:03 Re: functional call named notation clashes with SQL feature
Previous Message Takahiro Itagaki 2010-05-28 03:49:23 Re: mingw initdb failure on HEAD