summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Vondra2017-07-30 15:27:36 +0000
committerTomas Vondra2017-07-31 01:21:10 +0000
commita60df4b535c3f2be055ea44a627ac86ead57ef04 (patch)
treea1a8b99e1e40cd06bf49e1af4959967b7ba18422
parentcfb055553687c257dd1d1ed123356c892f48a804 (diff)
Produce proper error message for COPY (SELECT INTO)
Produce the right error message for COPY (SELECT INTO) queries, that is ERROR: COPY (SELECT INTO) is not supported instead of the incorrect ERROR: COPY query must have a RETURNING clause The root cause is that the check in BeginCopy() was testing raw_query, but XL wraps the original command in RawStmt, so we should be checking raw_query->stmt instead.
-rw-r--r--src/backend/commands/copy.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index 37d9a898cf..a5122e61f6 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -1567,9 +1567,9 @@ BeginCopy(ParseState *pstate,
* will ultimately lead to an error, but doing it here allows us to
* throw a more friendly and PG-compatible error.
*/
- if (IsA(raw_query, SelectStmt))
+ if (IsA(raw_query->stmt, SelectStmt))
{
- SelectStmt *stmt = (SelectStmt *) raw_query;
+ SelectStmt *stmt = (SelectStmt *) raw_query->stmt;
/*
* If it's a set-operation tree, drilldown to leftmost SelectStmt