diff options
author | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
commit | 31773f157bf8164364649b5f470f52dece0a4317 (patch) | |
tree | 33d0f7eef45303ab68cf08ab381ce5e5e36c5240 /yql/essentials/tests/sql/suites/window/rank | |
parent | 2c7938962d8689e175574fc1e817c05049f27905 (diff) | |
parent | eff600952d5dfe17942f38f510a8ac2b203bb3a5 (diff) | |
download | ydb-31773f157bf8164364649b5f470f52dece0a4317.tar.gz |
Merge branch 'rightlib' into mergelibs-241120-1113
Diffstat (limited to 'yql/essentials/tests/sql/suites/window/rank')
8 files changed, 97 insertions, 0 deletions
diff --git a/yql/essentials/tests/sql/suites/window/rank/nulls.sql b/yql/essentials/tests/sql/suites/window/rank/nulls.sql new file mode 100644 index 0000000000..7feafa67ab --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/nulls.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ + +PRAGMA warning("disable", "4520"); +PRAGMA AnsiRankForNullableKeys; + +SELECT + key, + RANK() over w1 as r1, + DENSE_RANK() over w1 as r2, +FROM AS_TABLE([<|key:1|>, <|key:null|>, <|key:null|>, <|key:1|>, <|key:2|>]) +WINDOW + w1 as (ORDER BY key ROWS BETWEEN UNBOUNDED PRECEDING AND 5 PRECEDING) +ORDER BY key; diff --git a/yql/essentials/tests/sql/suites/window/rank/nulls_legacy.sql b/yql/essentials/tests/sql/suites/window/rank/nulls_legacy.sql new file mode 100644 index 0000000000..a9db1c3400 --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/nulls_legacy.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ + +PRAGMA warning("disable", "4520"); +PRAGMA DisableAnsiRankForNullableKeys; + +SELECT + key, + RANK() over w1 as r1, + DENSE_RANK() over w1 as r2, +FROM AS_TABLE([<|key:1|>, <|key:null|>, <|key:null|>, <|key:1|>, <|key:2|>]) +WINDOW + w1 as (ORDER BY key ROWS BETWEEN UNBOUNDED PRECEDING AND 5 PRECEDING) +ORDER BY key; diff --git a/yql/essentials/tests/sql/suites/window/rank/opt.cfg b/yql/essentials/tests/sql/suites/window/rank/opt.cfg new file mode 100644 index 0000000000..000848a05d --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/opt.cfg @@ -0,0 +1 @@ +in Input input5.txt diff --git a/yql/essentials/tests/sql/suites/window/rank/opt.sql b/yql/essentials/tests/sql/suites/window/rank/opt.sql new file mode 100644 index 0000000000..3260ffb6ea --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/opt.sql @@ -0,0 +1,23 @@ +/* syntax version 1 */ +/* postgres can not */ + +PRAGMA warning("disable", "4520"); +PRAGMA AnsiRankForNullableKeys; + +SELECT + key, + subkey, + RANK() over w1 as r1, + DENSE_RANK() over w1 as r2, + RANK(subkey) over w1 as r3, + DENSE_RANK(subkey) over w1 as r4, + + RANK() over w2 as r5, + DENSE_RANK() over w2 as r6, + RANK(subkey || subkey) over w2 as r7, + DENSE_RANK(subkey || subkey) over w2 as r8, +FROM (SELECT cast(key as uint32) as key, subkey, value FROM plato.Input WHERE key = '1') +WINDOW + w1 as (PARTITION BY key ORDER BY subkey ROWS BETWEEN UNBOUNDED PRECEDING AND 5 PRECEDING), + w2 as ( ORDER BY key, subkey ROWS BETWEEN 3 FOLLOWING AND 2 FOLLOWING) +ORDER BY key,subkey; diff --git a/yql/essentials/tests/sql/suites/window/rank/plain.cfg b/yql/essentials/tests/sql/suites/window/rank/plain.cfg new file mode 100644 index 0000000000..000848a05d --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/plain.cfg @@ -0,0 +1 @@ +in Input input5.txt diff --git a/yql/essentials/tests/sql/suites/window/rank/plain.sql b/yql/essentials/tests/sql/suites/window/rank/plain.sql new file mode 100644 index 0000000000..dee09aefe6 --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/plain.sql @@ -0,0 +1,23 @@ +/* syntax version 1 */ +/* postgres can not */ + +PRAGMA warning("disable", "4520"); +PRAGMA AnsiRankForNullableKeys; + +SELECT + key, + subkey, + RANK() over w1 as r1, + DENSE_RANK() over w1 as r2, + RANK(subkey) over w1 as r3, + DENSE_RANK(subkey) over w1 as r4, + + RANK() over w2 as r5, + DENSE_RANK() over w2 as r6, + RANK(subkey || subkey) over w2 as r7, + DENSE_RANK(subkey || subkey) over w2 as r8, +FROM (SELECT * FROM plato.Input WHERE key = '1') +WINDOW + w1 as (PARTITION BY key ORDER BY subkey ROWS BETWEEN UNBOUNDED PRECEDING AND 5 PRECEDING), + w2 as ( ORDER BY key, subkey ROWS BETWEEN 3 FOLLOWING AND 2 FOLLOWING) +ORDER BY key,subkey; diff --git a/yql/essentials/tests/sql/suites/window/rank/unordered.cfg b/yql/essentials/tests/sql/suites/window/rank/unordered.cfg new file mode 100644 index 0000000000..000848a05d --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/unordered.cfg @@ -0,0 +1 @@ +in Input input5.txt diff --git a/yql/essentials/tests/sql/suites/window/rank/unordered.sql b/yql/essentials/tests/sql/suites/window/rank/unordered.sql new file mode 100644 index 0000000000..c8213f505e --- /dev/null +++ b/yql/essentials/tests/sql/suites/window/rank/unordered.sql @@ -0,0 +1,20 @@ +/* syntax version 1 */ +/* postgres can not */ + +PRAGMA warning("disable", "4520"); +PRAGMA warning("disable", "4521"); +PRAGMA AnsiRankForNullableKeys; + +SELECT + key, + subkey, + RANK() over w1 as r1, + DENSE_RANK() over w1 as r2, + + RANK() over w2 as r3, + DENSE_RANK() over w2 as r4, +FROM plato.Input +WINDOW + w1 as (PARTITION BY key ROWS BETWEEN UNBOUNDED PRECEDING AND 5 PRECEDING), + w2 as ( ROWS BETWEEN 3 FOLLOWING AND 2 FOLLOWING) +ORDER BY key,subkey; |