Correct comment in Hot Standby nbtree handling
authorSimon Riggs <simon@2ndQuadrant.com>
Tue, 6 May 2014 13:44:18 +0000 (14:44 +0100)
committerSimon Riggs <simon@2ndQuadrant.com>
Tue, 6 May 2014 13:44:18 +0000 (14:44 +0100)
Logic is correct, matching handling of LP_DEAD elsewhere.

src/backend/access/nbtree/nbtxlog.c

index dc73f2a9cd54445c3f2d10d4aea09271e73ba390..86824f3495ef97596264dd84490f9ed633cb3b52 100644 (file)
@@ -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;
 }