FAQ

Simon Riggs writes:
On 26 May 2013 17:10, Tom Lane wrote:
More readable would be to invent an intermediate nonterminal falling
between ColId and ColLabel, whose expansion would be "IDENT |
unreserved_keyword | col_name_keyword | type_func_name_keyword", and
then replace ColId_or_Sconst with whatever-we-call-that_or_Sconst.
Any thoughts about a name for that new nonterminal?
Do you think complicating the parser in that way is worth the trouble
for this case? Could that slow down parsing?
It makes the grammar tables a bit larger (1% or so IIRC). There would
be some distributed penalty for that, but probably not much. Of course
there's always the slippery-slope argument about that.
We don't actually have to fix it; clearly not too many people are
bothered, since no complaints in 3 years. Documenting 'binary' seems
better.
Well, my thought is there are other cases. For instance:

regression=# create role binary;
ERROR: syntax error at or near "binary"
LINE 1: create role binary;
                     ^
regression=# create user cross;
ERROR: syntax error at or near "cross"
LINE 1: create user cross;
                     ^

If we don't have to treat type_func_name_keywords as reserved in these
situations, shouldn't we avoid doing so?

    regards, tom lane

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 8 | next ›
Discussion Overview
grouppgsql-hackers @
categoriespostgresql
postedMay 26, '13 at 8:32a
activeJun 1, '13 at 6:36p
posts8
users4
websitepostgresql.org...
irc#postgresql

People

Translate

site design / logo © 2021 Grokbase