Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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;
 }