postgres.git / summary / log / commit / refs
commit 41fdcf71d2b424104e08ce229104b8e8e2840d1b
Author: Simon Riggs <simon@2ndQuadrant.com>
Date: Tue May 06 13:45:05 2014 +0000
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 af1b5ab07af..8e2b0b6459a 100644
--- a/src/backend/access/nbtree/nbtxlog.c
+++ b/src/backend/access/nbtree/nbtxlog.c
@@ -719,11 +719,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;
}
[parent: a7a3e71c8592]