> > IMO the code is wrong. There should be a single block comment
> > saying something like "Remove the node from its containing list.
> > In the FOO case, the list corresponds to BAR and therefore we
> > delete it because BAZ. In the QUUX case the list is PLUGH and we
> > delete in because THUD." Then a single line dlist_delete(...)
> > follows.
> > The current arrangement looks bizantine to me, for no reason. If we
> > think that one of the two branches might do something additional to
> > the list deletion, surely that will be in a separate stanza with
> > its own comment; and if we ever want to remove the list deletion
> > from one of the two cases (something that strikes me as unlikely)
> > then we will need to fix the comment, too.
> +1 to everything here except for the way byzantine is spelled.
+1 and yet another patch.
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 52c6986..360e6fd 100644
@@ -1159,17 +1159,17 @@ ReorderBufferCleanupTXN(ReorderBuffer *rb, ReorderBufferTXN *txn)
txn->base_snapshot_lsn = InvalidXLogRecPtr;
- /* delete from list of known subxacts */
- if (txn->is_known_as_subxact)
- /* NB: nsubxacts count of parent will be too high now */
- /* delete from LSN ordered list of toplevel TXNs */
+ * Remove TXN from its containing list. Note that following line covers
+ * two cases.
+ * If TXN is a subxact we delete it from list of known subxacts. NB:
+ * nsubxacts count of parent becomes too high in this case.
+ * Otherwise we delete TXN from ordered list of toplevel TXNs.
/* now remove reference from buffer */
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: