> > X and Y? Well, the first thing that comes to mind is SSL 
> support. I'm 
> > not sure if it's still that way, but at least it used to be 
> a pretty 
> > ugly kludge there with the connection being dropped and 
> re-connected 
> > in some cases.
> 
> SSL support is a bad example, since it would have to be 
> negotiated long before any more general-purpose negotiation 
> could occur.  (You do want the connection authentication 
> exchange to happen under cover of SSL, no?)
Certainly - it would be kind of stupid otherwise...

The idea was to make it possible to negotiate more than just SSL at this
early stage (such as compression) in a more
easy-to-maintain-backwards-compatibility way. Could be that only SSL
needs to be enabled that early, and in that case having a generic
mechanism in place to handle it would be unnecessary. 


> ISTM most of the other features you might want to turn on and 
> off can be handled as SET commands: the client tries to SET a 
> variable, the backend either accepts it or returns an error.  
> No need for special protocol support if you do it that way.  
> Can you point to any examples that have to have a special 
> protocol feature instead?

Umm. Not really. I'm sure such a thing as compression could be enabled
with "SET COMPRESSION=1" (as long as it's clearly defined when
compression starts - e.g. after the server has sent it response, but
before the next information is sent).
The general idea was to make a framework there to make it easier to add
something like that in the future. Something that came up when adding
the SSL negotiation - since that was very kludgy to do with the current
protocol. But again, if you foresee that no othe rfeatures will require
negotiation at that early stage, it's probably overkill.


//Magnus

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to