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

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #15900: `executor could not find named tuplestore` in triggers with transition table and row locks
Дата
Msg-id 24530.1562686693@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #15900: `executor could not find named tuplestore` intriggers with transition table and row locks  (Thomas Munro <thomas.munro@gmail.com>)
Ответы Re: BUG #15900: `executor could not find named tuplestore` intriggers with transition table and row locks  (Thomas Munro <thomas.munro@gmail.com>)
Re: BUG #15900: `executor could not find named tuplestore` intriggers with transition table and row locks  (Andres Freund <andres@anarazel.de>)
Список pgsql-bugs
Thomas Munro <thomas.munro@gmail.com> writes:
> On Tue, Jul 9, 2019 at 1:13 PM Thomas Munro <thomas.munro@gmail.com> wrote:
>> I think it's highly likely that bug #15720 was a case of this bug and
>> would be fixed by this patch.

Agreed.  I think your version of the fix is good, and you should
mention #15720 too in the commit message.

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

> Explanation: since ad0bda5d24ea, ExecLockRows() always calls
> EvalPlanQualBegin() which initialises the plan state, and in this case
> ExecInitNamedTuplestoreScan() errors out due to the bug.  Before, you
> needed the right concurrency scenario (epq_needed) before we did that,
> as the reporter of bug #15720 discovered.

I'm quite desperately unhappy about this observation, because
EvalPlanQualBegin is a *large* amount of overhead that is usually
unnecessary, and is now going to be paid for *every locked row*
whether there's any conflict on it or not.  I do not find that
acceptable.  Why is it necessary to do this before finding that
there's an update conflict?

            regards, tom lane



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15901: Tablespace showing as null in psql and pgadmin
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15720: `executor could not find named tuplestore ABC` in AFTER DELETE trigger referencing OLD TABLE as ABC