diff options
| author | Etsuro Fujita | 2022-04-06 06:45:00 +0000 |
|---|---|---|
| committer | Etsuro Fujita | 2022-04-06 06:45:00 +0000 |
| commit | c2bb02bc2e858ba345b8b33f1f3a54628f719d93 (patch) | |
| tree | fe742ab96982b0a74ed615d0c1e4c0982715a6e6 /src/include/optimizer | |
| parent | 376dc437de40bd17e99a37f72f88627a16d7f200 (diff) | |
Allow asynchronous execution in more cases.
In commit 27e1f1456, create_append_plan() only allowed the subplan
created from a given subpath to be executed asynchronously when it was
an async-capable ForeignPath. To extend coverage, this patch handles
cases when the given subpath includes some other Path types as well that
can be omitted in the plan processing, such as a ProjectionPath directly
atop an async-capable ForeignPath, allowing asynchronous execution in
partitioned-scan/partitioned-join queries with non-Var tlist expressions
and more UNION queries.
Andrey Lepikhov and Etsuro Fujita, reviewed by Alexander Pyhalov and
Zhihong Yu.
Discussion: https://postgr.es/m/659c37a8-3e71-0ff2-394c-f04428c76f08%40postgrespro.ru
Diffstat (limited to 'src/include/optimizer')
| -rw-r--r-- | src/include/optimizer/planmain.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h index 54a0d4c188d..6947bc65d1e 100644 --- a/src/include/optimizer/planmain.h +++ b/src/include/optimizer/planmain.h @@ -112,6 +112,7 @@ extern bool innerrel_is_unique(PlannerInfo *root, * prototypes for plan/setrefs.c */ extern Plan *set_plan_references(PlannerInfo *root, Plan *plan); +extern bool trivial_subqueryscan(SubqueryScan *plan); extern void record_plan_function_dependency(PlannerInfo *root, Oid funcid); extern void record_plan_type_dependency(PlannerInfo *root, Oid typid); extern bool extract_query_dependencies_walker(Node *node, PlannerInfo *root); |
