From 336a578b8c8866490e0d9069f10c17ba14f4705a Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Wed, 12 Mar 2014 14:07:41 -0400 Subject: [PATCH] Fix incorrect assertion about historical snapshots. Also fix some nearby comments. Andres Freund --- src/backend/utils/time/snapmgr.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index 4146527d2f..9802fa7ded 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -261,9 +261,11 @@ Snapshot GetCatalogSnapshot(Oid relid) { /* - * Return historic snapshot if we're doing logical decoding, but - * return a non-historic, snapshot if we temporarily are doing up2date - * lookups. + * Return historic snapshot while we're doing logical decoding, so we can + * see the appropriate state of the catalog. + * + * This is the primary reason for needing to reset the system caches after + * finishing decoding. */ if (HistoricSnapshotActive()) return HistoricSnapshot; @@ -352,7 +354,7 @@ SetTransactionSnapshot(Snapshot sourcesnap, TransactionId sourcexid) Assert(RegisteredSnapshots == 0); Assert(FirstXactSnapshot == NULL); - Assert(HistoricSnapshotActive()); + Assert(!HistoricSnapshotActive()); /* * Even though we are not going to use the snapshot it computes, we must -- GitLab