Re: Expanding HOT updates for expression and partial indexes

From: "Greg Burd" <greg(at)burd(dot)me>
To: "Andres Freund" <andres(at)anarazel(dot)de>
Cc: "Jeff Davis" <pgsql(at)j-davis(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Expanding HOT updates for expression and partial indexes
Date: 2026-02-19 22:31:12
Message-ID: b8e07500-587d-4360-8f9e-89b14d1c0edc@app.fastmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message KAZAR Ayoub 2026-02-19 22:37:00 Re: Speed up COPY FROM text/CSV parsing using SIMD
Previous Message Sami Imseih 2026-02-19 22:08:59 Re: Flush some statistics within running transactions