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.94.2) (envelope-from ) id 1tAj4M-00HPjO-U9 for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Nov 2024 05:04:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tAj4K-0034xH-3a for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Nov 2024 05:04:00 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tAj4J-0034s2-HN for pgsql-hackers@lists.postgresql.org; Tue, 12 Nov 2024 05:04:00 +0000 Received: from mail-japaneastazon11020104.outbound.protection.outlook.com ([52.101.229.104] helo=TY3P286CU002.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tAj4H-001QUK-5I for pgsql-hackers@lists.postgresql.org; Tue, 12 Nov 2024 05:03:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XvXsa/CTufLzKiS29Ggqq6QhtLJPj7cOVJY8iMtWlLlawaLjeoA2wGthuDhkG+uAx0fs6kVkMN8XLLInGqohWVSCKgNMvS+xp+xStFs5ApmiJta553ONKijNhjtQQZeAnM/gfMMwo3s0g0GXXeY+jlsJxmVqit/Y2vx1izKIaix6SRUAvLG80PEVgTjyo4aP9jvTLozrn038ayAO/Sn0DyAx2WdYsGJRHd4VxTEzbGZZXSECwwARw/T6+LZ9NXy3rdRKlhtw0GlfiAffL3KXUeD16dMXbjsrejx4j6qna3faZh5PUL03qn9Qyc3UAwPgRQ64noZ0VVbx6bzbVhTVaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dIF4NTBTdw7Wglc/YMSnRDbW0ynpj6RbwmHBM/Gju90=; b=bD/fwofUw33mDBMPtU65FB9c8IeB4DxC2hNBGIzN6vc26Qj+XqKgiglVEh6h432TToWXwLSuH+b37WTdMLZVyT5tgqfkdxtxDJ1Xa6YfrZGCo4tQcaNp/iIc9/6T4+hqYM6DSMwIDSCmC07HuimN1EaaKOTZH9Tv28C/ZhOK7ZG2y2mKbdwMC+E15mbOkXWBMSZIW4XDtcJNmuSFq7n8T74doaL4bqzNeh1xLLdSmfiYmm2u/t3HymKM+kToJxYmmHSAZYkNbRaczIwluw2vMabDJ/raDi1dhr2hbpv8HNnop98f1X7Ys6mjXJmmUyNjfRQPp8Y9Zmluw1fKL/RUEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sraoss.co.jp; dmarc=pass action=none header.from=sraoss.co.jp; dkim=pass header.d=sraoss.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sraoss.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dIF4NTBTdw7Wglc/YMSnRDbW0ynpj6RbwmHBM/Gju90=; b=r03szNHMlIIaCFgedgUZrIzduz2iFcFa51qQT8n+5xJNfBIhKFLTBfNvtZtTVeGZK1N6XPLzCQbBzFwOOHNWc+4KczxGH3WwqPycJFF6vU1Ck52q77lx3xhBFoohqsAV4BRM20/xpOw56Zur5YIbB+icd9nPWLHC8c0/9evqhZ/i7YsE/TFF8xCtwUgI1+W94ule6vxBl08koR3Q3A8sDzlCHSKcN8nwhZlm7S9hbjq/821MZWO1F5b+oSMDp99gSmxk+2RHh7oEuVf5KJdIyJ1n49yARbPcvijXnmtr6lfgMnPCoLBVyp/oYbKQaFvIyLSTKfMtahy5DsX4oBE99w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sraoss.co.jp; Received: from TYBP286MB0111.JPNP286.PROD.OUTLOOK.COM (2603:1096:404:8026::10) by TYWP286MB2682.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.29; Tue, 12 Nov 2024 05:03:51 +0000 Received: from TYBP286MB0111.JPNP286.PROD.OUTLOOK.COM ([fe80::42e3:e942:b68d:dfac]) by TYBP286MB0111.JPNP286.PROD.OUTLOOK.COM ([fe80::42e3:e942:b68d:dfac%3]) with mapi id 15.20.8137.027; Tue, 12 Nov 2024 05:03:51 +0000 Date: Tue, 12 Nov 2024 14:03:50 +0900 From: Yugo Nagata To: Kirill Reshke Cc: torikoshia , Fujii Masao , jian he , Jim Jones , "David G. Johnston" , PostgreSQL Hackers Subject: Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row Message-Id: <20241112140350.e6599cece83d59387d28b5c0@sraoss.co.jp> In-Reply-To: References: <76da9fcc-93c5-4053-872e-12932a95356d@uni-muenster.de> <6eac5b45-7f45-4c7a-aae1-e90db8be2e08@uni-muenster.de> <3d6b5885-16a1-475d-b56f-41701c48d9d4@uni-muenster.de> <63595e8f-a245-4335-aa22-7e449a70e210@oss.nttdata.com> <07587c36-18b3-4ccb-b5fb-579bcb04ed37@oss.nttdata.com> <501dd655ddb04693c15baeb6485bc601@oss.nttdata.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: TY2PR06CA0041.apcprd06.prod.outlook.com (2603:1096:404:2e::29) To TYBP286MB0111.JPNP286.PROD.OUTLOOK.COM (2603:1096:404:8026::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYBP286MB0111:EE_|TYWP286MB2682:EE_ X-MS-Office365-Filtering-Correlation-Id: 9031e5d3-9d90-4407-fc8c-08dd02d7663c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?O/V4Y8EZxzD9Z9ART06em1agWTgGSGeT8mrkFzeBjNQmHsOWWAIFjO3EBs5g?= =?us-ascii?Q?0LP+2zflndCrWokNn6MCbiG6HC9GsWXylj44KeWG2aFvsiif9Jg3iqM3P9Oy?= =?us-ascii?Q?/gFXpqWLDpIEQB5QHxcGkw+QoadlsmBoRNwN7g1fRQpX1XlZALxF6Jl/rnc1?= =?us-ascii?Q?8LrjOXXrjjfg/P5fR4MpXb8f4D8LCv79ic1HeeEuLfUSnIm0ykMvjHlbuBFy?= =?us-ascii?Q?gx8jWOeSrLh3gt4D3yYojKrf0l5Po80EOO3sMcCr5Hk83ernGAU2Q7srCD8m?= =?us-ascii?Q?F43wdRfH/mz0xIcwbeKutk50gr645nkQXDwPFOayA4OIjve1F4DsdbBLkZkX?= =?us-ascii?Q?ycMNqpKT+lkXCBRNFa6NdWxk6VrDJ3G/dGF1yC2N4cv7v3umZ/Bq5JB3YPmf?= =?us-ascii?Q?2T5QUVfOpFta3XyRb4e3UxcCVdeY28g4dqe8remnUJFt77JcWgopHB95DIOP?= =?us-ascii?Q?emfCKQLjw6765Jue3q107Kr6E2f2W82LcHMrV3V+d1D8tLQ+Mc5NKpT+emk8?= =?us-ascii?Q?LgiP4sOvcFVhhMCsqVlhBpp1ZYQevLAmCeh6HYHyInFP9KQvM9q7484A5Oul?= =?us-ascii?Q?OVenbPnYzAHdP7EW54kpON7pKahtUfysFY4gzjcQFk0dW7QfR8SKHuoXtWVF?= =?us-ascii?Q?SOVadibEnCri7plH/ghHX1S+yIBb/C1e0Dj6IMuc41Z7+Fhi35HDxtKSCTSW?= =?us-ascii?Q?YJFZQeXNFuCCkwmxhEiTc2FCbK14Z8usg8Rhv936ey3p0tmyjtk29o0mumi8?= =?us-ascii?Q?lT2DewRRr6qQCp9JSXfcFZ6cXumCBTMcwrq4AGtkFUVhZxkjgbT+xSNXgFLF?= =?us-ascii?Q?nOtwKc81SHOfd7RqnpBvyCEJI+JurzgZpxTPzCvLffoB+RqowNrvyiKs4UlL?= =?us-ascii?Q?Tj74pbxRTUCj2BiEph9IUqLS3LgJwK+S1nL/IFnq3B84HNSxup8tbyU3V7OF?= =?us-ascii?Q?khA8lWAXg2F2NisF9MOBQXMr3qgJLUE2Ww3FWCa0hpsbLyXnDu7wd6GhVW7I?= =?us-ascii?Q?qHVc0Fz3+EJDNBv/0DGfxvZUQ82KixDf2iwt3s3Ed0nwlDJ3BGDxoyNzeAmO?= =?us-ascii?Q?iaPuttihfXQ1nKz/XEIHOfTQixJtHd8taUBLzvzzKYTAaQ8hcOWWnrThL8/3?= =?us-ascii?Q?9UWWVJpyBoMDVWk7vYHuReCO44SWruCarFKF7eKLVyam2gbWHAnFtYRSFW3I?= =?us-ascii?Q?rde64GrtY8AUqobTx90LtaZPQaL5363vHjZr0y0XsNuwbmpqvrhNjLDUmGTC?= =?us-ascii?Q?0jgkyjRH/1k+ZcD0B4YnND6roEzTTCDTX09vlceLjPkLZgzcfrqWtLiqsCHg?= =?us-ascii?Q?WEoNgy3Vteyp0DZi2PjrFsUQ?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYBP286MB0111.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(10070799003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?sb5NQyoLqU+FVQAfMIcEk92q1jsztUtChlhGcuelpCFoDdNo7WUL/1h0k74K?= =?us-ascii?Q?rEQcPOQ0u1Swpd/C9pZivRBwrJNTYL1o53YZwLIdNjTu7davLS69DWyHOt9v?= =?us-ascii?Q?zTP0SrgjDHvLA/QT/Epbw8ezDZi7JMHJDsi6Fp93uM8Y3+m3MhFr0/kbRvYq?= =?us-ascii?Q?g1mrCpmlHvazmWa1xxwIHdDKrIwzfUYaznz3Z3g3ZDT0r2dab0QLHaIWak1Q?= =?us-ascii?Q?JOq3oUvBx3lY7WjFD0sYN6QiIaepZhMbla9ucW+NBjs62FqxjactJF1wY2Vx?= =?us-ascii?Q?tAjC6CMwRsu+ra/RubOc+gzMJv4xoY6qxzhx5u9aFB1yBMWNLXt7wILZ7wp0?= =?us-ascii?Q?9SSLp1uW9Ub80aIAId7lTijbEu7OL9Sy2/Y23VCo2oiM4/32+KLWWhvDLjUA?= =?us-ascii?Q?eTy0ogRrL/ohTwkwHel3ev9gP9Ro9MuVWNUiWCoYPi0BIklwf9ajGMbX9PHC?= =?us-ascii?Q?PZDzwLTTreE6t89H3A9RRa6bTttx/A+XlYLuvONYj8ApFKebIjjXijnu8K1O?= =?us-ascii?Q?RROR3BJyGgqtNFewdOhL7WfOLXMRQcTd3T0VblsT5mgulCuhPVkbl7djzVt7?= =?us-ascii?Q?xRY1ScowOZweLv4MdxPA2aHPAQCsre+cfV0p/74VDw/ob7ircMZKC5j4HvHP?= =?us-ascii?Q?0c+HMtUK+SEozQAHfDZFZQpRzcKn5rAKiUpWthi5DWy3ickzYNGzZP+FPqs8?= =?us-ascii?Q?vYF46UjH1Cd9MdoNkyyPcZAPVK495UvgNpXJ1ZuNzaty5hFVkkKsGEhG9aN3?= =?us-ascii?Q?diRmpIDZ6qyRDuuJzj9GUdUeN2i+FW7KJUcHcyCDnZr4cp+JaeSDmlNzTx+F?= =?us-ascii?Q?I+BSuGMN6CgL3rwolAjYjZov9rlsDPK7M5UQ7mZoB75rxJfKDIWayn94n7lZ?= =?us-ascii?Q?BkdtSIp3DUAyHAU4WFDSLW3vgnG12diaC9QAJvAsZAPAsbJc+3GxSdOaHtcD?= =?us-ascii?Q?hzQJwfnbx8NyT/+5HRZXub8ZqliR4WXzm82hUXQwV86uQ2xaX/E+K8fUnfhM?= =?us-ascii?Q?I+a0TNiLVb2rcWVj4Srla9owcZcOsPjJF3vtyVz+mQ48bZ0rLfpxQ54eiith?= =?us-ascii?Q?y2Eo16WZOI7tJk0+DVRAPwv415/hYae7SVFD8lHG/cmvXE5oiDrSz4bVP0sX?= =?us-ascii?Q?qhJifYnuPylCSe4Ae6RLNNBs+FFebXDTgWnbNpM0bF7dk7VT7NWy5OEyIiBp?= =?us-ascii?Q?XeXVgl1hXULp2Z2IsFN86Iovqz4zKuNSRaCgST8p+0E20P603CYCo9tgAUm8?= =?us-ascii?Q?MPUfNaB8UVvuujHemsv0AMx0KbJ6AhuKmrMRSiZxumXsD/k9dDvirbXKhRy7?= =?us-ascii?Q?eAflJdGkVONV+ILwSXd2wxyNycz9Afy9A8GzoHSxrIQdAoIL70NORs0kPzyU?= =?us-ascii?Q?dmTitqq6YIAosgugfTXq/Ta+kL06hIChD0fJPmQQO+D71zLspV22jegrTiY8?= =?us-ascii?Q?w3BfP2F7CYlb2Y4ITADcEt7YN7uIKKAFjE2f59Tu6EAMb0uvb1RhY6BhGoMZ?= =?us-ascii?Q?Rwu0Xf3gnMvKU1VR8/VgQqZYtDA++hr204fPKBbgTbzJLWN3qgntYMlRXcqc?= =?us-ascii?Q?q/xgtO8/c85na34b2EZT7w82MjCyZXBDBrzMaiPVRKkSRJRntejtWN4oAihB?= =?us-ascii?Q?ijM2T4DH3x6+PEe7aDHLVagrXW73eXALJd237mK09IIi?= X-OriginatorOrg: sraoss.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 9031e5d3-9d90-4407-fc8c-08dd02d7663c X-MS-Exchange-CrossTenant-AuthSource: TYBP286MB0111.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2024 05:03:51.4199 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 75db6c32-352e-4063-ae79-cafb8623f6db X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4LodNjJHKQcCnchcdONVMDrb0SngTx8nYizKSKy/NoG9GDfeXDThNSY5Fo298BN7ELYUKjE7tuKWtcAQONVC1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWP286MB2682 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 12 Nov 2024 01:27:53 +0500 Kirill Reshke wrote: > On Mon, 11 Nov 2024 at 16:11, torikoshia wrote: > > > > On 2024-11-09 21:55, Kirill Reshke wrote: > > > > Thanks for working on this! > > Thanks for reviewing the v7 patch series! > > > > On Thu, 7 Nov 2024 at 23:00, Fujii Masao > > > wrote: > > >> > > >> > > >> > > >> On 2024/10/26 6:03, Kirill Reshke wrote: > > >> > when the REJECT LIMIT is set to some non-zero number and the number of > > >> > row NULL replacements exceeds the limit, is it OK to fail. Because > > >> > there WAS errors, and we should not tolerate more than $limit errors . > > >> > I do find this behavior to be consistent. > > >> > > >> +1 > > >> > > >> > > >> > But what if we don't set a REJECT LIMIT, it is sane to do all > > >> > replacements, as if REJECT LIMIT is inf. > > >> > > >> +1 > > > > > > After thinking for a while, I'm now more opposed to this approach. I > > > think we should count rows with erroneous data as errors only if > > > null substitution for these rows failed, not the total number of rows > > > which were modified. > > > Then, to respect the REJECT LIMIT option, we compare this number with > > > the limit. This is actually simpler approach IMHO. What do You think? > > > > IMHO I prefer the previous interpretation. > > I'm not sure this is what people expect, but I assume that REJECT_LIMIT > > is used to specify how many malformed rows are acceptable in the > > "original" data source. I also prefer the previous version. > I do like the first version of interpretation, but I have a struggle > with it. According to this interpretation, we will fail COPY command > if the number > of malformed data rows exceeds the limit, not the number of rejected > rows (some percentage of malformed rows are accepted with null > substitution) > So, a proper name for the limit will be MALFORMED_LIMIT, or something. > However, we are unable to change the name since the REJECT_LIMIT > option has already been committed. > I guess I'll just have to put up with this contradiction. I will send > an updated patch shortly... I think we can rename the REJECT_LIMIT option because it is not yet released. The documentation says that REJECT_LIMIT "Specifies the maximum number of errors", and there are no wording "reject" in the description, so I wonder it is unclear what means in "REJECT" in REJECT_LIMIT. It may be proper to use ERROR_LIMIT since it is supposed to be used with ON_ERROR. Alternatively, if we emphasize that errors are handled other than terminating the command,perhaps MALFORMED_LIMIT as proposed above or TOLERANCE_LIMIT may be good, for example. Regards, Yugo Nagata -- Yugo Nagata