| From: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com> |
|---|---|
| To: | Álvaro Herrera <alvherre(at)kurilemu(dot)de> |
| Cc: | Peter Eisentraut <peter(at)eisentraut(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Quan Zongliang <quanzongliang(at)yeah(dot)net>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Consistently use the XLogRecPtrIsInvalid() macro |
| Date: | 2025-11-06 14:27:04 |
| Message-ID: | aQywOKctVLwjDuuT@ip-10-97-1-34.eu-west-3.compute.internal |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On Thu, Nov 06, 2025 at 10:06:13AM +0100, Álvaro Herrera wrote:
> On 2025-Nov-06, Bertrand Drouvot wrote:
>
> > Subject: [PATCH v5 1/4] Introduce XLogRecPtrIsValid() and replace
> > XLogRecPtrIsInvalid() calls
>
> > XLogRecPtrIsInvalid() is inconsistent with the affirmative form of other
> > *IsValid() macros and leads to awkward double negative.
> >
> > This commit introduces XLogRecPtrIsValid() and replace all the
> > XLogRecPtrIsInvalid() calls.
> >
> > It also adds a comment mentioning that new code should use XLogRecPtrIsValid()
> > instead of XLogRecPtrIsInvalid() and that XLogRecPtrIsInvalid() could be
> > deprecated in the future.
>
> I think we should do this in two steps. First, introduce
> XLogRecPtrIsValid(), don't use it anywhere, backpatch this one. This
> would alleviate potential backpatching pains when using the new macro in
> future bugfixes.
I see, I would have introduced XLogRecPtrIsInvalid() on the back branches only
if there is a need to (a bugfix that would make use of it). But yeah, I agree
that would add extra "unnecessary" work, so done as you suggested in the
attached. I checked that 0001 apply on the [14-18]_STABLE branches successfully.
> The uppercase name looks a bit ugly. We use lowercase for other uses of
> __attribute__, e.g. pg_attribute_aligned(). Also, probably add
> "attribute" to the name, for consistency with those.
Right, replaced by pg_attribute_deprecated() in the attached.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
| Attachment | Content-Type | Size |
|---|---|---|
| v6-0001-Introduce-XLogRecPtrIsValid.patch | text/x-diff | 1.5 KB |
| v6-0002-Replace-XLogRecPtrIsInvalid-calls-by-XLogRecPtrIs.patch | text/x-diff | 48.8 KB |
| v6-0003-Introduce-pg_attribute_deprecated-and-deprecate-X.patch | text/x-diff | 2.7 KB |
| v6-0004-Replace-InvalidXLogRecPtr-comparisons-with-XLogRe.patch | text/x-diff | 39.2 KB |
| v6-0005-Replace-literal-0-comparisons-on-XLogRecPtr-with-.patch | text/x-diff | 1.9 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bryan Green | 2025-11-06 14:42:14 | Re: [PATCH] O_CLOEXEC not honored on Windows - handle inheritance chain |
| Previous Message | Andrew Dunstan | 2025-11-06 14:21:35 | Re: Spacing of options in getopt_long processing |