From 271b678436ce83bdd6bb355f9fcc011dafdd0122 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Fri, 14 Sep 2018 08:36:21 +0530 Subject: [PATCH] Back-patch "Fix parallel hash join path search." Back-patch commit 655393a022bd653e2b48dbf20b69236981e35195 to 9.6. This synchronizes the relavant code and helps in generating parallel paths in some cases in 9.6. This also helps in back-patch of future patches where we can get the same plan in all branches. Discussion: https://postgr.es/m/CAA4eK1+XK_875cJA1HPVpx9C7C8Fp7i4QzLJ17T3igfU2iadxQ@mail.gmail.com --- src/backend/optimizer/path/joinpath.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c index 83abb585c2a..14492583e2f 100644 --- a/src/backend/optimizer/path/joinpath.c +++ b/src/backend/optimizer/path/joinpath.c @@ -1469,9 +1469,9 @@ hash_inner_and_outer(PlannerInfo *root, /* * Normally, given that the joinrel is parallel-safe, the cheapest * total inner path will also be parallel-safe, but if not, we'll - * have to search cheapest_parameterized_paths for the cheapest - * safe, unparameterized inner path. If doing JOIN_UNIQUE_INNER, - * we can't use any alternative inner path. + * have to search for the cheapest safe, unparameterized inner + * path. If doing JOIN_UNIQUE_INNER, we can't use any alternative + * inner path. */ if (cheapest_total_inner->parallel_safe) cheapest_safe_inner = cheapest_total_inner; @@ -1479,7 +1479,7 @@ hash_inner_and_outer(PlannerInfo *root, { ListCell *lc; - foreach(lc, innerrel->cheapest_parameterized_paths) + foreach(lc, innerrel->pathlist) { Path *innerpath = (Path *) lfirst(lc);