Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row - Mailing list pgsql-hackers

From Kirill Reshke
Subject Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row
Date
Msg-id CALdSSPgcuW1omVFUpnL6H63H+2qvtvEkD+4H3jUh1iEaNn_nEg@mail.gmail.com
Whole thread Raw
In response to Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-hackers
Thank you for your update.

On Fri, 13 Dec 2024 at 08:15, jian he <jian.universality@gmail.com> wrote:
>
> + /*
> + * Here we end processing of current COPY row.
> + * Update copy state counter for number of erroneous rows.
> + */
> + cstate->num_errors++;
> + cstate->escontext->error_occurred = true;
> +
> + /* Only print this NOTICE message, if it will not be followed by ERROR */
> + if (cstate->opts.log_verbosity == COPY_LOG_VERBOSITY_VERBOSE &&
> + (
> + (cstate->opts.on_error == COPY_ON_ERROR_NULL &&
> cstate->opts.reject_limit > 0 && cstate->num_errors <=
> cstate->opts.reject_limit) ||
> + (cstate->opts.on_error == COPY_ON_ERROR_IGNORE &&
> (cstate->opts.reject_limit ==  0 || cstate->num_errors <=
> cstate->opts.reject_limit))
> + ))
>   {
> this is kind of hard to comprehend.
> so attached is a simple version of it based on v8.

+1

So, in this version you essentially removed support for REJECT_LIMIT +
SET_TO_NULL feature? Looks like a promising change. It is more likely
to see this committed.
So, +1 on that too.

However, v9 lacks tests for REJECT_LIMIT vs erroneous rows tests.
In short, we need  this message somewhere in a regression test.
```
ERROR:  skipped more than REJECT_LIMIT (xxx) rows due to data type
incompatibility
```

Also, please update commit msg with all authors and reviewers. This
will make committer job a little bit easier

--
Best regards,
Kirill Reshke



pgsql-hackers by date:

Previous
From: vignesh C
Date:
Subject: Re: Conflict detection for update_deleted in logical replication
Next
From: Peter Smith
Date:
Subject: Re: POC: enable logical decoding when wal_level = 'replica' without a server restart