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.
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.
Greetings,
Andres Freund