aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/time/snapmgr.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index 4146527d2fd..9802fa7ded7 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