From 549dae0352a06a43ec664dc158556e12ec2d30e5 Mon Sep 17 00:00:00 2001 From: Kevin Grittner Date: Fri, 22 Mar 2013 13:27:34 -0500 Subject: Fix problems with incomplete attempt to prohibit OIDS with MVs. Problem with assertion failure in restoring from pg_dump output reported by Joachim Wieland. Review and suggestions by Tom Lane and Robert Haas. --- src/backend/commands/createas.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/backend/commands/createas.c') 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; -- cgit v1.2.3