diff --git a/src/test/regress/expected/multi_explain.out b/src/test/regress/expected/multi_explain.out
index 870b77ae8..8cd5a1802 100644
--- a/src/test/regress/expected/multi_explain.out
+++ b/src/test/regress/expected/multi_explain.out
@@ -266,8 +266,8 @@ Master Query
-- Test join
EXPLAIN (COSTS FALSE)
SELECT * FROM lineitem
- JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5
- ORDER BY l_quantity DESC LIMIT 10;
+ JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5.0
+ ORDER BY l_quantity LIMIT 10;
Distributed Query into pg_merge_job_570008
Executor: Real-Time
Task Count: 6
@@ -276,17 +276,17 @@ Distributed Query into pg_merge_job_570008
Node: host=localhost port=57637 dbname=regression
-> Limit
-> Sort
- Sort Key: lineitem.l_quantity DESC
+ Sort Key: lineitem.l_quantity
-> Hash Join
Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
-> Seq Scan on lineitem_290000 lineitem
- Filter: (l_quantity < '5'::numeric)
+ Filter: (l_quantity < 5.0)
-> Hash
-> Seq Scan on orders_290006 orders
Master Query
-> Limit
-> Sort
- Sort Key: intermediate_column_570008_4 DESC
+ Sort Key: intermediate_column_570008_4
-> Seq Scan on pg_merge_job_570008
-- Test insert
EXPLAIN (COSTS FALSE)
diff --git a/src/test/regress/expected/multi_explain_0.out b/src/test/regress/expected/multi_explain_0.out
deleted file mode 100644
index ff6c24944..000000000
--- a/src/test/regress/expected/multi_explain_0.out
+++ /dev/null
@@ -1,561 +0,0 @@
---
--- MULTI_EXPLAIN
---
-ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 570000;
-ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 570000;
-\a\t
-SET citus.task_executor_type TO 'real-time';
-SET citus.explain_distributed_queries TO on;
--- Function that parses explain output as JSON
-CREATE FUNCTION explain_json(query text)
-RETURNS jsonb
-AS $BODY$
-DECLARE
- result jsonb;
-BEGIN
- EXECUTE format('EXPLAIN (FORMAT JSON) %s', query) INTO result;
- RETURN result;
-END;
-$BODY$ LANGUAGE plpgsql;
--- Function that parses explain output as XML
-CREATE FUNCTION explain_xml(query text)
-RETURNS xml
-AS $BODY$
-DECLARE
- result xml;
-BEGIN
- EXECUTE format('EXPLAIN (FORMAT XML) %s', query) INTO result;
- RETURN result;
-END;
-$BODY$ LANGUAGE plpgsql;
--- Test Text format
-EXPLAIN (COSTS FALSE, FORMAT TEXT)
- SELECT l_quantity, count(*) count_quantity FROM lineitem
- GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
-Distributed Query into pg_merge_job_570000
- Executor: Real-Time
- Task Count: 6
- Tasks Shown: One of 6
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> HashAggregate
- Group Key: l_quantity
- -> Seq Scan on lineitem_290000 lineitem
-Master Query
- -> Sort
- Sort Key: (sum(((sum(intermediate_column_570000_1))::bigint)))::bigint, intermediate_column_570000_0
- -> HashAggregate
- Group Key: intermediate_column_570000_0
- -> Seq Scan on pg_merge_job_570000
--- Test JSON format
-EXPLAIN (COSTS FALSE, FORMAT JSON)
- SELECT l_quantity, count(*) count_quantity FROM lineitem
- GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
-[
- {
- "Executor": "Real-Time",
- "Job": {
- "Task Count": 6,
- "Tasks Shown": "One of 6",
- "Tasks": [
- {
- "Node": "host=localhost port=57637 dbname=regression",
- "Remote Plan": [
- [
- {
- "Plan": {
- "Node Type": "Aggregate",
- "Strategy": "Hashed",
- "Group Key": ["l_quantity"],
- "Plans": [
- {
- "Node Type": "Seq Scan",
- "Parent Relationship": "Outer",
- "Relation Name": "lineitem_290000",
- "Alias": "lineitem"
- }
- ]
- }
- }
- ]
-
- ]
- }
- ]
- },
- "Master Query": [
- {
- "Plan": {
- "Node Type": "Sort",
- "Sort Key": ["(sum(((sum(intermediate_column_570001_1))::bigint)))::bigint", "intermediate_column_570001_0"],
- "Plans": [
- {
- "Node Type": "Aggregate",
- "Strategy": "Hashed",
- "Parent Relationship": "Outer",
- "Group Key": ["intermediate_column_570001_0"],
- "Plans": [
- {
- "Node Type": "Seq Scan",
- "Parent Relationship": "Outer",
- "Relation Name": "pg_merge_job_570001",
- "Alias": "pg_merge_job_570001"
- }
- ]
- }
- ]
- }
- }
- ]
- }
-]
--- Validate JSON format
-SELECT true AS valid FROM explain_json($$
- SELECT l_quantity, count(*) count_quantity FROM lineitem
- GROUP BY l_quantity ORDER BY count_quantity, l_quantity$$);
-t
--- Test XML format
-EXPLAIN (COSTS FALSE, FORMAT XML)
- SELECT l_quantity, count(*) count_quantity FROM lineitem
- GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
-
-
- Real-Time
-
- 6
- One of 6
-
-
- host=localhost port=57637 dbname=regression
-
-
-
-
- Aggregate
- Hashed
-
- - l_quantity
-
-
-
- Seq Scan
- Outer
- lineitem_290000
- lineitem
-
-
-
-
-
-
-
-
-
-
-
-
- Sort
-
- - (sum(((sum(intermediate_column_570003_1))::bigint)))::bigint
- - intermediate_column_570003_0
-
-
-
- Aggregate
- Hashed
- Outer
-
- - intermediate_column_570003_0
-
-
-
- Seq Scan
- Outer
- pg_merge_job_570003
- pg_merge_job_570003
-
-
-
-
-
-
-
-
-
--- Validate XML format
-SELECT true AS valid FROM explain_xml($$
- SELECT l_quantity, count(*) count_quantity FROM lineitem
- GROUP BY l_quantity ORDER BY count_quantity, l_quantity$$);
-t
--- Test YAML format
-EXPLAIN (COSTS FALSE, FORMAT YAML)
- SELECT l_quantity, count(*) count_quantity FROM lineitem
- GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
-- Executor: "Real-Time"
- Job:
- Task Count: 6
- Tasks Shown: "One of 6"
- Tasks:
- - Node: "host=localhost port=57637 dbname=regression"
- Remote Plan:
- - Plan:
- Node Type: "Aggregate"
- Strategy: "Hashed"
- Group Key:
- - "l_quantity"
- Plans:
- - Node Type: "Seq Scan"
- Parent Relationship: "Outer"
- Relation Name: "lineitem_290000"
- Alias: "lineitem"
-
- Master Query:
- - Plan:
- Node Type: "Sort"
- Sort Key:
- - "(sum(((sum(intermediate_column_570005_1))::bigint)))::bigint"
- - "intermediate_column_570005_0"
- Plans:
- - Node Type: "Aggregate"
- Strategy: "Hashed"
- Parent Relationship: "Outer"
- Group Key:
- - "intermediate_column_570005_0"
- Plans:
- - Node Type: "Seq Scan"
- Parent Relationship: "Outer"
- Relation Name: "pg_merge_job_570005"
- Alias: "pg_merge_job_570005"
--- Test Text format
-EXPLAIN (COSTS FALSE, FORMAT TEXT)
- SELECT l_quantity, count(*) count_quantity FROM lineitem
- GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
-Distributed Query into pg_merge_job_570006
- Executor: Real-Time
- Task Count: 6
- Tasks Shown: One of 6
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> HashAggregate
- Group Key: l_quantity
- -> Seq Scan on lineitem_290000 lineitem
-Master Query
- -> Sort
- Sort Key: (sum(((sum(intermediate_column_570006_1))::bigint)))::bigint, intermediate_column_570006_0
- -> HashAggregate
- Group Key: intermediate_column_570006_0
- -> Seq Scan on pg_merge_job_570006
--- Test verbose
-EXPLAIN (COSTS FALSE, VERBOSE TRUE)
- SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem;
-Distributed Query into pg_merge_job_570007
- Executor: Real-Time
- Task Count: 6
- Tasks Shown: One of 6
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Aggregate
- Output: sum(l_quantity), sum(l_quantity), count(l_quantity)
- -> 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
-Master Query
- -> Aggregate
- Output: (sum(intermediate_column_570007_0) / (sum(intermediate_column_570007_1) / sum(intermediate_column_570007_2)))
- -> Seq Scan on pg_temp_2.pg_merge_job_570007
- Output: intermediate_column_570007_0, intermediate_column_570007_1, intermediate_column_570007_2
--- Test join
-EXPLAIN (COSTS FALSE)
- SELECT * FROM lineitem
- JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5
- ORDER BY l_quantity DESC LIMIT 10;
-Distributed Query into pg_merge_job_570008
- Executor: Real-Time
- Task Count: 6
- Tasks Shown: One of 6
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Limit
- -> Sort
- Sort Key: lineitem.l_quantity
- -> Hash Join
- Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
- -> Seq Scan on lineitem_290000 lineitem
- Filter: (l_quantity < 5::numeric)
- -> Hash
- -> Seq Scan on orders_290006 orders
-Master Query
- -> Limit
- -> Sort
- Sort Key: intermediate_column_570008_4
- -> Seq Scan on pg_merge_job_570008
--- Test insert
-EXPLAIN (COSTS FALSE)
- INSERT INTO lineitem VALUES(1,0);
-Distributed Query
- Executor: Router
- Task Count: 1
- Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Insert on lineitem_290000
- -> Result
--- Test update
-EXPLAIN (COSTS FALSE)
- UPDATE lineitem
- SET l_suppkey = 12
- WHERE l_orderkey = 1 AND l_partkey = 0;
-Distributed Query
- Executor: Router
- Task Count: 1
- Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Update on lineitem_290000
- -> Bitmap Heap Scan on lineitem_290000
- Recheck Cond: (l_orderkey = 1)
- Filter: (l_partkey = 0)
- -> Bitmap Index Scan on lineitem_pkey_290000
- Index Cond: (l_orderkey = 1)
--- Test delete
-EXPLAIN (COSTS FALSE)
- DELETE FROM lineitem
- WHERE l_orderkey = 1 AND l_partkey = 0;
-Distributed Query
- Executor: Router
- Task Count: 1
- Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Delete on lineitem_290000
- -> Bitmap Heap Scan on lineitem_290000
- Recheck Cond: (l_orderkey = 1)
- Filter: (l_partkey = 0)
- -> Bitmap Index Scan on lineitem_pkey_290000
- Index Cond: (l_orderkey = 1)
--- Test single-shard SELECT
-EXPLAIN (COSTS FALSE)
- SELECT l_quantity FROM lineitem WHERE l_orderkey = 5;
-Distributed Query into pg_merge_job_570009
- Executor: Router
- Task Count: 1
- Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Bitmap Heap Scan on lineitem_290000 lineitem
- Recheck Cond: (l_orderkey = 5)
- -> Bitmap Index Scan on lineitem_pkey_290000
- Index Cond: (l_orderkey = 5)
-SELECT true AS valid FROM explain_xml($$
- SELECT l_quantity FROM lineitem WHERE l_orderkey = 5$$);
-t
-SELECT true AS valid FROM explain_json($$
- SELECT l_quantity FROM lineitem WHERE l_orderkey = 5$$);
-t
--- Test CREATE TABLE ... AS
-EXPLAIN (COSTS FALSE)
- CREATE TABLE explain_result AS
- SELECT * FROM lineitem;
-Distributed Query into pg_merge_job_570012
- Executor: Real-Time
- Task Count: 6
- Tasks Shown: One of 6
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Seq Scan on lineitem_290000 lineitem
-Master Query
- -> Seq Scan on pg_merge_job_570012
--- Test all tasks output
-SET citus.explain_all_tasks TO on;
-EXPLAIN (COSTS FALSE)
- SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
-Distributed Query into pg_merge_job_570013
- Executor: Real-Time
- Task Count: 3
- Tasks Shown: All
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Aggregate
- -> Seq Scan on lineitem_290004 lineitem
- Filter: (l_orderkey > 9030)
- -> Task
- Node: host=localhost port=57638 dbname=regression
- -> Aggregate
- -> Seq Scan on lineitem_290003 lineitem
- Filter: (l_orderkey > 9030)
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Aggregate
- -> Seq Scan on lineitem_290005 lineitem
- Filter: (l_orderkey > 9030)
-Master Query
- -> Aggregate
- -> Seq Scan on pg_merge_job_570013
-SELECT true AS valid FROM explain_xml($$
- SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030$$);
-t
-SELECT true AS valid FROM explain_json($$
- SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030$$);
-t
--- Test track tracker
-SET citus.task_executor_type TO 'task-tracker';
-SET citus.explain_all_tasks TO off;
-EXPLAIN (COSTS FALSE)
- SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
-Distributed Query into pg_merge_job_570016
- Executor: Task-Tracker
- Task Count: 3
- Tasks Shown: One of 3
- -> Task
- Node: host=localhost port=57637 dbname=regression
- -> Aggregate
- -> Seq Scan on lineitem_290004 lineitem
- Filter: (l_orderkey > 9030)
-Master Query
- -> Aggregate
- -> Seq Scan on pg_merge_job_570016
--- Test re-partition join
-SET citus.large_table_shard_count TO 1;
-EXPLAIN (COSTS FALSE)
- SELECT count(*)
- FROM lineitem, orders, customer, supplier
- WHERE l_orderkey = o_orderkey
- AND o_custkey = c_custkey
- AND l_suppkey = s_suppkey;
-Distributed Query into pg_merge_job_570019
- Executor: Task-Tracker
- Task Count: 1
- Tasks Shown: None, not supported for re-partition queries
- -> MapMergeJob
- Map Task Count: 1
- Merge Task Count: 1
- -> MapMergeJob
- Map Task Count: 6
- Merge Task Count: 1
-Master Query
- -> Aggregate
- -> Seq Scan on pg_merge_job_570019
-EXPLAIN (COSTS FALSE, FORMAT JSON)
- SELECT count(*)
- FROM lineitem, orders, customer, supplier
- WHERE l_orderkey = o_orderkey
- AND o_custkey = c_custkey
- AND l_suppkey = s_suppkey;
-[
- {
- "Executor": "Task-Tracker",
- "Job": {
- "Task Count": 1,
- "Tasks Shown": "None, not supported for re-partition queries",
- "Depended Jobs": [
- {
- "Map Task Count": 1,
- "Merge Task Count": 1,
- "Depended Jobs": [
- {
- "Map Task Count": 6,
- "Merge Task Count": 1
- }
- ]
- }
- ]
- },
- "Master Query": [
- {
- "Plan": {
- "Node Type": "Aggregate",
- "Strategy": "Plain",
- "Plans": [
- {
- "Node Type": "Seq Scan",
- "Parent Relationship": "Outer",
- "Relation Name": "pg_merge_job_570022",
- "Alias": "pg_merge_job_570022"
- }
- ]
- }
- }
- ]
- }
-]
-SELECT true AS valid FROM explain_json($$
- SELECT count(*)
- FROM lineitem, orders, customer, supplier
- WHERE l_orderkey = o_orderkey
- AND o_custkey = c_custkey
- AND l_suppkey = s_suppkey$$);
-t
-EXPLAIN (COSTS FALSE, FORMAT XML)
- SELECT count(*)
- FROM lineitem, orders, customer, supplier
- WHERE l_orderkey = o_orderkey
- AND o_custkey = c_custkey
- AND l_suppkey = s_suppkey;
-
-
- Task-Tracker
-
- 1
- None, not supported for re-partition queries
-
-
- 1
- 1
-
-
- 6
- 1
-
-
-
-
-
-
-
-
- Aggregate
- Plain
-
-
- Seq Scan
- Outer
- pg_merge_job_570028
- pg_merge_job_570028
-
-
-
-
-
-
-
-SELECT true AS valid FROM explain_xml($$
- SELECT count(*)
- FROM lineitem, orders, customer, supplier
- WHERE l_orderkey = o_orderkey
- AND o_custkey = c_custkey
- AND l_suppkey = s_suppkey$$);
-t
-EXPLAIN (COSTS FALSE, FORMAT YAML)
- SELECT count(*)
- FROM lineitem, orders, customer, supplier
- WHERE l_orderkey = o_orderkey
- AND o_custkey = c_custkey
- AND l_suppkey = s_suppkey;
-- Executor: "Task-Tracker"
- Job:
- Task Count: 1
- Tasks Shown: "None, not supported for re-partition queries"
- Depended Jobs:
- - Map Task Count: 1
- Merge Task Count: 1
- Depended Jobs:
- - Map Task Count: 6
- Merge Task Count: 1
- Master Query:
- - Plan:
- Node Type: "Aggregate"
- Strategy: "Plain"
- Plans:
- - Node Type: "Seq Scan"
- Parent Relationship: "Outer"
- Relation Name: "pg_merge_job_570034"
- Alias: "pg_merge_job_570034"
diff --git a/src/test/regress/expected/multi_large_table_join_planning.out b/src/test/regress/expected/multi_large_table_join_planning.out
index 0d74a72c3..d9a8f8f7b 100644
--- a/src/test/regress/expected/multi_large_table_join_planning.out
+++ b/src/test/regress/expected/multi_large_table_join_planning.out
@@ -38,15 +38,13 @@ WHERE
l_partkey = p_partkey AND
c_custkey = o_custkey AND
(l_quantity > 5.0 OR l_extendedprice > 1200.0) AND
- p_size > 8 AND o_totalprice > 10 AND
- c_acctbal < 5000.0
+ p_size > 8 AND o_totalprice > 10.0 AND
+ c_acctbal < 5000.0 AND l_partkey < 1000
GROUP BY
l_partkey, o_orderkey
ORDER BY
- l_partkey, o_orderkey
-LIMIT 30;
+ l_partkey, o_orderkey;
DEBUG: StartTransactionCommand
-DEBUG: push down of limit count: 30
DEBUG: join prunable for intervals [1,2496] and [8997,14946]
DEBUG: join prunable for intervals [2497,4964] and [8997,14946]
DEBUG: join prunable for intervals [4965,5986] and [8997,14946]
@@ -54,17 +52,17 @@ DEBUG: join prunable for intervals [8997,11554] and [1,5986]
DEBUG: join prunable for intervals [11554,13920] and [1,5986]
DEBUG: join prunable for intervals [13921,14947] and [1,5986]
DEBUG: generated sql query for job 1250 and task 3
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290000 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
+DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290000 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 6
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290001 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
+DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290001 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 9
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290002 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
+DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290002 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 12
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290003 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
+DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290003 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 15
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290004 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
+DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290004 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: generated sql query for job 1250 and task 18
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290005 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
+DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290005 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE ((lineitem.l_partkey < 1000) AND (orders.o_totalprice > 10.0))"
DEBUG: assigned task 3 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 9 to node localhost:57637
@@ -90,11 +88,11 @@ DEBUG: join prunable for intervals [1001,2000] and [6001,7000]
DEBUG: join prunable for intervals [6001,7000] and [1,1000]
DEBUG: join prunable for intervals [6001,7000] and [1001,2000]
DEBUG: generated sql query for job 1252 and task 3
-DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_290008 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1, "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 LIMIT '30'::bigint"
+DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_290008 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1"
DEBUG: generated sql query for job 1252 and task 6
-DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_280001 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1, "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 LIMIT '30'::bigint"
+DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_280001 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1"
DEBUG: generated sql query for job 1252 and task 9
-DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_280000 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1, "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 LIMIT '30'::bigint"
+DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_280000 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1"
DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 7
DEBUG: pruning merge fetch taskId 4
@@ -142,8 +140,7 @@ DEBUG: CommitTransactionCommand
957 | 4293 | 1
960 | 10980 | 1
963 | 4580 | 1
- 6014 | 4614 | 1
-(30 rows)
+(29 rows)
SELECT
l_partkey, o_orderkey, count(*)
diff --git a/src/test/regress/expected/multi_large_table_join_planning_0.out b/src/test/regress/expected/multi_large_table_join_planning_0.out
deleted file mode 100644
index 11fd75a49..000000000
--- a/src/test/regress/expected/multi_large_table_join_planning_0.out
+++ /dev/null
@@ -1,239 +0,0 @@
---
--- MULTI_LARGE_TABLE_PLANNING
---
--- Tests that cover large table join planning. Note that we explicitly start a
--- transaction block here so that we don't emit debug messages with changing
--- transaction ids in them. Also, we set the executor type to task tracker
--- executor here, as we cannot run repartition jobs with real time executor.
-ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 690000;
-ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 690000;
-BEGIN;
-SET client_min_messages TO DEBUG4;
-DEBUG: CommitTransactionCommand
-SET citus.large_table_shard_count TO 2;
-DEBUG: StartTransactionCommand
-DEBUG: ProcessUtility
-DEBUG: CommitTransactionCommand
-SET citus.task_executor_type TO 'task-tracker';
-DEBUG: StartTransactionCommand
-DEBUG: ProcessUtility
-DEBUG: CommitTransactionCommand
--- Debug4 log messages display jobIds within them. We explicitly set the jobId
--- sequence here so that the regression output becomes independent of the number
--- of jobs executed prior to running this test.
-ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1250;
-DEBUG: StartTransactionCommand
-DEBUG: ProcessUtility
-DEBUG: CommitTransactionCommand
--- Multi-level repartition join to verify our projection columns are correctly
--- referenced and propagated across multiple repartition jobs. The test also
--- validates that only the minimal necessary projection columns are transferred
--- between jobs.
-SELECT
- l_partkey, o_orderkey, count(*)
-FROM
- lineitem, part, orders, customer
-WHERE
- l_orderkey = o_orderkey AND
- l_partkey = p_partkey AND
- c_custkey = o_custkey AND
- (l_quantity > 5.0 OR l_extendedprice > 1200.0) AND
- p_size > 8 AND o_totalprice > 10 AND
- c_acctbal < 5000.0
-GROUP BY
- l_partkey, o_orderkey
-ORDER BY
- l_partkey, o_orderkey
-LIMIT 30;
-DEBUG: StartTransactionCommand
-DEBUG: push down of limit count: 30
-DEBUG: join prunable for intervals [1,2496] and [8997,14946]
-DEBUG: join prunable for intervals [2497,4964] and [8997,14946]
-DEBUG: join prunable for intervals [4965,5986] and [8997,14946]
-DEBUG: join prunable for intervals [8997,11554] and [1,5986]
-DEBUG: join prunable for intervals [11554,13920] and [1,5986]
-DEBUG: join prunable for intervals [13921,14947] and [1,5986]
-DEBUG: generated sql query for job 1250 and task 3
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290000 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
-DEBUG: generated sql query for job 1250 and task 6
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290001 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
-DEBUG: generated sql query for job 1250 and task 9
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290002 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
-DEBUG: generated sql query for job 1250 and task 12
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290003 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
-DEBUG: generated sql query for job 1250 and task 15
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290004 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
-DEBUG: generated sql query for job 1250 and task 18
-DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290005 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
-DEBUG: assigned task 3 to node localhost:57637
-DEBUG: assigned task 6 to node localhost:57638
-DEBUG: assigned task 9 to node localhost:57637
-DEBUG: assigned task 12 to node localhost:57638
-DEBUG: assigned task 15 to node localhost:57637
-DEBUG: assigned task 18 to node localhost:57638
-DEBUG: join prunable for intervals [1,1000] and [6001,7000]
-DEBUG: join prunable for intervals [6001,7000] and [1,1000]
-DEBUG: generated sql query for job 1251 and task 3
-DETAIL: query string: "SELECT "pg_merge_job_1250.task_000019".intermediate_column_1250_0, "pg_merge_job_1250.task_000019".intermediate_column_1250_1, "pg_merge_job_1250.task_000019".intermediate_column_1250_2, "pg_merge_job_1250.task_000019".intermediate_column_1250_3, "pg_merge_job_1250.task_000019".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000019 "pg_merge_job_1250.task_000019" JOIN part_290010 part ON (("pg_merge_job_1250.task_000019".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
-DEBUG: generated sql query for job 1251 and task 6
-DETAIL: query string: "SELECT "pg_merge_job_1250.task_000026".intermediate_column_1250_0, "pg_merge_job_1250.task_000026".intermediate_column_1250_1, "pg_merge_job_1250.task_000026".intermediate_column_1250_2, "pg_merge_job_1250.task_000026".intermediate_column_1250_3, "pg_merge_job_1250.task_000026".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000026 "pg_merge_job_1250.task_000026" JOIN part_280002 part ON (("pg_merge_job_1250.task_000026".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
-DEBUG: pruning merge fetch taskId 1
-DETAIL: Creating dependency on merge taskId 19
-DEBUG: pruning merge fetch taskId 4
-DETAIL: Creating dependency on merge taskId 26
-DEBUG: assigned task 6 to node localhost:57637
-DEBUG: assigned task 3 to node localhost:57638
-DEBUG: join prunable for intervals [1,1000] and [1001,2000]
-DEBUG: join prunable for intervals [1,1000] and [6001,7000]
-DEBUG: join prunable for intervals [1001,2000] and [1,1000]
-DEBUG: join prunable for intervals [1001,2000] and [6001,7000]
-DEBUG: join prunable for intervals [6001,7000] and [1,1000]
-DEBUG: join prunable for intervals [6001,7000] and [1001,2000]
-DEBUG: generated sql query for job 1252 and task 3
-DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_290008 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1, "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 LIMIT 30::bigint"
-DEBUG: generated sql query for job 1252 and task 6
-DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_280001 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1, "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 LIMIT 30::bigint"
-DEBUG: generated sql query for job 1252 and task 9
-DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_280000 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1, "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 LIMIT 30::bigint"
-DEBUG: pruning merge fetch taskId 1
-DETAIL: Creating dependency on merge taskId 7
-DEBUG: pruning merge fetch taskId 4
-DETAIL: Creating dependency on merge taskId 10
-DEBUG: pruning merge fetch taskId 7
-DETAIL: Creating dependency on merge taskId 13
-DEBUG: assigned task 9 to node localhost:57637
-DEBUG: assigned task 6 to node localhost:57638
-DEBUG: assigned task 3 to node localhost:57637
-DEBUG: completed cleanup query for job 1252
-DEBUG: completed cleanup query for job 1252
-DEBUG: completed cleanup query for job 1251
-DEBUG: completed cleanup query for job 1251
-DEBUG: completed cleanup query for job 1250
-DEBUG: completed cleanup query for job 1250
-DEBUG: CommitTransactionCommand
- l_partkey | o_orderkey | count
------------+------------+-------
- 18 | 12005 | 1
- 79 | 5121 | 1
- 91 | 2883 | 1
- 222 | 9413 | 1
- 278 | 1287 | 1
- 309 | 2374 | 1
- 318 | 321 | 1
- 321 | 5984 | 1
- 337 | 10403 | 1
- 350 | 13698 | 1
- 358 | 4323 | 1
- 364 | 9347 | 1
- 416 | 640 | 1
- 426 | 10855 | 1
- 450 | 35 | 1
- 484 | 3843 | 1
- 504 | 14566 | 1
- 510 | 13569 | 1
- 532 | 3175 | 1
- 641 | 134 | 1
- 669 | 10944 | 1
- 716 | 2885 | 1
- 738 | 4355 | 1
- 802 | 2534 | 1
- 824 | 9287 | 1
- 864 | 3175 | 1
- 957 | 4293 | 1
- 960 | 10980 | 1
- 963 | 4580 | 1
- 6014 | 4614 | 1
-(30 rows)
-
-SELECT
- l_partkey, o_orderkey, count(*)
-FROM
- lineitem, orders
-WHERE
- l_suppkey = o_shippriority AND
- l_quantity < 5.0 AND o_totalprice <> 4.0
-GROUP BY
- l_partkey, o_orderkey
-ORDER BY
- l_partkey, o_orderkey;
-DEBUG: StartTransactionCommand
-DEBUG: generated sql query for job 1253 and task 2
-DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290000 lineitem WHERE (l_quantity < 5.0)"
-DEBUG: generated sql query for job 1253 and task 4
-DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290001 lineitem WHERE (l_quantity < 5.0)"
-DEBUG: generated sql query for job 1253 and task 6
-DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290002 lineitem WHERE (l_quantity < 5.0)"
-DEBUG: generated sql query for job 1253 and task 8
-DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290003 lineitem WHERE (l_quantity < 5.0)"
-DEBUG: generated sql query for job 1253 and task 10
-DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290004 lineitem WHERE (l_quantity < 5.0)"
-DEBUG: generated sql query for job 1253 and task 12
-DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290005 lineitem WHERE (l_quantity < 5.0)"
-DEBUG: assigned task 2 to node localhost:57637
-DEBUG: assigned task 4 to node localhost:57638
-DEBUG: assigned task 6 to node localhost:57637
-DEBUG: assigned task 8 to node localhost:57638
-DEBUG: assigned task 10 to node localhost:57637
-DEBUG: assigned task 12 to node localhost:57638
-DEBUG: generated sql query for job 1254 and task 2
-DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290006 orders WHERE (o_totalprice <> 4.0)"
-DEBUG: generated sql query for job 1254 and task 4
-DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290007 orders WHERE (o_totalprice <> 4.0)"
-DEBUG: assigned task 2 to node localhost:57637
-DEBUG: assigned task 4 to node localhost:57638
-DEBUG: join prunable for task partitionId 0 and 1
-DEBUG: join prunable for task partitionId 0 and 2
-DEBUG: join prunable for task partitionId 0 and 3
-DEBUG: join prunable for task partitionId 1 and 0
-DEBUG: join prunable for task partitionId 1 and 2
-DEBUG: join prunable for task partitionId 1 and 3
-DEBUG: join prunable for task partitionId 2 and 0
-DEBUG: join prunable for task partitionId 2 and 1
-DEBUG: join prunable for task partitionId 2 and 3
-DEBUG: join prunable for task partitionId 3 and 0
-DEBUG: join prunable for task partitionId 3 and 1
-DEBUG: join prunable for task partitionId 3 and 2
-DEBUG: generated sql query for job 1255 and task 3
-DETAIL: query string: "SELECT "pg_merge_job_1253.task_000013".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000005".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000013 "pg_merge_job_1253.task_000013" JOIN pg_merge_job_1254.task_000005 "pg_merge_job_1254.task_000005" ON (("pg_merge_job_1253.task_000013".intermediate_column_1253_1 = "pg_merge_job_1254.task_000005".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000013".intermediate_column_1253_0, "pg_merge_job_1254.task_000005".intermediate_column_1254_0"
-DEBUG: generated sql query for job 1255 and task 6
-DETAIL: query string: "SELECT "pg_merge_job_1253.task_000020".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000008".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000020 "pg_merge_job_1253.task_000020" JOIN pg_merge_job_1254.task_000008 "pg_merge_job_1254.task_000008" ON (("pg_merge_job_1253.task_000020".intermediate_column_1253_1 = "pg_merge_job_1254.task_000008".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000020".intermediate_column_1253_0, "pg_merge_job_1254.task_000008".intermediate_column_1254_0"
-DEBUG: generated sql query for job 1255 and task 9
-DETAIL: query string: "SELECT "pg_merge_job_1253.task_000027".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000011".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000027 "pg_merge_job_1253.task_000027" JOIN pg_merge_job_1254.task_000011 "pg_merge_job_1254.task_000011" ON (("pg_merge_job_1253.task_000027".intermediate_column_1253_1 = "pg_merge_job_1254.task_000011".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000027".intermediate_column_1253_0, "pg_merge_job_1254.task_000011".intermediate_column_1254_0"
-DEBUG: generated sql query for job 1255 and task 12
-DETAIL: query string: "SELECT "pg_merge_job_1253.task_000034".intermediate_column_1253_0 AS l_partkey, "pg_merge_job_1254.task_000014".intermediate_column_1254_0 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1253.task_000034 "pg_merge_job_1253.task_000034" JOIN pg_merge_job_1254.task_000014 "pg_merge_job_1254.task_000014" ON (("pg_merge_job_1253.task_000034".intermediate_column_1253_1 = "pg_merge_job_1254.task_000014".intermediate_column_1254_1))) WHERE true GROUP BY "pg_merge_job_1253.task_000034".intermediate_column_1253_0, "pg_merge_job_1254.task_000014".intermediate_column_1254_0"
-DEBUG: pruning merge fetch taskId 1
-DETAIL: Creating dependency on merge taskId 13
-DEBUG: pruning merge fetch taskId 2
-DETAIL: Creating dependency on merge taskId 5
-DEBUG: pruning merge fetch taskId 4
-DETAIL: Creating dependency on merge taskId 20
-DEBUG: pruning merge fetch taskId 5
-DETAIL: Creating dependency on merge taskId 8
-DEBUG: pruning merge fetch taskId 7
-DETAIL: Creating dependency on merge taskId 27
-DEBUG: pruning merge fetch taskId 8
-DETAIL: Creating dependency on merge taskId 11
-DEBUG: pruning merge fetch taskId 10
-DETAIL: Creating dependency on merge taskId 34
-DEBUG: pruning merge fetch taskId 11
-DETAIL: Creating dependency on merge taskId 14
-DEBUG: assigned task 3 to node localhost:57638
-DEBUG: assigned task 6 to node localhost:57637
-DEBUG: assigned task 9 to node localhost:57638
-DEBUG: assigned task 12 to node localhost:57637
-DEBUG: completed cleanup query for job 1255
-DEBUG: completed cleanup query for job 1255
-DEBUG: completed cleanup query for job 1253
-DEBUG: completed cleanup query for job 1253
-DEBUG: completed cleanup query for job 1254
-DEBUG: completed cleanup query for job 1254
-DEBUG: CommitTransactionCommand
- l_partkey | o_orderkey | count
------------+------------+-------
-(0 rows)
-
--- Reset client logging level to its previous value
-SET client_min_messages TO NOTICE;
-DEBUG: StartTransactionCommand
-DEBUG: ProcessUtility
-COMMIT;
diff --git a/src/test/regress/sql/multi_explain.sql b/src/test/regress/sql/multi_explain.sql
index aa16e9d3a..7b6f722e4 100644
--- a/src/test/regress/sql/multi_explain.sql
+++ b/src/test/regress/sql/multi_explain.sql
@@ -78,8 +78,8 @@ EXPLAIN (COSTS FALSE, VERBOSE TRUE)
-- Test join
EXPLAIN (COSTS FALSE)
SELECT * FROM lineitem
- JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5
- ORDER BY l_quantity DESC LIMIT 10;
+ JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5.0
+ ORDER BY l_quantity LIMIT 10;
-- Test insert
EXPLAIN (COSTS FALSE)
diff --git a/src/test/regress/sql/multi_large_table_join_planning.sql b/src/test/regress/sql/multi_large_table_join_planning.sql
index 91c2d25e6..bc41d4427 100644
--- a/src/test/regress/sql/multi_large_table_join_planning.sql
+++ b/src/test/regress/sql/multi_large_table_join_planning.sql
@@ -36,13 +36,12 @@ WHERE
l_partkey = p_partkey AND
c_custkey = o_custkey AND
(l_quantity > 5.0 OR l_extendedprice > 1200.0) AND
- p_size > 8 AND o_totalprice > 10 AND
- c_acctbal < 5000.0
+ p_size > 8 AND o_totalprice > 10.0 AND
+ c_acctbal < 5000.0 AND l_partkey < 1000
GROUP BY
l_partkey, o_orderkey
ORDER BY
- l_partkey, o_orderkey
-LIMIT 30;
+ l_partkey, o_orderkey;
SELECT
l_partkey, o_orderkey, count(*)