1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-02 11:44:50 +03:00

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
This commit is contained in:
Amit Kapila 2018-09-14 08:36:21 +05:30
parent fd4f2af774
commit 271b678436

View File

@ -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);