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 1w0Uiv-001xEL-0K for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Mar 2026 01:20:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0Uit-00CoJg-1A for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Mar 2026 01:20:23 +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 1w0Uis-00CoJX-2u for pgsql-hackers@lists.postgresql.org; Thu, 12 Mar 2026 01:20:23 +0000 Received: from mail-australiaeastazolkn19010073.outbound.protection.outlook.com ([52.103.72.73] helo=SY8PR01CU002.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w0Uir-00000001hKA-26Hm for pgsql-hackers@lists.postgresql.org; Thu, 12 Mar 2026 01:20:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RvL4U4QeKo1lGXQJamScDY3m4FfhWoCZr8qtv4Xie4CoQ1jUU0ZZIGHacZRKuCxqfKBn1a0yLN+XqlNz7hmc6zdTkwn9KIxTascc4bQP5w02EauTItyN9R7nYDkjC1+Ous0jx0b7qi9szI/iqB9nhUtRBP4i/8kKVa3fi7AiWLTddTg2uAdPnL6vrq/WUl/RmVd1esVipholYwGbraMGKZgmweW/gFdNHrEPG+cJeBw+XyLIgjOtvXb67w2YBb7BAHFCCUus9w5+9NmMtRX6vvcHV/Hllh+53/YUln9nn3YIXhedo49RCXoMcvAOuv0MdU88/8FSRabl5NA1kPKpXg== 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=37Fve0lAz3uPUi5xhUt5S6wayos5scxIRPKhSVsPyS0=; b=rmagHo5Tm/aQhPgRt6G+obSE3y/7S9qFtMEHpDU1eHfVfG5S3cysLMqbu4VCbCO8Z1bKyGrCKcQUA/y0Oor8O1cdvFXcd8tIfoJSJPOVtr6Gn98VN8W4nfUxR/eZn17KTZqer5IhgtHgjy9zh5w3/nSdPRSp7urZGqHSew6ZSwv+ynCWyCOd0iW4aoi1X2mDbJdcaV+C+M0ZrhL0WidIAPNem2yTW1BtOMfIzUY4+A6aE8BOOr0TzC+iHGHnCTcZjXDzLUF5vVxvN528fdRKH7Ih1+2BgyjJFwb2C63Ilp9Ed74CcIheoCU94wbJ8L/jqyUQDpEKN+MQUefg6iX6Kg== 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=37Fve0lAz3uPUi5xhUt5S6wayos5scxIRPKhSVsPyS0=; b=KQqWfM2sjawHw8y6Sv6QExn5p6DxlYPc/rR6KSNLXXDDGxvs3RpTCVcrriH8OZwrZauUTF1rj0aECLSJLwqo7oChd6+VlGmVt+FnH1HXJd+sYXFBleoRJcUWNJBqeXnxhNOBvwkOkIGD7YQSzAfo0TzcMklyZuO0cB9buQZOCF5srCUmAvnIUn1HDVAstubp8jy3lQx6hQkOfZcSXEfelF9ldFMjj4zvjDh2jS+8YvtZ/z6K/N2Zp1sL/CdKZCI/echS76aoL3XZ+EiiJQxFTbWPXaNvsC7FWhnb0PtE/4Ws640bHICzvVoTsMG5NGNFKm2iY9zaY35dHTYAWbl3FA== Received: from SY7PR01MB10921.ausprd01.prod.outlook.com (2603:10c6:10:334::16) by SY7PR01MB10005.ausprd01.prod.outlook.com (2603:10c6:10:2e7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.15; Thu, 12 Mar 2026 01:20:13 +0000 Received: from SY7PR01MB10921.ausprd01.prod.outlook.com ([fe80::7908:e00:4ab1:d120]) by SY7PR01MB10921.ausprd01.prod.outlook.com ([fe80::7908:e00:4ab1:d120%5]) with mapi id 15.20.9700.013; Thu, 12 Mar 2026 01:20:13 +0000 From: Japin Li To: Florin Irion Cc: Tom Lane , =?utf-8?Q?=C3=81lvaro?= Herrera , Haritabh Gupta , pgsql-hackers@lists.postgresql.org Subject: Re: [PATCH] pg_get_domain_ddl: DDL reconstruction function for CREATE DOMAIN statement In-Reply-To: <4c77810e-f7d4-4201-8b90-0a505de3e5d1@gmail.com> (Florin Irion's message of "Tue, 10 Mar 2026 16:01:50 +0530") References: <202603021736.6nix27wwg6e6@alvherre.pgsql> <863993.1772477782@sss.pgh.pa.us> <4c77810e-f7d4-4201-8b90-0a505de3e5d1@gmail.com> User-Agent: mu4e 1.12.12; emacs 29.3 Date: Thu, 12 Mar 2026 09:20:09 +0800 Message-ID: Content-Type: text/plain X-ClientProxiedBy: TP0P295CA0056.TWNP295.PROD.OUTLOOK.COM (2603:1096:910:3::7) To SY7PR01MB10921.ausprd01.prod.outlook.com (2603:10c6:10:334::16) X-Microsoft-Original-Message-ID: <87sea5kfna.fsf@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SY7PR01MB10921:EE_|SY7PR01MB10005:EE_ X-MS-Office365-Filtering-Correlation-Id: b03137c6-77d6-4bd9-1fd6-08de7fd5830d X-Microsoft-Antispam: BCL:0;ARA:14566002|11091999009|15080799012|8060799015|19110799012|23021999003|461199028|5072599009|24121999003|22091999003|10035399007|3412199025|440099028|52005399003|40105399003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cK21cUZUgKeauyvh/6+pY8j2PvH9BZwX3qb+C6qiLxW4h1JxX5VrB3ueouZl?= =?us-ascii?Q?Y0xuSLNudJrNDc8HPdLWOQ89ldCKjBuTzBt17gFB1tCIVscwQvT/CYXOWoHn?= =?us-ascii?Q?lx63yml9f0QjGvP2MHUZqlHWbB5Tj2qZteTKqpvX1Rltgc7u0BO9PRWQUa+Q?= =?us-ascii?Q?T/HRsU7xt3ouidebylK9M7Q3+6L3TR0IAfkRfTwvC+ro5yzEPY1ivaiD5OZA?= =?us-ascii?Q?bkDYZ6vC6epSNdnD3HuirMLE6JPVUgeOsF9ctRiHRLMeepkmi7pvMzOW0die?= =?us-ascii?Q?SxiGyfS+lA6tOAIYR6axO0Rk6/+EMpcmq+GAhSSsP+gqdK7B3TCJs9kS+QJ/?= =?us-ascii?Q?czuwLqD3r1T82hd5yty0IWOAj7FKetE9T93PGXIX0CtnHuc1oU9lUqW1jAnV?= =?us-ascii?Q?yFahpA0czsUijJLFg/tv3WrER3aZD9szGG8AAp+IYkx8K8/0agic02lykY4h?= =?us-ascii?Q?ibJfSRvJJJHHinWUKltI38XZ+YEvEjURL9/VuSLGKYFPF/3+nXQ7gNAZdCMT?= =?us-ascii?Q?gGG8kQP3A1UVXkQ636+pqxWVl5lBUy/bUmvjR+R4HeP1Pp3iUIkQzJ8g+l1P?= =?us-ascii?Q?Jx1Cp0SeuBBDS4SR3xJadbmjGH/Gztgy1tb6aSy4YkFDd9zWg3v/8zSdlr0Z?= =?us-ascii?Q?7dYWupmYTayp/bMcwVhUJwORA8E4Wn1PzZsavtJaXnSjHax2keWT+Gd6OTSE?= =?us-ascii?Q?QfhxvP7VLK2WGoQG5JNrDf+Uamsns2XQ95ofdpd7VDYl8LBGX05zN/Jm+ejp?= =?us-ascii?Q?vdi3poFiFS9YNUTZBGexCs1wzHukd6gLGH/EvT8GehpfDpS6G0y6lArlIEM6?= =?us-ascii?Q?ZCQKeG5+4ECDZatlA4eSgBqHZkLj/noTeRbxW9847Th6pUpen93BwaFpPJW0?= =?us-ascii?Q?oW6/yNGTgKtXdvpTn4ANMugBM/mHLAgreNJ9YCGiyy+/KeffnTUepaRE9Rkf?= =?us-ascii?Q?R/MnnRlQNhTAMXbxEeReP3dRxveiF1zKRFA9qos3nFn1iunsQG3E4nkAlM1A?= =?us-ascii?Q?BKTlMfh7Xqih0AeUgfqrK5C7ig=3D=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?98nxfFi1cghU9C3Bb0Y7EPKPG6gp7TPsYVpTGBVuMGdOWosArKoVuXEPSc+l?= =?us-ascii?Q?rWTtqN+4r16T1tJtTXGfivoRsfHY9bAS4P0YMLAYPhmd9qVG1tk4douZ2fjU?= =?us-ascii?Q?vCEpRAMkn4a4KJ/FR1hDKT9WFIi9an1sLiI3moMUmocZkuHO2CEum/wOk76q?= =?us-ascii?Q?+BoblUFywoGxsm4sAAMfwD23O33xg/XLoMB3TiYfGu1P9oKhBBZGcgcY0Z86?= =?us-ascii?Q?tmx2DTmynocEFMeqM/k1TEIcWzRaIWIzXq+HGq17XtwKtEOk5zIlf3+36oVI?= =?us-ascii?Q?WSuJYXPZGM8RhGWSvCiBFZzm+ojAix4fzsVd2LZdtPLdnzJdx5Vg6UvXnvx8?= =?us-ascii?Q?8F+TpYvFE1XeUudI6VBB7DN84QEgxJCa7IkRbX/TRJDibsRM4jTaQ40b4ayi?= =?us-ascii?Q?qdsPVu8SJM1Iwp4JKx94YDSXpQ+7si3P4tWtBGUN1XHgZOPw/LUKtB9TbIBA?= =?us-ascii?Q?i3i06S6cPOfc64BE5D7aMllDyyMWn+G0DPfzYaEbVR1ZSBzPWwVydIsXMwnN?= =?us-ascii?Q?pVdBob8hXr0ixQA+PrLFh5AN4ldkTbxIckKPFLo982iufFfFuJK1anloYFbX?= =?us-ascii?Q?a+x85N8pSDiimbvwJUjW4Y478+6K6Giy2PgZmtd7r5vXMcsbT4E2qJkRIvUZ?= =?us-ascii?Q?6qF3nMF8OUozFnmfpcpoe22fClJ8jy/dPSrO6ehz0ob+/sLye+fqJ6mrR9lW?= =?us-ascii?Q?hDLM1ePcfn/ZTNMBPV2LyguCFnOfQPIFJMJU+HhE1Fcp5vi1wGWqqu6K1Af5?= =?us-ascii?Q?8SSe2r4BnhuUsLtmkuFy8YkYiF4OXkQEKpAxm+8n5lZ32+WCvmxDJ4UDql02?= =?us-ascii?Q?JBOPGujBwPu6ls5F31RanMZrt0gjszPQMLkfXdYeM+vZqgV1OiHWIkI6IH2m?= =?us-ascii?Q?3/1U+0tOQ+H/c134RtSrl3eVYZ9KDeghYi8aabVF2DSGWCZ8u9JQsWjlGEnL?= =?us-ascii?Q?xBCc80ZGKYV/BSstcJQid3hQ49IFopz+8dUymldA03FmhViOLL63hGCPGQzM?= =?us-ascii?Q?jmdvIxLSrxWd7o63gUMZYL5Y/cT55u5GvBKys5bwLUJE3ZytFsPztqh9pybS?= =?us-ascii?Q?Zj+dCqgCx3nTX5Pxp/ncs+nSyRH7mhF2tZqsva2RoV4TCj77P0RWEmruW/Uo?= =?us-ascii?Q?zgeaM0QP54VhKo4Rh9FUcKoZT3XJe5qIumJTt4+TYfSrm9/vT1UE+UUySi3M?= =?us-ascii?Q?m+hvw34jY3+NX8rxDnqVF1rv3eNs/xDI9EXGluMRat5FBkhQIAfzGJ9t5G9T?= =?us-ascii?Q?SosfxG8FwbDdc2sTdFBCbpogV1Yde/79qGExJaujyaNr3P9MrIogRQ72egTZ?= =?us-ascii?Q?oPV4Rc13Bt8ZyD7SWlz+DFE10h3Gz/Zb2VTmzHyFlwZKXip5QzIhHo17EusX?= =?us-ascii?Q?SNoVpj0mpri20QA2bFuSkJUWn6bp?= X-OriginatorOrg: sct-15-20-9412-4-msonline-outlook-feddd.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: b03137c6-77d6-4bd9-1fd6-08de7fd5830d X-MS-Exchange-CrossTenant-AuthSource: SY7PR01MB10921.ausprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2026 01:20:13.8145 (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: SY7PR01MB10005 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, Florin On Tue, 10 Mar 2026 at 16:01, Florin Irion wrote: > Hello, > > v10 rebased on latest master attached. > Thanks for updating the patch. When I reviewed [1], I noticed that pg_get_database_ddl() uses spaces for indentation instead of tabs. What do you think? 1. + /* Add valid constraints */ + foreach(lc, validConstraints) + { + Oid constraintOid = lfirst_oid(lc); IMO, I think we can replace foreach() with foreach_oid(). 2. + foreach(lc, invalidConstraints) + { + Oid constraintOid = lfirst_oid(lc); Same as above. [1] https://www.postgresql.org/message-id/CANxoLDc6FHBYJvcgOnZyS%2BjF0NUo3Lq_83-rttBuJgs9id_UDg%40mail.gmail.com > Cheers, > Florin > > > www.enterprisedb.com > > [2. text/plain; v10-0001-Add-pg_get_domain_ddl-function-to-reconstruct-CR.patch]... -- Regards, Japin Li ChengDu WenWu Information Technology Co., Ltd.