Re: add label to enum syntax

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: add label to enum syntax
Дата
Msg-id 3415.1288142162@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: add label to enum syntax  (Alvaro Herrera <alvherre@commandprompt.com>)
Ответы Re: add label to enum syntax  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Re: add label to enum syntax  (Andrew Dunstan <andrew@dunslane.net>)
Список 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 по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: O_DSYNC broken on MacOS X?
Следующее
От: Robert Haas
Дата:
Сообщение: Re: security hook on authorization