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 1w1yQX-000lck-16 for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 03:15:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1yQW-0076L4-1R for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 03:15:33 +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 1w1yQW-0076KP-0W for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 03:15:32 +0000 Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w1yQU-00000000MD8-26QF for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 03:15:32 +0000 Received: by mail-oi1-x236.google.com with SMTP id 5614622812f47-4671cbce32bso807507b6e.3 for ; Sun, 15 Mar 2026 20:15:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773630929; cv=none; d=google.com; s=arc-20240605; b=jETUGtiip33JL3JktCEfgtm4iRsikTGkt2Et1ae5nfATr3FaVT3UhfNmUPDFAWTKyU OYIKRieceICcOFevXubyzgPn+hPs9AGlqGsiFfKOFfG2XD3G5aHFcxvvEpbXSiv7kABR PsZl9z8NJQbI8kKrAcBIexKeqjNd1fRQzai7dRukaXr0UOPfLp+V+23Rx5mOQjtHDbGI YwruO4n5sl9LLaRcHEnG8+Q47iIKva2MpO71eCAoDevxtIpqtGpHeZZBSm60isFeEnxE LXq7TH0wK1B8orS7yn/z4kc4B7UHcC4IMXQH2PhycdgrKx1Z8ynzMbQ6/D9iJYFeOmlz bhsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=RhlopmOlzSrJcTpuIcAsY4Pm3qGjP0q+TbwcndzTnNs=; fh=yuJwWRnCvHziNYOiQX2Q4AdrbRvNduIqGhnL+2p8aMc=; b=UcL35gmGOD8vMc4zZmRAD8KgniVg/lBNl0AkEH32BqKYDCKE6qyiXcbJ6BTF41/sPU vozCfckIotlne+wuYyLB7ldUXABetF8GT0AT8NF5OQYOCJ2UizwMjMd//N0VuGoaPP+p m8pWdhj4db8KuRnBfjjJTeDs+05czkZFcZlu6clQoJpBTKEQsw+xyL+vfHpMb04sQLbG ehzZWKb9h0yCxL5QSmY/jJBULCLd9dhayAcdEWurAhUVsFTjJSKpqCQMiRMYuBgzJePo sM3jSMz2RytNshQLvbx+7hzf+ea0x3b+a6b7u6V5qq+bit0lGqySRfB7DxL6TipY8sAZ NUlA==; 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=1773630929; x=1774235729; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=RhlopmOlzSrJcTpuIcAsY4Pm3qGjP0q+TbwcndzTnNs=; b=MS+f217KoJ7CUdBRB4Q4uNj9xJt2nIKOS2jhRpKOYrhm75mPUOrXJ+enGs+r1J2wxu pplsaytFfUbqfibtGfYq/hAxidrqAMLqg4tXuN9F68jJ0J1Op+VFX3vWsf0Cd4WMw34A yTllroFj5LW3TDgEfj9f1IEPcxlyiW2PXxIEx2U0jOooFfjF16EeqRw716eYDn7Wu4W2 2zv0kcb0M5APQJyy2CNmCR4a5Byku05fdF+5j1BWaXclOSQdpPfJ72ijIsUE39+MsyGb 0vy9UjSu5MkoN4cy2bFmspnsnUqNMiLuGfvDUMBt2kHNfL7TWC8L1Yzp018f4QWxkoQI QBfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773630929; x=1774235729; h=content-transfer-encoding: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=RhlopmOlzSrJcTpuIcAsY4Pm3qGjP0q+TbwcndzTnNs=; b=BRhYDMJfrPFO4dkuNYGauS626dgl4RCMjtFZsUJiV6tJVyiLy6CpojXg2dhfMR2PI+ CGd43UwXhAgjzAUfgvuC0kveitQj218clFfUD+46/hUILtHwgS/bsE3pyr2tuJCN1L77 ZrgptflQ8jHAaDBGCPzGFUXXTp+tomVZhOWdvLPCM3Rb48enbIXxZi1CQI7G1jTl9aqx Rb4tJB5lCugZe8bXRQtXgx+sRUcut6tl3OHoJcHSzWkTZXynj0fYAgFcY10+znXnzABD BbzixPcObhscN+FTrKGbqHJEdQA312CV4I6fNNGoKGBdrNw8ZzM55CGhNXsmCSr1URaa qQFQ== X-Forwarded-Encrypted: i=1; AJvYcCUg1NFVePmEpDg96/PethugKvAtPp3g7G6B2UIYbMqAg65jwNTkXgvUdPSGMX9j2VtVfcAn0MjG9i3kqIHM@lists.postgresql.org X-Gm-Message-State: AOJu0YwpHqyFeHAuDF6ul0MTw3N+4dvkNisDkV1D0ERYAPjadn186cqy bXkkeBdISGT7NCzi9sAOv+DPjc2KjDIZdZKm/YQ/y/ZVBRCrzvBDFJpozzBXUtB/ZYRCr9k0OYi GFlieKpvp6cRtdmfobUMuhg03N9h9GEA= X-Gm-Gg: ATEYQzzo6KWyA+VBkVLT4TuqClsYDc5dPajgolQ6dLC5I1dC9SuQ/pWtm+Fb/OHE74Z R0gs/hh8hLPYmoBWCoZyeWFfY0m4LewdlTsUwy/k6dQEEJzk54fVXkT+2TZDIK1tPtGGYKKoOfy SsfAplmwrY+CthAf+C3gLunHmnC2Tmx9qmGskeIaFDhYPXsOhJLstaTCKw3i0S45sK7A3kZdEtj 7RhQYm+AhLEWZfanBbKQb+1Yv9Odpa9O6zebv7y4NxmZ/88wJVTD2k9NH74ooMZ603P8aQccFDB BdnYAt57YLC+bSjTMNL34vX0j8rY2WlnOUEgifmZOA== X-Received: by 2002:a05:6820:6ac8:b0:664:86ce:df65 with SMTP id 006d021491bc7-67bda9e21bfmr8424892eaf.32.1773630929018; Sun, 15 Mar 2026 20:15:29 -0700 (PDT) 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> <5e6ae3c1.48b2.19ce5bfea42.Coremail.dingyi_yale@163.com> <2291919f.2a51.19cf483243a.Coremail.dingyi_yale@163.com> In-Reply-To: <2291919f.2a51.19cf483243a.Coremail.dingyi_yale@163.com> From: Fujii Masao Date: Mon, 16 Mar 2026 12:15:16 +0900 X-Gm-Features: AaiRm53Gz7JlQ583VxJC4DTTnmT335_y5nPQ-uNMwgpIoEsMxpgXYN2yZmns8TA Message-ID: Subject: Re: Re: Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row To: Yi Ding Cc: Peter Eisentraut , jian he , Matheus Alcantara , torikoshia , Masahiko Sawada , vignesh C , Jim Jones , Kirill Reshke , Fujii Masao , "David G. Johnston" , Yugo NAGATA , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Mar 16, 2026 at 11:39=E2=80=AFAM Yi Ding wrot= e: > > > At 2026-03-13 21:50:07, "Fujii Masao" wrote: > >On Fri, Mar 13, 2026 at 2:51=E2=80=AFPM Yi Ding wr= ote: > >> The new test added in v1 makes sense to me. A small suggestion is that= to verify if a field is really null, we can do: > >> > >> ALTER FOREIGN TABLE agg_bad OPTIONS (ADD on_error 'set_null'); > >> SELECT a, b IS NULL FROM agg_bad; > > > >Since the file_fdw test runs "\pset null _null_", a NULL value is displa= yed as > >"_null_". So you can verify that the value is NULL by checking whether > >"_null_" is shown. > > > >One could argue that this cannot be distinguished from the literal text = value > >"_null_". However, relying on "\pset null _null_" is sufficient for this= test, > >I think. > > > >Regards, > > > >-- > >Fujii Masao > > > > Sounds reasonable,that addressed my comment. I've pushed the patch. Thanks! Regards, --=20 Fujii Masao