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 1wFMhG-0051Au-1C for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Apr 2026 01:48:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wFMhF-00B9BV-1C for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Apr 2026 01:48:09 +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 1wFMhE-00B9BM-1m for pgsql-hackers@lists.postgresql.org; Wed, 22 Apr 2026 01:48:09 +0000 Received: from fout-b2-smtp.messagingengine.com ([202.12.124.145]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wFMhB-00000002Odq-3jKS for pgsql-hackers@lists.postgresql.org; Wed, 22 Apr 2026 01:48:08 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.stl.internal (Postfix) with ESMTP id B34EE1D00173; Tue, 21 Apr 2026 21:48:02 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Tue, 21 Apr 2026 21:48:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1776822482; x=1776908882; bh=mmDNVmzIZk Xd0g6TkNZBL4DpsFhk+4xt01OxTnJCXEI=; b=oMMh7kHLwBTDNOBAY3lrUYLll7 lRe7vkNI8OsMnOgGgpoFFy0aRhsjAVDXEU0cX8EyYpbvxY2L/1vhZM8g293M8Dwo 3VOlK7CbagGH8MN3ws03GLqzgq9zdPcqN2PsphOVOQ2E5cMIr0R3YEYqVxXypYmx nr1qsQ1FXv5xck38jbJ2P2PO4A8klqji113FhmIyv5Mlr1GfXQtu+UfiuuTpDg9m Po+9Fk1aKkhB7ouCfumxeXVKUEzMLHFgdvQeBV6U4f5gqe2Qa7XZrbUsyY7ozDyt NNVj1pAqhgin9At+gmzw6Ql4GzMqpmolIevBJ4+LY9yGVxooEoXQPwI/1N8w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1776822482; x=1776908882; bh=mmDNVmzIZkXd0g6TkNZBL4DpsFhk+4xt01O xTnJCXEI=; b=IQzD3bY7uec8cL3x86Ll9IfRhUGaOKnsrT0/r7QWTwREdYdDytg 7mZJD2gi+KYfV/Onuzc1jZ+7tM7qA7459dYt04/rSeVOtHMn2FBLHiTilC67b+yT ZYl/1euJSIkHczSZYx+aaFwpgBz/Sf6WsGBFPjUvPbH9NThvlAGlYvHrRgG/bB5f KqbKsVlYsa+GX9RDiBSLitSRDf5myhpQLf7tOW3eE2gXardHJmEMKgoWm5JdxYz3 7Mk76LzpjM1aprhZxsOvRaTInn/R2MhY8wIkEc6ToKODSDoDUHs+kKTzOBLFY5Ia 5dEKBApEnV6a0b6hHTi5+5RwIul6q5zBidw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdeivdellecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlh cuvffnffculdejtddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtvden ucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprghquh hivghrrdighiiiqeenucggtffrrghtthgvrhhnpeetleeifedufffhhfdtteelgeeggeff hfekueevteeigfduudevudetgfegiedvjeenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiiipdhn sggprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehsrghmih hmshgvihhhsehgmhgrihhlrdgtohhmpdhrtghpthhtohepthhrihhsthgrnhdrhihimhes ghhmrghilhdrtghomhdprhgtphhtthhopehmohgrlhhirdhpghesghhmrghilhdrtghomh dprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgv shhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 21 Apr 2026 21:48:00 -0400 (EDT) Date: Wed, 22 Apr 2026 10:47:56 +0900 From: Michael Paquier To: Sami Imseih Cc: Haibo Yan , Mohamed ALi , pgsql-hackers@lists.postgresql.org Subject: Re: [PATCH] Fix: Partitioned parent index remains invalid after child indexes are repaired Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="9BVFPr7BjjB9vRYu" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --9BVFPr7BjjB9vRYu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Apr 20, 2026 at 07:07:59AM +0900, Michael Paquier wrote: > One thing that I'm tempted to add is more scans to check indisvalid > across these commands, particularly after the individual ATTACH > PARTITION bits on each individual index. >=20 > A second thing. Do you think that it would be worth adding a > partitioned table that has no leaves in some portion of the test? I > was thinking about a partitioned table called idxpart2 attached to > idxpart in the first part of the test. I've found this pattern=20 > usually useful for this area of the code when recursing with > validatePartitionedIndex() from a parent. I was also thinking about > a partitioned table idxpart3 in the last test block, but as you want > to check that indisvalid is not flipped to true for the parent if a > child is !indisvalid, it would not be adapted. Both things have been added to the tests, and applied the result down to v14. The patch was able to apply cleanly across the board, without conflicts. That's rare, these days.. -- Michael --9BVFPr7BjjB9vRYu Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmnoKMwACgkQnvQgOdby QH0ohg/+Oh4cQ5ix3qmGRFyJ2ugUchHE7NYbSl36ao1K/jKJ55dYD8iZgZRTFWSL KsD0kTBEyGkNX7MrGup0iWfuYzNrPSJ6kZ+hYZPTm3tMIUMnPTnLioUw979uB00a NRw9DAFrSwceMXKpotOd4tEGAzRJ5jUtjEvBdf3cArUtL6o4VASI38qPbUJjNofM h1o9KuHrnLE2nG/81CqW1tIpz62KfTXk/6BSlOZas/HHX4pZAmfaBpE3VKoB6zQ0 9rWSGZZ6Crxbxw2zKg+G5SRkEx3hgUTa5WCg/qjd5JOwStFuQkM32tKy0SNIqHoA CZFTqg9HAHkTooSXMfpursKHONC0HyWpdEsht0PGUinQaHpwfzIeQIT4iC8KphI/ YtpSycVN/p4x77NZGuWbAtK14ilVlSXweRFMrpPcPcrRvzfSi3qbZU1nLuPx5zDJ jZnQ/YA88Xh8r+8hxPPLqVbwDgK1bNQbZn020ym4UvC4FXuIzQCWbDDgMlf6S/Yc gug6IdxbzmmC0HxuCq9t51VnSBC+1axqvWDy22hrr2XBL4cSfEQGfCrYrldXXP5H 1CDo2qIYp7E3jQsE6K9KY6UVSGgCBABwzCw+1D2F+kLpFaNbRdVmpv9pk33/ulv7 Uc6MgGUzKU3BrNssoxYxThsNtOFh1pVex/27xCxn6sR8q2JEhQY= =5xuC -----END PGP SIGNATURE----- --9BVFPr7BjjB9vRYu--