mirror of
https://github.com/postgres/postgres.git
synced 2025-11-30 00:03:16 -05:00
Add HINT for COPY TO when WHERE clause is used.
COPY TO does not support a WHERE clause, and currently fails with the error:
ERROR: WHERE clause not allowed with COPY TO
Since the intended behavior can be achieved by using
COPY (SELECT ... WHERE ...) TO, this commit adds a HINT
to the error message:
HINT: Try the COPY (SELECT ... WHERE ...) TO variant.
This makes the error more informative and helps users
quickly find the alternative usage.
Author: Atsushi Torikoshi <torikoshia@oss.nttdata.com>
Reviewed-by: Jim Jones <jim.jones@uni-muenster.de>
Discussion: https://postgr.es/m/3520c224c5ffac0113aef84a9179f37e@oss.nttdata.com
This commit is contained in:
parent
510777a2d5
commit
229911c4bf
@ -3442,6 +3442,7 @@ CopyStmt: COPY opt_binary qualified_name opt_column_list
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("WHERE clause not allowed with COPY TO"),
|
||||
errhint("Try the COPY (SELECT ... WHERE ...) TO variant."),
|
||||
parser_errposition(@11)));
|
||||
|
||||
n->options = NIL;
|
||||
|
||||
@ -163,6 +163,7 @@ COPY x TO stdout WHERE a = 1;
|
||||
ERROR: WHERE clause not allowed with COPY TO
|
||||
LINE 1: COPY x TO stdout WHERE a = 1;
|
||||
^
|
||||
HINT: Try the COPY (SELECT ... WHERE ...) TO variant.
|
||||
COPY x from stdin WHERE a = 50004;
|
||||
COPY x from stdin WHERE a > 60003;
|
||||
COPY x from stdin WHERE f > 60003;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user