From 919492bd6f0781ddf2b9864e154bec89d252060a Mon Sep 17 00:00:00 2001 From: shihao zhong Date: Mon, 2 Nov 2026 22:31:23 -0500 Subject: [PATCH 2/2] Test stale COPY error context after ON_ERROR set_null The previous commit also fixes set_null, which exists in v19 and later. --- src/test/regress/expected/copy2.out | 4 ++++ src/test/regress/sql/copy2.sql | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out index 353f54e6005..690568db4be 100644 --- a/src/test/regress/expected/copy2.out +++ b/src/test/regress/expected/copy2.out @@ -830,6 +830,10 @@ CONTEXT: COPY t_on_error_null, line 1: "1,1" COPY t_on_error_null FROM STDIN WITH (delimiter ',', on_error set_null); ERROR: extra data after last expected column CONTEXT: COPY t_on_error_null, line 1: "1,2,3,4" +-- fail, extra data after a row whose last column was set to null +COPY t_on_error_null FROM STDIN WITH (delimiter ',', on_error set_null); +ERROR: extra data after last expected column +CONTEXT: COPY t_on_error_null, line 2: "1,2,3,4" COPY t_on_error_null FROM STDIN WITH (on_error set_null, log_verbosity verbose); -- ok NOTICE: setting to null due to data type incompatibility at line 1 for column "b": "x1" CONTEXT: COPY t_on_error_null diff --git a/src/test/regress/sql/copy2.sql b/src/test/regress/sql/copy2.sql index d2119b337f7..71b7e31dac5 100644 --- a/src/test/regress/sql/copy2.sql +++ b/src/test/regress/sql/copy2.sql @@ -628,6 +628,11 @@ COPY t_on_error_null FROM STDIN WITH (delimiter ',', on_error set_null); COPY t_on_error_null FROM STDIN WITH (delimiter ',', on_error set_null); 1,2,3,4 \. +-- fail, extra data after a row whose last column was set to null +COPY t_on_error_null FROM STDIN WITH (delimiter ',', on_error set_null); +1,2,x +1,2,3,4 +\. COPY t_on_error_null FROM STDIN WITH (on_error set_null, log_verbosity verbose); -- ok 10 x1 yx -- 2.37.1 (Apple Git-137.1)