From: Tom Lane on
Tatsuo Ishii <ishii(a)postgresql.org> writes:
> It seems between 8.4 and CVS HEAD backend responses 'E' packet
> (error/fatal message) if a startup packet sent with wrong user and/or
> database. Before backend responses 'R' packet first followd by 'E'
> packet.

> Does anybody know why this change made?

It's a side effect of the changes made to get rid of the flat
authorization files. Bad database is now reported before authentication
instead of after. I wouldn't have thought bad user per se would be
reported before auth, though --- you sure about that one?

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Tom Lane on
Tatsuo Ishii <ishii(a)postgresql.org> writes:
>> Tatsuo Ishii <ishii(a)postgresql.org> writes:
>>> It seems between 8.4 and CVS HEAD backend responses 'E' packet
>>> (error/fatal message) if a startup packet sent with wrong user and/or
>>> database. Before backend responses 'R' packet first followd by 'E'
>>> packet.

> I now understand that those behavior could be changed randomly release
> to relase in unpredictable way.

I think the protocol specification is pretty explicit that you shouldn't
be relying on specific sequences of events where it's not logically
necessary that things happen in a particular order. It's always been
possible for a connection to be rejected before any 'R' is sent; we've
only made a minor change in the set of error cases for which that's
true.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers