Fix oversight in commit 1ec7fca8592178281cd5cdada0f27a340fb813fc.

Etsuro Fujita <efujita@postgresql.org>

Commit: fb234086fe81fb1848934b6e1f6382611fc9ad4f
Author: Etsuro Fujita <efujita@postgresql.org>
Date: 2021-08-02T03:45:01Z
Releases: 14.0
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

Files

PathChange+/−
contrib/postgres_fdw/postgres_fdw.c modified +18 −4
src/backend/executor/nodeAppend.c modified +12 −10

Discussion

Cited messages not in the archive: YQP0UPT8KmPiHTMs@paquier.xyz