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 1vdcTe-002qej-2H for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Jan 2026 22:58:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdcTd-00G1iT-1n for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Jan 2026 22:58:06 +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 1vdcTc-00G1i9-2b for pgsql-hackers@lists.postgresql.org; Wed, 07 Jan 2026 22:58:06 +0000 Received: from fout-b7-smtp.messagingengine.com ([202.12.124.150]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdcTa-005A2t-0c for pgsql-hackers@postgresql.org; Wed, 07 Jan 2026 22:58:05 +0000 Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfout.stl.internal (Postfix) with ESMTP id D0D521D00064; Wed, 7 Jan 2026 17:57:59 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Wed, 07 Jan 2026 17:57:59 -0500 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=fm3; t=1767826679; x= 1767913079; bh=oxpltXxgpdZ44xprIGtGpeyDodknX7/LK8eVVsiJ5z0=; b=h q5nycvq9CxXRU6Atv+KYi9kvNHj+OtWeRYqFxeShREBG4CAXcAgkUITBYZMt29yC 1OnCqZyAZ1zQpyi2tJxvpb9ocrUzSU+XhXL85Y11EkJOhlOadYU/1crvjSDcgrQD aTrak2OKe1MknNYDPlD2QwUEfz4cBuTDg3sXf7xqi9aXRvUx7Bl+pKD3bQrTKlmj +20GFJETiQ4FAWcEf44dijYJLFOyeJJXzsVr8c9cWT+tnVDpv5f9zGmJbG/bD9BG 2cuzu06Po5Xa2AYRiYizhASy1eQVvj6WS3OhtQBiYM5skvPrz7Khb5k3Fgiu2O0r mp7tkxnBpuelXO/qJfGJQ== 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=fm2; t=1767826679; x=1767913079; bh=o xpltXxgpdZ44xprIGtGpeyDodknX7/LK8eVVsiJ5z0=; b=hn6+m1ZMpxWkSuDZ1 JzP1ODpW4Bm26AsViR5j6kV0Y9j4LjDBNcO8+dbe+QUxHkOC0J6CagsMBEZAZSXN mpVCFILuBvCQy2HMe4JIqme2LiBVIHQiLUMbu+t+wTT8hM9NCXMd/ODveGly3XBg S35O45Sw24tnxQHtP0EuhMwTI2G6I1fCp6irpl9DLoP9lFlwRC5W1gZ1AdDFs2pR d465+CVawZXSrfdWev33B5EVIDq/q/V/irIfkxn6q9K+BuJK39N8CycuAMvmKb9P UWYGUTgXH8QUjucmNekTc/hblkEgVYnsRW4gchVPfeHmo19ifK2FX2h2wyTnf0IA RYuIA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddutdegfeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkgggtugfgjgesthekredttddtjeenucfhrhhomheplmhlvhgrrhho ucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggvqeenucggtf frrghtthgvrhhnpeekvefgtdejhedtgeevjeelueeigefhuedvieefveeitefgffffkeeh hfeftdfhfeenucffohhmrghinhepphhoshhtghhrrdgvshdpvghnthgvrhhprhhishgvug gsrdgtohhmpdhhrghtvghsqdhsohhfthifrghrvgdrtghomhenucevlhhushhtvghrufhi iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrlhhvhhgvrhhrvgeskhhurhhilh gvmhhurdguvgdpnhgspghrtghpthhtohephedpmhhouggvpehsmhhtphhouhhtpdhrtghp thhtoheprghnughrvghssegrnhgrrhgriigvlhdruggvpdhrtghpthhtohepmhhihhgrih hlnhhikhgrlhgrhigvuhesghhmrghilhdrtghomhdprhgtphhtthhopehnohgrhheslhgv rggusghorghtrdgtohhmpdhrtghpthhtohepmhhitghhrggvlhesphgrqhhuihgvrhdrgi ihiidprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehpohhsthhgrhgvshhqlhdr ohhrgh X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Jan 2026 17:57:58 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1767826676; bh=YkBHpa1Jk4X2vdm5Ya4jtV+Z9JKfT0bTZzF87rK4Uik=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=ZpmbYCTBMnEwUvgf9KL0uymUUtSujBM1FeSpOzMqbNbYUHFAk/EsfORIPlZQTFCHG RAKkxgNcsYiwykYsh9OTTy1LWOU8uNVXZFKLmWQK50tKYAVvEINxte0OAR0twjKsOq goneKGasiwYXiiXujkY21vKdRLvV+MwlDMKUTkdHbfyLQjEzDUv5ddp2PbX4KGJbxE zhYMPT+TUZLdxmRkAU2M87wLwsicr7y41MRDJywG6MolPM2EjGqQLcNHzeeHb5/q33 oA0aCDBNhbQ5zrs1tGsbXq1Axn7vZ2cWNYfh92BH3colRnqPZwtS5X2xhDTuIpjFZN 21dtq7l1zUSBQ== Received: by schmee.kurilemu.internal (Postfix, from userid 1000) id E0F8B78; Wed, 07 Jan 2026 19:57:56 -0300 (-03) Date: Wed, 7 Jan 2026 19:57:56 -0300 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: Mihail Nikalayeu Cc: Andres Freund , Michael Paquier , Noah Misch , PostgreSQL Hackers Subject: Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY Message-ID: <202601072246.ey6schshlx7j@alvherre.pgsql> 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 2025-Dec-19, Mihail Nikalayeu wrote: > Hello, Álvaro and others! > > Attached version feels stable enough so far - 20 builds in a row on > all CI variants (including 3 BSD) - no failures so far. Hello Mihail, thanks for the time spent on this new test. I have pushed it now after some editorializing, just to make the code a bit easier to read. I did lose the test numbering, but added some note() lines for each subtest so that somebody reading through the output would be able to match a failure to each subtest. I also changed to create a bunch of tables at the start of the file which are reused for each subtest (via truncate), instead of dropping and recreating them all the time. This reduces the test runtime (not insignificantly, some 25% I think, though I didn't spend time measuring it very scientifically). I'm not sure what the implications are about marking this no longer used in installcheck. I think it means some buildfarm animals may no longer run it, if they're configured to only do installcheck. It's a bit of a bummer because potential loss of runs for the other files in this test module. Still, I'm not crying about it. Incidentally, I think it would be great to use Test::More subtests with these tests (because then the failures would be more clearly attributed to a specific part of the test file), and I experimented with that, but it turns out that Meson doesn't like the subtest output (see [1] for more on this topic). I tried to make it accept TAP version 14 (which is supposed to make it understand subtests) by adding things like "TAP version 14" at the start of the output, which is supposed to be the way to achieve this, but it seems to go completely ignored and I didn't want to waste time trying to figure out why. The note()s should achieve more or less the same, in not so elegant a manner. [1] https://postgr.es/m/20220224150033.5lql2lkiv7y5kkme@alap3.anarazel.de > Also, tests designed in a way to fail fast if something is going wrong > + log some debug information in that case (active queries with its > states). Nice. I forgot to actually verify that this works as intended before pushing. > Special tricks to handle forced-cache release builds included too. I ran the test in this mode, and it passes fine. > Also, there is a test which "breaks" all the fixes - to ensure the > test actually catches them, not intended to be committed of course. I played with this; each change makes some of the subtests fail in a pretty obvious way, and the failures are easy to track down in the output log file. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "But static content is just dynamic content that isn't moving!" http://smylers.hates-software.com/2007/08/15/fe244d0c.html