Fix testing of parallel-safety of scan/join target.
authorEtsuro Fujita
Tue, 12 Mar 2019 07:32:27 +0000 (16:32 +0900)
committerEtsuro Fujita
Tue, 12 Mar 2019 07:32:27 +0000 (16:32 +0900)
In commit 960df2a971 ("Correctly assess parallel-safety of tlists when
SRFs are used."), the testing of scan/join target was done incorrectly,
which caused a plan-quality problem.  Backpatch through to v11 where
the aforementioned commit went in, since this is a regression from v10.

Author: Etsuro Fujita
Reviewed-by: Robert Haas and Tom Lane
Discussion: https://postgr.es/m/5C75303E.8020303@lab.ntt.co.jp

src/backend/optimizer/plan/planner.c

index 680085096ae33c19f16dff94acfcdbbf6a644d7a..03589da01348e83d2d25c4a5f266cd1d767bf177 100644 (file)
@@ -1992,7 +1992,7 @@ grouping_planner(PlannerInfo *root, bool inheritance_update,
        {
            scanjoin_target = make_group_input_target(root, final_target);
            scanjoin_target_parallel_safe =
-               is_parallel_safe(root, (Node *) grouping_target->exprs);
+               is_parallel_safe(root, (Node *) scanjoin_target->exprs);
        }
        else
        {