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
