Re: More protocol.h replacements this time into walsender.c

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Jacob Champion <jacob.champion@enterprisedb.com>
Cc: Álvaro Herrera <alvherre@kurilemu.de>, Dave Cramer <davecramer@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-04T21:23:55Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Expand usage of macros for protocol characters.

  2. Rename XLogData protocol message to WALData

  3. Use PqMsg_* macros in walsender.c

On Mon, Aug 04, 2025 at 02:11:26PM -0700, Jacob Champion wrote:
> On Mon, Aug 4, 2025 at 12:56 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>> The replication protocol uses many of the
>> existing PqMsg macros already, so it would be a little strange if only a
>> subset of the replication protocol messages used the special prefix.
> 
> May I ask why? These messages are legitimately different; they're
> tunneled through CopyData, so their reservations don't collide with
> the top-level codes.

Ah, I missed that finer detail.  IIUC the codes at hands are _only_ used in
these tunneled messages, in which case they belong to a distinct category.

>> There's also backups, which use the replication protocol but
>> have their own special characters [0].  If we're going the prefix route,
>> would we add another prefix for those, or use the replication one?
> 
> My vote would be to add another. 'p' is a password message in the
> top-level protocol (one of many, actually), a progress message in a
> backup stream, and a status request in a replication stream, so I
> think they deserve their own namespaces.

These also seem to use the same tunneling mechanism.  I retract my
objection.

-- 
nathan