Greg Stark <gsstark@mit.edu> writes:
> But the example given was "SERIAL". "serial" is an English word, not a
> Turkish word. It shouldn't really be subject to Turkish locale effects
> at all.
SERIAL is not a keyword according to the grammar. Neither are PUBLIC,
VOID, INT4, and numerous other examples. It's not appropriate to try to
fix this by making them all keywords --- that will just create other
problems. (And where do you draw the line, anyway? Should every
identifier present in the default system catalogs become a keyword?)
> I'm wondering if he really expects all identifiers to be subject to
> this ascii downcasing.
Without doubt it isn't ideal, but if we don't do something then a lot of
stuff starting with initdb is broken. We could perhaps work around the
problem by spelling everything in lower-case in all the commands we
issue, but I can't see that as an acceptable answer either. We can't
expect to control all the SQL sent to a database.
regards, tom lane