postgres.git / summary / log / commit / refs

commit    33727aff18d05f24232e7fffc3bde310203ece96
Author:   Álvaro Herrera <alvherre@kurilemu.de>
Date:     Thu Nov 06 18:08:29 2025 +0000
First released in: 13.23, 14.20, 15.15, 16.11, 17.7, 18.1

    Introduce XLogRecPtrIsValid()
    
    XLogRecPtrIsInvalid() is inconsistent with the affirmative form of
    macros used for other datatypes, and leads to awkward double negatives
    in a few places.  This commit introduces XLogRecPtrIsValid(), which
    allows code to be written more naturally.
    
    This patch only adds the new macro.  XLogRecPtrIsInvalid() is left in
    place, and all existing callers remain untouched.  This means all
    supported branches can accept hypothetical bug fixes that use the new
    macro, and at the same time any code that compiled with the original
    formulation will continue to silently compile just fine.
    
    Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
    Backpatch-through: 13
    Discussion: https://postgr.es/m/aQB7EvGqrbZXrMlg@ip-10-97-1-34.eu-west-3.compute.internal


src/include/access/xlogdefs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/include/access/xlogdefs.h b/src/include/access/xlogdefs.h index 30097989521..c55e2f57878 100644 --- a/src/include/access/xlogdefs.h +++ b/src/include/access/xlogdefs.h @@ -25,7 +25,8 @@ typedef uint64 XLogRecPtr; * WAL segment, initializing the first WAL page at WAL segment size, so no XLOG * record can begin at zero. */ -#define InvalidXLogRecPtr 0 +#define InvalidXLogRecPtr 0 +#define XLogRecPtrIsValid(r) ((r) != InvalidXLogRecPtr) #define XLogRecPtrIsInvalid(r) ((r) == InvalidXLogRecPtr) /* [parent: 07f787e57399]