Re: Consistently use the XLogRecPtrIsInvalid() macro
Álvaro Herrera <alvherre@kurilemu.de>
From: Álvaro Herrera <alvherre@kurilemu.de>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, Michael Paquier <michael@paquier.xyz>, Heikki Linnakangas <hlinnaka@iki.fi>, Quan Zongliang <quanzongliang@yeah.net>, pgsql-hackers@lists.postgresql.org
Date: 2025-11-06T09:06:13Z
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 →
-
Replace literal 0 with InvalidXLogRecPtr for XLogRecPtr assignments
- ec3174407164 19 (unreleased) landed
-
Replace pointer comparisons and assignments to literal zero with NULL
- ec782f56b0c3 19 (unreleased) landed
-
Use XLogRecPtrIsValid() in various places
- a2b02293bc65 19 (unreleased) landed
-
Introduce XLogRecPtrIsValid()
- d2965f627fe3 14.20 landed
- c0031d461324 18.1 landed
- 723cc84db50a 16.11 landed
- 49b45999f3b2 15.15 landed
- 33727aff18d0 17.7 landed
- 20bafb097288 13.23 landed
- 06edbed47862 19 (unreleased) landed
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. Second, change calls of the old function to the new one, no backpatch. > From 22f02ca0618d9f2e34de8fa084127bf500d75603 Mon Sep 17 00:00:00 2001 > From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> > Date: Mon, 3 Nov 2025 06:33:01 +0000 > Subject: [PATCH v5 2/4] Introduce PG_DEPRECATED() and deprecate > XLogRecPtrIsInvalid() 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. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/