Dear Álvaro,
Thanks for updating the patch. I have two comments/questions.
01.
```
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -394,6 +394,14 @@ systable_beginscan(Relation heapRelation,
SysScanDesc sysscan;
Relation irel;
+ /*
+ * If this backend promised that it won't access shared catalogs during
+ * logical decoding, this it the right place to verify.
+ */
+ Assert(!HistoricSnapshotActive() ||
+ accessSharedCatalogsInDecoding ||
+ !heapRelation->rd_rel->relisshared);
```
Not sure it's OK to use Assert(). elog(ERROR) might be better if we want to really
avoid the case.
02. SnapBuildProcessRunningXacts
Per my understanding, the db_specic snapshot can be also serialized. Is it
possibility tha normal logical decoding system restores the snapshot and obtain
the wrong result?
Best regards,
Hayato Kuroda
FUJITSU LIMITED