On Thu, 10 Apr 2025 at 09:54, Fujii Masao <masao.fu...@oss.nttdata.com> wrote:
> > > On 2025/04/10 18:52, Dave Cramer wrote: > > Greetings, > > > > The current docs say that if a client asks for a protocol that the > backend doesn't support, it will return the newest minor version. > https://www.postgresql.org/docs/current/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-NEGOTIATEPROTOCOLVERSION > < > https://www.postgresql.org/docs/current/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-NEGOTIATEPROTOCOLVERSION > > > > > > However that isn't what it returns. It actually returns the entire > newest protocol that it supports. Attached is a patch to fix the docs. > > As far as I read the code, the server returns the protocol version > requested by > the client if it's less than or equal to the latest version the server > supports. > Otherwise, it returns the latest supported version. So the proposed > description > doesn't seem accurate either, does it? > I've added a note as to when this is sent. AFAICT through testing and the fact that the pgjdbc driver has never handled this message I'm pretty sure it only sends this message if the requested protocol is not equal to the protocol the server supports. > > + Major is in the upper 16 bits and the lower in the low 16 bits. > > To match the style of similar descriptions, how about rephrasing it as: > "The most significant 16 bits are the major version number, and the least > significant 16 bits are the minor version number”? > > Done in new patch attached Dave
protocol-1.patch
Description: Binary data