Re: proposal: ANSI SQL 2011 syntax for named parameters
Gavin Flower <gavinflower@archidevsys.co.nz>
From: Gavin Flower <GavinFlower@archidevsys.co.nz>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2012-12-28T21:41:11Z
Lists: pgsql-hackers
On 29/12/12 10:19, Peter Eisentraut wrote: > On 12/28/12 11:22 AM, Pavel Stehule 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) > I agree it's probably time. > >> * should we support both - probably yes > yes > >> * how long time we will support pg syntax? - 2..5..ever years >> >> * when we mark pg syntax as obsolete? >> >> * when we remove pg syntax? > The := syntax was introduced in 9.0, so it is by now well entrenched. I > don't think we should remove it at all any time soon. > > As for documentation, just state how it is. The standard syntax is =>, > but because of $various_issues, older versions only support :=. > > > To be honest I prefer *:=* as it looks neater than *=>*, in part because I first saw that notation when I was learning ALGOL 60 and liked the justification they gave in the manual. In fact I find *=>* ugly and counter intuitive as I keep having the feeling that it points the wrong way, because *A => 2* suggests to me that you are setting '2' to the value of 'A' which is plain daft! I am sure there are worse standardisation formats - but for some reason, I find this one disproportionately irritating! :-) So I would much prefer to keep the old format, if at all possible. Cheers, Gavin