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 1vpNzM-0078tc-2R for pgsql-hackers@arkaria.postgresql.org; Mon, 09 Feb 2026 09:55:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vpNzL-009zRJ-2l for pgsql-hackers@arkaria.postgresql.org; Mon, 09 Feb 2026 09:55:27 +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 1vpNzL-009zRB-1R for pgsql-hackers@lists.postgresql.org; Mon, 09 Feb 2026 09:55:27 +0000 Received: from mailfr00.databene.net ([31.170.12.19]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vpNzI-00000001Ft2-0fIu for pgsql-hackers@postgresql.org; Mon, 09 Feb 2026 09:55:26 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by mailfr00.databene.net (Postfix) with ESMTP id 972D25F2D2; Mon, 9 Feb 2026 10:55:21 +0100 (CET) X-Virus-Scanned: by Amavis at mailfr00.databene.net Received: from mailfr00.databene.net ([127.0.0.1]) by localhost (databene-mailfr00.evolix.net [127.0.0.1]) (amavis, port 10024) with LMTP id OSBdx5pGFzO6; Mon, 9 Feb 2026 10:55:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=data-bene.io; s=2024; t=1770630919; bh=Q5AFTfa7ijYnQ9+MNLJWtM3ZAq8qVRmr1+WoCMk9F5k=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=T/CG25G5fn5xAJM06cwQpz1yY51glxYRqAYpumob2KsxLhr/oqYUxxyT/COHrETdw SS8P7rnYLI2A4YabQg8vLt5pzHJMCICHv7s56Ua/IAebZoDb4Myzv1R4yXsf88BGnW EdM/rHmAXpUZ2oLN6fQze1dVNQueZdfNBqjV+W+T1Mq67W5XWnxnzBpDEeGVqzS9pl sFmr32G6hjFhvIXnv4IHlD2ZAWTBA0t3GTJg3qVz5GQigpjT+o+4/5Q4EJcFrHG9EK 8zI280rn9Tfq5H9nCJyIpK8nFK8A5u2q6Jns/sVPW8yBRpWH6HikC85rhOp0VCXtor l1bRVLQxkLIjIxBKBcxvIq4kJ6ZNuRZyDOBzr3FxTlkTCCDtlG62B+tuwDSusu/cK/ 3eYXLwzp9sIC/Cax8c9orXBLBc80d4y+ev94iqRQIr5Pgbu9peN9NuUwCOGBOC5hN8 al9WmevMK2+BnCLkMrqojz1gmfujJEMD2cd9Dh+2YU7EhqztZk0n58sCJVRiGLPwPz kuAVbyqLAX8u8gvC1dYKDD8dBn9KaSyo7T0AtHNrUnObSCRm5Hh2J22iZnllEXQxjl ScQYTYcj5Z5RCHQ9uekQxDT0V/ezscTmMhdGTNXwx1YoXkxafdtGrYHZkQ09KQU6Cp JOu+ZxgMhUgMhNA+11+c69Qs= Received: from [127.0.0.1] (257400053.box.freepro.com [95.178.90.96]) by mailfr00.databene.net (Postfix) with ESMTPSA id 18B025F28D; Mon, 9 Feb 2026 10:55:19 +0100 (CET) Message-ID: <71bcefe6-f17f-4a88-b699-f348f9fa7224@data-bene.io> Date: Mon, 9 Feb 2026 09:55:00 +0000 MIME-Version: 1.0 Subject: Re: alter check constraint enforceability To: jian he , Amul Sul Cc: Robert Treat , Kirill Reshke , PostgreSQL-development References: From: =?UTF-8?Q?C=C3=A9dric_Villemain?= Autocrypt: addr=cedric.villemain@data-bene.io; keydata= xsBNBEvW1WwBCAC6CG3zZnRpQwmSiFoTjaHlgt7RQ2RmYDqSB7DNtOItV9bBDUe4DKxV9iNF SoD2yV2LrzsYghWXwI0snHGVGCLkJFYBkqyMnJeli5PoHcn9jI12mOz0hdpsTmTJbH+JCLXF admIjh+sz+m7X4net3UQhj8tCaExkdNsw7FWfNr6oHOVkLWlTWh1df1dfTZ3CBZ8vc1L6dIn mWe3i2sRGQ/fCy7XfLqjFe5U+D3jXmqF92p7n8v0vwDZarn4MVeBegTtBYUxpM8Bj78Lga9a SW+ojYo21Zk/TYn+fdOX4L9nNiRFgnAYVjPlWwjV30WpVlQ56o8U+zV2hCNRQyl5QxkNABEB AAHNMUPDqWRyaWMgVmlsbGVtYWluIDxjZWRyaWMudmlsbGVtYWluQGRhdGEtYmVuZS5pbz7C wI4EEwEKADgWIQQ66LJpfJwdoY4rdHTbIB9Ms1QXmwUCY3ARzwIbAwULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRDbIB9Ms1QXm9oTB/41lFaXCcwtzLjjN7Qr7lImBjiTOntvhzFOBUMP xZWmrXzVl1jVzQm8ubsZNJFB98kw5MrhZjY0sY4x6Txlh6y/OTtpT0RWfZQOGSmfpMq8QDuV gymCfXyr0t4XHFou31nlaqEz1CyUi8ZaYdutJAV0L8j1e0LUHvTcCmlHOsb1uS+Xf5yc7ub+ eRiGtjXwM+OJBYYkFZ2Ebyw7mHWRF4+B3QXUjZhPCQZWBQE1GeX1KxrSCfSKfqujVWCwgiF9 q5TQisgzVRwPBwsi5Fam2X7UHD8I6ZjaAiKHJXezP/Ied/bup457DlXfOg5ORePJgIldMo0p AtHIY1061TckCPs9zsBNBEvW1WwBCAC1iEAHk3lEWEDp9O/DebejwyNr9Zmun6NXPN5axuSj 5VKWP/2CCmsPkcIQlH70rEtZl4vQjXrdRviRcc56TC/SSXti8uOVr/55uStitTCjKRkpxPdf ReOFuOB7OUkHrE3gF6N0UNgOMgmBsT5+rgFm+xqY6TOrvnDVGUbAGkJIdzgTjzeu96BcBEuF 59r+grsmff8PUGtertKeXBr8NlliYZEFCilqus3PheOetWewysHROQJrqnSkpRP7zJWyFYY5 W6PWKQlUgcItrWsgPlHl5gmoH68zesTlW1rX1Z56V8vLPF7RTAPG6g1J7l29wLxUYTwF5Y64 gy+jXAEUJHKZABEBAAHCwF8EGAECAAkFAkvW1WwCGwwACgkQ2yAfTLNUF5ubKAgAtZdh0QJU Wc7WfZhoGOcAEADZJ9n6GSuhL+oxuhPfym1zsU70241rKYZH1m53CWWo+aNyThCXJx+HSSRV /hLNVW34DErJeNJIYwdxPo5/AjOhIUr4e8gMYuviFESBaMpgl8mSM1B1cHVBMZcsQb43Rc3V VfIMNRc4NB16uc7Sm++fbraQq13rB8HC6uYu7PbEAdX3C0IokR3JGb1NghQKga/OoU22KPEx Y+bFk4h3vq9MjlKLir0UJZHKSQ5xec6RcehoMBy0FHBEuK/72xN36dR/3bVwyeR76S7xf9UQ gXdpciBG95/tLRcpelwx8GaRcivTGc0FCBUzqG/YcCqvcA== In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On Mon, Dec 15, 2025 at 7:49 PM Amul Sul wrote: >> >>> v5-0002: alter check constraint enforceability >>> >> The patch also looks good, but I have a minor comment for the test -- >> you created the check_constraint_status view, which is not dropped, it >> should be dropped at the end. Also, instead of a view, I think you >> could use the \set psql-meta-command; for example, see the >> init_range_parted or show_data tests in update.sql >> >> Also, run pgindent on both patches. >> > > i have tried using \set, but it seems to require the query within a single line. > since the view check_constraint_status definition is quite longer, \set would > make it less readable, so I choose to use view. > > previously I use > + newcon = (NewConstraint *) palloc0(sizeof(NewConstraint)); > now use > + newcon = palloc0_object(NewConstraint); > > v6-0001, v6-0002 both indented properly via pgindent, also polished the commit > messages. I have some questions/comments (no change on status, I didn't test) - FK are constraint triggers, does it makes sense to align "ATExecAlterFKConstrEnforceability" renaming with other functions like "AlterConstrTriggerDeferrability" ? - I also wonder if it makes sense to manage NOT NULL together with CHECK, like in ATAddCheckNNConstraint.... ? -- Cédric Villemain +33 6 20 30 22 52 https://www.Data-Bene.io PostgreSQL Support, Expertise, Training, R&D