fix_parallel_hash_path_v1.patch

application/octet-stream

Filename: fix_parallel_hash_path_v1.patch
Type: application/octet-stream
Part: 2
Message: Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: unified
Series: patch v1
File+
src/backend/optimizer/path/joinpath.c 4 4
diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c
index 2897245883..99ec5834bf 100644
--- a/src/backend/optimizer/path/joinpath.c
+++ b/src/backend/optimizer/path/joinpath.c
@@ -1510,9 +1510,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;
@@ -1520,7 +1520,7 @@ hash_inner_and_outer(PlannerInfo *root,
 			{
 				ListCell   *lc;
 
-				foreach(lc, innerrel->cheapest_parameterized_paths)
+				foreach(lc, innerrel->pathlist)
 				{
 					Path	   *innerpath = (Path *) lfirst(lc);