mirror of https://github.com/citusdata/citus.git
window_functions: 'ORDER BY time' when using lag(time) & coordinator_plan
parent
7992077fd9
commit
0d9e5bde9c
|
@ -302,7 +302,7 @@ SELECT
|
||||||
COUNT(*) OVER (PARTITION BY user_id, user_id + 1),
|
COUNT(*) OVER (PARTITION BY user_id, user_id + 1),
|
||||||
rank() OVER (PARTITION BY user_id) as cnt1,
|
rank() OVER (PARTITION BY user_id) as cnt1,
|
||||||
COUNT(*) OVER (PARTITION BY user_id, abs(value_1 - value_2)) as cnt2,
|
COUNT(*) OVER (PARTITION BY user_id, abs(value_1 - value_2)) as cnt2,
|
||||||
date_trunc('min', lag(time) OVER (PARTITION BY user_id)) as datee,
|
date_trunc('min', lag(time) OVER (PARTITION BY user_id ORDER BY time)) as datee,
|
||||||
rank() OVER my_win as rnnk,
|
rank() OVER my_win as rnnk,
|
||||||
avg(CASE
|
avg(CASE
|
||||||
WHEN user_id > 4
|
WHEN user_id > 4
|
||||||
|
@ -759,6 +759,7 @@ ORDER BY
|
||||||
1 | 3.2857142857142857 | 1.00000000000000000000
|
1 | 3.2857142857142857 | 1.00000000000000000000
|
||||||
(6 rows)
|
(6 rows)
|
||||||
|
|
||||||
|
SELECT coordinator_plan($Q$
|
||||||
EXPLAIN (COSTS FALSE)
|
EXPLAIN (COSTS FALSE)
|
||||||
SELECT
|
SELECT
|
||||||
user_id,
|
user_id,
|
||||||
|
@ -770,27 +771,16 @@ GROUP BY
|
||||||
1
|
1
|
||||||
ORDER BY
|
ORDER BY
|
||||||
3 DESC, 2 DESC, 1 DESC;
|
3 DESC, 2 DESC, 1 DESC;
|
||||||
QUERY PLAN
|
$Q$);
|
||||||
-----------------------------------------------------------------------------------------------------------------------------------
|
coordinator_plan
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
Sort
|
Sort
|
||||||
Sort Key: remote_scan.avg_1 DESC, remote_scan.avg DESC, remote_scan.user_id DESC
|
Sort Key: remote_scan.avg_1 DESC, remote_scan.avg DESC, remote_scan.user_id DESC
|
||||||
-> HashAggregate
|
-> HashAggregate
|
||||||
Group Key: remote_scan.user_id
|
Group Key: remote_scan.user_id
|
||||||
-> Custom Scan (Citus Real-Time)
|
-> Custom Scan (Citus Adaptive)
|
||||||
Task Count: 4
|
Task Count: 4
|
||||||
Tasks Shown: One of 4
|
(6 rows)
|
||||||
-> Task
|
|
||||||
Node: host=localhost port=57637 dbname=regression
|
|
||||||
-> WindowAgg
|
|
||||||
-> Sort
|
|
||||||
Sort Key: users_table.user_id, (min(users_table.user_id)), (avg(users_table.value_1))
|
|
||||||
-> WindowAgg
|
|
||||||
-> Sort
|
|
||||||
Sort Key: users_table.user_id, (max(users_table.user_id)), (min(users_table.value_2))
|
|
||||||
-> HashAggregate
|
|
||||||
Group Key: users_table.user_id
|
|
||||||
-> Seq Scan on users_table_1400256 users_table
|
|
||||||
(18 rows)
|
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
user_id,
|
user_id,
|
||||||
|
@ -963,7 +953,7 @@ ORDER BY user_id, avg(value_1) DESC;
|
||||||
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
||||||
-> HashAggregate
|
-> HashAggregate
|
||||||
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
||||||
-> Custom Scan (Citus Real-Time)
|
-> Custom Scan (Citus Adaptive)
|
||||||
Task Count: 4
|
Task Count: 4
|
||||||
Tasks Shown: One of 4
|
Tasks Shown: One of 4
|
||||||
-> Task
|
-> Task
|
||||||
|
@ -1039,7 +1029,7 @@ LIMIT 5;
|
||||||
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
||||||
-> HashAggregate
|
-> HashAggregate
|
||||||
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
||||||
-> Custom Scan (Citus Real-Time)
|
-> Custom Scan (Citus Adaptive)
|
||||||
Task Count: 4
|
Task Count: 4
|
||||||
Tasks Shown: One of 4
|
Tasks Shown: One of 4
|
||||||
-> Task
|
-> Task
|
||||||
|
@ -1069,7 +1059,7 @@ LIMIT 5;
|
||||||
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
||||||
-> HashAggregate
|
-> HashAggregate
|
||||||
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
||||||
-> Custom Scan (Citus Real-Time)
|
-> Custom Scan (Citus Adaptive)
|
||||||
Task Count: 4
|
Task Count: 4
|
||||||
Tasks Shown: One of 4
|
Tasks Shown: One of 4
|
||||||
-> Task
|
-> Task
|
||||||
|
@ -1099,7 +1089,7 @@ LIMIT 5;
|
||||||
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
||||||
-> HashAggregate
|
-> HashAggregate
|
||||||
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
||||||
-> Custom Scan (Citus Real-Time)
|
-> Custom Scan (Citus Adaptive)
|
||||||
Task Count: 4
|
Task Count: 4
|
||||||
Tasks Shown: One of 4
|
Tasks Shown: One of 4
|
||||||
-> Task
|
-> Task
|
||||||
|
@ -1129,7 +1119,7 @@ LIMIT 5;
|
||||||
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
Sort Key: remote_scan.user_id, (pg_catalog.sum(((pg_catalog.sum(remote_scan.avg) / pg_catalog.sum(remote_scan.avg_1)))) / pg_catalog.sum(remote_scan.rank)) DESC
|
||||||
-> HashAggregate
|
-> HashAggregate
|
||||||
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
Group Key: remote_scan.user_id, remote_scan.worker_column_5
|
||||||
-> Custom Scan (Citus Real-Time)
|
-> Custom Scan (Citus Adaptive)
|
||||||
Task Count: 4
|
Task Count: 4
|
||||||
Tasks Shown: One of 4
|
Tasks Shown: One of 4
|
||||||
-> Task
|
-> Task
|
||||||
|
|
|
@ -302,7 +302,7 @@ SELECT
|
||||||
COUNT(*) OVER (PARTITION BY user_id, user_id + 1),
|
COUNT(*) OVER (PARTITION BY user_id, user_id + 1),
|
||||||
rank() OVER (PARTITION BY user_id) as cnt1,
|
rank() OVER (PARTITION BY user_id) as cnt1,
|
||||||
COUNT(*) OVER (PARTITION BY user_id, abs(value_1 - value_2)) as cnt2,
|
COUNT(*) OVER (PARTITION BY user_id, abs(value_1 - value_2)) as cnt2,
|
||||||
date_trunc('min', lag(time) OVER (PARTITION BY user_id)) as datee,
|
date_trunc('min', lag(time) OVER (PARTITION BY user_id ORDER BY time)) as datee,
|
||||||
rank() OVER my_win as rnnk,
|
rank() OVER my_win as rnnk,
|
||||||
avg(CASE
|
avg(CASE
|
||||||
WHEN user_id > 4
|
WHEN user_id > 4
|
||||||
|
@ -558,6 +558,7 @@ ORDER BY
|
||||||
1 | 3.2857142857142857 | 1.00000000000000000000
|
1 | 3.2857142857142857 | 1.00000000000000000000
|
||||||
(6 rows)
|
(6 rows)
|
||||||
|
|
||||||
|
SELECT coordinator_plan($Q$
|
||||||
EXPLAIN (COSTS FALSE)
|
EXPLAIN (COSTS FALSE)
|
||||||
SELECT
|
SELECT
|
||||||
user_id,
|
user_id,
|
||||||
|
@ -569,27 +570,16 @@ GROUP BY
|
||||||
1
|
1
|
||||||
ORDER BY
|
ORDER BY
|
||||||
3 DESC, 2 DESC, 1 DESC;
|
3 DESC, 2 DESC, 1 DESC;
|
||||||
QUERY PLAN
|
$Q$);
|
||||||
-----------------------------------------------------------------------------------------------------------------------------------
|
coordinator_plan
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
Sort
|
Sort
|
||||||
Sort Key: remote_scan.avg_1 DESC, remote_scan.avg DESC, remote_scan.user_id DESC
|
Sort Key: remote_scan.avg_1 DESC, remote_scan.avg DESC, remote_scan.user_id DESC
|
||||||
-> HashAggregate
|
-> HashAggregate
|
||||||
Group Key: remote_scan.user_id
|
Group Key: remote_scan.user_id
|
||||||
-> Custom Scan (Citus Real-Time)
|
-> Custom Scan (Citus Adaptive)
|
||||||
Task Count: 4
|
Task Count: 4
|
||||||
Tasks Shown: One of 4
|
(6 rows)
|
||||||
-> Task
|
|
||||||
Node: host=localhost port=57637 dbname=regression
|
|
||||||
-> WindowAgg
|
|
||||||
-> Sort
|
|
||||||
Sort Key: users_table.user_id, (min(users_table.user_id)), (avg(users_table.value_1))
|
|
||||||
-> WindowAgg
|
|
||||||
-> Sort
|
|
||||||
Sort Key: users_table.user_id, (max(users_table.user_id)), (min(users_table.value_2))
|
|
||||||
-> HashAggregate
|
|
||||||
Group Key: users_table.user_id
|
|
||||||
-> Seq Scan on users_table_1400256 users_table
|
|
||||||
(18 rows)
|
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
user_id,
|
user_id,
|
||||||
|
|
|
@ -170,7 +170,7 @@ SELECT
|
||||||
COUNT(*) OVER (PARTITION BY user_id, user_id + 1),
|
COUNT(*) OVER (PARTITION BY user_id, user_id + 1),
|
||||||
rank() OVER (PARTITION BY user_id) as cnt1,
|
rank() OVER (PARTITION BY user_id) as cnt1,
|
||||||
COUNT(*) OVER (PARTITION BY user_id, abs(value_1 - value_2)) as cnt2,
|
COUNT(*) OVER (PARTITION BY user_id, abs(value_1 - value_2)) as cnt2,
|
||||||
date_trunc('min', lag(time) OVER (PARTITION BY user_id)) as datee,
|
date_trunc('min', lag(time) OVER (PARTITION BY user_id ORDER BY time)) as datee,
|
||||||
rank() OVER my_win as rnnk,
|
rank() OVER my_win as rnnk,
|
||||||
avg(CASE
|
avg(CASE
|
||||||
WHEN user_id > 4
|
WHEN user_id > 4
|
||||||
|
@ -336,6 +336,7 @@ GROUP BY
|
||||||
ORDER BY
|
ORDER BY
|
||||||
3 DESC, 2 DESC, 1 DESC;
|
3 DESC, 2 DESC, 1 DESC;
|
||||||
|
|
||||||
|
SELECT coordinator_plan($Q$
|
||||||
EXPLAIN (COSTS FALSE)
|
EXPLAIN (COSTS FALSE)
|
||||||
SELECT
|
SELECT
|
||||||
user_id,
|
user_id,
|
||||||
|
@ -347,6 +348,7 @@ GROUP BY
|
||||||
1
|
1
|
||||||
ORDER BY
|
ORDER BY
|
||||||
3 DESC, 2 DESC, 1 DESC;
|
3 DESC, 2 DESC, 1 DESC;
|
||||||
|
$Q$);
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
user_id,
|
user_id,
|
||||||
|
|
Loading…
Reference in New Issue