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

From Robert Haas
Subject Re: BUG #17798: Incorrect memory access occurs when using BEFORE ROW UPDATE trigger
Date
Msg-id CA+TgmobRr7iWYNNj+-djD6AkoS5trpL8JznXbfO74+dtmCsOsg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #17798: Incorrect memory access occurs when using BEFORE ROW UPDATE trigger  (Alexander Lakhin <exclusion@gmail.com>)
Responses Re: BUG #17798: Incorrect memory access occurs when using BEFORE ROW UPDATE trigger  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Wed, Jan 10, 2024 at 10:00 PM Alexander Lakhin <exclusion@gmail.com> wrote:
> here trigger.c:3055 points at the second call in ExecBRUpdateTriggers():
>              newtuple = ExecFetchSlotHeapTuple(newslot, true, &should_free_new);
>
> Does it makes more sense?

Ah, OK, makes tons of sense.

> 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.

If not, then I think your patch should be committed and back-patched
pretty much as you have it, except with better comments.

> Thank you very much for diving deep into this subject!

yw.

--
Robert Haas
EDB: http://www.enterprisedb.com



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #18284: Filter in left lateral join not respected
Next
From: Tom Lane
Date:
Subject: Re: BUG #18284: Filter in left lateral join not respected