Re: Add const qualifiers to XLogRegister*() functions

Aleksander Alekseev <aleksander@timescale.com>

From: Aleksander Alekseev <aleksander@timescale.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Peter Eisentraut <peter@eisentraut.org>
Date: 2024-08-28T10:04:38Z
Lists: pgsql-hackers
Hi,

> On 04.10.23 16:37, Peter Eisentraut wrote:
> > On 03.10.23 13:28, Aleksander Alekseev wrote:
> >> While examining the code for similar places I noticed that the
> >> following functions can also be const'ified:
>
> >> - XLogRegisterData (?)
> >
> > I don't think this would work, at least without further work elsewhere,
> > because the data is stored in XLogRecData, which has no const handling.
>
> I got around to fixing this.  Here is a patch.  It allows removing a few
> unconstify() calls, which is nice.

LGTM.

Note that this may affect third-party code. IMO this is not a big deal
in this particular case.

Also by randomly checking one of the affected non-static functions I
found a bunch of calls like this:

XLogRegisterData((char *) msgs, ...)

... where the first argument is going to become (const char *). It
looks like the compilers are OK with implicitly casting (char*) to a
more restrictive (const char*) though.

--
Best regards,
Aleksander Alekseev



Commits

  1. Add const qualifiers to XLogRegister*() functions

  2. Constify crc32_sz

  3. Modernize const handling with readline