mirror of https://github.com/citusdata/citus.git
Remove variant files
This checkin removes variant files we needed due to differences in outputs of pg94 and pg95 runs. However, variant file for test multi_upsert stays since this file tests for a feature that does not exist in pg94, and outputs are drastically different.pull/586/head
parent
bbf13be508
commit
31df82ba7a
|
@ -266,8 +266,8 @@ Master Query
|
||||||
-- Test join
|
-- Test join
|
||||||
EXPLAIN (COSTS FALSE)
|
EXPLAIN (COSTS FALSE)
|
||||||
SELECT * FROM lineitem
|
SELECT * FROM lineitem
|
||||||
JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5
|
JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5.0
|
||||||
ORDER BY l_quantity DESC LIMIT 10;
|
ORDER BY l_quantity LIMIT 10;
|
||||||
Distributed Query into pg_merge_job_570008
|
Distributed Query into pg_merge_job_570008
|
||||||
Executor: Real-Time
|
Executor: Real-Time
|
||||||
Task Count: 6
|
Task Count: 6
|
||||||
|
@ -276,17 +276,17 @@ Distributed Query into pg_merge_job_570008
|
||||||
Node: host=localhost port=57637 dbname=regression
|
Node: host=localhost port=57637 dbname=regression
|
||||||
-> Limit
|
-> Limit
|
||||||
-> Sort
|
-> Sort
|
||||||
Sort Key: lineitem.l_quantity DESC
|
Sort Key: lineitem.l_quantity
|
||||||
-> Hash Join
|
-> Hash Join
|
||||||
Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
|
Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
|
||||||
-> Seq Scan on lineitem_290000 lineitem
|
-> Seq Scan on lineitem_290000 lineitem
|
||||||
Filter: (l_quantity < '5'::numeric)
|
Filter: (l_quantity < 5.0)
|
||||||
-> Hash
|
-> Hash
|
||||||
-> Seq Scan on orders_290006 orders
|
-> Seq Scan on orders_290006 orders
|
||||||
Master Query
|
Master Query
|
||||||
-> Limit
|
-> Limit
|
||||||
-> Sort
|
-> Sort
|
||||||
Sort Key: intermediate_column_570008_4 DESC
|
Sort Key: intermediate_column_570008_4
|
||||||
-> Seq Scan on pg_merge_job_570008
|
-> Seq Scan on pg_merge_job_570008
|
||||||
-- Test insert
|
-- Test insert
|
||||||
EXPLAIN (COSTS FALSE)
|
EXPLAIN (COSTS FALSE)
|
||||||
|
|
|
@ -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;
|
|
||||||
<explain xmlns="http://www.postgresql.org/2009/explain">
|
|
||||||
<Distributed-Query>
|
|
||||||
<Executor>Real-Time</Executor>
|
|
||||||
<Job>
|
|
||||||
<Task-Count>6</Task-Count>
|
|
||||||
<Tasks-Shown>One of 6</Tasks-Shown>
|
|
||||||
<Tasks>
|
|
||||||
<Task>
|
|
||||||
<Node>host=localhost port=57637 dbname=regression</Node>
|
|
||||||
<Remote-Plan>
|
|
||||||
<explain xmlns="http://www.postgresql.org/2009/explain">
|
|
||||||
<Query>
|
|
||||||
<Plan>
|
|
||||||
<Node-Type>Aggregate</Node-Type>
|
|
||||||
<Strategy>Hashed</Strategy>
|
|
||||||
<Group-Key>
|
|
||||||
<Item>l_quantity</Item>
|
|
||||||
</Group-Key>
|
|
||||||
<Plans>
|
|
||||||
<Plan>
|
|
||||||
<Node-Type>Seq Scan</Node-Type>
|
|
||||||
<Parent-Relationship>Outer</Parent-Relationship>
|
|
||||||
<Relation-Name>lineitem_290000</Relation-Name>
|
|
||||||
<Alias>lineitem</Alias>
|
|
||||||
</Plan>
|
|
||||||
</Plans>
|
|
||||||
</Plan>
|
|
||||||
</Query>
|
|
||||||
</explain>
|
|
||||||
</Remote-Plan>
|
|
||||||
</Task>
|
|
||||||
</Tasks>
|
|
||||||
</Job>
|
|
||||||
<Master-Query>
|
|
||||||
<Query>
|
|
||||||
<Plan>
|
|
||||||
<Node-Type>Sort</Node-Type>
|
|
||||||
<Sort-Key>
|
|
||||||
<Item>(sum(((sum(intermediate_column_570003_1))::bigint)))::bigint</Item>
|
|
||||||
<Item>intermediate_column_570003_0</Item>
|
|
||||||
</Sort-Key>
|
|
||||||
<Plans>
|
|
||||||
<Plan>
|
|
||||||
<Node-Type>Aggregate</Node-Type>
|
|
||||||
<Strategy>Hashed</Strategy>
|
|
||||||
<Parent-Relationship>Outer</Parent-Relationship>
|
|
||||||
<Group-Key>
|
|
||||||
<Item>intermediate_column_570003_0</Item>
|
|
||||||
</Group-Key>
|
|
||||||
<Plans>
|
|
||||||
<Plan>
|
|
||||||
<Node-Type>Seq Scan</Node-Type>
|
|
||||||
<Parent-Relationship>Outer</Parent-Relationship>
|
|
||||||
<Relation-Name>pg_merge_job_570003</Relation-Name>
|
|
||||||
<Alias>pg_merge_job_570003</Alias>
|
|
||||||
</Plan>
|
|
||||||
</Plans>
|
|
||||||
</Plan>
|
|
||||||
</Plans>
|
|
||||||
</Plan>
|
|
||||||
</Query>
|
|
||||||
</Master-Query>
|
|
||||||
</Distributed-Query>
|
|
||||||
</explain>
|
|
||||||
-- 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;
|
|
||||||
<explain xmlns="http://www.postgresql.org/2009/explain">
|
|
||||||
<Distributed-Query>
|
|
||||||
<Executor>Task-Tracker</Executor>
|
|
||||||
<Job>
|
|
||||||
<Task-Count>1</Task-Count>
|
|
||||||
<Tasks-Shown>None, not supported for re-partition queries</Tasks-Shown>
|
|
||||||
<Depended-Jobs>
|
|
||||||
<MapMergeJob>
|
|
||||||
<Map-Task-Count>1</Map-Task-Count>
|
|
||||||
<Merge-Task-Count>1</Merge-Task-Count>
|
|
||||||
<Depended-Jobs>
|
|
||||||
<MapMergeJob>
|
|
||||||
<Map-Task-Count>6</Map-Task-Count>
|
|
||||||
<Merge-Task-Count>1</Merge-Task-Count>
|
|
||||||
</MapMergeJob>
|
|
||||||
</Depended-Jobs>
|
|
||||||
</MapMergeJob>
|
|
||||||
</Depended-Jobs>
|
|
||||||
</Job>
|
|
||||||
<Master-Query>
|
|
||||||
<Query>
|
|
||||||
<Plan>
|
|
||||||
<Node-Type>Aggregate</Node-Type>
|
|
||||||
<Strategy>Plain</Strategy>
|
|
||||||
<Plans>
|
|
||||||
<Plan>
|
|
||||||
<Node-Type>Seq Scan</Node-Type>
|
|
||||||
<Parent-Relationship>Outer</Parent-Relationship>
|
|
||||||
<Relation-Name>pg_merge_job_570028</Relation-Name>
|
|
||||||
<Alias>pg_merge_job_570028</Alias>
|
|
||||||
</Plan>
|
|
||||||
</Plans>
|
|
||||||
</Plan>
|
|
||||||
</Query>
|
|
||||||
</Master-Query>
|
|
||||||
</Distributed-Query>
|
|
||||||
</explain>
|
|
||||||
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"
|
|
|
@ -38,15 +38,13 @@ WHERE
|
||||||
l_partkey = p_partkey AND
|
l_partkey = p_partkey AND
|
||||||
c_custkey = o_custkey AND
|
c_custkey = o_custkey AND
|
||||||
(l_quantity > 5.0 OR l_extendedprice > 1200.0) AND
|
(l_quantity > 5.0 OR l_extendedprice > 1200.0) AND
|
||||||
p_size > 8 AND o_totalprice > 10 AND
|
p_size > 8 AND o_totalprice > 10.0 AND
|
||||||
c_acctbal < 5000.0
|
c_acctbal < 5000.0 AND l_partkey < 1000
|
||||||
GROUP BY
|
GROUP BY
|
||||||
l_partkey, o_orderkey
|
l_partkey, o_orderkey
|
||||||
ORDER BY
|
ORDER BY
|
||||||
l_partkey, o_orderkey
|
l_partkey, o_orderkey;
|
||||||
LIMIT 30;
|
|
||||||
DEBUG: StartTransactionCommand
|
DEBUG: StartTransactionCommand
|
||||||
DEBUG: push down of limit count: 30
|
|
||||||
DEBUG: join prunable for intervals [1,2496] and [8997,14946]
|
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 [2497,4964] and [8997,14946]
|
||||||
DEBUG: join prunable for intervals [4965,5986] 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 [11554,13920] and [1,5986]
|
||||||
DEBUG: join prunable for intervals [13921,14947] and [1,5986]
|
DEBUG: join prunable for intervals [13921,14947] and [1,5986]
|
||||||
DEBUG: generated sql query for job 1250 and task 3
|
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
|
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
|
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
|
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
|
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
|
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 3 to node localhost:57637
|
||||||
DEBUG: assigned task 6 to node localhost:57638
|
DEBUG: assigned task 6 to node localhost:57638
|
||||||
DEBUG: assigned task 9 to node localhost:57637
|
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 [1,1000]
|
||||||
DEBUG: join prunable for intervals [6001,7000] and [1001,2000]
|
DEBUG: join prunable for intervals [6001,7000] and [1001,2000]
|
||||||
DEBUG: generated sql query for job 1252 and task 3
|
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
|
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
|
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
|
DEBUG: pruning merge fetch taskId 1
|
||||||
DETAIL: Creating dependency on merge taskId 7
|
DETAIL: Creating dependency on merge taskId 7
|
||||||
DEBUG: pruning merge fetch taskId 4
|
DEBUG: pruning merge fetch taskId 4
|
||||||
|
@ -142,8 +140,7 @@ DEBUG: CommitTransactionCommand
|
||||||
957 | 4293 | 1
|
957 | 4293 | 1
|
||||||
960 | 10980 | 1
|
960 | 10980 | 1
|
||||||
963 | 4580 | 1
|
963 | 4580 | 1
|
||||||
6014 | 4614 | 1
|
(29 rows)
|
||||||
(30 rows)
|
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
l_partkey, o_orderkey, count(*)
|
l_partkey, o_orderkey, count(*)
|
||||||
|
|
|
@ -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;
|
|
|
@ -78,8 +78,8 @@ EXPLAIN (COSTS FALSE, VERBOSE TRUE)
|
||||||
-- Test join
|
-- Test join
|
||||||
EXPLAIN (COSTS FALSE)
|
EXPLAIN (COSTS FALSE)
|
||||||
SELECT * FROM lineitem
|
SELECT * FROM lineitem
|
||||||
JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5
|
JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5.0
|
||||||
ORDER BY l_quantity DESC LIMIT 10;
|
ORDER BY l_quantity LIMIT 10;
|
||||||
|
|
||||||
-- Test insert
|
-- Test insert
|
||||||
EXPLAIN (COSTS FALSE)
|
EXPLAIN (COSTS FALSE)
|
||||||
|
|
|
@ -36,13 +36,12 @@ WHERE
|
||||||
l_partkey = p_partkey AND
|
l_partkey = p_partkey AND
|
||||||
c_custkey = o_custkey AND
|
c_custkey = o_custkey AND
|
||||||
(l_quantity > 5.0 OR l_extendedprice > 1200.0) AND
|
(l_quantity > 5.0 OR l_extendedprice > 1200.0) AND
|
||||||
p_size > 8 AND o_totalprice > 10 AND
|
p_size > 8 AND o_totalprice > 10.0 AND
|
||||||
c_acctbal < 5000.0
|
c_acctbal < 5000.0 AND l_partkey < 1000
|
||||||
GROUP BY
|
GROUP BY
|
||||||
l_partkey, o_orderkey
|
l_partkey, o_orderkey
|
||||||
ORDER BY
|
ORDER BY
|
||||||
l_partkey, o_orderkey
|
l_partkey, o_orderkey;
|
||||||
LIMIT 30;
|
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
l_partkey, o_orderkey, count(*)
|
l_partkey, o_orderkey, count(*)
|
||||||
|
|
Loading…
Reference in New Issue