On Mon, Mar 16, 2026, at 4:01 PM, Jeff Davis wrote:
> On Mon, 2026-03-16 at 14:35 -0400, Greg Burd wrote:
>> Now I want to rename ExecGetAllUpdatedCols() to
>> ExecUpdateTargetedCols(), maybe I will. And while I'm at it I'll
>> change the single non-trigger use case in index_unchanged_by_update()
>> to my new ExecUpdateTargetedCols() function which better matches that
>> use anyway.
>
> Does this mean a new bitmap of "actually changed values" that's a
> subset of targeted columns?
No, I'd been thinking of targeted columns *and* any other columns we can identify as modified.
> If so it feels like quite a few bitmaps and we might need to expand
> some comments to explain the subtle meanings of each, and when they are
> valid, and what kinds of false positives they might contain (hopefully
> none have false negatives).
I agree, and also this commit has garnered too much attention relative to the important changes that come after it.
> Also, the "actually changed values" is only valid for a single tuple,
> and it would be good to clarify that and make sure there's not a lot of
> room for confusion there.
Yes, that's true... too much confusion and not enough juice for the squeeze. I'm dropping that.
> Regards,
> Jeff Davis
So, attached is v36 with the:
0001 - New hot_updates.sql tests, important for future commits but can be skipped for now.
0002 - Move HeapDetermineColumnsInfo() to executor
best.
-greg