Fix comments atop ReorderBufferAddInvalidations.
authorAmit Kapila
Thu, 10 Nov 2022 11:49:30 +0000 (17:19 +0530)
committerAmit Kapila
Thu, 10 Nov 2022 11:49:30 +0000 (17:19 +0530)
The comments atop seem to indicate that we always accumulate invalidation
messages in a top-level transaction which is neither required nor matches
with the code.

Author: Amit Kapila
Reviewd by: Masahiko Sawada
Backpatch-through: 14, where it was introduced in commit c55040ccd0
Discussion: https://postgr.es/m/CAA4eK1LxGgnUroPz8STb6OfjVU1yaHoSA+T63URwmGCLdMJ0LA@mail.gmail.com

src/backend/replication/logical/reorderbuffer.c

index 271a74c6908476a32b937b3b3f31487d29e78d41..1d1649a22a89d2ba0e0c9f1a9cd65b89f0f49e4c 100644 (file)
@@ -3197,16 +3197,17 @@ ReorderBufferAddNewTupleCids(ReorderBuffer *rb, TransactionId xid,
 }
 
 /*
- * Setup the invalidation of the toplevel transaction.
+ * Accumulate the invalidations for executing them later.
  *
  * This needs to be called for each XLOG_XACT_INVALIDATIONS message and
- * accumulates all the invalidation messages in the toplevel transaction as
- * well as in the form of change in reorder buffer.  We require to record it in
- * form of the change so that we can execute only the required invalidations
- * instead of executing all the invalidations on each CommandId increment.  We
- * also need to accumulate these in the toplevel transaction because in some
- * cases we skip processing the transaction (see ReorderBufferForget), we need
- * to execute all the invalidations together.
+ * accumulates all the invalidation messages in the toplevel transaction, if
+ * available, otherwise in the current transaction, as well as in the form of
+ * change in reorder buffer.  We require to record it in form of the change
+ * so that we can execute only the required invalidations instead of executing
+ * all the invalidations on each CommandId increment.  We also need to
+ * accumulate these in the txn buffer because in some cases where we skip
+ * processing the transaction (see ReorderBufferForget), we need to execute
+ * all the invalidations together.
  */
 void
 ReorderBufferAddInvalidations(ReorderBuffer *rb, TransactionId xid,
@@ -3222,8 +3223,9 @@ ReorderBufferAddInvalidations(ReorderBuffer *rb, TransactionId xid,
    oldcontext = MemoryContextSwitchTo(rb->context);
 
    /*
-    * Collect all the invalidations under the top transaction so that we can
-    * execute them all together.  See comment atop this function
+    * Collect all the invalidations under the top transaction, if available,
+    * so that we can execute them all together.  See comments atop this
+    * function.
     */
    if (txn->toptxn)
        txn = txn->toptxn;