pgsql: Fix oversight in commit 1ec7fca8592178281cd5cdada0f27a340fb813fc

Started by Etsuro Fujitaabout 5 years ago1 messagescomitters
Jump to latest
#1Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp

Fix oversight in commit 1ec7fca8592178281cd5cdada0f27a340fb813fc.

I failed to account for the possibility that when
ExecAppendAsyncEventWait() notifies multiple async-capable nodes using
postgres_fdw, a preceding node might invoke process_pending_request() to
process a pending asynchronous request made by a succeeding node. In
that case the succeeding node should produce a tuple to return to the
parent Append node from tuples fetched by process_pending_request() when
notified. Repair.

Per buildfarm via Michael Paquier. Back-patch to v14, like the previous
commit.

Thanks to Tom Lane for testing.

Discussion: /messages/by-id/YQP0UPT8KmPiHTMs@paquier.xyz

Branch
------
REL_14_STABLE

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

Modified Files
--------------
contrib/postgres_fdw/postgres_fdw.c | 22 ++++++++++++++++++----
src/backend/executor/nodeAppend.c | 22 ++++++++++++----------
2 files changed, 30 insertions(+), 14 deletions(-)