diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/commands/matview.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/backend/commands/matview.c b/src/backend/commands/matview.c index 09ea344256a..3c547a9b86c 100644 --- a/src/backend/commands/matview.c +++ b/src/backend/commands/matview.c @@ -816,27 +816,33 @@ refresh_by_heap_swap(Oid matviewOid, Oid OIDNewHeap) RelationCacheInvalidateEntry(matviewOid); } -static void -OpenMatViewIncrementalMaintenance(void) -{ - matview_maintenance_depth++; -} - -static void -CloseMatViewIncrementalMaintenance(void) -{ - matview_maintenance_depth--; - Assert(matview_maintenance_depth >= 0); -} /* * This should be used to test whether the backend is in a context where it is * OK to allow DML statements to modify materialized views. We only want to * allow that for internal code driven by the materialized view definition, * not for arbitrary user-supplied code. + * + * While the function names reflect the fact that their main intended use is + * incremental maintenance of materialized views (in response to changes to + * the data in referenced relations), they are initially used to allow REFRESH + * without blocking concurrent reads. */ bool MatViewIncrementalMaintenanceIsEnabled(void) { return matview_maintenance_depth > 0; } + +static void +OpenMatViewIncrementalMaintenance(void) +{ + matview_maintenance_depth++; +} + +static void +CloseMatViewIncrementalMaintenance(void) +{ + matview_maintenance_depth--; + Assert(matview_maintenance_depth >= 0); +} |