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 1wXuKc-003YGI-19 for pgsql-hackers@arkaria.postgresql.org; Fri, 12 Jun 2026 05:21:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wXuKb-000vQP-19 for pgsql-hackers@arkaria.postgresql.org; Fri, 12 Jun 2026 05:21:25 +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 1wXuKa-000vQH-21 for pgsql-hackers@lists.postgresql.org; Fri, 12 Jun 2026 05:21:25 +0000 Received: from fout-a3-smtp.messagingengine.com ([103.168.172.146]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wXuKY-00000002IAl-1Jao for pgsql-hackers@lists.postgresql.org; Fri, 12 Jun 2026 05:21:23 +0000 Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49]) by mailfout.phl.internal (Postfix) with ESMTP id D9435EC0081; Fri, 12 Jun 2026 01:21:20 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-09.internal (MEProxy); Fri, 12 Jun 2026 01:21:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kurilemu.de; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to; s=fm2; t=1781241680; x= 1781328080; bh=8cZn/PLGXWebA2uzXUJ+ZmcJ7G00jZURDhki9I3Tf4s=; b=d 0k9CC2RClo4myXu+GxfcpxzPYKhbJFAVoPHcpnq7h7oYkgDT925nW0bRHMSqsrNy UJXCrvJ0vqaHE3lnwX7AA9f6vqZpNdCrFITBVgXvyP8RIqn2zeJVJZMqB/GSvDX9 VHDA4LbG37YEbt3S5QI6U+HpUZtrsnh34fhQm+M0hIcIhXRwDFfIeKYsWUra8php 6mkN13oFNMPFzIJVp2ktiVkUzljX4V0jhtT+5upabRah2ahG4A5GghEurrVKDk8k 08Xv5HNSLlsZ/qlM4fv9znsoM1OLPq0AiU7TcCMnOmxRI/D6WkT7Q4Lg6mEkdZGi IKdN0Jt62JGzqcwlcBVLA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1781241680; x=1781328080; bh=8 cZn/PLGXWebA2uzXUJ+ZmcJ7G00jZURDhki9I3Tf4s=; b=jQjbhcz1Dy9znRu8R Ocs4CbyPVa98Ok9Kxoo3uTe900+KA04+TDr9NU8CsUCMwFdP4UluCJ2xhwYQEIOw VZ9tt0pK8BKKy6sKss9gZH2OmYx1ViJ8Opgea10V/ZE2hr8qFY5NTgMuIQmIjq3/ Ny7njdKzOL6IBwCatD+Ifl38+r71SCSQSE+J7+I9iEyo32opzCxgtqu2lUz6fouO YKvU0y9tn7kNUpKD7d4hT4gfkdKToFZ8xUeDMWpO9lXXjgk6CGNdhp1Y7Px7brks +beQciCc2zPePn0RtikL/G+ZPXAu86WLDWDCPTG0MF3Tczdsa+vayOz8GAe1VjZd dswhg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTGeHOJX+BLdEGASHrnRgOuPSv4bhkoWneoSY3+MOqvPgYwa4VkJ+YVjMOb6ae5ef4 UuoTfD1HC96r4JN64Qn5zWGslEw4a93RiK/jvoxYf/aaD+eQi47CRH9kgzbEFM4nVChojw +xpcwMrCleQjwzZ7TLm7MzTRxwE61j1e4028K/g8Gd9khScGc05HhEMBcl3V9/4NF6x1Sx OXyPOkXiVoVs4y729egH/eVwtdRmk9oJlroh1aR3BKFEAb+oqeV0ky7E5oSwN7LB8KBaf4 9Mtsg1jhQqzGpjFlfGBV7kbHlIKJnq0NbofxiTwuvtMFuHI6p2oNOWD2vRdx/s05bA2oj1 KPNA8khPARVU+qOHQUgUiwfhsyFA6RLPN+7qBCe6tqqVSA9MFFUULZOe6M+zTmEbU3zd4y KErmNifdklfVBhNyQluxmDUi5bVvIvL2Gst6Xxt7GYNm5vtq4XBELMBULekD8XyD2RZ1Yf vxDt6rxJI/kEnPJyIBjYZVmVmuQaL+UUcTREhnF31WvkXesJzAeOqYW1E7VqfRUR0BhJuT ZzqR952XK4GXR7bFyxu44445FsMSOYzxa7NMkVcA3dFw4CLs8EVLnUWJBxvRCYv9r6oF85 HVa4cw52no8yDPr9/0eABvJzmrsjkETQwDFwb4ErNTlKBaSNOYiDG5zUMlnA X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 12 Jun 2026 01:21:20 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1781241676; bh=HR+eKZy583iMqHwjlqB1afda26zAVB1jQ1hRZAl5SZQ=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=KSPeTJf6TPZ6iHm3echFKpO11sKA4I3BbuB8E58b2LgmUHS6t5sJXqn6i1HJCtsj6 CvMJ+OlvR8whtow0QAz+RFCpk24WMgZvThDeR2Mg4OuueRhd82ww7UDlPG0wql6kYC Uk5wpbNBrlJZwav0OF3s/giNL9EkYcJLMUczSwfW7RAYzJJIIedFWuxemx6r/gtyLt PtQTReRwhn6vJ0OnEUcuZjC8WFQ5yy2UeuEehAMdKe9RRBo5Nw9C+Mnnvn7qN0vzuG o4MSpdwYKEsMoTcNO+NfrEQ3FzeG7+vVHu1Tu6elZ9128T4BGxMbMHrkGAZf7eLJe9 zz/soTUy5q4ow== Received: by ida.kurilemu.internal (Postfix, from userid 1000) id 5C12AB00663; Fri, 12 Jun 2026 07:21:16 +0200 (CEST) Date: Fri, 12 Jun 2026 07:21:16 +0200 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: Masahiko Sawada Cc: Aleksander Alekseev , pgsql-hackers@lists.postgresql.org, Ante =?utf-8?B?S3JlxaFpxIc=?= Subject: Re: [PATCH] REPLICA IDENTITY USING INDEX accepts column with invalid NOT NULL Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2026-Jun-11, Masahiko Sawada wrote: > It would be better to factor the into a common function that checks > whether the column has a valid NOT NULL constraint, to remove the code > duplication. I agree, we should have a function like bool notNullConstraintValidated(Oid relid, AttrNumber attnum) in pg_constraint.c, and use it in the various places where we only care about the constraint validation status. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/