mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-12 14:47:56 +02:00
mark_async_capable_plan(), which is called from create_append_plan() to
determine whether subplans are async-capable, failed to take into
account that the given subplan created from a given subpath might
include a gating Result node if the subpath is a SubqueryScanPath or
ForeignPath, causing a segmentation fault there when the subplan created
from a SubqueryScanPath includes the Result node, or causing
ExecAsyncRequest() to throw an error about an unrecognized node type
when the subplan created from a ForeignPath includes the Result node,
because in the latter case the Result node was unintentionally
considered as async-capable, but we don't currently support executing
Result nodes asynchronously. Fix by modifying mark_async_capable_plan()
to disable asynchronous execution in such cases. Also, adjust code in
the ProjectionPath case in mark_async_capable_plan(), for consistency
with other cases, and adjust/improve comments there.
is_async_capable_path() added in commit
|
||
---|---|---|
.. | ||
expected | ||
sql | ||
.gitignore | ||
connection.c | ||
deparse.c | ||
Makefile | ||
option.c | ||
postgres_fdw--1.0--1.1.sql | ||
postgres_fdw--1.0.sql | ||
postgres_fdw.c | ||
postgres_fdw.control | ||
postgres_fdw.h | ||
shippable.c |