Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vxmEu-00H7ka-1S for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Mar 2026 13:26:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vxmEr-00Cn5e-2L for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Mar 2026 13:26:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vxmEr-00Cn5V-18 for pgsql-hackers@lists.postgresql.org; Wed, 04 Mar 2026 13:26:09 +0000 Received: from mail-oo1-xc2a.google.com ([2607:f8b0:4864:20::c2a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vxmEk-00000000X8k-1UdB for pgsql-hackers@lists.postgresql.org; Wed, 04 Mar 2026 13:26:09 +0000 Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-66f747175d8so3931204eaf.0 for ; Wed, 04 Mar 2026 05:26:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772630760; cv=none; d=google.com; s=arc-20240605; b=HsYaYIyUx1PUO0P60fAYNrMS2loQ1Yf6A3Fc2L/5QGxwUdAsf11kqBp75GpwHucxci CdXv1N2B4Gfu4i7YehapSh7Jq3zgEVAzSv9jjzXeWwQOTnbuGWogXijqAvlG40q3ofBB pVkp/+FoNR6x8kE+Ma6fOXCroAqAiWS4RJ/58iODOKFlq8Aa1cFvaos6MmeTLVa2dnBU oS+iYpbZjtSwgaYiwq6Qv8w/8D7SgCsYcXAYQVE28HHBfJBXrQq41SvD6bR27KSgYRVM GpM3AO+zGtpbNpYIDiw+jR+tWYFabwhXZ/k7XCKBMZ1QBzAPrvMI/iSsvk5vyaA8GutJ 1arQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=MGTIvU0xehLEmCD875NmzTT5t8SN8YBp0MmnEZsrCME=; fh=vdTBCdrvuZSA9+YbQRJ2Q6NPPPYtJxhgx11Z0XUrnfQ=; b=jyB+AJWY7h7HR7pIL3P6uQ/Hlam+1xtlcwBEP9Kaq1/tPCpEPhR9zqrUZpOdkc3Ahe /4ajKNXD1b9+CVWARbW6nR4p16xIRivB+zaoHcLAwx8DMF5bvTikUZmiRyel/iX2soSf dyoHKJE6pRvWs/c0SST+D69q2CtmoA9EVEb5+qU6G7Ko5vv6TqLWh1a/QHIJ3vcIfU0P iqzQajl1RQMB2Wq8dymWpzhKyNUNaR3sFCYTeA+OqyCzK7/7cFFmzKX1Um74ErsQmZTE 5Yv4X5eFZFbIlFo+UQeBdlYGwTsuL2C2KFKt3vFUU3Xa47P7mFaO867KgguAv8/4HI9f 2SZQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772630760; x=1773235560; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MGTIvU0xehLEmCD875NmzTT5t8SN8YBp0MmnEZsrCME=; b=Wj0beZw+ixSWpwuQmmaV8cl0+WrUr7lJ3bgzRooGOSnbzUXUnh68+uIJSXzWZEN+cB OFg5s1uTkJhbbiXjlPcjPPonPzBQj5/UzuxV946akUSaOnuWuvD9h7SDuPONUTIkC1vE UUl2C558zeD8L2zDezijC5sbXXY6c7ACrs7r09nqIGjbjDH1oaWt6GbWZ0e18cmh6Ztl koSugJSUqqNtJRjOa/ERcqmmB8GpVDhvjsqlDIaSA25F4YaCM8Ps0eDKmvO8Ick6cI2/ /OCiTGxkTnbAQfx1favFSsiLn80mVowz3nrAKIWI+IDtTOkiKI5eUgZclemF4jUw0zo3 HmhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772630760; x=1773235560; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MGTIvU0xehLEmCD875NmzTT5t8SN8YBp0MmnEZsrCME=; b=OYOiB0UGyTTWG1xjaO1H7Nk4qGVpeZs1IRM2EcNPhcmsbZVgmOF8ORg+xrRAL7EynQ s4+fFmjsrHzCyHAoPzLFFzM3rOfQM7oPOd5+aUG0kI0EC3JX3mPapdUTp2x8lmLTjny3 AEFA/GNfXXlB6NlyjmX3oc50hhlFs8zwPOAVFqhNhwOUw7nNPMLDG1oGoGEaDwQaX1XL f+wouk0Qxlua+0jhcU69L51bs0DinMz4gFRt4LWokWtf+O0x+TVdE14wzppKWQpSnB2S a3XkUSFzjIfY+B3T5GW2TrBWM4ZNmE9POId0juN5me5iLuF6WER0LNllgGKo1GuSzxrz NqrQ== X-Forwarded-Encrypted: i=1; AJvYcCVPSvAv9lk8UxvI+ICetDhcTThrcv11CX4SEnyhtCyZafweQQA+ufwdgViRupqf2foFJQSV2RmUzSrg8S5A@lists.postgresql.org X-Gm-Message-State: AOJu0YxgzjVLyc6/VJwY1Z8cRlEaw9gptIy/JYBhATpgU3O8CGK4381h G5J6rES1Ho0Thk8vGgKPvkVuXFGzhH4VlqypvYM1RO1mpEGisku5XvJ6NiFXWalj37QS8ZxmqhT TuPk0o9Y0Zq5ZD0ETx5YswFIyrKdA4cI= X-Gm-Gg: ATEYQzxBQwtWjF8dIhy12v590BuvL7khg/zY2lC8UCMo8Cx3eeXGcjWcptXtxHSvQDb tfGsDnANDS9EdFSRdsRTosAvy8muk+vtoM48qhBkbz0n0vVxOAV2BSJs93ncEwzRr0Lvc4tzIN1 FN3JoX0BST3/3rt/a8viKsr6EXK2vAf4+pTC/L03xo2G21efeb9B/4VwTjJuZM+4euyXHytoCqU 2wwFpxqiooj0W54jJVZmYAaWKVLRB/vKEt48CYMjm7vxw3nIOS8SyjJ1AtNskxMPH96DdSrZM8o gUJVVO9FyCmotFjweWpRkEVtE9NOMkGB9VcBdYrJmA== X-Received: by 2002:a05:6820:4b8f:b0:679:f16a:622b with SMTP id 006d021491bc7-67b0ffa64e6mr1226287eaf.7.1772630759761; Wed, 04 Mar 2026 05:25:59 -0800 (PST) MIME-Version: 1.0 References: <901967e5-e5dc-42c6-b2bf-fb3a49d7e787@gmail.com> <4c540fe3-495c-4bbf-8dcf-2c1e2b88bc3d@gmail.com> <6f973222-f306-43af-9df5-38673fe3f7d6@eisentraut.org> <5e126dbb-9535-4de4-ad3b-187e475aa6b5@eisentraut.org> In-Reply-To: <5e126dbb-9535-4de4-ad3b-187e475aa6b5@eisentraut.org> From: Fujii Masao Date: Wed, 4 Mar 2026 22:25:45 +0900 X-Gm-Features: AaiRm523qPSAlsBWsoHmfkD_CJdZlZf3O9DzD5-FOb8WQ7QY97BqN4coa-inpxM Message-ID: Subject: Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row To: Peter Eisentraut Cc: jian he , Matheus Alcantara , torikoshia , Masahiko Sawada , vignesh C , Jim Jones , Kirill Reshke , Fujii Masao , "David G. Johnston" , Yugo NAGATA , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000c13565064c32c23a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c13565064c32c23a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 3, 2026 at 3:38=E2=80=AFPM Peter Eisentraut wrote: > Thanks, committed. Thanks for committing the patch! With this change, ON_ERROR =3D 'set_null' can now be used with foreign tabl= es backed by file_fdw. However, unlike ON_ERROR =3D 'ignore', there is current= ly no regression test covering this behavior in file_fdw. How about adding a regression test to ensure that file_fdw works correctly with ON_ERROR =3D 'set_null', and to improve test coverage? Patch attached. Regards, --=20 Fujii Masao --000000000000c13565064c32c23a Content-Type: application/octet-stream; name="v1-0001-file_fdw-Add-regression-test-for-file_fdw-with-ON.patch" Content-Disposition: attachment; filename="v1-0001-file_fdw-Add-regression-test-for-file_fdw-with-ON.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmc2kr6a0 RnJvbSA0MDBhZGIxNmE1MGNjODE3ZWFlYTgxNmZjNjczNWE3YjRlN2FmOWFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IFdlZCwgNCBNYXIgMjAyNiAyMjoxOTowNiArMDkwMApTdWJqZWN0OiBbUEFUQ0ggdjFdIGZp bGVfZmR3OiBBZGQgcmVncmVzc2lvbiB0ZXN0IGZvciBmaWxlX2ZkdyB3aXRoCiBPTl9FUlJPUj0n c2V0X251bGwnLgoKQ29tbWl0IDJhNTI1Y2M5N2UxIGludHJvZHVjZWQgdGhlIE9OX0VSUk9SID0g J3NldF9udWxsJyBvcHRpb24gZm9yIENPUFksCmFsbG93aW5nIGl0IHRvIGJlIHVzZWQgd2l0aCBm b3JlaWduIHRhYmxlcyBiYWNrZWQgYnkgZmlsZV9mZHcuIEhvd2V2ZXIsCnVubGlrZSBPTl9FUlJP UiA9ICdpZ25vcmUnLCBubyByZWdyZXNzaW9uIHRlc3Qgd2FzIGFkZGVkIHRvIHZlcmlmeQp0aGlz IGJlaGF2aW9yIGZvciBmaWxlX2Zkdy4KClRoaXMgY29tbWl0IGFkZHMgYSByZWdyZXNzaW9uIHRl c3QgdG8gZW5zdXJlIHRoYXQgZm9yZWlnbiB0YWJsZXMgdXNpbmcKZmlsZV9mZHcgd29yayBjb3Jy ZWN0bHkgd2l0aCBPTl9FUlJPUiA9ICdzZXRfbnVsbCcsIGltcHJvdmluZyB0ZXN0IGNvdmVyYWdl LgotLS0KIGNvbnRyaWIvZmlsZV9mZHcvZXhwZWN0ZWQvZmlsZV9mZHcub3V0IHwgMTIgKysrKysr KysrKystCiBjb250cmliL2ZpbGVfZmR3L3NxbC9maWxlX2Zkdy5zcWwgICAgICB8ICA0ICsrKy0K IDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9jb250cmliL2ZpbGVfZmR3L2V4cGVjdGVkL2ZpbGVfZmR3Lm91dCBiL2NvbnRyaWIv ZmlsZV9mZHcvZXhwZWN0ZWQvZmlsZV9mZHcub3V0CmluZGV4IDI1MWYwMGJkMjU4Li42NDA5ODY1 MjhhZSAxMDA2NDQKLS0tIGEvY29udHJpYi9maWxlX2Zkdy9leHBlY3RlZC9maWxlX2Zkdy5vdXQK KysrIGIvY29udHJpYi9maWxlX2Zkdy9leHBlY3RlZC9maWxlX2Zkdy5vdXQKQEAgLTI0Niw3ICsy NDYsMTcgQEAgU0VMRUNUICogRlJPTSBhZ2dfYmFkOyAgICAgICAgICAgICAgIC0tIEVSUk9SCiBF UlJPUjogIGludmFsaWQgaW5wdXQgc3ludGF4IGZvciB0eXBlIHJlYWw6ICJhYWEiCiBDT05URVhU OiAgQ09QWSBhZ2dfYmFkLCBsaW5lIDMsIGNvbHVtbiBiOiAiYWFhIgogLS0gb25fZXJyb3IsIGxv Z192ZXJib3NpdHkgYW5kIHJlamVjdF9saW1pdCB0ZXN0cwotQUxURVIgRk9SRUlHTiBUQUJMRSBh Z2dfYmFkIE9QVElPTlMgKEFERCBvbl9lcnJvciAnaWdub3JlJyk7CitBTFRFUiBGT1JFSUdOIFRB QkxFIGFnZ19iYWQgT1BUSU9OUyAoQUREIG9uX2Vycm9yICdzZXRfbnVsbCcpOworU0VMRUNUICog RlJPTSBhZ2dfYmFkOworICBhICB8ICAgYiAgICAKKy0tLS0tKy0tLS0tLS0tCisgMTAwIHwgOTku MDk3CisgICAwIHwgX251bGxfCisgIDQyIHwgMzI0Ljc4CisgICAxIHwgX251bGxfCisoNCByb3dz KQorCitBTFRFUiBGT1JFSUdOIFRBQkxFIGFnZ19iYWQgT1BUSU9OUyAoU0VUIG9uX2Vycm9yICdp Z25vcmUnKTsKIFNFTEVDVCAqIEZST00gYWdnX2JhZDsKIE5PVElDRTogIDIgcm93cyB3ZXJlIHNr aXBwZWQgZHVlIHRvIGRhdGEgdHlwZSBpbmNvbXBhdGliaWxpdHkKICAgYSAgfCAgIGIgICAgCmRp ZmYgLS1naXQgYS9jb250cmliL2ZpbGVfZmR3L3NxbC9maWxlX2Zkdy5zcWwgYi9jb250cmliL2Zp bGVfZmR3L3NxbC9maWxlX2Zkdy5zcWwKaW5kZXggMmNiYTg0YjFkYjcuLjU2YmZjOTI2YzAwIDEw MDY0NAotLS0gYS9jb250cmliL2ZpbGVfZmR3L3NxbC9maWxlX2Zkdy5zcWwKKysrIGIvY29udHJp Yi9maWxlX2Zkdy9zcWwvZmlsZV9mZHcuc3FsCkBAIC0xNzEsNyArMTcxLDkgQEAgU0VMRUNUICog RlJPTSBhZ2dfY3N2IGMgSk9JTiBhZ2dfdGV4dCB0IE9OICh0LmEgPSBjLmEpIE9SREVSIEJZIGMu YTsKIFNFTEVDVCAqIEZST00gYWdnX2JhZDsgICAgICAgICAgICAgICAtLSBFUlJPUgogCiAtLSBv bl9lcnJvciwgbG9nX3ZlcmJvc2l0eSBhbmQgcmVqZWN0X2xpbWl0IHRlc3RzCi1BTFRFUiBGT1JF SUdOIFRBQkxFIGFnZ19iYWQgT1BUSU9OUyAoQUREIG9uX2Vycm9yICdpZ25vcmUnKTsKK0FMVEVS IEZPUkVJR04gVEFCTEUgYWdnX2JhZCBPUFRJT05TIChBREQgb25fZXJyb3IgJ3NldF9udWxsJyk7 CitTRUxFQ1QgKiBGUk9NIGFnZ19iYWQ7CitBTFRFUiBGT1JFSUdOIFRBQkxFIGFnZ19iYWQgT1BU SU9OUyAoU0VUIG9uX2Vycm9yICdpZ25vcmUnKTsKIFNFTEVDVCAqIEZST00gYWdnX2JhZDsKIEFM VEVSIEZPUkVJR04gVEFCTEUgYWdnX2JhZCBPUFRJT05TIChBREQgbG9nX3ZlcmJvc2l0eSAnc2ls ZW50Jyk7CiBTRUxFQ1QgKiBGUk9NIGFnZ19iYWQ7Ci0tIAoyLjUxLjIKCg== --000000000000c13565064c32c23a--