diff --git a/src/backend/distributed/planner/multi_explain.c b/src/backend/distributed/planner/multi_explain.c
index 3ba1b569e..bf89dc043 100644
--- a/src/backend/distributed/planner/multi_explain.c
+++ b/src/backend/distributed/planner/multi_explain.c
@@ -23,6 +23,7 @@
#include "distributed/citus_nodefuncs.h"
#include "distributed/connection_management.h"
#include "distributed/insert_select_planner.h"
+#include "distributed/listutils.h"
#include "distributed/multi_client_executor.h"
#include "distributed/multi_executor.h"
#include "distributed/multi_explain.h"
@@ -358,6 +359,9 @@ ExplainTaskList(List *taskList, ExplainState *es)
ListCell *remoteExplainCell = NULL;
List *remoteExplainList = NIL;
+ /* make sure that the output is consistent */
+ taskList = SortList(taskList, CompareTasksByTaskId);
+
foreach(taskCell, taskList)
{
Task *task = (Task *) lfirst(taskCell);
diff --git a/src/backend/distributed/planner/multi_physical_planner.c b/src/backend/distributed/planner/multi_physical_planner.c
index b1d8d2e64..bb104c998 100644
--- a/src/backend/distributed/planner/multi_physical_planner.c
+++ b/src/backend/distributed/planner/multi_physical_planner.c
@@ -180,7 +180,6 @@ static List * ActivePlacementList(List *placementList);
static List * LeftRotateList(List *list, uint32 rotateCount);
static List * FindDependedMergeTaskList(Task *sqlTask);
static List * AssignDualHashTaskList(List *taskList);
-static int CompareTasksByTaskId(const void *leftElement, const void *rightElement);
static void AssignDataFetchDependencies(List *taskList);
static uint32 TaskListHighestTaskId(List *taskList);
static List * MapTaskList(MapMergeJob *mapMergeJob, List *filterTaskList);
@@ -5417,7 +5416,7 @@ AssignDualHashTaskList(List *taskList)
/* Helper function to compare two tasks by their taskId. */
-static int
+int
CompareTasksByTaskId(const void *leftElement, const void *rightElement)
{
const Task *leftTask = *((const Task **) leftElement);
diff --git a/src/include/distributed/multi_physical_planner.h b/src/include/distributed/multi_physical_planner.h
index 7d125e33c..c4d662d5f 100644
--- a/src/include/distributed/multi_physical_planner.h
+++ b/src/include/distributed/multi_physical_planner.h
@@ -351,6 +351,7 @@ extern List * TaskListDifference(const List *list1, const List *list2);
extern List * AssignAnchorShardTaskList(List *taskList);
extern List * FirstReplicaAssignTaskList(List *taskList);
extern List * RoundRobinAssignTaskList(List *taskList);
+extern int CompareTasksByTaskId(const void *leftElement, const void *rightElement);
/* function declaration for creating Task */
extern List * QueryPushdownSqlTaskList(Query *query, uint64 jobId,
diff --git a/src/test/regress/expected/multi_explain.out b/src/test/regress/expected/multi_explain.out
index 6db110a35..c4a31d298 100644
--- a/src/test/regress/expected/multi_explain.out
+++ b/src/test/regress/expected/multi_explain.out
@@ -50,10 +50,10 @@ Sort
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Group Key: l_quantity
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
-- Test disable hash aggregate
SET enable_hashagg TO off;
EXPLAIN (COSTS FALSE, FORMAT TEXT)
@@ -69,10 +69,10 @@ Sort
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Group Key: l_quantity
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
SET enable_hashagg TO on;
-- Test JSON format
EXPLAIN (COSTS FALSE, FORMAT JSON)
@@ -104,7 +104,7 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
"Tasks Shown": "One of 2",
"Tasks": [
{
- "Node": "host=localhost port=57637 dbname=regression",
+ "Node": "host=localhost port=57638 dbname=regression",
"Remote Plan": [
[
{
@@ -119,7 +119,7 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
"Node Type": "Seq Scan",
"Parent Relationship": "Outer",
"Parallel Aware": false,
- "Relation Name": "lineitem_290001",
+ "Relation Name": "lineitem_290000",
"Alias": "lineitem"
}
]
@@ -179,7 +179,7 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
One of 2
- host=localhost port=57637 dbname=regression
+ host=localhost port=57638 dbname=regression
@@ -196,7 +196,7 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
Seq Scan
Outer
false
- lineitem_290001
+ lineitem_290000
lineitem
@@ -248,7 +248,7 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
Task Count: 2
Tasks Shown: "One of 2"
Tasks:
- - Node: "host=localhost port=57637 dbname=regression"
+ - Node: "host=localhost port=57638 dbname=regression"
Remote Plan:
- Plan:
Node Type: "Aggregate"
@@ -261,7 +261,7 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
- Node Type: "Seq Scan"
Parent Relationship: "Outer"
Parallel Aware: false
- Relation Name: "lineitem_290001"
+ Relation Name: "lineitem_290000"
Alias: "lineitem"
-- Test Text format
@@ -276,10 +276,10 @@ Sort
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Group Key: l_quantity
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
-- Test verbose
EXPLAIN (COSTS FALSE, VERBOSE TRUE)
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem;
@@ -290,10 +290,10 @@ Aggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Aggregate
Output: sum(l_quantity), sum(l_quantity), count(l_quantity)
- -> Seq Scan on public.lineitem_290001 lineitem
+ -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-- Test join
EXPLAIN (COSTS FALSE)
@@ -307,16 +307,16 @@ Limit
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Limit
-> Sort
Sort Key: lineitem.l_quantity
-> Hash Join
Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
Filter: (l_quantity < 5.0)
-> Hash
- -> Seq Scan on orders_290003 orders
+ -> Seq Scan on orders_290002 orders
-- Test insert
EXPLAIN (COSTS FALSE)
INSERT INTO lineitem VALUES (1,0), (2, 0), (3, 0), (4, 0);
@@ -393,8 +393,8 @@ Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
- -> Seq Scan on lineitem_290001 lineitem
+ Node: host=localhost port=57638 dbname=regression
+ -> Seq Scan on lineitem_290000 lineitem
-- Test having
EXPLAIN (COSTS FALSE, VERBOSE TRUE)
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem
@@ -407,10 +407,10 @@ Aggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Aggregate
Output: sum(l_quantity), sum(l_quantity), count(l_quantity), sum(l_quantity)
- -> Seq Scan on public.lineitem_290001 lineitem
+ -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-- Test having without aggregate
EXPLAIN (COSTS FALSE, VERBOSE TRUE)
@@ -426,11 +426,11 @@ HashAggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Output: l_quantity, l_quantity
Group Key: lineitem.l_quantity
- -> Seq Scan on public.lineitem_290001 lineitem
+ -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-- Subquery pushdown tests with explain
EXPLAIN (COSTS OFF)
@@ -1036,9 +1036,9 @@ Aggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Aggregate
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
-- ensure EXPLAIN EXECUTE doesn't crash
PREPARE task_tracker_query AS
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
@@ -1102,9 +1102,9 @@ Custom Scan (Citus INSERT ... SELECT via coordinator)
Task Count: 4
Tasks Shown: One of 4
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Limit
- -> Seq Scan on orders_hash_part_360046 orders_hash_part
+ -> Seq Scan on orders_hash_part_360045 orders_hash_part
SELECT true AS valid FROM explain_json($$
INSERT INTO lineitem_hash_part (l_orderkey)
SELECT o_orderkey FROM orders_hash_part LIMIT 3;
@@ -1119,9 +1119,9 @@ Custom Scan (Citus INSERT ... SELECT via coordinator)
Task Count: 4
Tasks Shown: One of 4
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Limit
- -> Seq Scan on orders_hash_part_360046 orders_hash_part
+ -> Seq Scan on orders_hash_part_360045 orders_hash_part
EXPLAIN (COSTS OFF)
INSERT INTO lineitem_hash_part (l_orderkey)
SELECT s FROM generate_series(1,5) s;
diff --git a/src/test/regress/expected/multi_explain_0.out b/src/test/regress/expected/multi_explain_0.out
index c2a89c81c..18373f232 100644
--- a/src/test/regress/expected/multi_explain_0.out
+++ b/src/test/regress/expected/multi_explain_0.out
@@ -50,10 +50,10 @@ Sort
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Group Key: l_quantity
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
-- Test disable hash aggregate
SET enable_hashagg TO off;
EXPLAIN (COSTS FALSE, FORMAT TEXT)
@@ -69,10 +69,10 @@ Sort
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Group Key: l_quantity
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
SET enable_hashagg TO on;
-- Test JSON format
EXPLAIN (COSTS FALSE, FORMAT JSON)
@@ -104,7 +104,7 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
"Tasks Shown": "One of 2",
"Tasks": [
{
- "Node": "host=localhost port=57637 dbname=regression",
+ "Node": "host=localhost port=57638 dbname=regression",
"Remote Plan": [
[
{
@@ -119,7 +119,7 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
"Node Type": "Seq Scan",
"Parent Relationship": "Outer",
"Parallel Aware": false,
- "Relation Name": "lineitem_290001",
+ "Relation Name": "lineitem_290000",
"Alias": "lineitem"
}
]
@@ -179,7 +179,7 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
One of 2
- host=localhost port=57637 dbname=regression
+ host=localhost port=57638 dbname=regression
@@ -196,7 +196,7 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
Seq Scan
Outer
false
- lineitem_290001
+ lineitem_290000
lineitem
@@ -248,7 +248,7 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
Task Count: 2
Tasks Shown: "One of 2"
Tasks:
- - Node: "host=localhost port=57637 dbname=regression"
+ - Node: "host=localhost port=57638 dbname=regression"
Remote Plan:
- Plan:
Node Type: "Aggregate"
@@ -261,7 +261,7 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
- Node Type: "Seq Scan"
Parent Relationship: "Outer"
Parallel Aware: false
- Relation Name: "lineitem_290001"
+ Relation Name: "lineitem_290000"
Alias: "lineitem"
-- Test Text format
@@ -276,10 +276,10 @@ Sort
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Group Key: l_quantity
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
-- Test verbose
EXPLAIN (COSTS FALSE, VERBOSE TRUE)
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem;
@@ -290,10 +290,10 @@ Aggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Aggregate
Output: sum(l_quantity), sum(l_quantity), count(l_quantity)
- -> Seq Scan on public.lineitem_290001 lineitem
+ -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-- Test join
EXPLAIN (COSTS FALSE)
@@ -307,16 +307,16 @@ Limit
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Limit
-> Sort
Sort Key: lineitem.l_quantity
-> Hash Join
Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
Filter: (l_quantity < 5.0)
-> Hash
- -> Seq Scan on orders_290003 orders
+ -> Seq Scan on orders_290002 orders
-- Test insert
EXPLAIN (COSTS FALSE)
INSERT INTO lineitem VALUES (1,0), (2, 0), (3, 0), (4, 0);
@@ -393,8 +393,8 @@ Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
- -> Seq Scan on lineitem_290001 lineitem
+ Node: host=localhost port=57638 dbname=regression
+ -> Seq Scan on lineitem_290000 lineitem
-- Test having
EXPLAIN (COSTS FALSE, VERBOSE TRUE)
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem
@@ -407,10 +407,10 @@ Aggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Aggregate
Output: sum(l_quantity), sum(l_quantity), count(l_quantity), sum(l_quantity)
- -> Seq Scan on public.lineitem_290001 lineitem
+ -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-- Test having without aggregate
EXPLAIN (COSTS FALSE, VERBOSE TRUE)
@@ -426,11 +426,11 @@ HashAggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Output: l_quantity, l_quantity
Group Key: lineitem.l_quantity
- -> Seq Scan on public.lineitem_290001 lineitem
+ -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
-- Subquery pushdown tests with explain
EXPLAIN (COSTS OFF)
@@ -1036,9 +1036,9 @@ Aggregate
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Aggregate
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
-- ensure EXPLAIN EXECUTE doesn't crash
PREPARE task_tracker_query AS
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
@@ -1102,9 +1102,9 @@ Custom Scan (Citus INSERT ... SELECT via coordinator)
Task Count: 4
Tasks Shown: One of 4
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Limit
- -> Seq Scan on orders_hash_part_360046 orders_hash_part
+ -> Seq Scan on orders_hash_part_360045 orders_hash_part
SELECT true AS valid FROM explain_json($$
INSERT INTO lineitem_hash_part (l_orderkey)
SELECT o_orderkey FROM orders_hash_part LIMIT 3;
@@ -1119,9 +1119,9 @@ Custom Scan (Citus INSERT ... SELECT via coordinator)
Task Count: 4
Tasks Shown: One of 4
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> Limit
- -> Seq Scan on orders_hash_part_360046 orders_hash_part
+ -> Seq Scan on orders_hash_part_360045 orders_hash_part
EXPLAIN (COSTS OFF)
INSERT INTO lineitem_hash_part (l_orderkey)
SELECT s FROM generate_series(1,5) s;
diff --git a/src/test/regress/expected/multi_having_pushdown.out b/src/test/regress/expected/multi_having_pushdown.out
index cb19b6540..e0bea575f 100644
--- a/src/test/regress/expected/multi_having_pushdown.out
+++ b/src/test/regress/expected/multi_having_pushdown.out
@@ -62,10 +62,10 @@ EXPLAIN (COSTS FALSE)
Task Count: 2
Tasks Shown: One of 2
-> Task
- Node: host=localhost port=57637 dbname=regression
+ Node: host=localhost port=57638 dbname=regression
-> HashAggregate
Group Key: l_orderkey
- -> Seq Scan on lineitem_290001 lineitem
+ -> Seq Scan on lineitem_290000 lineitem
(14 rows)
-- and don't push down when not grouped by partition column
diff --git a/src/test/regress/expected/multi_null_minmax_value_pruning.out b/src/test/regress/expected/multi_null_minmax_value_pruning.out
index 8c4c6b83d..231737da7 100644
--- a/src/test/regress/expected/multi_null_minmax_value_pruning.out
+++ b/src/test/regress/expected/multi_null_minmax_value_pruning.out
@@ -74,14 +74,6 @@ DEBUG: join prunable for intervals [8997,14947] and [1,5986]
-> Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Aggregate
- -> Hash Join
- Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
- -> Seq Scan on lineitem_290001 lineitem
- -> Hash
- -> Seq Scan on orders_290003 orders
-> Task
Node: host=localhost port=57638 dbname=regression
-> Aggregate
@@ -90,6 +82,14 @@ DEBUG: join prunable for intervals [8997,14947] and [1,5986]
-> Seq Scan on lineitem_290000 lineitem
-> Hash
-> Seq Scan on orders_290002 orders
+ -> Task
+ Node: host=localhost port=57637 dbname=regression
+ -> Aggregate
+ -> Hash Join
+ Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
+ -> Seq Scan on lineitem_290001 lineitem
+ -> Hash
+ -> Seq Scan on orders_290003 orders
(20 rows)
-- Now set the minimum value for a shard to null. Then check that we don't apply
@@ -174,14 +174,14 @@ LOG: join order: [ "lineitem" ]
Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Index Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
- Index Cond: (l_orderkey = 9030)
-> Task
Node: host=localhost port=57638 dbname=regression
-> Index Scan using lineitem_pkey_290000 on lineitem_290000 lineitem
Index Cond: (l_orderkey = 9030)
+ -> Task
+ Node: host=localhost port=57637 dbname=regression
+ -> Index Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
+ Index Cond: (l_orderkey = 9030)
(11 rows)
EXPLAIN (COSTS FALSE)
diff --git a/src/test/regress/expected/multi_null_minmax_value_pruning_0.out b/src/test/regress/expected/multi_null_minmax_value_pruning_0.out
index 85602ba3d..b90166968 100644
--- a/src/test/regress/expected/multi_null_minmax_value_pruning_0.out
+++ b/src/test/regress/expected/multi_null_minmax_value_pruning_0.out
@@ -74,14 +74,6 @@ DEBUG: join prunable for intervals [8997,14947] and [1,5986]
-> Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Aggregate
- -> Hash Join
- Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
- -> Seq Scan on lineitem_290001 lineitem
- -> Hash
- -> Seq Scan on orders_290003 orders
-> Task
Node: host=localhost port=57638 dbname=regression
-> Aggregate
@@ -90,6 +82,14 @@ DEBUG: join prunable for intervals [8997,14947] and [1,5986]
-> Seq Scan on lineitem_290000 lineitem
-> Hash
-> Seq Scan on orders_290002 orders
+ -> Task
+ Node: host=localhost port=57637 dbname=regression
+ -> Aggregate
+ -> Hash Join
+ Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
+ -> Seq Scan on lineitem_290001 lineitem
+ -> Hash
+ -> Seq Scan on orders_290003 orders
(20 rows)
-- Now set the minimum value for a shard to null. Then check that we don't apply
@@ -174,14 +174,14 @@ LOG: join order: [ "lineitem" ]
Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Index Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
- Index Cond: (l_orderkey = 9030)
-> Task
Node: host=localhost port=57638 dbname=regression
-> Index Scan using lineitem_pkey_290000 on lineitem_290000 lineitem
Index Cond: (l_orderkey = 9030)
+ -> Task
+ Node: host=localhost port=57637 dbname=regression
+ -> Index Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
+ Index Cond: (l_orderkey = 9030)
(11 rows)
EXPLAIN (COSTS FALSE)
diff --git a/src/test/regress/expected/multi_null_minmax_value_pruning_1.out b/src/test/regress/expected/multi_null_minmax_value_pruning_1.out
index 49b07b077..2ceb92e08 100644
--- a/src/test/regress/expected/multi_null_minmax_value_pruning_1.out
+++ b/src/test/regress/expected/multi_null_minmax_value_pruning_1.out
@@ -74,13 +74,6 @@ DEBUG: join prunable for intervals [8997,14947] and [1,5986]
-> Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Aggregate
- -> Merge Join
- Merge Cond: (orders.o_orderkey = lineitem.l_orderkey)
- -> Index Only Scan using orders_pkey_290003 on orders_290003 orders
- -> Index Only Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
-> Task
Node: host=localhost port=57638 dbname=regression
-> Aggregate
@@ -88,6 +81,13 @@ DEBUG: join prunable for intervals [8997,14947] and [1,5986]
Merge Cond: (orders.o_orderkey = lineitem.l_orderkey)
-> Index Only Scan using orders_pkey_290002 on orders_290002 orders
-> Index Only Scan using lineitem_pkey_290000 on lineitem_290000 lineitem
+ -> Task
+ Node: host=localhost port=57637 dbname=regression
+ -> Aggregate
+ -> Merge Join
+ Merge Cond: (orders.o_orderkey = lineitem.l_orderkey)
+ -> Index Only Scan using orders_pkey_290003 on orders_290003 orders
+ -> Index Only Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
(18 rows)
-- Now set the minimum value for a shard to null. Then check that we don't apply
@@ -172,14 +172,14 @@ LOG: join order: [ "lineitem" ]
Custom Scan (Citus Real-Time)
Task Count: 2
Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Index Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
- Index Cond: (l_orderkey = 9030)
-> Task
Node: host=localhost port=57638 dbname=regression
-> Index Scan using lineitem_pkey_290000 on lineitem_290000 lineitem
Index Cond: (l_orderkey = 9030)
+ -> Task
+ Node: host=localhost port=57637 dbname=regression
+ -> Index Scan using lineitem_pkey_290001 on lineitem_290001 lineitem
+ Index Cond: (l_orderkey = 9030)
(11 rows)
EXPLAIN (COSTS FALSE)