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 1wQAr3-001Koq-0F for pgsql-hackers@arkaria.postgresql.org; Thu, 21 May 2026 21:22:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wQAqz-00B3K3-1C for pgsql-hackers@arkaria.postgresql.org; Thu, 21 May 2026 21:22:54 +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.96) (envelope-from ) id 1wQAqz-00B3Jo-0A for pgsql-hackers@lists.postgresql.org; Thu, 21 May 2026 21:22:54 +0000 Received: from smtp.outgoing.loopia.se ([93.188.3.37]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wQAqu-00000000nEn-0pvd for pgsql-hackers@lists.postgresql.org; Thu, 21 May 2026 21:22:53 +0000 Received: from s807.loopia.se (localhost [127.0.0.1]) by s807.loopia.se (Postfix) with ESMTP id 679706162C0 for ; Thu, 21 May 2026 23:22:32 +0200 (CEST) Received: from s981.loopia.se (unknown [172.22.191.5]) by s807.loopia.se (Postfix) with ESMTP id 53297617010; Thu, 21 May 2026 23:22:32 +0200 (CEST) Received: from localhost (unknown [172.22.191.6]) by s981.loopia.se (Postfix) with ESMTP id 51EB522B16A3; Thu, 21 May 2026 23:22:32 +0200 (CEST) X-Virus-Scanned: amavis at amavis.loopia.se X-Spam-Flag: NO X-Spam-Score: -1.2 X-Spam-Level: X-Spam-Status: No, score=-1.2 tagged_above=-999 required=6.2 tests=[ALL_TRUSTED=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1] autolearn=disabled Authentication-Results: s474.loopia.se (amavis); dkim=pass (2048-bit key) header.d=proxel.se Received: from s980.loopia.se ([172.22.191.6]) by localhost (s474.loopia.se [172.22.190.14]) (amavis, port 10024) with LMTP id m0n1tLZ632og; Thu, 21 May 2026 23:22:32 +0200 (CEST) X-Loopia-Auth: user X-Loopia-User: andreas@proxel.se X-Loopia-Originating-IP: 147.28.75.140 Received: from [192.168.0.121] (customer-147-28-75-140.stosn.net [147.28.75.140]) (Authenticated sender: andreas@proxel.se) by s980.loopia.se (Postfix) with ESMTPSA id BEB3722015CB; Thu, 21 May 2026 23:22:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proxel.se; s=loopiadkim1707418970; t=1779398551; bh=5hgeVxlMPM+SWqdv9aH+Mtqgn1Dbfz2348p3Ingn6/w=; h=Date:Subject:To:References:From:In-Reply-To; b=bNIJ4ZqLBUd3K6MYOYHkPW6vFR0SgeBD7gw4BHsj/8Lmuz20+0O8oURFf44Ul7rhM DVfl3Mt4oRB/uwjte2h00r/hTw1T7F9dFOu6jdjPNTEIF9CZed4PSzC7pW6FWrv9tC PBO08zDp0RjqKC3jO69AjW1hRphYSZuOkDhTH5CBfLHBrRkxhrLTbWrO7n2i1L3dXw 8c6Bnuc+AW13HAGJARhGTLe2gz7sBGgTf1G712y185eIBrqZRsUkEGh9jtEsqv7CV5 5jap7yW1IJbHrmpGvCm8oF5e23lvcTrjZS3rmOCuVnWlAoAKVc7SmHQyyCnCDv6UWj 8IbOt/Z7o6CYQ== Content-Type: multipart/mixed; boundary="------------9kmfTKzNaP01eCL8zkdknzmJ" Message-ID: <7299e1c3-9cf5-4e72-94ae-1771d88fb0a3@proxel.se> Date: Thu, 21 May 2026 23:22:31 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Prevent setting NO INHERIT on partitioned not-null constraints To: Jim Jones , PostgreSQL Hackers References: <24bfd6b7-d566-490c-812f-c61c9eb2ef69@uni-muenster.de> From: Andreas Karlsson Content-Language: en-US In-Reply-To: <24bfd6b7-d566-490c-812f-c61c9eb2ef69@uni-muenster.de> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------9kmfTKzNaP01eCL8zkdknzmJ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/21/26 5:01 PM, Jim Jones wrote: > The errcode is most likely wrong: > > ERRCODE_WRONG_OBJECT_TYPE -> ERRCODE_FEATURE_NOT_SUPPORTED > > At least it is inconsistent with an equivalent check in parse_utilcmd.c: > > if (cxt->ispartitioned && constraint->is_no_inherit) > ereport(ERROR, > errcode(ERRCODE_FEATURE_NOT_SUPPORTED), > errmsg("not-null constraints on partitioned tables cannot be > NO INHERIT")); Thanks, that was a copy pasto. Version 2 is attached. -- Andreas Karlsson Percona --------------9kmfTKzNaP01eCL8zkdknzmJ Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-Prevent-setting-NO-INHERIT-on-paritioned-not-null.patch" Content-Disposition: attachment; filename*0="v2-0001-Prevent-setting-NO-INHERIT-on-paritioned-not-null.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjZmViMTdhZWQwOTQwZWI0MGI4YWM1YzAyNDg5OWVmYjRjYzc4Y2I0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIEthcmxzc29uIDxhbmRyZWFzQHByb3hl bC5zZT4KRGF0ZTogV2VkLCAyMCBNYXkgMjAyNiAyMTowMDo0MSArMDIwMApTdWJqZWN0OiBb UEFUQ0ggdjJdIFByZXZlbnQgc2V0dGluZyBOTyBJTkhFUklUIG9uIHBhcml0aW9uZWQgbm90 LW51bGwKIGNvbnN0cmFpbnRzCgpUaGVyZSBpcyBhIGNoZWNrIHdoaWNoIHByZXZlbnRzIE5P VCBOVUxMIGNvbnRyYWludHMgZnJvbSBiZWluZyBjcmVhdGVkCndpdGggTk8gSU5IRUlSVCBv biBwYXJ0aXRpb25lZCB0YWJsZXMgYnV0IHRoZSBzYW1lIGNoZWNrIGFnYWluc3QgaXQgaXMK bWlzc2luZyBmb3IgQUxURVIgVEFCTEUgLi4uIEFMVEVSIENPTlNUUkFJTlQgd2hpY2ggY2xl YXJseSBpcyBhbgpvdmVyc2lnaHQuIFNvIHRoaXMgY29tbWl0IGp1c3QgYWRkcyB0aGUgbWlz c2luZyBjaGVjay4KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAg ICAgICB8IDYgKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvbnN0cmFpbnRz Lm91dCB8IDQgKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29uc3RyYWludHMuc3FsICAg ICAgfCAzICsrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9j b21tYW5kcy90YWJsZWNtZHMuYwppbmRleCA5MmIwZjM4YzM1My4uMWUwYmFjZjg1ZmMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0xMjM2Nyw2ICsxMjM2NywxMiBAQCBB VEV4ZWNBbHRlckNvbnN0cmFpbnQoTGlzdCAqKndxdWV1ZSwgUmVsYXRpb24gcmVsLCBBVEFs dGVyQ29uc3RyYWludCAqY21kY29uLAogCQkJCWVycmNvZGUoRVJSQ09ERV9XUk9OR19PQkpF Q1RfVFlQRSksCiAJCQkJZXJybXNnKCJjb25zdHJhaW50IFwiJXNcIiBvZiByZWxhdGlvbiBc IiVzXCIgaXMgbm90IGEgbm90LW51bGwgY29uc3RyYWludCIsCiAJCQkJCSAgIGNtZGNvbi0+ Y29ubmFtZSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkpOworCWlmIChjbWRjb24t PmFsdGVySW5oZXJpdGFiaWxpdHkgJiYKKwkJY21kY29uLT5ub2luaGVyaXQgJiYgcmVsLT5y ZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKKwkJZXJlcG9y dChFUlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwK KwkJCQllcnJtc2coIm5vdC1udWxsIGNvbnN0cmFpbnQgXCIlc1wiIG9uIHBhcnRpdGlvbmVk IHRhYmxlIFwiJXNcIiBjYW5ub3QgYmUgTk8gSU5IRVJJVCIsCisJCQkJCSAgIGNtZGNvbi0+ Y29ubmFtZSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkpOwogCiAJLyogUmVmdXNl IHRvIG1vZGlmeSBpbmhlcml0YWJpbGl0eSBvZiBpbmhlcml0ZWQgY29uc3RyYWludHMgKi8K IAlpZiAoY21kY29uLT5hbHRlckluaGVyaXRhYmlsaXR5ICYmCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvbnN0cmFpbnRzLm91dCBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvY29uc3RyYWludHMub3V0CmluZGV4IDcyOGVmMmZkMTdlLi5lNTRmZWM3 ZmI1NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb25zdHJhaW50 cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb25zdHJhaW50cy5vdXQK QEAgLTExMzAsNiArMTEzMCwxMCBAQCBDUkVBVEUgVEFCTEUgQVRBQ0MxIChhIGludCBOT1Qg TlVMTCBOTyBJTkhFUklUKSBQQVJUSVRJT04gQlkgTElTVCAoYSk7CiBFUlJPUjogIG5vdC1u dWxsIGNvbnN0cmFpbnRzIG9uIHBhcnRpdGlvbmVkIHRhYmxlcyBjYW5ub3QgYmUgTk8gSU5I RVJJVAogQ1JFQVRFIFRBQkxFIEFUQUNDMSAoYSBpbnQsIE5PVCBOVUxMIGEgTk8gSU5IRVJJ VCkgUEFSVElUSU9OIEJZIExJU1QgKGEpOwogRVJST1I6ICBub3QtbnVsbCBjb25zdHJhaW50 cyBvbiBwYXJ0aXRpb25lZCB0YWJsZXMgY2Fubm90IGJlIE5PIElOSEVSSVQKK0NSRUFURSBU QUJMRSBBVEFDQzEgKGEgaW50LCBDT05TVFJBSU5UIGFfaXNfbm90X251bGwgTk9UIE5VTEwg YSkgUEFSVElUSU9OIEJZIExJU1QgKGEpOworQUxURVIgVEFCTEUgQVRBQ0MxIEFMVEVSIENP TlNUUkFJTlQgYV9pc19ub3RfbnVsbCBOTyBJTkhFUklUOworRVJST1I6ICBub3QtbnVsbCBj b25zdHJhaW50ICJhX2lzX25vdF9udWxsIiBvbiBwYXJ0aXRpb25lZCB0YWJsZSAiYXRhY2Mx IiBjYW5ub3QgYmUgTk8gSU5IRVJJVAorRFJPUCBUQUJMRSBBVEFDQzE7CiAtLSBpdCdzIG5v dCBwb3NzaWJsZSB0byBvdmVycmlkZSBhIG5vLWluaGVyaXQgY29uc3RyYWludCB3aXRoIGFu IGluaGVyaXRhYmxlIG9uZQogQ1JFQVRFIFRBQkxFIEFUQUNDMiAoYSBpbnQsIENPTlNUUkFJ TlQgYV9pc19ub3RfbnVsbCBOT1QgTlVMTCBhIE5PIElOSEVSSVQpOwogQ1JFQVRFIFRBQkxF IEFUQUNDMSAoYSBpbnQpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29u c3RyYWludHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29uc3RyYWludHMuc3FsCmlu ZGV4IDQ4M2MxZTk4MzcyLi5kYzEzM2IxMjRiYiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvY29uc3RyYWludHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Nv bnN0cmFpbnRzLnNxbApAQCAtNzU3LDYgKzc1Nyw5IEBAIERST1AgVEFCTEUgQVRBQ0MxLCBB VEFDQzIsIEFUQUNDMzsKIC0tIE5PVCBOVUxMIE5PIElOSEVSSVQgaXMgbm90IHBvc3NpYmxl IG9uIHBhcnRpdGlvbmVkIHRhYmxlcwogQ1JFQVRFIFRBQkxFIEFUQUNDMSAoYSBpbnQgTk9U IE5VTEwgTk8gSU5IRVJJVCkgUEFSVElUSU9OIEJZIExJU1QgKGEpOwogQ1JFQVRFIFRBQkxF IEFUQUNDMSAoYSBpbnQsIE5PVCBOVUxMIGEgTk8gSU5IRVJJVCkgUEFSVElUSU9OIEJZIExJ U1QgKGEpOworQ1JFQVRFIFRBQkxFIEFUQUNDMSAoYSBpbnQsIENPTlNUUkFJTlQgYV9pc19u b3RfbnVsbCBOT1QgTlVMTCBhKSBQQVJUSVRJT04gQlkgTElTVCAoYSk7CitBTFRFUiBUQUJM RSBBVEFDQzEgQUxURVIgQ09OU1RSQUlOVCBhX2lzX25vdF9udWxsIE5PIElOSEVSSVQ7CitE Uk9QIFRBQkxFIEFUQUNDMTsKIAogLS0gaXQncyBub3QgcG9zc2libGUgdG8gb3ZlcnJpZGUg YSBuby1pbmhlcml0IGNvbnN0cmFpbnQgd2l0aCBhbiBpbmhlcml0YWJsZSBvbmUKIENSRUFU RSBUQUJMRSBBVEFDQzIgKGEgaW50LCBDT05TVFJBSU5UIGFfaXNfbm90X251bGwgTk9UIE5V TEwgYSBOTyBJTkhFUklUKTsKLS0gCjIuNDcuMwoK --------------9kmfTKzNaP01eCL8zkdknzmJ--