diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index 7df8761..ef706bc 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -1282,9 +1282,9 @@ append_total_cost_compare(const void *a, const void *b) Path *path1 = (Path *) lfirst(*(ListCell **) a); Path *path2 = (Path *) lfirst(*(ListCell **) b); - if (path1->total_cost > path2->total_cost) + if (path1->total_cost > path2->total_cost * STD_FUZZ_FACTOR) return -1; - if (path1->total_cost < path2->total_cost) + if (path1->total_cost < path2->total_cost * STD_FUZZ_FACTOR) return 1; return 0; @@ -1300,9 +1300,9 @@ append_startup_cost_compare(const void *a, const void *b) Path *path1 = (Path *) lfirst(*(ListCell **) a); Path *path2 = (Path *) lfirst(*(ListCell **) b); - if (path1->startup_cost > path2->startup_cost) + if (path1->startup_cost > path2->startup_cost * STD_FUZZ_FACTOR) return -1; - if (path1->startup_cost < path2->startup_cost) + if (path1->startup_cost < path2->startup_cost * STD_FUZZ_FACTOR) return 1; return 0; diff --git a/src/test/regress/expected/select_parallel.out b/src/test/regress/expected/select_parallel.out index 7824ca5..14f91ee 100644 --- a/src/test/regress/expected/select_parallel.out +++ b/src/test/regress/expected/select_parallel.out @@ -75,11 +75,11 @@ explain (costs off) Workers Planned: 3 -> Partial Aggregate -> Parallel Append - -> Seq Scan on d_star -> Seq Scan on f_star + -> Seq Scan on d_star -> Seq Scan on e_star - -> Seq Scan on b_star -> Seq Scan on c_star + -> Seq Scan on b_star -> Seq Scan on a_star (11 rows)