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 1vfAbK-004qyx-1x for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 05:36:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vfAbJ-00D7pH-1v for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 05:36:26 +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.96) (envelope-from ) id 1vfAbJ-00D7p9-0C for pgsql-hackers@lists.postgresql.org; Mon, 12 Jan 2026 05:36:26 +0000 Received: from mail-koreacentralazolkn190130003.outbound.protection.outlook.com ([2a01:111:f403:d40f::3] helo=SEYPR02CU001.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vfAbI-005fVp-0X for pgsql-hackers@postgresql.org; Mon, 12 Jan 2026 05:36:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fEOrJ0ss259XdU8EWmf6laboH61Hh09m8Xk2J3LE4ybF3QT1+Rllll0XgJYfXDyLvIuvt609bZTtQuTxx3OdjesuH62kkcaHBnTWxTbx48IVM0IrzcOt+YRlVhO5BU7fx06ge5mYZ6kXbR6VuWDp8/+aTEl/3Qm1P4F1Nv9zg7URPmNSG5Wy2HKgssgzmBYYkLo5QLiM4W890ljshUyV+GGrFCBVS+rzj0xSDtGE5V4Q398+CHLfi+e20Ue49c682QfXyYtT1qhjwpRrKedgBhQ9Ax5XGp6E7ocQIv6W8lm84xrrN8Py7mu8hkVAIhFIuFTNM5YGAPRpHNfSzsLueg== 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=a2qMvqyxpR3+/PCECahulHovFDXaCHdKPsnfldvV6yY=; b=HUs7DdeOP8qPUzdeAMq/hYCkQS3FwAKSpdITRGupSli5DeVozQ22fkLeLKhFOgM/OZk1QuFika4Y3HuP7C+NvMYZ77xOVif8l3U8EENxXFcCld44SK2gTxUYEWIYGSbwRkzkCZ3EBy6Mj7z9u7khJRscPa9xl8QbyChteICWTcXFB+IS6qGDaj3E1pkhnkuJ0sL6M6TIhrJMiU/u2V7QJ+7LOBYWzpxzv06Uq0qTJyF3+F4qBiQq/i3qWEcA8IpbCEGoQ+4TubvDrUTmcV99LdQinfmDx3JmO5xuU8jhOtodcaxltKSVPVOnHJZMeCoyKFshSFsAMrWx1SbDHMh97g== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a2qMvqyxpR3+/PCECahulHovFDXaCHdKPsnfldvV6yY=; b=hQtaTKwhgeSYqF0H18woRybjDnc5ens3dwtwjoxdjjs8XWDsJFN3Ao1DufezV0iozhUB8S45xEqkqd0yeutdGVLrnl8yYgSDguEuB17mNp/F+g4xD2f3ZtEUh3l3tD+UEhn4JvGkQM7HCaDYY7BMAenIUPxCKkSu73cJK9YhX/4H5CFsgV/wRDD/T37bnY1aXvnrsvwIUlpoM4IHwRtxUcWqADZDxIW0/jIBlKxmQpi+bLcabUFCO1rIFbu0kWFJXjKyakoc4EAmpp74UVOj9viyYFG1L/vQp+LeBgdiboT8P+JuWy5uKVj18JSTC+MWmst7Q8qlDY9BuOwvTiIJMw== Received: from TYSPR01MB6650.apcprd01.prod.exchangelabs.com (2603:1096:405:51::13) by SEL0PF16BCC7263.apcprd01.prod.exchangelabs.com (2603:1096:108:1::584) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Mon, 12 Jan 2026 05:36:15 +0000 Received: from TYSPR01MB6650.apcprd01.prod.exchangelabs.com ([fe80::a3f3:4e41:f601:602b]) by TYSPR01MB6650.apcprd01.prod.exchangelabs.com ([fe80::a3f3:4e41:f601:602b%6]) with mapi id 15.20.9499.002; Mon, 12 Jan 2026 05:36:15 +0000 From: li carol To: Michael Paquier , Kirill Reshke CC: Roman Khapov , pgsql-hackers Subject: RE: Use correct macro for accessing offset numbers. Thread-Topic: Use correct macro for accessing offset numbers. Thread-Index: AQHcguyIPCF2UF12NEil8Kcqx/CaebVM2I6AgAAE2ICAAL9KAIAAZ1YA Date: Mon, 12 Jan 2026 05:36:15 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYSPR01MB6650:EE_|SEL0PF16BCC7263:EE_ x-ms-office365-filtering-correlation-id: 26c1e279-997f-478a-d3b8-08de519c810a x-microsoft-antispam: BCL:0;ARA:14566002|8062599012|8060799015|51005399006|12121999013|19110799012|13091999003|37102599003|15080799012|461199028|31061999003|440099028|3412199025|40105399003|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?IIQY0sh/n7oDb9zlj/HpXMMUw6RhQEC8RgKw9n5RiLn68Tm7wBdQIKK0xiqx?= =?us-ascii?Q?wJawBtYNz+Z3D4AFEju5dqibbcpfmZ63tb2qdz+4t+YICIAM5mhCvkjBiZiD?= =?us-ascii?Q?djV7IxeF57/Uv0f5CdNoAEnq7JB9sx4V9gtOwK9u5iebcizwD2qxFNKOt4+Q?= =?us-ascii?Q?XqfMt6w+QhOIE9hYUV1Sp58GKKEJW0FSiuuWmo1aAu2BEYoXU7M80FCKQ5kr?= =?us-ascii?Q?znIwE1QaB8BXT+rBiJ5CdiQahQ/WHTcBi385ihm0A/sC1UQ8iFh5rLWaX5yh?= =?us-ascii?Q?itac5FZoVYezGwNfN9bcM/MOo0zaezx8DSIjHX4er5FXnczVH2FbabFEcAKb?= =?us-ascii?Q?Rj+jtWEp7IoKxD4xHa6LCfk4QihMO8aFNXGYTRNfD3Wx844/qLFJZTGk5TIu?= =?us-ascii?Q?tN3pXm75elJe8sRKwKUNek+fLoO7ECtpKpQQlPJHkZcm2KkNrWdkYFUh6UlN?= =?us-ascii?Q?nfauUuTShwJL+S8imUB07a+lidX2aeLpkjePRB3Ppy5Nl5I+LMcP/NgPAwQ3?= =?us-ascii?Q?OHmzQakekQUYQSSI3GvGYiNN1oL1JIxklWq0KN47rlbsXiYjyPYy2oYUY9GL?= =?us-ascii?Q?uaFlAQBOwXlsZR0tbYlCmjPCvH6KG1Xv9xpMoUDx89LemrReovgPfsXZiRRo?= =?us-ascii?Q?WvYWmO1gSA7dnu16PTyDrAfgTNN5YOY6oGIFrrT+V7Yw6M7yIbuGU8JkiECa?= =?us-ascii?Q?dHlE/wqtaCJlfRnv7Ld+kNd9xsa4EL+WuaTyoxoeT55LCEfO3ABVJmapsTUq?= =?us-ascii?Q?z8HQUx0kbgENl2h0n1jVMzfJVNXeTpIsNrkxafiZWmyN7P3k56157QJEYQgr?= =?us-ascii?Q?rO8pe2Ih0pL1aMFvmvI1nEfg8THp3A55J5ADYePgBQ1xerEMUBBhT3dRp3HK?= =?us-ascii?Q?DbwGDLogh5QuWO+U79+7tZTesTP+a5DnyKv7rky3gTkMZ1AXANoC0ZCV5bAf?= =?us-ascii?Q?/F+38tMCoQNUipxCq/+BZ169orAQ6eEBs2qpGa5VPLNDgh+ZUD7k+c3CWpdM?= =?us-ascii?Q?N7LkmkRf6GOwlZ+ZvbTfDY2GbFTzduZJfKd5nKrcxS6Lh2Jk6+V0TSCosNj9?= =?us-ascii?Q?t+ItBiHGHgrVC2ZALdekTk2/TDwLH3PM7wJwUCv71yJGGihIMAnmM9j/Mmt7?= =?us-ascii?Q?08sQ45YJ4MXdaGQ6jiKaWIlmql+u9mOqfRliraNat/WnJ2bn5WBktgZN7DBK?= =?us-ascii?Q?W07+XqH2bd4qdavTXaT7aw3Yzzq/Q44376AppqdI9zWJ7s4icCqP84uY+IhR?= =?us-ascii?Q?WfN8QL2ifaDvrFvXw4uXWQpKyge6ymwJoZaNtpYzFw=3D=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Z+sdD3SwTY4BaUpIJiyeCY0+ECztjEbGjBN3C250Bbv8ju0DZ4JBu+1G/HvD?= =?us-ascii?Q?U4jynnFdtKKdmhyzatw605pqVNqoy7HyH2j7HQbLjG55RzNAAVCJw/92Kelq?= =?us-ascii?Q?C8TNui4tIjJse9uoaFgzCIAeGinXfAtcPz52/ZQT4HKzEHCH0AWc3buNW1Fp?= =?us-ascii?Q?YBQMjBhiJBQ+rMW4ZdsV/Hv1z48BfPLuzpoulheIBuGuFLION+3j4542f8YK?= =?us-ascii?Q?BqRgzOZx9h+FyFjwNIYAPlbUlUZiUaf1Kv1SQHtjuFPkGlrL8uTCpgTvBgm5?= =?us-ascii?Q?+kr7LdPBjWYIbo/+G/oKWRTpUGnlIW/29HFtHJw1CmnldSEizZ+He/vDc7SL?= =?us-ascii?Q?5JLGovCCzY40XbqvanKNp32+fQ/XBAWX/UTLaUrKQ+6foeZhZiAeoxz70LLw?= =?us-ascii?Q?xqDyJvy6Lk4P3GSlzg0XvseDg1OfZewyj5aAMnDNoCStHmzhHsoKsn6PvAKE?= =?us-ascii?Q?UVGMPbtlXNEbfOB5EQYabJPIlFt8DIsbLI+IMtqddIwTXTPSUq+LakFSPQRo?= =?us-ascii?Q?HwScyBm4Rl1KgseBSG0XamFxYy4edtH2rdloTfS3wTV41xjD4FF2Wy7nl1W0?= =?us-ascii?Q?rhm1yycRBaI65ViCEW3ZUztsKrRfoIeRWraFqIcktAjoeItog0mnDidQ604R?= =?us-ascii?Q?0N5ldZLrm5cSjTgZ3ni8K+5frA4vqSqlkBj3pBxb1Aci5uMg/sI4IdT1rTPU?= =?us-ascii?Q?JQE+KvZzq/A1yGxpPc1ulmYCcftb8Qj8htm/fUMa+5lWJBA4luAk6SbjCJYz?= =?us-ascii?Q?w0GmlL4RBSmidAIaGVn/aSxZiNE42ZYuB3tgC0bTl0fnwsxjI4p8H+lc56pd?= =?us-ascii?Q?YkPiyl5/qLk2Hvg4WKp6ewXs5xurFyFNlr2fNQeGI/3TUM5x+fZCAwBFh5fT?= =?us-ascii?Q?OqXdUVnwFIbQa4dsVE2Zyd2AxSUV4Y3YDtea1QkdQhOfWZd71uxZhyvUuU7f?= =?us-ascii?Q?LqtG4o24bFC//qRRQbf/KqoKwSdFcJUTmG3BgpKhUfsP/pvrmYJBzjpdbRvF?= =?us-ascii?Q?Rb/ugxnPuGKQytrc10CqrUknCF635VnCEz5NruZf2qddy64fkLBYDyqYswIg?= =?us-ascii?Q?YW/Hm77afdG8CdXfUwQTeD/Bj/WzKU7+ASQlF9/VVKNEl+BCbim8uOZQ4vuG?= =?us-ascii?Q?nYGvglf1GwoKY2EGRqBjgkTL1ea42Oy2FAeagSz48KP9fiVWKJfnmLRhR75H?= =?us-ascii?Q?9JOxfY7apRD3i2G7BHDcQEank2q6wbU5olqsEEvJScXUqKgh8NUA0spK2ThJ?= =?us-ascii?Q?CoOXg5UxZc3KCWa33/prvr+uPO6WQ1lv6Cizgu4sGCjJ/rhKuHZLS+hECmsE?= =?us-ascii?Q?vJDs4/Ej61r5LAI02Fk0QCGPAWneRY+AVb/2IANU7/1+1ab9/n8aNIBLXMyc?= =?us-ascii?Q?1AnNsVUt0eGrt/R2p/S1MQe6CKPf?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYSPR01MB6650.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 26c1e279-997f-478a-d3b8-08de519c810a X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2026 05:36:15.4711 (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: SEL0PF16BCC7263 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk >=20 > On Sun, Jan 11, 2026 at 04:58:39PM +0500, Kirill Reshke wrote: > > Maybe, I have stopped some more cases, in v2-0001 >=20 > Right. It's true that we could be more consistent for all these based on= their > base type, some of them, particularly in the GIN code now, caring about u= sing > the correct macro. It may be a good occasion to double-check the whole t= ree > for similar holes based on unsigned types. > -- > Michael Hi Kirill, Roman, and Michael, While double-checking the tree for similar holes as Michael suggested, I no= ticed a couple more inconsistencies in contrib/pageinspect/ginfuncs.c where= we are using signed macros for unsigned types. Specifically, in gin_page_opaque_info, we use Int32GetDatum for maxoff: values[1] =3D Int32GetDatum(opaq->maxoff); Since maxoff is of type OffsetNumber (uint16), this seems to be the exact s= ame pattern Kirill is addressing in other parts of the GIN code. Although i= t is widened to int32 here, for the sake of consistency, it should probably= be using a 16-bit or unsigned macro. Similarly, in gin_metapage_info, tailFreeSize (which is defined as uint32 i= n GinMetaPageData) is also converted using Int32GetDatum: values[2] =3D Int32GetDatum(metadata->tailFreeSize); It might be better to include these cleanups in the next version of the pat= ch to ensure all pageinspect GIN functions follow the same standard. Best regards, Yuan Li(carol)