On Fri, 11 Apr 2025 at 09:39, Fujii Masao <masao.fu...@oss.nttdata.com> wrote:
> > > On 2025/04/11 18:27, Dave Cramer wrote: > > > > > > On Fri, 11 Apr 2025 at 05:05, Fujii Masao <masao.fu...@oss.nttdata.com > <mailto:masao.fu...@oss.nttdata.com>> wrote: > > > > > > > > On 2025/04/11 5:17, Dave Cramer wrote: > > > No, you are correct. > > > > > > See new patch > > > > Thanks for updating the patch! > > > > - Identifies the message as a protocol version negotiation > > + Identifies the message as a protocol version negotiation. > > + The server sends this message if the requested protocol is > > + not equal to the version the server supports or the client > > + requests protocol options that are not recognized. > > message. > > > You added the sentence starting with "The server sends..." > > between "negotiation" and "message", but it should be placed > > after "message", right? > > > > Even though the requested version is not equal to the latest > > version that the server supports, if it's older than > > the latest one, the message is not sent. So how about > > wording it like this instead: > > > > ------------- > > Identifies the message as a protocol version negotiation message. > > The server sends this message when the client requests a newer > > protocol version than the server supports, or when the client > > includes protocol options that the server does not recognize. > > ------------- > > > > + The protcol version requested by the client unless it is > higher than the > > + latest version we support in which case the latest > protocol version we support. > > > > Maybe rewording this for clarity and using “the server > > instead of “we” would help. For example: > > > > ------------- > > The latest protocol version supported by the server if the client > > requests a newer protocol version than the server supports. > > The protocol version requested by the client, otherwise. > > ------------- > > > > > > Reworded as suggested > > Thanks for updating the patch! > > > While checking the code in older branches, I noticed that the returned > protocol version is always the latest version supported by the server. > However, as we discussed, in master, the server may return the version > requested by the client. The change was introduced in commit 516b87502dc. > So, probably we'll need to update the documentation differently for > master and the older branches. > > > The patch adds a new explanation about when the NegotiateProtocolVersion > message is sent. But a similar explanation already exists in protocol.sgml: > > <term>NegotiateProtocolVersion</term> > <listitem> > <para> > The server does not support the minor protocol version requested > by the client, but does support an earlier version of the > protocol; > this message indicates the highest supported minor version. This > message will also be sent if the client requested unsupported > protocol > options (i.e., beginning with <literal>_pq_.</literal>) in the > startup packet. > Well this isn't quite true since if you request 3.0 and have invalid options it will return 3.0, which is not the highest supported minor version. > > Given that, I'm now wondering if the new description in the patch > might be redundant. > > > Also, your original concern was that the phrase "Newest minor protocol > version" > is inaccurate since the field contains both major and minor version numbers > (e.g., 3.2). However, based on other usage in protocol.sgml and source > comments in related code, "minor version" seems to refer to the full > version > like 3.2, i.e., not just the minor part, so we might not need to reword it > after all. > IMO the comments should be changed to reflect reality. If 3.2 is a minor version what is a major version ? Dave