diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index de491ea0c4b..27ba27f4162 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -701,6 +701,10 @@ SnapBuildProcessNewCid(SnapBuild *builder, TransactionId xid, */ ReorderBufferXidSetCatalogChanges(builder->reorder, xid, lsn); + /* EXPERIMENT: which catalog does this change touch? */ + elog(LOG, "NEWCID xid=%u top=%u rel=%u", + xid, xlrec->top_xid, xlrec->target_locator.relNumber); + ReorderBufferAddNewTupleCids(builder->reorder, xlrec->top_xid, lsn, xlrec->target_locator, xlrec->target_tid, xlrec->cmin, xlrec->cmax, @@ -968,6 +972,17 @@ SnapBuildCommitTxn(SnapBuild *builder, XLogRecPtr lsn, TransactionId xid, return; } + /* EXPERIMENT: does every catalog-changing xact carry invalidations? */ + elog(LOG, "CATCHK state=%d xid=%u sub=0 rb=%d invals=%d", + builder->state, xid, + ReorderBufferXidHasCatalogChanges(builder->reorder, xid), + (xinfo & XACT_XINFO_HAS_INVALS) != 0); + for (int i = 0; i < nsubxacts; i++) + elog(LOG, "CATCHK state=%d xid=%u sub=1 rb=%d invals=%d", + builder->state, subxacts[i], + ReorderBufferXidHasCatalogChanges(builder->reorder, subxacts[i]), + (xinfo & XACT_XINFO_HAS_INVALS) != 0); + if (builder->state < SNAPBUILD_CONSISTENT) { /* ensure that only commits after this are getting replayed */