From 2e54d88af137da5c1cf4749e2b9d4371224bbd47 Mon Sep 17 00:00:00 2001
From: Simon Riggs <simon@2ndQuadrant.com>
Date: Tue, 6 May 2014 14:44:18 +0100
Subject: [PATCH] Correct comment in Hot Standby nbtree handling

Logic is correct, matching handling of LP_DEAD elsewhere.
---
 src/backend/access/nbtree/nbtxlog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/access/nbtree/nbtxlog.c b/src/backend/access/nbtree/nbtxlog.c
index dc73f2a9cd5..86824f3495e 100644
--- a/src/backend/access/nbtree/nbtxlog.c
+++ b/src/backend/access/nbtree/nbtxlog.c
@@ -714,11 +714,11 @@ btree_xlog_delete_get_latestRemovedXid(xl_btree_delete *xlrec)
 	UnlockReleaseBuffer(ibuffer);
 
 	/*
-	 * XXX If all heap tuples were LP_DEAD then we will be returning
-	 * InvalidTransactionId here, causing conflict for all HS transactions.
-	 * That should happen very rarely (reasoning please?). Also note that
-	 * caller can't tell the difference between this case and the fast path
-	 * exit above. May need to change that in future.
+	 * If all heap tuples were LP_DEAD then we will be returning
+	 * InvalidTransactionId here, which avoids conflicts. This matches
+	 * existing logic which assumes that LP_DEAD tuples must already be
+	 * older than the latestRemovedXid on the cleanup record that
+	 * set them as LP_DEAD, hence must already have generated a conflict.
 	 */
 	return latestRemovedXid;
 }
-- 
GitLab