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 1vtCYf-0091E4-2E for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Feb 2026 22:31:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vtCYe-005tf7-12 for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Feb 2026 22:31:40 +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 1vtCYd-005tez-1D for pgsql-hackers@lists.postgresql.org; Thu, 19 Feb 2026 22:31:40 +0000 Received: from fhigh-a1-smtp.messagingengine.com ([103.168.172.152]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vtCYZ-00000000HfF-20Lw for pgsql-hackers@postgresql.org; Thu, 19 Feb 2026 22:31:39 +0000 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id D0BCF1400103; Thu, 19 Feb 2026 17:31:33 -0500 (EST) Received: from phl-imap-14 ([10.202.2.87]) by phl-compute-02.internal (MEProxy); Thu, 19 Feb 2026 17:31:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=burd.me; h=cc:cc :content-transfer-encoding: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=fm3; t=1771540293; x=1771626693; bh=CL8vXMYBTowEZ18IKYkbsC0lTksUGayWv5ebEqF9yK4=; b= ihd3xp0OQdrTCkmy5hhnec7vkOoITvSl/YzkanIbbLN0r5hLwcnb1yWMqmh3Y6XL TGX+SNs5ck6eWjuxkqsobSXeDmkyP3PHMXKdi4OUIiZ1Pj3CnPSuiyjf0l7ULeDz pjtCda6tRM7u6QRHWwGaheVywY7rYcC1fL+/DL1p2/RIVmPe6csJJb4jHe5IkOha MyrElUGs9wiOI1BeBaXdGyi+TAljijl9OQtg7xn098oqEs85QQxNTRnRc4l+ury1 NMGDfBdP9BcsNqOx2jF4sUziDp03OcrJV+Eoo04PDx4YW4deTho4EarS5DhA5kn8 yqTJS4HpSTcq3l9tvTu5aA== 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 :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1771540293; x= 1771626693; bh=CL8vXMYBTowEZ18IKYkbsC0lTksUGayWv5ebEqF9yK4=; b=V KRmBEiHHMA0WCLcHWCRUUfB5dWLu7QW8rBI0nn525f2N00Yky5mwYgwTvaMSkp6Z 7d3aQIBJJdqsgGByW9f0mZdCaPU3YIa3j7W1EWmfkY/SUPV4mTd/KGQDYe6VgzFz 71ARRjQ78qHxxxCuH6mqGM5YbDqE//o10UMI51z5PoLqMxpCU+BpGRU8SyZjdrCp VoOnPNlnOI7zCfRdzfKDByS0bNdKLjQGhJCI0A7VhRW2hrG8H3Ci7kewL3a84aWX QS+h035t5snTklQgqTqLwYeJoF2sknliwq29ndaRuu6x8aQgInpG1wx/I56O+3nE ytubJvrXJtjhYWP+C+nTQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvvdeijeegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgfgsehtjeertdertddtnecuhfhrohhmpedfifhrvghg uceuuhhrugdfuceoghhrvghgsegsuhhrugdrmhgvqeenucggtffrrghtthgvrhhnpedvue fhffdtvdevueffteehheefleevtedvfedtueefffeijeefudelveeftdffudenucevlhhu shhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehgrhgvghessghurh gurdhmvgdpnhgspghrtghpthhtohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthht oheprghnughrvghssegrnhgrrhgriigvlhdruggvpdhrtghpthhtohepphhgshhqlhesjh dquggrvhhishdrtghomhdprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehpohhs thhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i675e48f3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 6D225C4006E; Thu, 19 Feb 2026 17:31:33 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: A1gxZgRQNkgk Date: Thu, 19 Feb 2026 17:31:12 -0500 From: "Greg Burd" To: "Andres Freund" Cc: "Jeff Davis" , pgsql-hackers Message-Id: In-Reply-To: References: <5165C147-B476-4E3D-AAA9-11C0B966FC4D@greg.burd.me> <9394564A-5764-4DCA-8845-8AE102DE61DC@greg.burd.me> <97769442-2ed7-4fe0-a393-7e2b5ff7ff58@app.fastmail.com> <3e1b9075c92808a7356e79087ba51910e5db5a30.camel@j-davis.com> Subject: Re: Expanding HOT updates for expression and partial indexes Content-Type: text/plain Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, Feb 19, 2026, at 3:43 PM, Andres Freund wrote: > Hi, > > On 2026-02-17 16:15:02 -0500, Greg Burd wrote: >> > Why does simple_heap_update() need to do the HeapDetermineColumnsInfo() >> > inside heap_update()? It seems like you're trying to avoid doing the >> > same work the executor is doing to determine the modified_attrs bitmap, >> > but either (a) the work is cheap; or (b) the work to make the bitmap is >> > expensive. >> >> simple_heap_update() is exclusively called during catalog tuple updates and >> does not involve the executor at all, these are direct calls into heap to >> store catalog tuples. Hey Andres, > Just FYI, there are probably a fair number of extensions using > simple_heap_update(). That number used to be a lot higher, but I don't think > there should be a hard assumption about it just being used for catalog updates > in the code. Makes sense. These patches don't change simple_heap_update() in any functional way and so extensions should be fine. > Greetings, > > Andres Freund best. -greg