Early close became apparent when invalidation messages were
processed in a new location under CLOBBER_CACHE_ALWAYS builds, due
to additional locking.
Back-patch to 9.3
owner = matviewRel->rd_rel->relowner;
- heap_close(matviewRel, NoLock);
-
/*
* Create the transient table that will receive the regenerated data.
* Lock it against access by any other process until commit (by which time
if (!stmt->skipData)
refresh_matview_datafill(dest, dataQuery, queryString, owner);
+ heap_close(matviewRel, NoLock);
+
/* Make the matview match the newly generated data. */
if (concurrent)
{