Thread

  1. NegotiateProtocolVersion description

    Tatsuo Ishii <ishii@postgresql.org> — 2025-07-05T10:30:01Z

    In the docs (54.7. Message Formats) NegotiateProtocolVersion message's
    third field is described as below:
    
    "Newest minor protocol version supported by the server for the major
    protocol version requested by the client. "
    
    From the description initially I thought the field value is minor
    protocol version (e.g. 0, 2). However I realized that it's actually
    protocol major version plus protocol minor version, like
    StartupMessage. Probably my misunderstanding is due to my limited
    English ability, but I just want to make sure that the current
    description definitely matches what the field actually represents.
    
    Best regards,
    --
    Tatsuo Ishii
    SRA OSS K.K.
    English: http://www.sraoss.co.jp/index_en/
    Japanese:http://www.sraoss.co.jp
    
    
    
    
  2. Re: NegotiateProtocolVersion description

    David G. Johnston <david.g.johnston@gmail.com> — 2025-07-05T14:48:32Z

    On Saturday, July 5, 2025, Tatsuo Ishii <ishii@postgresql.org> wrote:
    
    > In the docs (54.7. Message Formats) NegotiateProtocolVersion message's
    > third field is described as below:
    >
    > "Newest minor protocol version supported by the server for the major
    > protocol version requested by the client. "
    >
    > From the description initially I thought the field value is minor
    > protocol version (e.g. 0, 2). However I realized that it's actually
    > protocol major version plus protocol minor version, like
    > StartupMessage. Probably my misunderstanding is due to my limited
    > English ability, but I just want to make sure that the current
    > description definitely matches what the field actually represents.
    >
    
    Add an example?  I like the wording as-is, though I can see your point.  I
    wouldn’t expect the returned value to be a fragment of a version in this
    context so minor just emphasizes that the client is applying a filter on
    the major version it supports.  I’d be ok with removing “minor” altogether.
    
    David J.
    
  3. Re: NegotiateProtocolVersion description

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2025-07-05T15:18:43Z

    
    On 2025/07/05 19:30, Tatsuo Ishii wrote:
    > In the docs (54.7. Message Formats) NegotiateProtocolVersion message's
    > third field is described as below:
    > 
    > "Newest minor protocol version supported by the server for the major
    > protocol version requested by the client. "
    > 
    >  From the description initially I thought the field value is minor
    > protocol version (e.g. 0, 2). However I realized that it's actually
    > protocol major version plus protocol minor version, like
    > StartupMessage. Probably my misunderstanding is due to my limited
    > English ability, but I just want to make sure that the current
    > description definitely matches what the field actually represents.
    
    A similar issue was discussed, and a patch was proposed in [1].
    That thread might be worth reading.
    
    Regards,
    
    [1] https://postgr.es/m/CADK3HH+KkTFkv3zhJ9Koqmkyj=n2XG=CDp-MxAhMOPoezaQwoQ@mail.gmail.com
    
    
    -- 
    Fujii Masao
    NTT DATA Japan Corporation
    
    
    
    
    
  4. Re: NegotiateProtocolVersion description

    Tatsuo Ishii <ishii@postgresql.org> — 2025-07-05T22:07:53Z

    > Add an example?  I like the wording as-is, though I can see your point.  I
    > wouldn’t expect the returned value to be a fragment of a version in this
    > context so minor just emphasizes that the client is applying a filter on
    > the major version it supports.  I’d be ok with removing “minor” altogether.
    
    Probably not necessary to remove "minor". It seems our document
    consistently uses "minor protocol version" to mean the whole protocol
    version, not a fragment.
    
    Followings are my understanding;
    
    major version (number):
    The most significant 16 bits of the protocol version (i.e. 3)
    
    minor version (number):
    The least significant 16 bits of the protocol version (i.e. 2)
    
    major protocol version:
    The major version part of the protocol version. Only used in
    NegotiateProtocolVersion.
    
    minor protocol version:
    The whole protocol version including minor version (3.2)
    
    Best regards,
    --
    Tatsuo Ishii
    SRA OSS K.K.
    English: http://www.sraoss.co.jp/index_en/
    Japanese:http://www.sraoss.co.jp
    
    
    
    
  5. Re: NegotiateProtocolVersion description

    Tatsuo Ishii <ishii@postgresql.org> — 2025-07-05T22:08:38Z

    > A similar issue was discussed, and a patch was proposed in [1].
    > That thread might be worth reading.
    
    Thanks. I will take a look at it.
    
    Best regards,
    --
    Tatsuo Ishii
    SRA OSS K.K.
    English: http://www.sraoss.co.jp/index_en/
    Japanese:http://www.sraoss.co.jp