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
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


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 8 | next ›
Discussion Overview
grouppgsql-hackers @
postedMay 26, '13 at 8:32a
activeJun 1, '13 at 6:36p



site design / logo © 2021 Grokbase