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;
Assert(RegisteredSnapshots == 0);
Assert(FirstXactSnapshot == NULL);
- Assert(HistoricSnapshotActive());
+ Assert(!HistoricSnapshotActive());
/*
* Even though we are not going to use the snapshot it computes, we must