Tom Lane wrote:
Chris Travers <chris@xxxxxxxxxxxxxxxxxxxxxxxx> writes:
I make the following assumptions:
1) All backend references to identifiers are treated as quoted by the
backend as mentioned in a previous thread.
2) Same with official clients like psql.
3) We don't guarantee complete backward compatibility in the system
catalogs anyway (note that this is a trivial problem to solve if 1 above
is solved-- schemas, views, and rules can accomplish some cool tricks
:-) ).
None of these assumptions are acceptable, particularly not #2. In
reality #2 is a proxy for "I'm willing to break all existing clients
that look at the system catalogs". Which we're not.
Ok then.
#1 Is the biggie. If it is not done, it should be done before one can
go any further. If it is solved, however, then it is trivial to fix 2
and 3. This week I am going to begin work on a "shadow upper case
views" tool that could be used to automatically solve #'s 2 and 3. This
tool would be used to automatically create separate schemas and views
with all upper case names (including OID. If CTID, XMAX, and XMIN are
needed, they could be added easily enough.
I.e. #1 is the only assumption which will fully *break* my proposal and
is the only clear prerequisite. #2 and #3 were voiced with the idea of
making the change minimalist. However, again, there are tricks with
views that can be used to solve these problems and it is largely an
issue of automating this process so we don't have to create views by
hand for every table in the pg_catalog.
On second thought, this automation would be needed anyway because the
information schema tables and views would also be effected. And this
automation may be good enough to resolve many of the issues in existing
versions that people may have with mixed quoting environments.
Best Wishes,
Chris Travers
Metatron Technology Consulting
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend