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 1rrCp8-00GD7U-LN for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Apr 2024 08:15:24 +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 1rrCp7-00F77v-0U for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Apr 2024 08:15:21 +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.94.2) (envelope-from ) id 1rrCp5-00F77n-Vj for pgsql-hackers@lists.postgresql.org; Mon, 01 Apr 2024 08:15:20 +0000 Received: from mail-me3aus01olkn2179.outbound.protection.outlook.com ([40.92.63.179] helo=AUS01-ME3-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rrCow-0081gb-Lx for pgsql-hackers@lists.postgresql.org; Mon, 01 Apr 2024 08:15:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SqJDf/r64Ln/vf4WzIkaqqX3t9aBsijtkCJxXg9DkB6IWzN7ULg8MMJPcfSZOtLbmfdtZqxivTmNqFCmTEyXZEGWXSiTSz847ryZYumh7bLAxUaAlikqglxnhi2iT9HhycJB/KZvPnNERRRVGvDI1i6opyUvCpVpGR/ghXXnf4wj1aRaEoWLlbsu6/W3GG7kK+t2udG0y7c1eUegs2de8Ec9AUGw453hHuvitkMyz9dwwvqsKn4sbWQwvQ9XXkzXQmahOIA52wLWlAJnPxaCS8F8rWM2MTtLtwBF3sYrzeIRJVuD7Bm+O7qIvsksJd/dJyaeeLXOFgwvuvQllVigNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=8S0AOQJOG+u9myKPO1L9e6xtVLJqidI0uba4Ca0ezAE=; b=gSivpR2ESq+iiLrATam4ubb90OTrciED02tX1wLpZnWJRg1GUyIWZa0zmfAsfqI5qBFm4pL8dUFN+b6DqdA9koseFwttzIzv9enoBTAp+cMt6pu+9wWSkESrFzPu5izXw2XFtWNTLiLUSXvilDsdSE644wxU/b12QaAGBLsIMm97OLluG+JFWxD+L4j/cmYOW83iYOYs+P1L1YPVgI56rF0NdSKgitvrSX/L2ZsZ5GBoJMeIsokAuJ65eyPqTFtBajN/pAl/n1CcWqsY0pnIh4kQAt6g/qJsn0LMgmDCBMK/29eelPhCbljq6dQDv6QTO/bShqN/DfWi0xlB1q5e9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8S0AOQJOG+u9myKPO1L9e6xtVLJqidI0uba4Ca0ezAE=; b=sWXuUr4Mgjm6ZA7oRzi8rLxqbWXZ7pMORd6YAsmUs/AIbM6J8ixo1z/e5RyxGW3a/HfSzFFFQJ5QKcDP65femA+qq+h3APyWZfGurRQg/A8/aly3tZrByvYQAoOmVQQ2VjmbwvlXNacw6M0ySsxCUw4Zf95IdG7HC1EkAWybxaOFwlAo4N+NAv9aRcv3isPD6686y/MQYhJ2UkLQyhRGvUDHdTvkSbrcXC1i0AKD7fTTDyAaCfF+6ywW1+1rQ900Y0u2REg1RjrEaUIHCWde1XLsVIQXuZ6STNUJSNKVdgCaWX9ctB+upauPgKO9v2t1GG94RTR3yl0QEJcOTQQmyg== Received: from ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:147::21) by SY8P282MB4477.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:25c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.26; Mon, 1 Apr 2024 08:15:03 +0000 Received: from ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM ([fe80::9494:dde6:adea:18a1]) by ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM ([fe80::9494:dde6:adea:18a1%5]) with mapi id 15.20.7409.042; Mon, 1 Apr 2024 08:15:03 +0000 User-agent: mu4e 1.4.15; emacs 28.1 From: Japin Li To: PostgreSQL Hackers Subject: Fix parameters order for relation_copy_for_cluster Date: Mon, 01 Apr 2024 16:12:45 +0800 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-TMN: [4vk1IX3X3bi/5sWYdIvymlbfu4mVK/iGqazc3JRcs9M=] X-ClientProxiedBy: TYCPR01CA0166.jpnprd01.prod.outlook.com (2603:1096:400:2b2::6) To ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:147::21) X-Microsoft-Original-Message-ID: <871q7pmrgi.fsf@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: ME3P282MB3166:EE_|SY8P282MB4477:EE_ X-MS-Office365-Filtering-Correlation-Id: cd534f5b-b578-413c-61b2-08dc5223d543 X-MS-Exchange-SLBlob-MailProps: KW6s2gPZH1ckqXGtZ30j6rrL6U3j/ApGGhbRB21Oiu7qWvMYjwRuUy4G7Ap/ASltXeYLPM8iY1y5sQjPiLWIrMU7siaZJ+cLpaSBcJ0ASXiiedZYTQeZZbEWjVOMdfcqHYSZs+0ZGlfEeQzDIyPpk8IHzvD1mXLzjqRVKd1LiTU0dvPb9bmbtcPZTLXzNHJ/so80kCmnezRFcqmhnyVAHcBAf0KqOeOU0S/5quW84je5ieke77qQxKXOinflxf1uykpLx/fyy2t6T/nnWXs41dxk7bVXM1IXMDiYpIeJ8gRZAvgkHG/cQdzYEexKRuJB01W/1OV+iBvhdnKdPEVoLcDYeJ0znJHBytL/pBLfENf+qjuxd+FrYGjxONVaykQ7KJPqsC2+bQwPgGGMT1MRlx+6j/jQ8cXR3YgRl8ZmymQL6apEQ7/TS/e2MSz9brKy6P6x02JhZVElNPzM1aP1vqzt9ZwVCMQHnFD+aW00ymrcTwJs6sFHdWqg14QO90ofDGEaFGpcoUdd6xwBKBa6PSyQlyiMMp29z2MSo5tQF4hWOgBZP0wjRyiGmKmNOZyJixGWBUWRzfiZ2+U7ukIR7TRIvZsrFyL5fyDka2bwhzopuDoy9vvr3/H9KmbEV5GreVtBj2lhb8GHJRyOZBc8zJPIs9nkC3/3kt7rzu2W/B10Gk4IvjOulqwEPq4ye0LWi7llA09BeS3b0apS1krjfYFKm+LqZgKJwfysj3u2hY0= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XFhUtYBBoqDALP9/993YjemGPiprVhi9ddZ1p+qcHALw1+tcGMm3jBMBYlukERT3QQMNVforJ/v2/aXUmMu7XGhSAtHtRa0ctR8FIunHQIn/YiVXCgDlOFuLZ2e4dDE6jHbSTxbk2NpHB/cep90Qf9O/+biBZ/H5hPJYxSCMqf2aozd0ByzlhRfUBLJX/MNIJj0HDeWeoiiiuMebs9R8Um9OEkswtIWgeo0Sa0qSqbect0JzNNru17+eogc5tr7ZA/g+Zgjcn0F/B6pZUQ1YbE2ufo7hAvhWTMSJQYdAe0ne2UfAjt8CA2vj8QQottcZfa7S2CFtBfvWRtgtVC4sMr/aezJdR7nhYSKf7jn/9D76TFTJQZgtc6gacif4a14oBrIJ2oXtu0vX0Z+9ApBCmXd+VjIx+UXKC498tU0GLzOGnK/bEePdDby1ubK5VEpH5iBhvpT0p01Ia/qGgvEd+RYDR48PUjwpngHbJI0oSEXMLEVcRnL3Y1n7Zu7KchI6tnfK3JmiRbC7z5pzPqMlgaygP4YqwDstkoYhzj6PrE9yDcuRFJFga5t4EJZdGVMGpu4/HzR8UocDQIOCNwDaTPZIBPvw5RbpQWtYOvNxhIA8GuQUyuIFba3ZxDkRckA6 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qz1JuipB/BNPf/DWejTQeb/Y/cCeAwHO4puFnWd+UbrwI3anNd814AHQpMCm?= =?us-ascii?Q?TyHgl9Lds74fpEfBoRJluQWEiRS7klAIXZjU1vWcyjxyeB4pJB+FCwd8WFuj?= =?us-ascii?Q?vxoHAmvR+lZ1hfG8q+pav0Htppt+1vo9og/HRiXCULmzjwGkxTfIg+s5GWcZ?= =?us-ascii?Q?Cezy+XShukvQSXD2DPOE0lsHYE6+AIqM4LPVdA3CMDCuYzvwMpyhuqeiFW1g?= =?us-ascii?Q?jSK0I+U5OSjvlmqGBy2arV7k4WOpo9Pop6OgTU3hHoveWvSJl5h91rl8KgYj?= =?us-ascii?Q?73NTbesPvGDr1kpuiJFc4PigXKbfOZrjSfdwHG7OVGl6v/+CSXjNyjQpboaE?= =?us-ascii?Q?KKm1jUjFqTiKdthGg+a33v9JXwQNQZV9L1YMeQTreoMLSz7sEY1xqNYGbIVh?= =?us-ascii?Q?ht5nThuzNtbHk+ZtZLvGiAPdUdJfoerwK38BmwGgZgeQ5U0PSroDSzZLeJTn?= =?us-ascii?Q?CHqte3q7aSmxCoGw/V9essCw0edb0uq3w3wEFdcKK4tcEdGBsHvASq1ZrdcL?= =?us-ascii?Q?9/5W0bNFl7eFK9IXBIQnFipVwzHzeporL5rHbQJnZi9TelWjPYNJ0gLdjDyE?= =?us-ascii?Q?rGTTeqBTEj1t4yKm7fKotv2nMjsVWJgQmBvNp6wDf/V9Mhsx9TTyzcm1c7By?= =?us-ascii?Q?T6yB9LdenZ6QH3l3CqUnfHdhsMj4J+4hYJQnTufVj2i4MuAOOrq+BIYeZUqK?= =?us-ascii?Q?Rxg41kU+7ImLuICPC7B5ZLrqIuYrQYYm1Tt19obnMyDmixIpvSvFNjrOyNkO?= =?us-ascii?Q?x78r71mwIFNfF+idqHzTc/8CFMM1sWSH77A/rciBh2GBLa+LmLSF5jgBX2Qq?= =?us-ascii?Q?ao33u7wuPed4uqWAj3knLyAESeu3uSU6UjxKkDXDWFp1uLT1MJbVltoSJK1V?= =?us-ascii?Q?QevFBw9DrArtMt881N0ed2a7V2+k70wQ2d6/zZWCFWHRSdFbLIpfV2GFwkIl?= =?us-ascii?Q?vzj4Ke5wVYxbPTNuEaMM1t4FpV2o5QEvedQDIIGIUa2YrSDT4cKH55vVaeKg?= =?us-ascii?Q?OmG5tV0IoFESp384MDe5tWLg8wnz/XD4YAkLGbaXioI4Qv2UKo58ZLfLqOjQ?= =?us-ascii?Q?VYcxjg9H0GaHH6Mg2vW8Jxb7eMSKMCIbU5Ko9kwZGvXNevzQpxg6Sjknzb2x?= =?us-ascii?Q?A/rMC8lA6zFBDK+yxvzORfzIAY3S9loAS+qCfE5qjKbR/+Cg1B3Km5AjVFiM?= =?us-ascii?Q?IgYExLm29057QtkqT8vYQU8GzMWMKUp/DBY1AZyXHPwkviyPgwLcnqRqadE?= =?us-ascii?Q?=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-746f3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: cd534f5b-b578-413c-61b2-08dc5223d543 X-MS-Exchange-CrossTenant-AuthSource: ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2024 08:15:03.8417 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY8P282MB4477 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-=-= Content-Type: text/plain Hi, When attempting to implement a new table access method, I discovered that relation_copy_for_cluster() has the following declaration: void (*relation_copy_for_cluster) (Relation NewTable, Relation OldTable, Relation OldIndex, bool use_sort, TransactionId OldestXmin, TransactionId *xid_cutoff, MultiXactId *multi_cutoff, double *num_tuples, double *tups_vacuumed, double *tups_recently_dead); It claims that the first parameter is a new table, and the second one is an old table. However, the table_relation_copy_for_cluster() uses the first parameter as the old table, and the second as a new table, see below: static inline void table_relation_copy_for_cluster(Relation OldTable, Relation NewTable, Relation OldIndex, bool use_sort, TransactionId OldestXmin, TransactionId *xid_cutoff, MultiXactId *multi_cutoff, double *num_tuples, double *tups_vacuumed, double *tups_recently_dead) { OldTable->rd_tableam->relation_copy_for_cluster(OldTable, NewTable, OldIndex, use_sort, OldestXmin, xid_cutoff, multi_cutoff, num_tuples, tups_vacuumed, tups_recently_dead); } It's a bit confusing, so attach a patch to fix this. -- Regards, Japin Li --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=Fix-parameters-order-for-relation_copy_for_cluster.patch diff --git a/src/include/access/tableam.h b/src/include/access/tableam.h index cf76fc29d4..0b79566758 100644 --- a/src/include/access/tableam.h +++ b/src/include/access/tableam.h @@ -631,8 +631,8 @@ typedef struct TableAmRoutine const RelFileLocator *newrlocator); /* See table_relation_copy_for_cluster() */ - void (*relation_copy_for_cluster) (Relation NewTable, - Relation OldTable, + void (*relation_copy_for_cluster) (Relation OldTable, + Relation NewTable, Relation OldIndex, bool use_sort, TransactionId OldestXmin, --=-=-=--