From 2fd84e2226e2e1e13f5ad57bec3465488d67e944 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Thu, 16 Apr 2026 23:02:34 +0900 Subject: [PATCH] Use XLogRecPtrIsValid() consistently for WAL position checks Commit a2b02293bc6 switched various checks to use XLogRecPtrIsValid(), but later changes reintroduced XLogRecPtrIsInvalid() and direct comparisons with InvalidXLogRecPtr. This commit replaces those uses with XLogRecPtrIsValid() for better readability and consistency. Author: Vignesh C Reviewed-by: Xiaopeng Wang Reviewed-by: Amul Sul Reviewed-by: Fujii Masao Discussion: https://postgr.es/m/CALDaNm16knMFtcqyAG3XYSkyagmVXfhaR0T=hau8UTAU0+eLQQ@mail.gmail.com --- src/backend/commands/repack_worker.c | 2 +- src/backend/replication/walreceiver.c | 4 ++-- src/bin/pg_waldump/archive_waldump.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..362e0766c41 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -268,7 +268,7 @@ repack_setup_logical_decoding(Oid relid) ctx->reader->routine.page_read = read_local_xlog_page_no_wait; /* Some WAL records should have been read. */ - Assert(ctx->reader->EndRecPtr != InvalidXLogRecPtr); + Assert(XLogRecPtrIsValid(ctx->reader->EndRecPtr)); /* * Initialize repack_current_segment so that we can notice WAL segment diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index 5ee6431091e..8185412a810 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -1169,8 +1169,8 @@ XLogWalRcvSendReply(bool force, bool requestReply, bool checkApply) /* Construct a new message */ writePtr = LogstreamResult.Write; flushPtr = LogstreamResult.Flush; - applyPtr = (latestApplyPtr == InvalidXLogRecPtr) ? - GetXLogReplayRecPtr(NULL) : latestApplyPtr; + applyPtr = XLogRecPtrIsValid(latestApplyPtr) ? + latestApplyPtr : GetXLogReplayRecPtr(NULL); resetStringInfo(&reply_message); pq_sendbyte(&reply_message, PqReplMsg_StandbyStatusUpdate); diff --git a/src/bin/pg_waldump/archive_waldump.c b/src/bin/pg_waldump/archive_waldump.c index 78b03bc1f85..79915c0a0ce 100644 --- a/src/bin/pg_waldump/archive_waldump.c +++ b/src/bin/pg_waldump/archive_waldump.c @@ -216,11 +216,11 @@ init_archive_reader(XLogDumpPrivate *privateInfo, * With the WAL segment size available, we can now initialize the * dependent start and end segment numbers. */ - Assert(!XLogRecPtrIsInvalid(privateInfo->startptr)); + Assert(XLogRecPtrIsValid(privateInfo->startptr)); XLByteToSeg(privateInfo->startptr, privateInfo->start_segno, privateInfo->segsize); - if (!XLogRecPtrIsInvalid(privateInfo->endptr)) + if (XLogRecPtrIsValid(privateInfo->endptr)) XLByteToSeg(privateInfo->endptr, privateInfo->end_segno, privateInfo->segsize);