diff options
author | Tomas Vondra | 2017-07-30 15:27:36 +0000 |
---|---|---|
committer | Tomas Vondra | 2017-07-31 01:21:10 +0000 |
commit | a60df4b535c3f2be055ea44a627ac86ead57ef04 (patch) | |
tree | a1a8b99e1e40cd06bf49e1af4959967b7ba18422 | |
parent | cfb055553687c257dd1d1ed123356c892f48a804 (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.c | 4 |
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 |