0001-fix-if-condition.patch

application/octet-stream

Filename: 0001-fix-if-condition.patch
Type: application/octet-stream
Part: 0
Message: RE: Introduce XID age and inactive timeout based replication slot invalidation

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch 0001
Subject: fix if condition
File+
src/backend/replication/slot.c 11 9
From 186b0b8876efe6bfa4aab0368ec5f9082e57d99e Mon Sep 17 00:00:00 2001
From: Hou Zhijie <houzj.fnst@cn.fujitsu.com>
Date: Tue, 11 Feb 2025 12:01:36 +0800
Subject: [PATCH] fix if condition

---
 src/backend/replication/slot.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c
index eccada9d4c5..28d69f916eb 100644
--- a/src/backend/replication/slot.c
+++ b/src/backend/replication/slot.c
@@ -1703,15 +1703,17 @@ InvalidatePossiblyObsoleteSlot(uint32 possible_causes,
 			{
 				if (SlotIsLogical(s) &&
 				/* invalid DB oid signals a shared relation */
-					(dboid == InvalidOid || dboid == s->data.database) &&
-					TransactionIdIsValid(initial_effective_xmin) &&
-					TransactionIdPrecedesOrEquals(initial_effective_xmin,
-												  snapshotConflictHorizon))
-					invalidation_cause = RS_INVAL_HORIZON;
-				else if (TransactionIdIsValid(initial_catalog_effective_xmin) &&
-						 TransactionIdPrecedesOrEquals(initial_catalog_effective_xmin,
-													   snapshotConflictHorizon))
-					invalidation_cause = RS_INVAL_HORIZON;
+					(dboid == InvalidOid || dboid == s->data.database))
+				{
+					if (TransactionIdIsValid(initial_effective_xmin) &&
+						TransactionIdPrecedesOrEquals(initial_effective_xmin,
+													  snapshotConflictHorizon))
+						invalidation_cause = RS_INVAL_HORIZON;
+					else if (TransactionIdIsValid(initial_catalog_effective_xmin) &&
+							 TransactionIdPrecedesOrEquals(initial_catalog_effective_xmin,
+														   snapshotConflictHorizon))
+						invalidation_cause = RS_INVAL_HORIZON;
+				}
 			}
 			if (invalidation_cause == RS_INVAL_NONE &&
 				(possible_causes & RS_INVAL_WAL_LEVEL))
-- 
2.30.0.windows.2