diff options
author | Fujii Masao | 2024-10-08 09:23:43 +0000 |
---|---|---|
committer | Fujii Masao | 2024-10-08 09:23:43 +0000 |
commit | a39297ec026c556b1bf2963dde766db31a2c3d2d (patch) | |
tree | b1f6ba075a96d0eddcff1c5430df11d1be60a6b3 | |
parent | 4ac2a9beceb10d44806d2cf157d5a931bdade39e (diff) |
Move check for binary mode and on_error option to the appropriate location.
Commit 9e2d870119 placed the check for binary mode and on_error
before default values were inserted, which was not ideal.
This commit moves the check to a more appropriate position
after default values are set.
Additionally, the comment incorrectly mentioned two checks before
inserting defaults, when there are actually three. This commit corrects
that comment.
Author: Atsushi Torikoshi
Reviewed-by: Fujii Masao
Discussion: https://postgr.es/m/[email protected]
-rw-r--r-- | src/backend/commands/copy.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index befab92074e..0b093dbb2a3 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -672,7 +672,7 @@ ProcessCopyOptions(ParseState *pstate, } /* - * Check for incompatible options (must do these two before inserting + * Check for incompatible options (must do these three before inserting * defaults) */ if (opts_out->binary && opts_out->delim) @@ -691,11 +691,6 @@ ProcessCopyOptions(ParseState *pstate, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("cannot specify %s in BINARY mode", "DEFAULT"))); - if (opts_out->binary && opts_out->on_error != COPY_ON_ERROR_STOP) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("only ON_ERROR STOP is allowed in BINARY mode"))); - /* Set defaults for omitted options */ if (!opts_out->delim) opts_out->delim = opts_out->csv_mode ? "," : "\t"; @@ -900,6 +895,11 @@ ProcessCopyOptions(ParseState *pstate, errmsg("NULL specification and DEFAULT specification cannot be the same"))); } /* Check on_error */ + if (opts_out->binary && opts_out->on_error != COPY_ON_ERROR_STOP) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("only ON_ERROR STOP is allowed in BINARY mode"))); + if (opts_out->reject_limit && !opts_out->on_error) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), |