-
Notifications
You must be signed in to change notification settings - Fork 590
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(frontend): support two phase vnode based simple agg with approx_…
…percentile (#18007)
- Loading branch information
Showing
5 changed files
with
217 additions
and
61 deletions.
There are no files selected for viewing
80 changes: 80 additions & 0 deletions
80
e2e_test/streaming/aggregate/two_phase_approx_percentile_merge_stateful_agg.slt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# Single phase approx percentile | ||
statement ok | ||
create table t(p_col double, grp_col int); | ||
|
||
statement ok | ||
insert into t select a, 1 from generate_series(-1000, 1000) t(a); | ||
|
||
statement ok | ||
flush; | ||
|
||
query I | ||
select | ||
percentile_cont(0.01) within group (order by p_col) as p01, | ||
min(p_col), | ||
percentile_cont(0.5) within group (order by p_col) as p50, | ||
count(*), | ||
percentile_cont(0.99) within group (order by p_col) as p99 | ||
from t; | ||
---- | ||
-980 -1000 0 2001 980 | ||
|
||
statement ok | ||
create materialized view m1 as | ||
select | ||
approx_percentile(0.01, 0.01) within group (order by p_col) as p01, | ||
min(p_col), | ||
approx_percentile(0.5, 0.01) within group (order by p_col) as p50, | ||
count(*), | ||
approx_percentile(0.99, 0.01) within group (order by p_col) as p99 | ||
from t; | ||
|
||
query I | ||
select * from m1; | ||
---- | ||
-982.5779489474152 -1000 0 2001 982.5779489474152 | ||
|
||
# Test state encode / decode | ||
onlyif can-use-recover | ||
statement ok | ||
recover; | ||
|
||
onlyif can-use-recover | ||
sleep 10s | ||
|
||
query I | ||
select * from m1; | ||
---- | ||
-982.5779489474152 -1000 0 2001 982.5779489474152 | ||
|
||
# Test 0<x<1 values | ||
statement ok | ||
insert into t select 0.001, 1 from generate_series(1, 500); | ||
|
||
statement ok | ||
insert into t select 0.0001, 1 from generate_series(1, 501); | ||
|
||
statement ok | ||
flush; | ||
|
||
query I | ||
select * from m1; | ||
---- | ||
-963.1209598593477 -1000 0.00009999833511933609 3002 963.1209598593477 | ||
|
||
query I | ||
select | ||
percentile_cont(0.01) within group (order by p_col) as p01, | ||
min(p_col), | ||
percentile_cont(0.5) within group (order by p_col) as p50, | ||
count(*), | ||
percentile_cont(0.99) within group (order by p_col) as p99 | ||
from t; | ||
---- | ||
-969.99 -1000 0.0001 3002 969.9899999999998 | ||
|
||
statement ok | ||
drop materialized view m1; | ||
|
||
statement ok | ||
drop table t; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters