Re: BUG #15900: `executor could not find named tuplestore` in triggers with transition table and row locks

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Alex Aktsipetrov <alex(dot)akts(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: BUG #15900: `executor could not find named tuplestore` in triggers with transition table and row locks
Date: 2019-07-09 01:13:31
Message-ID: CA+hUKG+XHZaCrX81CHwphG-dRTK_dmqWSmzW-vGYGEOGwZJjBw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Jul 9, 2019 at 11:49 AM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> On Tue, Jul 9, 2019 at 11:39 AM Alex Aktsipetrov <alex(dot)akts(at)gmail(dot)com> wrote:
> > Attaching the patch that fixes the issue, although I am not familiar with the codebase to be sure that it is the right idea.
>
> Thanks for the report and the proposed fix!

The repro works for me, and I think the patch is correct. Here's a
version with that line moved to a more natural place IMHO.

> Hmm, I wonder if EPQ might be involved in bug report #15720 (version 11.2):
>
> https://www.postgresql.org/message-id/flat/15720-38c2b29e5d720187%40postgresql.org

I think it's highly likely that bug #15720 was a case of this bug and
would be fixed by this patch. Alex's repro doesn't work on 11 though,
because EPQ is not entered at all. Which raises the question: why do
we need to enter EPQ after commit ad0bda5d on 12/master, for a row
that hasn't been updated by anyone else?

--
Thomas Munro
https://enterprisedb.com

Attachment Content-Type Size
0001-Pass-queryEnv-down-to-EvalPlanQual-s-EState.patch application/octet-stream 1.2 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2019-07-09 04:43:41 Re: BUG #15899: Valgrind detects errors on create gist index
Previous Message Gert van Dijk 2019-07-09 00:12:40 FDW does not push down LIMIT & ORDER BY with sharding (partitions)