Re: add label to enum syntax - Mailing list pgsql-hackers

From Tom Lane
Subject Re: add label to enum syntax
Date
Msg-id 3415.1288142162@sss.pgh.pa.us
Whole thread Raw
In response to Re: add label to enum syntax  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: add label to enum syntax
Re: add label to enum syntax
List 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


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: O_DSYNC broken on MacOS X?
Next
From: Robert Haas
Date:
Subject: Re: security hook on authorization