From d09a031f1f807cdfe1e02000b2bf4fd3eaaedd8f Mon Sep 17 00:00:00 2001 From: Maxim Orlov Date: Mon, 21 Nov 2022 14:50:02 +0300 Subject: [PATCH] catalog_change_snapshot-fail --- contrib/test_decoding/Makefile | 1007 ++++++++++++++++++- src/backend/replication/logical/snapbuild.c | 12 + 2 files changed, 1012 insertions(+), 7 deletions(-) diff --git a/contrib/test_decoding/Makefile b/contrib/test_decoding/Makefile index c7ce603706..aaf7a63411 100644 --- a/contrib/test_decoding/Makefile +++ b/contrib/test_decoding/Makefile @@ -3,12 +3,1006 @@ MODULES = test_decoding PGFILEDESC = "test_decoding - example of a logical decoding output plugin" -REGRESS = ddl xact rewrite toast permissions decoding_in_xact \ - decoding_into_rel binary prepared replorigin time messages \ - spill slot truncate stream stats twophase twophase_stream -ISOLATION = mxact delayed_startup ondisk_startup concurrent_ddl_dml \ - oldest_xmin snapshot_transfer subxact_without_top concurrent_stream \ - twophase_snapshot slot_creation_error catalog_change_snapshot +ISOLATION = catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot \ + catalog_change_snapshot REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf ISOLATION_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf @@ -17,7 +1011,6 @@ ISOLATION_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf # typical installcheck users do not have (e.g. buildfarm clients). NO_INSTALLCHECK = 1 -TAP_TESTS = 1 ifdef USE_PGXS PG_CONFIG = pg_config diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index cdf4aa01e9..54cd6f0e67 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -277,6 +277,7 @@ static bool ExportInProgress = false; * transaction has catalog change. But that won't be a problem since we * use snapshot built during decoding only for reading system catalogs. */ +static TransactionId InitialXact = InvalidTransactionId; static TransactionId *InitialRunningXacts = NULL; static int NInitialRunningXacts = 0; @@ -968,6 +969,12 @@ SnapBuildPurgeOlderTxn(SnapBuild *builder) if (NInitialRunningXacts == 0) return; + pg_usleep(1000000L * 2L); + + if (InitialRunningXacts[0] != InitialXact) + elog(PANIC, "XIDS doesn't match (%u vs %u)", InitialRunningXacts[0], + InitialXact); + /* bound check if there is at least one transaction to remove */ if (!NormalTransactionIdPrecedes(InitialRunningXacts[0], builder->xmin)) @@ -991,12 +998,16 @@ SnapBuildPurgeOlderTxn(SnapBuild *builder) } if (surviving_xids > 0) + { memcpy(InitialRunningXacts, workspace, sizeof(TransactionId) * surviving_xids); + InitialXact = InitialRunningXacts[0]; + } else { pfree(InitialRunningXacts); InitialRunningXacts = NULL; + InitialXact = InvalidTransactionId; } elog(DEBUG3, "purged initial running transactions from %u to %u, oldest running xid %u", @@ -1380,6 +1391,7 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn InitialRunningXacts = MemoryContextAlloc(builder->context, sz); memcpy(InitialRunningXacts, running->xids, sz); qsort(InitialRunningXacts, nxacts, sizeof(TransactionId), xidComparator); + InitialXact = InitialRunningXacts[0]; /* there won't be any state to cleanup */ return false; -- 2.38.1