On Sat, Mar 17, 2012 at 1:48 PM, Andrew Dunstan <andrew@dunslane.net> wrote:
> Mine too. We don't want a column ordering that's different for everyone.
> That's a recipe for mass confusion. We want to be able to mutate the
> ordering for everyone, and for everyone to see the same ordering. That means
> it MUST be done purely in the backend (as indeed all ALTER TABLE commands
> must be.)
I am in agreement. This state would have to live in the session
between client and server, so that semantic analysis could do the
right thing by looking at the environment on the backend, too. Life
is already really difficult because of session state: consider
connection poolers, which are both common and have subtle caveats that
are close to being completely silent if one uses the wrong construct.
The only reason people get away with this in practice is because most
of them do not use constructs like temp tables and dblink in
conjunction with pooling, but if they did, the prospect of what could
happen when sessions get crossed is a nightmare (clearly, I'd like a
way to treat this, because session state is also useful, but that's
not the here and now...)
Reordering attributes totally backends-side, though, would be a
wonderful feature, and already has plenty of work just to realize the
physical/logical decoupling in the backend, so I have a lot of
enthusiasm for the project in general.
--
fdr