diff options
author | udovichenko-r <udovichenko-r@yandex-team.com> | 2024-11-19 14:58:38 +0300 |
---|---|---|
committer | udovichenko-r <udovichenko-r@yandex-team.com> | 2024-11-19 15:16:27 +0300 |
commit | 24521403b1c44303e043ba540c09b1fe991c7474 (patch) | |
tree | 341d1e7206bc7c143d04d2d96f05b6dc0655606d /yql/essentials/tests/sql/suites/window/rank | |
parent | 72b3cd51dc3fb9d16975d353ea82fd85701393cc (diff) | |
download | ydb-24521403b1c44303e043ba540c09b1fe991c7474.tar.gz |
YQL-19206 Move contrib/ydb/library/yql/tests/sql/suites -> yql/essentials/tests/sql/suites
commit_hash:d0ef1f92b09c94db7c2408f946d2a4c62b603f00
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; |