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 1vMoQ0-002h5m-1X for pgsql-hackers@arkaria.postgresql.org; Sat, 22 Nov 2025 14:16:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vMoPz-00BtYh-0H for pgsql-hackers@arkaria.postgresql.org; Sat, 22 Nov 2025 14:16:51 +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 1vMoPy-00BtYR-11 for pgsql-hackers@lists.postgresql.org; Sat, 22 Nov 2025 14:16:51 +0000 Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]) by makus.postgresql.org with smtp (Exim 4.96) (envelope-from ) id 1vMoPv-000sHZ-32 for pgsql-hackers@postgresql.org; Sat, 22 Nov 2025 14:16:49 +0000 Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfout.phl.internal (Postfix) with ESMTP id 8D826EC0176; Sat, 22 Nov 2025 09:16:47 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Sat, 22 Nov 2025 09:16:47 -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=fm2; t=1763821007; x= 1763907407; bh=SPwlWrceJVRBO+Edk19I9iEN5T2j5Z9x0ejwYQjzXKA=; b=c 6NwqLd9W27Zu4qKaXZqa3gy7XkZw2p82pgaQ5NQD7rSwOD9QxUip6LMVEsMkAsFa 623UBpOj5zq0wQJ0noDTbRpUsHVlqYQjDq6K+qIJrsLzaZmB/3jIyKoSRgcZVSu1 ZQCZf+R2clyHCKDQNmsHptZm4Sz+k0TsYoLq/RwT7zKwGzOQEbcQev0uXhzrn+84 z/aDIubIykJeORDIa9PwQU98zY7XzYS0XfzNsHuxgbLk/jYynE6pVGDHQlZFasXE kmF3vfsNC9ksFJFF1UWNER1qCtv7IvDM3wnu+JLITEJKqXcF3zzK5dSKJX63AA8U VNgdOUIjFZXF0NAItV5Cg== 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=fm3; t=1763821007; x=1763907407; bh=S PwlWrceJVRBO+Edk19I9iEN5T2j5Z9x0ejwYQjzXKA=; b=uH8krmU/xGKi9s9MZ 08wlb5P4jl2vL57YOmMhkyovBAXAxj36SjDiqcohHboFnREn9SbIHVLzyhdjSTRU iG8r6wS6euKgEHhMTZNPWUfhXhjBwmLmrnJnf1b9PhvdHRFnCUoRYZmC680/zsBe i0RkjNF7KkO0b6oKkpi9IVOb5XVsoAQW8OvNq4Mi8rRLbsMW0jK9yLHXDN2LtwXU h6ZCcay61IpJFKk853BR9sRqqUDANF6GAKARn+qh4ekODLbBkeA8GqyTMg13yMZe Y3cQabD5NuSFBCj8YNLx/LToVeSDz1nOSblx9Sutg3wzUyg5XL0uaDuetYiJsijb YgcKw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvfeeftdeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkgggtugfgjgesthekredttddtjeenucfhrhhomheplmhlvhgrrhho ucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggvqeenucggtf frrghtthgvrhhnpeegvedukeelheeggeefieeijeejieeljeeffeffieekgfeuudefledu tdeufeejfeenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmpdhlfihnrd hnvghtnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep rghlvhhhvghrrhgvsehkuhhrihhlvghmuhdruggvpdhnsggprhgtphhtthhopeegpdhmoh guvgepshhmthhpohhuthdprhgtphhtthhopehmihhhrghilhhnihhkrghlrgihvghusehg mhgrihhlrdgtohhmpdhrtghpthhtohepnhhorghhsehlvggruggsohgrthdrtghomhdprh gtphhtthhopehmihgthhgrvghlsehprghquhhivghrrdighiiipdhrtghpthhtohepphhg shhqlhdqhhgrtghkvghrshesphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 22 Nov 2025 09:16:46 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1763821004; bh=bNKN0jkinZuaTaWbcyZWt0caRV74UgBzbw11QMy6NuY=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=42peFShifaUXUOuNhMIuLeVo1FD6RNcppAeaARKY1UXJ4uCVoxZ1J702rcOCgjQeM llbPDwxZY0kO41F8785VMCkmolohAofmcHc5fQikjCGgYn8a3IjNqv5gTsq5Wcf6fj jg+buRFbIC1CTziEpJHFtWE8yjpf3Vpmou/+R7JeEEtkCWifhI2lmyJg9tyy8z2PD4 Co+Q4QqSW+lsVwLBUsAsBgp7HcGwSFpTxxmVNh705FNv2YznaysMZbtTXKyrqjG2cA mrYidzr3cDsONzu4JFS5sm/wYXQXfyJK2ch2LUWKzFmh9gVsj9PxL/TZT2Wa/IGlU7 KkB/q8ox5CQ2A== Received: by schmee.kurilemu.internal (Postfix, from userid 1000) id D2BD376; Sat, 22 Nov 2025 15:16:44 +0100 (CET) Date: Sat, 22 Nov 2025 15:16:44 +0100 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: Mihail Nikalayeu Cc: Michael Paquier , Noah Misch , PostgreSQL Hackers Subject: Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY Message-ID: <202511221409.erusvxemyrlu@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 Hello, On 2025-Nov-22, Mihail Nikalayeu wrote: > I attached an updated version, changes are: > 1) your fix for comment > 2) some updates for 0001 test stability (related to [0]). Thank you. I've been looking at this part of 0001 too: > @@ -942,6 +943,8 @@ retry: > econtext->ecxt_scantuple = save_scantuple; > > ExecDropSingleTupleTableSlot(existing_slot); > + if (!conflict) > + INJECTION_POINT("check-exclusion-or-unique-constraint-no-conflict", NULL); and wondering whether it would make sense to pass the 'conflict' as an argument to the injection point instead of being conditional on it. That is, do it like ExecDropSingleTupleTableSlot(existing_slot); + INJECTION_POINT("check-exclusion-or-unique-constraint-no-conflict", &conflict); However, I don't see that the SQL injection point interface has the ability to receive arguments, so I'm guessing that this is not workable? Maybe something to consider for the future. BTW I've split the patches to commit differently: instead of 0001 with a bunch of failing tests and then 0002 with fixes for some of them, I intend to push a modified 0002 with the tests in 0001 that it fixes, then your 0003 with the tests it fixes, and so on. (I have already cut it this way, so you don't need to resubmit anything at this point. But I'll verify what changes you have in the v13-0001 compared to the one before, to be certain I'm not missing any later changes there.) Thanks! -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "How strange it is to find the words "Perl" and "saner" in such close proximity, with no apparent sense of irony. I doubt that Larry himself could have managed it." (ncm, http://lwn.net/Articles/174769/)