Peter Eisentraut <e99re41@DoCS.UU.SE> writes:
>> I'd be inclined to go with UID or SYSID. In any case, since the new
>> keyword is used in such a limited context, we could almost certainly
>> still allow it as a ColId and thus not create any real compatibility
>> problem.
> I'm not sure about this distinction. Where would that be reflected in the
> (parser) code?
You should try to add this (or any other) new keyword to the list in the
ColId: production in gram.y. If that doesn't provoke any complaints
from yacc (shift/reduce conflicts etc), then you're home free: the
parser won't get confused if the keyword is used as a column name.
If it does cause a shift/reduce conflict, which is fairly likely for
anything that can appear inside an expression, you might still be
able to add the new keyword to the ColLabel: list. That allows it
to be used as an identifier in a more restricted set of contexts.
Only if neither of these will work does the keyword need to be a
truly "reserved" word.
regards, tom lane