Re: BUG #17798: Incorrect memory access occurs when using BEFORE ROW UPDATE trigger - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #17798: Incorrect memory access occurs when using BEFORE ROW UPDATE trigger
Date
Msg-id 325298.1705009396@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #17798: Incorrect memory access occurs when using BEFORE ROW UPDATE trigger  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: BUG #17798: Incorrect memory access occurs when using BEFORE ROW UPDATE trigger  (Alexander Lakhin <exclusion@gmail.com>)
List pgsql-bugs
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Jan 10, 2024 at 10:00 PM Alexander Lakhin <exclusion@gmail.com> wrote:
>> I was discouraged by that vast distance and implicit buffer usage too, but
>> I found no other feasible way to fix it. On the other hand, 75e03eabe and
>> Andres's words upthread made me believe that it's an acceptable solution.

> I agree that it's potentially acceptable. I just wonder if Tom or
> someone else is going to want to propose a bigger change to avoid some
> of this messiness. I don't know what that would look like, though.

I'm still feeling itchy about it.  Maybe the problem could be fixed
better if we didn't re-use slots with such abandon in this code,
but I don't have a concrete proposal.  Also, that'd likely be a
nontrivial rewrite bringing its own possibilities of adding bugs.

Some concrete thoughts:

* Maybe better to Assert(newslot == epqslot_clean) instead of
what you did here?  Not sure.

* Why is the ExecMaterializeSlot step needed if we don't have
an epqslot_candidate?

            regards, tom lane



pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #18284: Filter in left lateral join not respected
Next
From: PG Bug reporting form
Date:
Subject: BUG #18285: pgdg.list doesn't work