From: | Jelte Fennema-Nio <postgres(at)jeltef(dot)nl> |
---|---|
To: | Tatsuo Ishii <ishii(at)postgresql(dot)org> |
Cc: | peter(at)eisentraut(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: protocol-level wait-for-LSN |
Date: | 2024-10-30 08:41:03 |
Message-ID: | CAGECzQStS3WViKunHBVLKuge5DgGdviwGsF_y1i1xvOmnQQ24A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 30 Oct 2024 at 07:49, Tatsuo Ishii <ishii(at)postgresql(dot)org> wrote:
> > I think one would have to define that somehow. If it's useful, the
> > additional fields of both extensions could be appended, in some
> > defined order. But this is an interesting question to think about.
>
> I think this kind of extension, which adds new filed to an existing
> message type, should be implemented as v4 protocol.
Could you explain why you think a major version bump is needed? In
what situation do you care about this. Because for my usecases (client
implementations & pgbouncer) I don't think that would be necessary. If
a client doesn't send the _pq_.wait_for_lsn protocol parameter, it
will never receive this new version.
I don't really see a problem with having two protocol parameters
change the same message. Yes, you have to define what the result of
their combination is, but that seems trivial to do for additions of
fields. You either define the first protocol parameter that was added
to the spec, to add its field before the second. Or you could do it
based on something non-time-dependent, like the alphabetic order of
the protocol parameter, or the alphabetic order of the fields that
they add.
The main guarantees I'd like to uphold are listed here:
https://www.postgresql.org/message-id/CAGECzQR5PMud4q8Atyz0gOoJ1xNH33g7g-MLXFML1_Vrhbzs6Q@mail.gmail.com
From | Date | Subject | |
---|---|---|---|
Next Message | Jelte Fennema-Nio | 2024-10-30 09:03:27 | Re: protocol-level wait-for-LSN |
Previous Message | Hayato Kuroda (Fujitsu) | 2024-10-30 08:33:44 | RE: Conflict detection for update_deleted in logical replication |