pgsql: Fix rescanning of async-aware Append nodes.

Поиск
Список
Период
Сортировка
От Etsuro Fujita
Тема pgsql: Fix rescanning of async-aware Append nodes.
Дата
Msg-id E1lq6LK-0005nm-NL@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix rescanning of async-aware Append nodes.

In cases where run-time pruning isn't required, the synchronous and
asynchronous subplans for an async-aware Append node determined using
classify_matching_subplans() should be re-used when rescanning the node,
but the previous code re-determined them using that function repeatedly
each time when rescanning the node, leading to incorrect results in a
normal build and an Assert failure in an Assert-enabled build as that
function doesn't assume that it's called repeatedly in such cases.  Fix
the code as mentioned above.

My oversight in commit 27e1f1456.

While at it, initialize async-related pointers/variables to NULL/zero
explicitly in ExecInitAppend() and ExecReScanAppend(), just to be sure.
(The variables would have been set to zero before we get to the latter
function, but let's do so.)

Reviewed-by: Kyotaro Horiguchi
Discussion: https://postgr.es/m/CAPmGK16Q4B2_KY%2BJH7rb7wQbw54AUprp7TMekGTd2T1B62yysQ%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f3baaf28a6da588987b94a05a725894805c3eae9

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 42 ++++++++++++++++++++++++++
contrib/postgres_fdw/sql/postgres_fdw.sql      | 12 ++++++++
src/backend/executor/nodeAppend.c              | 27 ++++++++++++++---
3 files changed, 76 insertions(+), 5 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix inconsistent equalfuncs.c behavior for FuncCall.funcformat.
Следующее
От: Amit Kapila
Дата:
Сообщение: pgsql: Remove two_phase variable from CreateReplicationSlotCmd struct.