Re: add label to enum syntax
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Dean Rasheed <dean.a.rasheed@gmail.com>, "David E. Wheeler" <david@kineticode.com>, Robert Haas <robertmhaas@gmail.com>, Andrew Dunstan <andrew@dunslane.net>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-10-27T01:16:02Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@commandprompt.com> writes: > Excerpts from Dean Rasheed's message of mar oct 26 15:46:56 -0300 2010: >> Well ELEMENT is a reserved keyword in SQL:2008, to support multisets, >> so if we ever supported that feature... > Hah! Hmmm ... I dug through SQL:2008, and so far as I can find, the only use of ELEMENT as a keyword is for <multiset element reference>, which is defined as "return the sole element of a multiset of one element": <multiset element reference> ::= ELEMENT <left paren> <multiset value expression> <right paren> This is stated to be equivalent to ( SELECT M.E FROM UNNEST (mve) AS M(E) ) AFAICS, if we were to implement this, we'd do it as an ordinary function named element(), just like unnest() is an ordinary function in our implementation. Reserving a common word for as tiny of a notational savings as this would be stupid. Of course, it's possible that in future versions the committee might extend ELEMENT() in ways that we can't duplicate as a simple function. But that's all hypothetical --- you could as well argue that they might decide to reserve any other word, too. But ... having said all that, I have to agree that ELEMENT seems preferable to LABEL if we ignore micro-considerations of parser efficiency --- I still think LABEL is a pretty poor choice of word here. Personally I'd still take VALUE as being my first choice though. regards, tom lane