Re: Consistently use the XLogRecPtrIsInvalid() macro
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, Álvaro Herrera <alvherre@kurilemu.de>
Cc: Michael Paquier <michael@paquier.xyz>,
Heikki Linnakangas <hlinnaka@iki.fi>, Quan Zongliang
<quanzongliang@yeah.net>, pgsql-hackers@lists.postgresql.org
Date: 2025-11-18T15:54:32Z
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 18.11.25 10:06, Bertrand Drouvot wrote: > Hi, > > On Fri, Nov 07, 2025 at 03:03:03PM +0000, Bertrand Drouvot wrote: >> I'm currently working on the RegProcedureIsValid() and OidIsValid() cases, >> will share once done. > > here they are, I'm not creating a new thread for those as this is the same > kind of ideas (but for other types) but can create a dedicated one if you prefer. I don't like this change. RegProcedureIsValid() doesn't add any value over OidIsValid, and we don't have any RegXXXIsValid() for any of the other regxxx types. So if we were to do anything about this, I would just remove it. For OidIsValid etc., I don't think this improves the notation. It is well understood that InvalidOid is 0. 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. But we're certainly not going to introduce, uh, if (PointerIsValid(foo)), and in fact we just removed that! What you're proposing here seem quite analogous but in the opposite direction.