aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands')
-rw-r--r--src/backend/commands/createas.c6
-rw-r--r--src/backend/commands/tablecmds.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/commands/createas.c b/src/backend/commands/createas.c
index a3ff1d56c81..06bbae5cc59 100644
--- a/src/backend/commands/createas.c
+++ b/src/backend/commands/createas.c
@@ -218,11 +218,15 @@ GetIntoRelEFlags(IntoClause *intoClause)
* because it doesn't have enough information to do so itself (since we
* can't build the target relation until after ExecutorStart).
*/
- if (interpretOidsOption(intoClause->options))
+ if (interpretOidsOption(intoClause->options, intoClause->relkind))
flags = EXEC_FLAG_WITH_OIDS;
else
flags = EXEC_FLAG_WITHOUT_OIDS;
+ Assert(intoClause->relkind != RELKIND_MATVIEW ||
+ (flags & (EXEC_FLAG_WITH_OIDS | EXEC_FLAG_WITHOUT_OIDS)) ==
+ EXEC_FLAG_WITHOUT_OIDS);
+
if (intoClause->skipData)
flags |= EXEC_FLAG_WITH_NO_DATA;
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 57cf0a07b51..536d232dd41 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -559,7 +559,7 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId)
*/
descriptor = BuildDescForRelation(schema);
- localHasOids = interpretOidsOption(stmt->options);
+ localHasOids = interpretOidsOption(stmt->options, relkind);
descriptor->tdhasoid = (localHasOids || parentOidCount > 0);
/*