On Tue, 14 Sep 2004, Tom Lane wrote:
> Stephan Szabo <sszabo@megazone.bigpanda.com> writes:
> > ... There's been talk about supporting a
> > mode which case folds the other direction. In general, however, mixing
> > quoted and unquoted names is dangerous in all complient databases, because
> > in none would "Bla" and bla or BLA be the same name.
>
> We have looked at this before and keep coming up with the conclusion
> that (a) on-the-fly changes in the backend behavior are impractical;
> and (b) if we only get to have one behavior, the current one is the best
> compromise we are going to get.
An initdb-time flag might be okay, except that I don't know if any of the
applications (pg_dump, etc) would need to know about it and it would take
some work to get the database to initialize correctly in the first place.
> I wonder though whether we could offer some tweaking on client side.
> For instance consider the JDBC driver's getMetaData operations.
> You could imagine a JDBC driver mode that would smash all returned
> identifiers to upper case. For an application that was willing to
> promise it would never explicitly quote identifiers in the SQL it
> generates, this would not break anything AFAICS; and it would satisfy
> app code that was expecting to see upper instead of lower case.
That's true, although it seems like in many of these cases the application
is also using quoting inconsistently.