aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/matview.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/commands/matview.c b/src/backend/commands/matview.c
index 46149eed4f7..09ea344256a 100644
--- a/src/backend/commands/matview.c
+++ b/src/backend/commands/matview.c
@@ -141,6 +141,7 @@ ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString,
List *actions;
Query *dataQuery;
Oid tableSpace;
+ Oid owner;
Oid OIDNewHeap;
DestReceiver *dest;
bool concurrent;
@@ -238,6 +239,8 @@ ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString,
else
tableSpace = matviewRel->rd_rel->reltablespace;
+ owner = matviewRel->rd_rel->relowner;
+
heap_close(matviewRel, NoLock);
/* Create the transient table that will receive the regenerated data. */
@@ -247,8 +250,7 @@ ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString,
/* Generate the data, if wanted. */
if (!stmt->skipData)
- refresh_matview_datafill(dest, dataQuery, queryString,
- matviewRel->rd_rel->relowner);
+ refresh_matview_datafill(dest, dataQuery, queryString, owner);
/* Make the matview match the newly generated data. */
if (concurrent)