Re: NOT EXIST for PREPARE
От | Craig Ringer |
---|---|
Тема | Re: NOT EXIST for PREPARE |
Дата | |
Msg-id | CAMsr+YEibRqbwGrEASpRHviNz5pJFU9gxC7qA+hysxY9NokmSw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: NOT EXIST for PREPARE (Vladimir Sitnikov <sitnikov.vladimir@gmail.com>) |
Список | pgsql-hackers |
On 24 March 2016 at 23:13, Vladimir Sitnikov <sitnikov.vladimir@gmail.com> wrote:
Much better is for the client to connect with "I <client> understand GSSAPI, lazily fetched LOBs, STARTTLS, and wire-level compression" and the server to say "I understand GSSAPI, wire-level compression, per-datum charsets and database-switching", so they know to agree on using GSSAPI and wire-level compression. Neither will send the other stuff it won't understand that could land up breaking it.
>doesn't have any kind of capabilities negotiation
Do you think capability negotiation should indeed be at the protocol level?
What's wrong with say "select * from backend_capabilities" at the
connection setup?
(Kinda a side-track, but):
Because that's too late. When we eventually do a v4 protocol it needs a way to say, during initial handshake, what the server and client support, so the server won't send any protocol messages to the client that it can't understand and vice versa.
The simplest form is "I <server> speak protocol 4.4", "I <client> speak protocol 4.1", "OK, lets use protocol 4.1 and the server won't send you anything that might confuse you from 4.2, 4.3, or 4.4."
Right now we've really got no way to add additional data to query responses, commandcomplete, etc, because we've got no way to make sure the client can cope with it being there.
See also https://wiki.postgresql.org/wiki/Todo#Wire_Protocol_Changes
--
See also https://wiki.postgresql.org/wiki/Todo#Wire_Protocol_Changes
В списке pgsql-hackers по дате отправления: