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: https://postgr.es/m/YQP0UPT8KmPiHTMs%40paquier.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(-)