From 5d8aa347afddd8fb2ff09390134c882efc97b718 Mon Sep 17 00:00:00 2001 From: Bertrand Drouvot Date: Wed, 29 Oct 2025 10:57:17 +0000 Subject: [PATCH v2 2/4] Deprecate XLogRecPtrIsInvalid() Emit a warning message at compilation time if XLogRecPtrIsInvalid() is in use in the code base. --- src/include/access/xlogdefs.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 100.0% src/include/access/ diff --git a/src/include/access/xlogdefs.h b/src/include/access/xlogdefs.h index 33b9913e71e..6eebf86342e 100644 --- a/src/include/access/xlogdefs.h +++ b/src/include/access/xlogdefs.h @@ -26,9 +26,27 @@ typedef uint64 XLogRecPtr; * record can begin at zero. */ #define InvalidXLogRecPtr 0 -#define XLogRecPtrIsInvalid(r) ((r) == InvalidXLogRecPtr) #define XLogRecPtrIsValid(r) ((r) != InvalidXLogRecPtr) +/* + * XLogRecPtrIsInvalid + * + * Deprecated: Use XLogRecPtrIsValid() instead. + */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L || defined(__cplusplus) && __cplusplus >= 201402L +[[deprecated("use XLogRecPtrIsValid() instead")]] +#elif defined(__GNUC__) || defined(__clang__) +__attribute__((deprecated("use XLogRecPtrIsValid() instead"))) +#elif defined(_MSC_VER) +__declspec(deprecated("use XLogRecPtrIsValid() instead")) +#endif + +static inline bool +XLogRecPtrIsInvalid(XLogRecPtr ptr) +{ + return ptr == InvalidXLogRecPtr; +} + /* * First LSN to use for "fake" LSNs. * -- 2.34.1