From 4da2338268f0c7524a2ff96c12c598512b3e019c Mon Sep 17 00:00:00 2001
From: Vignesh C <vignesh21@gmail.com>
Date: Fri, 10 Apr 2026 10:12:38 +0530
Subject: [PATCH v3] Use XLogRecPtr validity helper macros consistently

Replace direct comparisons against InvalidXLogRecPtr and negated
XLogRecPtrIsInvalid() checks with the corresponding
XLogRecPtrIsValid()/XLogRecPtrIsInvalid() helper macros.

This improves readability and consistency by using the dedicated
XLogRecPtr validity helpers throughout the code, with no intended
behavioral change.
---
 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..5eab87625db 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);
 
-- 
2.43.0

