RE: Adding REPACK [concurrently] - Mailing list pgsql-hackers

From Hayato Kuroda (Fujitsu)
Subject RE: Adding REPACK [concurrently]
Date
Msg-id OS9PR01MB121498680B79ECB53367E269EF55AA@OS9PR01MB12149.jpnprd01.prod.outlook.com
Whole thread Raw
In response to Re: Adding REPACK [concurrently]  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Adding REPACK [concurrently]
List pgsql-hackers
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


pgsql-hackers by date:

Previous
From: Dagfinn Ilmari Mannsåker
Date:
Subject: Re: Better shared data structure management and resizable shared data structures
Next
From: Alvaro Herrera
Date:
Subject: Re: Adding REPACK [concurrently]