diff --git a/src/backend/distributed/planner/multi_join_order.c b/src/backend/distributed/planner/multi_join_order.c
index a2b59e1a9..5c08b7b24 100644
--- a/src/backend/distributed/planner/multi_join_order.c
+++ b/src/backend/distributed/planner/multi_join_order.c
@@ -1059,7 +1059,7 @@ SinglePartitionJoin(JoinOrderNode *currentJoinNode, TableEntry *candidateTable,
candidatePartitionMethod,
candidateTable);
}
- else
+ else if (currentPartitionMethod == DISTRIBUTE_BY_RANGE)
{
return MakeJoinOrderNode(candidateTable,
SINGLE_RANGE_PARTITION_JOIN,
diff --git a/src/test/regress/expected/multi_explain.out b/src/test/regress/expected/multi_explain.out
index 832b64a31..e2fe379d2 100644
--- a/src/test/regress/expected/multi_explain.out
+++ b/src/test/regress/expected/multi_explain.out
@@ -1070,11 +1070,14 @@ Aggregate
Task Count: 4
Tasks Shown: None, not supported for re-partition queries
-> MapMergeJob
- Map Task Count: 1
+ Map Task Count: 4
Merge Task Count: 4
-> MapMergeJob
Map Task Count: 2
- Merge Task Count: 1
+ Merge Task Count: 4
+ -> MapMergeJob
+ Map Task Count: 1
+ Merge Task Count: 4
-> MapMergeJob
Map Task Count: 1
Merge Task Count: 4
@@ -1102,12 +1105,16 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
"Tasks Shown": "None, not supported for re-partition queries",
"Dependent Jobs": [
{
- "Map Task Count": 1,
+ "Map Task Count": 4,
"Merge Task Count": 4,
"Dependent Jobs": [
{
"Map Task Count": 2,
- "Merge Task Count": 1
+ "Merge Task Count": 4
+ },
+ {
+ "Map Task Count": 1,
+ "Merge Task Count": 4
}
]
},
@@ -1154,12 +1161,16 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
None, not supported for re-partition queries
- 1
+ 4
4
2
- 1
+ 4
+
+
+ 1
+ 4