From 3b319c82675f9edf11de138199b7c278d2c4b49d Mon Sep 17 00:00:00 2001 From: Joel Jacobson Date: Tue, 15 Oct 2024 02:40:27 +0200 Subject: [PATCH 14/16] Separate ON_ERROR option validation into its own section. --- src/backend/commands/copy.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 484da6fd85..e631a70577 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -925,6 +925,15 @@ ProcessCopyOptions(ParseState *pstate, "COPY TO"))); } + /* --- ON_ERROR option --- */ + if (opts_out->on_error != COPY_ON_ERROR_STOP) + { + if (opts_out->format == COPY_FORMAT_BINARY) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("only ON_ERROR STOP is allowed in BINARY mode"))); + } + /* * Check for incompatible options (must do these three before inserting * defaults) @@ -969,13 +978,6 @@ ProcessCopyOptions(ParseState *pstate, "NULL"))); } - /* Check on_error */ - if (opts_out->format == COPY_FORMAT_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), -- 2.45.1