Re: Consistently use the XLogRecPtrIsInvalid() macro

Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Álvaro Herrera <alvherre@kurilemu.de>, Michael Paquier <michael@paquier.xyz>, Heikki Linnakangas <hlinnaka@iki.fi>, Quan Zongliang <quanzongliang@yeah.net>, pgsql-hackers@lists.postgresql.org
Date: 2025-12-02T14:35:48Z
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. Replace literal 0 with InvalidXLogRecPtr for XLogRecPtr assignments

  2. Replace pointer comparisons and assignments to literal zero with NULL

  3. Use XLogRecPtrIsValid() in various places

  4. Introduce XLogRecPtrIsValid()

Hi,

On Tue, Dec 02, 2025 at 08:44:28AM +0100, Peter Eisentraut wrote:
> On 01.12.25 08:14, Bertrand Drouvot wrote:
> > Hi,
> > 
> > On Tue, Nov 18, 2025 at 04:54:32PM +0100, Peter Eisentraut wrote:
> > > I mean, some people like writing if (!foo) and some like writing if
> > > (foo == NULL), but we're not going to legislate one
> > > over the other.
> > 
> > Agree. Out of curiosity, I searched for pointers and literal zero comparisons
> > or assignments (with [1]) and found 6 of them.
> > 
> > While literal zero is technically correct, NULL is the semantically appropriate
> > choice for pointers.
> > 
> > PFA a patch to fix those 6.
> 
> committed (required pgindent)

Thanks! 

Doh, I always run pgindent unless when I think the changes could not break the
indentation.

Note to self: always run pgindent, no thinking required ;-)

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com