Re: Consistently use the XLogRecPtrIsInvalid() macro

From: Quan Zongliang <quanzongliang(at)yeah(dot)net>
To: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Consistently use the XLogRecPtrIsInvalid() macro
Date: 2025-10-28 08:53:29
Message-ID: 20213178-92cd-4ab9-9699-c68cd75bae58@yeah.net
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10/28/25 4:13 PM, Bertrand Drouvot wrote:
> Hi hackers,
>
> While working on refactoring some code in [1], one of the changes was:
>
> - if (initial_restart_lsn != InvalidXLogRecPtr &&
> - initial_restart_lsn < oldestLSN)
> + XLogRecPtr restart_lsn = s->data.restart_lsn;
> +
> + if (restart_lsn != InvalidXLogRecPtr &&
> + restart_lsn < oldestLSN)
>
> Sawada-san suggested to use the XLogRecPtrIsInvalid() macro here.
>
> But this != InvalidXLogRecPtr check was existing code, so why not consistently
> use XLogRecPtrIsInvalid() where we check equality against InvalidXLogRecPtr?
>
> At the time the current XLogRecPtrIsInvalid() has been introduced (0ab9d1c4b316)
> all the InvalidXLogRecPtr equality checks were done using XLogRecPtrIsInvalid().
>
> But since, it has changed: I looked at it and this is not the case anymore in
> 20 files.
>
> PFA, patches to $SUBJECT. To ease the review, I created one patch per modified
> file.
>
> I suspect the same approach could be applied to some other macros too. Let's
> start with XLogRecPtrIsInvalid() first.
>
Agree. This patch has made the code style more consistent. And using
such macros is also in line with the usual practice. Just like
OidIsValid and TransactionIdIsValid.

> I think that's one of the things we could do once a year, like Peter does with
> his annual "clang-tidy" check ([2]).
>
> Thoughts?
>
> [1]: https://www.postgresql.org/message-id/CAD21AoB_C6V1PLNs%3DSuOejgGh1o6ZHJMstD7X4X1b_z%3D%3DLdH1Q%40mail.gmail.com
> [2]: https://www.postgresql.org/message-id/CAH2-WzmxPQAF_ZhwrUo3rzVk3yYj_4mqbgiQXAGGO5nFYV3D8Q@mail.gmail.com
>
> Regards,
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2025-10-28 08:55:02 Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
Previous Message torikoshia 2025-10-28 08:43:49 Re: RFC: Allow EXPLAIN to Output Page Fault Information