| From: | "Greg Burd" <greg(at)burd(dot)me> |
|---|---|
| To: | "Nathan Bossart" <nathandbossart(at)gmail(dot)com> |
| 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-03-16 18:37:32 |
| Message-ID: | 63ca7c87-f511-4ce7-8f1f-6edd53a72c43@app.fastmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Mar 16, 2026, at 1:29 PM, Nathan Bossart wrote:
> On Mon, Mar 16, 2026 at 12:23:04PM -0400, Greg Burd wrote:
>> On Sun, Mar 15, 2026, at 5:11 PM, Jeff Davis wrote:
>>> Why do extra work in ExecBRUpdateTriggers() to eliminate the false
>>> negative case if we don't rely on it anyway? If we do need to rely on
>>> it in subsequent patches, then we need to be sure, right?
>>
>> [...]
>>
>> What do we "need to be sure" of? That ExecGetAllUpdatedCols() not really
>> contains all attributes that its name implies? I think it now does that
>> after 0002, do you disagree?
>
> I'm admittedly still digging into the details, but the main question on my
> mind is whether there are other cases lurking that our in-tree tests aren't
> catching or that only exist in extensions. Will there be some sort of
> check or assertion to catch those?
Hey Nathan,
I think based on Jeff's questions I'm going to side-step this a bit with a new function ExecUpdateTargetedCols(). Hopefully I can have an assert in there that double checks the assumption and validates the contract.
> --
> nathan
-greg
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Matt Blewitt | 2026-03-16 18:48:41 | Re: [PATCH] Fix JSON_SERIALIZE() coercion placeholder type for jsonb input |
| Previous Message | Greg Burd | 2026-03-16 18:35:50 | Re: Expanding HOT updates for expression and partial indexes |