Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row
Kirill Reshke <reshkekirill@gmail.com>
From: Kirill Reshke <reshkekirill@gmail.com>
To: jian he <jian.universality@gmail.com>
Cc: Jim Jones <jim.jones@uni-muenster.de>, "David G. Johnston" <david.g.johnston@gmail.com>,
Yugo NAGATA <nagata@sraoss.co.jp>, torikoshia <torikoshia@oss.nttdata.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-10-21T09:30:24Z
Lists: pgsql-hackers
Attachments
- v5-0001-on_error-set_to_null.patch (application/octet-stream) patch v5-0001
Hi! On Thu, 12 Sept 2024 at 15:13, jian he <jian.universality@gmail.com> wrote: > > On Mon, Sep 9, 2024 at 10:34 PM Jim Jones <jim.jones@uni-muenster.de> wrote: > > > > > > Hi there > > > > On 26.08.24 02:00, jian he wrote: > > > hi all. > > > patch updated. > > > simplified the code a lot. > > > > > > idea is same: > > > COPY t_on_error_null FROM STDIN WITH (on_error set_to_null); > > > > > > If the STDIN number of columns is the same as the target table, then > > > InputFunctionCallSafe > > > call failure will make that column values be null. > > > > > > > > > If the STDIN number of columns is not the same as the target table, then error > > > ERROR: missing data for column \"%s\" > > > ERROR: extra data after last expected column > > > which is status quo. > > > > I wanted to give it another try, but the patch does not apply ... > > > > here we are. > please check the attached file. Hi! v4 no longer applies. It now conflicts with e7834a1a251d4a28245377f383ff20a657ba8262. Also, there were review comments. So, I decided to rebase. Review comments from [1] applied partially. I didn't do "and continue with" -> "and will continue with" substitution as suggested, because the first options are used for `ignore` doc one lines above. So, I just don't know how to change this correctly. We definitely don't want two separate forms of saying the same in 2 consecutive lines. I did small changes: 1) added `-- tests for set_to_null` option in the test script akin to 4ac2a9beceb10d44806d2cf157d5a931bdade39e 2) I rephrased Allow "stop", or "ignore", "set_to_null" values to Allow "stop", "ignore", "set_to_null" values PFA. [1] https://www.postgresql.org/message-id/b26e9c6c-75bf-45ea-8aea-346dda3bd445%40uni-muenster.de -- Best regards, Kirill Reshke
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
file_fdw: Add regression test for file_fdw with ON_ERROR='set_null'
- d8879d34b9dd 19 (unreleased) landed
-
Add COPY (on_error set_null) option
- 2a525cc97e19 19 (unreleased) landed
-
Add REJECT_LIMIT option to the COPY command.
- 4ac2a9beceb1 18.0 cited
-
Add log_verbosity = 'silent' support to COPY command.
- e7834a1a251d 18.0 cited
-
Add new COPY option LOG_VERBOSITY.
- f5a227895e17 17.0 cited