Dear Sawada-san, Amit, > IIUC Change-2 is required in v16 and HEAD but not mandatory in v15 and > v14. The reason why we need Change-2 is that there is a case where we > mark only subtransactions as containing catalog change while not doing > that for its top-level transaction. In v15 and v14, since we mark both > subtransactions and top-level transaction in > SnapBuildXidSetCatalogChanges() as containing catalog changes, we > don't get the assertion failure at "Assert(!needs_snapshot || > needs_timetravel)".
Incidentally, I agreed that Change-2 is needed for HEAD (and v16), not v15 and v14. Best Regards, Hayato Kuroda FUJITSU LIMITED