Re: proposal: ANSI SQL 2011 syntax for named parameters

Gavin Flower <gavinflower@archidevsys.co.nz>

From: Gavin Flower <GavinFlower@archidevsys.co.nz>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Peter Eisentraut <peter_e@gmx.net>
Date: 2013-02-04T17:34:04Z
Lists: pgsql-hackers
On 04/02/13 21:55, Pavel Stehule wrote:
> 2013/1/2 Robert Haas <robertmhaas@gmail.com>:
>> On Fri, Dec 28, 2012 at 11:22 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>>> I am not sure, but maybe is time to introduce ANSI SQL syntax for
>>> functions' named parameters
>>>
>>> It is defined in ANSI SQL 2011
>>>
>>>   CALL P (B => 1, A => 2)
>>>
>>> instead PostgreSQL syntax CALL ( B := 1, A := 2)
>> Keep in mind that, as recently as PostgreSQL 9.1, we shipped hstore
>> with a =>(text, text) operator.  That operator was deprecated in 9.0,
>> but it wasn't actually removed until PostgreSQL 9.2.  Whenever we do
>> this, it's going to break things for anyone who hasn't yet upgraded
>> from hstore v1.0 to hstore v1.1.  So I would prefer to wait one more
>> release.  That way, anyone who does an upgrade, say, every other major
>> release cycle should have a reasonably clean upgrade path.
>>
>> I realize that the 4+-year journey toward allowing => rather than :=
>> probably seems tedious to many people by now, but I think the cautious
>> path we've taken is entirely warranted.  As much as I want us to be
>> standards-compliant in this area, I also want us to not break any more
>> user applications than necessary along the way.
>>
>> Incidentally, I think there are two changes here which should be
>> considered independently.  One, allowing => rather than := for
>> specifying named parameters.  And two, adding a statement called CALL
>> that can be used to invoke a function.  Maybe those are both good
>> ideas and maybe they aren't, but they're independent.
>>
> can I recapitulate a plan?
>
> * enabling '=>' in 9.4
> * we will support ':=' too
>
> What we can (or have to) do now?
>
> Regards
>
> Pavel
>
>
>
>> --
>> Robert Haas
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>
I prefer ':=', as I like the ALGOL justification of it.

But I won't even threaten to hold my breath if I'm not allowed to use 
':='!  :-)


Cheers,
Gavin