Re: Consistently use the XLogRecPtrIsInvalid() macro

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
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-02T07:44:28Z
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()

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)