diff options
Diffstat (limited to 'src/backend/commands/copy.c')
-rw-r--r-- | src/backend/commands/copy.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 517660d3735..6b5bcd83c5b 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -1210,15 +1210,17 @@ BeginCopy(bool is_from, elog(ERROR, "unexpected rewrite result"); query = (Query *) linitial(rewritten); - Assert(query->commandType == CMD_SELECT); - Assert(query->utilityStmt == NULL); - /* Query mustn't use INTO, either */ - if (query->intoClause) + /* The grammar allows SELECT INTO, but we don't support that */ + if (query->utilityStmt != NULL && + IsA(query->utilityStmt, CreateTableAsStmt)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("COPY (SELECT INTO) is not supported"))); + Assert(query->commandType == CMD_SELECT); + Assert(query->utilityStmt == NULL); + /* plan the query */ plan = planner(query, 0, NULL); |