diff options
author | Maxim Yurchuk <maxim-yurchuk@ydb.tech> | 2024-11-20 17:37:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-20 17:37:57 +0000 |
commit | f76323e9b295c15751e51e3443aa47a36bee8023 (patch) | |
tree | 4113c8cad473a33e0f746966e0cf087252fa1d7a /yql/essentials/tests/sql/suites/column_group | |
parent | 753ecb8d410a4cb459c26f3a0082fb2d1724fe63 (diff) | |
parent | a7b9a6afea2a9d7a7bfac4c5eb4c1a8e60adb9e6 (diff) | |
download | ydb-f76323e9b295c15751e51e3443aa47a36bee8023.tar.gz |
Merge pull request #11788 from ydb-platform/mergelibs-241120-1113
Library import 241120-1113
Diffstat (limited to 'yql/essentials/tests/sql/suites/column_group')
57 files changed, 375 insertions, 0 deletions
diff --git a/yql/essentials/tests/sql/suites/column_group/default.cfg b/yql/essentials/tests/sql/suites/column_group/default.cfg new file mode 100644 index 0000000000..ef47dfff66 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/default.cfg @@ -0,0 +1,3 @@ +in Input input.txt +providers yt +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/groups-lookup.cfg b/yql/essentials/tests/sql/suites/column_group/groups-lookup.cfg new file mode 100644 index 0000000000..5bd531763a --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/groups-lookup.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.OptimizeFor="lookup" diff --git a/yql/essentials/tests/sql/suites/column_group/groups-max.cfg b/yql/essentials/tests/sql/suites/column_group/groups-max.cfg new file mode 100644 index 0000000000..dd3af3af12 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/groups-max.cfg @@ -0,0 +1,5 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.MaxColumnGroups="2" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/groups-perusage.cfg b/yql/essentials/tests/sql/suites/column_group/groups-perusage.cfg new file mode 100644 index 0000000000..be63fb17e4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/groups-perusage.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/groups-single.cfg b/yql/essentials/tests/sql/suites/column_group/groups-single.cfg new file mode 100644 index 0000000000..0ccae305ff --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/groups-single.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="single" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/groups.sql b/yql/essentials/tests/sql/suites/column_group/groups.sql new file mode 100644 index 0000000000..fe8ebf9ce9 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/groups.sql @@ -0,0 +1,6 @@ +USE plato; + +$i = select * from Input where a > "a"; + +select a,b,c,d from $i; +select c,d,e,f from $i; diff --git a/yql/essentials/tests/sql/suites/column_group/hint-disable.cfg b/yql/essentials/tests/sql/suites/column_group/hint-disable.cfg new file mode 100644 index 0000000000..eb97f5b81d --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint-disable.cfg @@ -0,0 +1,8 @@ +in Input input.txt +out Output1 output1.txt +out Output2 output2.txt +out Output3 output3.txt +out Output4 output4.txt +providers yt +pragma yt.ColumnGroupMode="disable" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint-perusage.cfg b/yql/essentials/tests/sql/suites/column_group/hint-perusage.cfg new file mode 100644 index 0000000000..c426193038 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint-perusage.cfg @@ -0,0 +1,8 @@ +in Input input.txt +out Output1 output1.txt +out Output2 output2.txt +out Output3 output3.txt +out Output4 output4.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint-single.cfg b/yql/essentials/tests/sql/suites/column_group/hint-single.cfg new file mode 100644 index 0000000000..2aab65b91e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint-single.cfg @@ -0,0 +1,8 @@ +in Input input.txt +out Output1 output1.txt +out Output2 output2.txt +out Output3 output3.txt +out Output4 output4.txt +providers yt +pragma yt.ColumnGroupMode="single" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint.sql b/yql/essentials/tests/sql/suites/column_group/hint.sql new file mode 100644 index 0000000000..5a04cc74f0 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint.sql @@ -0,0 +1,20 @@ +USE plato; + +$i1 = select * from Input where a > "a"; -- several publish consumers with same groups +$i2 = select * from Input where a > "a1"; -- several publish consumers with different groups +$i3 = select * from Input where a < "a2"; -- several consumers including publish +$i4 = select * from Input where a != "a"; -- several publish consumers with and without groups + +-- test column group spec normalization +insert into Output1 with column_groups="{g1=[a;b;c];def=#}" select * from $i1; +insert into Output1 with column_groups="{def=#;g1=[c;a;b];}" select * from $i2; + +insert into Output2 with column_groups="{def=#}" select * from $i2; +insert into Output2 with column_groups="{def=#}" select * from $i3; + +insert into Output3 with column_groups="{g1=[a;b;c];def=#}" select * from $i1; +insert into Output3 with column_groups="{g1=[a;b;c];def=#}" select * from $i4; + +insert into Output4 select * from $i4; + +select a,b,c,d from $i3; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon-disable.cfg b/yql/essentials/tests/sql/suites/column_group/hint_anon-disable.cfg new file mode 100644 index 0000000000..648ff62ddc --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon-disable.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="disable" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon-perusage.cfg b/yql/essentials/tests/sql/suites/column_group/hint_anon-perusage.cfg new file mode 100644 index 0000000000..be63fb17e4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon-perusage.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon-single.cfg b/yql/essentials/tests/sql/suites/column_group/hint_anon-single.cfg new file mode 100644 index 0000000000..0ccae305ff --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon-single.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="single" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon.sql b/yql/essentials/tests/sql/suites/column_group/hint_anon.sql new file mode 100644 index 0000000000..b1d85f2d15 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon.sql @@ -0,0 +1,9 @@ +USE plato; + +$i = select * from Input where a > "a"; + +select a,b,c,d from $i; +select c,d,e,f from $i; + +-- Forces single group for $i +insert into @tmp select * from $i; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-disable.cfg b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-disable.cfg new file mode 100644 index 0000000000..648ff62ddc --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-disable.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="disable" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-perusage.cfg b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-perusage.cfg new file mode 100644 index 0000000000..be63fb17e4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-perusage.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-single.cfg b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-single.cfg new file mode 100644 index 0000000000..0ccae305ff --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups-single.cfg @@ -0,0 +1,4 @@ +in Input input.txt +providers yt +pragma yt.ColumnGroupMode="single" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_anon_groups.sql b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups.sql new file mode 100644 index 0000000000..384dbcfd3b --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_anon_groups.sql @@ -0,0 +1,9 @@ +USE plato; + +$i = select * from Input where a > "a"; + +select a,b,c,d from $i; +select c,d,e,f from $i; + +-- Forces specific group for $i +insert into @tmp with column_groups="{grp=[b;c;d]}" select * from $i; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_append_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_append_fail.cfg new file mode 100644 index 0000000000..f508c61b27 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_append_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output input.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_append_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_append_fail.sql new file mode 100644 index 0000000000..2317d88dd2 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_append_fail.sql @@ -0,0 +1,5 @@ +USE plato; + +insert into Output +with column_groups="{g1=[a;b];def=#}" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_diff_grp_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_diff_grp_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_diff_grp_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_diff_grp_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_diff_grp_fail.sql new file mode 100644 index 0000000000..9eaa116ad5 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_diff_grp_fail.sql @@ -0,0 +1,9 @@ +USE plato; + +insert into Output +with column_groups="{g1=[a;b];def=#}" +select * from Input; + +insert into Output +with column_groups="{g1=[c;d];def=#}" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_dup_col_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_dup_col_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_dup_col_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_dup_col_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_dup_col_fail.sql new file mode 100644 index 0000000000..e40a0624f9 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_dup_col_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- duplicate column +insert into Output +with column_groups="{g1=[a;a;b];def=#}" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_dup_def_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_dup_def_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_dup_def_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_dup_def_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_dup_def_fail.sql new file mode 100644 index 0000000000..445ed03645 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_dup_def_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- duplicate column +insert into Output +with column_groups="{def1=#;def2=#}" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_empty_grp_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_empty_grp_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_empty_grp_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_empty_grp_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_empty_grp_fail.sql new file mode 100644 index 0000000000..30067b1ded --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_empty_grp_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- empty group +insert into Output +with column_groups="{g1=[];def=#}" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_lst_yson_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_non_lst_yson_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_lst_yson_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_lst_yson_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_non_lst_yson_fail.sql new file mode 100644 index 0000000000..e7d630bfea --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_lst_yson_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- bad yson +insert into Output +with column_groups=@@{g1="a"}@@ +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_map_yson_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_non_map_yson_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_map_yson_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_map_yson_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_non_map_yson_fail.sql new file mode 100644 index 0000000000..295f9ecf61 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_map_yson_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- bad yson +insert into Output +with column_groups="[abc]" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_str_yson_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_non_str_yson_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_str_yson_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_str_yson_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_non_str_yson_fail.sql new file mode 100644 index 0000000000..35fb731190 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_str_yson_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- bad yson +insert into Output +with column_groups="{g1=[3;a]}" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_yson_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_non_yson_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_yson_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_non_yson_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_non_yson_fail.sql new file mode 100644 index 0000000000..c2a36824dd --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_non_yson_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- bad yson +insert into Output +with column_groups="!" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_short_grp_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_short_grp_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_short_grp_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_short_grp_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_short_grp_fail.sql new file mode 100644 index 0000000000..febf511fbe --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_short_grp_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +-- too short group +insert into Output +with column_groups="{g1=[a];def=#}" +select * from Input; diff --git a/yql/essentials/tests/sql/suites/column_group/hint_unk_col_fail.cfg b/yql/essentials/tests/sql/suites/column_group/hint_unk_col_fail.cfg new file mode 100644 index 0000000000..f5c8eefa7e --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_unk_col_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" diff --git a/yql/essentials/tests/sql/suites/column_group/hint_unk_col_fail.sql b/yql/essentials/tests/sql/suites/column_group/hint_unk_col_fail.sql new file mode 100644 index 0000000000..ebd127dbf3 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/hint_unk_col_fail.sql @@ -0,0 +1,7 @@ +USE plato; + +-- unknown column +insert into Output +with column_groups="{g1=[l;b;c];def=#}" +select * from Input; + diff --git a/yql/essentials/tests/sql/suites/column_group/input.txt b/yql/essentials/tests/sql/suites/column_group/input.txt new file mode 100644 index 0000000000..c5e5b75ec5 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/input.txt @@ -0,0 +1,2 @@ +{"a"="a1";"b"="b1";"c"="c1";"d"="d1";"e"="e1";"f"="f1"}; +{"a"="a2";"b"="b2";"c"="c2";"d"="d2";"e"="e2";"f"="f2"}; diff --git a/yql/essentials/tests/sql/suites/column_group/input.txt.attr b/yql/essentials/tests/sql/suites/column_group/input.txt.attr new file mode 100644 index 0000000000..b337b62c6b --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/input.txt.attr @@ -0,0 +1,10 @@ +{"_yql_row_spec"={ + "Type"=["StructType";[ + ["a";["DataType";"String"]]; + ["b";["DataType";"String"]]; + ["c";["DataType";"String"]]; + ["d";["DataType";"String"]]; + ["e";["DataType";"String"]]; + ["f";["DataType";"String"]]; + ]]; +}} diff --git a/yql/essentials/tests/sql/suites/column_group/insert_diff_groups1_fail.cfg b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups1_fail.cfg new file mode 100644 index 0000000000..351cce8968 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups1_fail.cfg @@ -0,0 +1,4 @@ +xfail +in Input input.txt +providers yt +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/insert_diff_groups1_fail.sql b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups1_fail.sql new file mode 100644 index 0000000000..f429533a41 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups1_fail.sql @@ -0,0 +1,14 @@ +USE plato; + +pragma yt.ColumnGroupMode="perusage"; + +$s1 = select * from Input where a != ""; +$s2 = select * from Input where a > "a1"; + +insert into @a +select * from $s1; + +commit; + +insert into @a with column_groups="{a=#}" +select * from $s2; diff --git a/yql/essentials/tests/sql/suites/column_group/insert_diff_groups2_fail.cfg b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups2_fail.cfg new file mode 100644 index 0000000000..ab4dec69ea --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups2_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output output.txt +providers yt +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/insert_diff_groups2_fail.sql b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups2_fail.sql new file mode 100644 index 0000000000..2646c4cfe3 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups2_fail.sql @@ -0,0 +1,14 @@ +USE plato; + +pragma yt.ColumnGroupMode="perusage"; + +$s1 = select * from Input where a != ""; +$s2 = select * from Input where a > "a1"; + +insert into Output +select * from $s1; + +commit; + +insert into Output with column_groups="{a=#}" +select * from $s2; diff --git a/yql/essentials/tests/sql/suites/column_group/insert_diff_groups3_fail.cfg b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups3_fail.cfg new file mode 100644 index 0000000000..356863d2ae --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups3_fail.cfg @@ -0,0 +1,5 @@ +xfail +in Input input.txt +out Output input.txt +providers yt +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/insert_diff_groups3_fail.sql b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups3_fail.sql new file mode 100644 index 0000000000..5f09a1e177 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/insert_diff_groups3_fail.sql @@ -0,0 +1,6 @@ +USE plato; + +pragma yt.ColumnGroupMode="perusage"; + +insert into Output with column_groups="{a=#}" +select * from Input where a != ""; diff --git a/yql/essentials/tests/sql/suites/column_group/length-perusage.cfg b/yql/essentials/tests/sql/suites/column_group/length-perusage.cfg new file mode 100644 index 0000000000..eaefb06bd5 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/length-perusage.cfg @@ -0,0 +1,5 @@ +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/length-single.cfg b/yql/essentials/tests/sql/suites/column_group/length-single.cfg new file mode 100644 index 0000000000..c48072ee21 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/length-single.cfg @@ -0,0 +1,5 @@ +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="single" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/length.sql b/yql/essentials/tests/sql/suites/column_group/length.sql new file mode 100644 index 0000000000..85ef54124a --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/length.sql @@ -0,0 +1,7 @@ +USE plato; + +$i = select * from Input where a > "a"; + +select a,b,c,d from $i; +select c,d,e,f from $i; +select count(*) from $i; diff --git a/yql/essentials/tests/sql/suites/column_group/many_inserts.cfg b/yql/essentials/tests/sql/suites/column_group/many_inserts.cfg new file mode 100644 index 0000000000..4a98bc6feb --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/many_inserts.cfg @@ -0,0 +1,4 @@ +in Input input.txt +out Output output.txt +providers yt +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/many_inserts.sql b/yql/essentials/tests/sql/suites/column_group/many_inserts.sql new file mode 100644 index 0000000000..b0ead4fad6 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/many_inserts.sql @@ -0,0 +1,32 @@ +USE plato; + +pragma yt.ColumnGroupMode="perusage"; + +$s1 = select * from Input where a != ""; +$s2 = select * from Input where a > "a1"; + +insert into @a with column_groups="{a=#}" +select * from $s1; + +insert into @b +select * from $s1; + +insert into @c +select * from $s1; + +insert into Output with column_groups="{a=#}" +select * from $s1; + +commit; + +insert into @a with column_groups="{a=#}" +select * from $s2; + +insert into @b +select * from $s2; + +insert into @c with column_groups="{default=#}" +select * from $s2; + +insert into Output with column_groups="{a=#}" +select * from $s2; diff --git a/yql/essentials/tests/sql/suites/column_group/min_group.sql b/yql/essentials/tests/sql/suites/column_group/min_group.sql new file mode 100644 index 0000000000..f99d380f15 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/min_group.sql @@ -0,0 +1,8 @@ +USE plato; +pragma yt.MinColumnGroupSize="3"; +pragma yt.ColumnGroupMode="perusage"; + +$i = select * from Input where a > "a"; + +select a,b from $i; +select c,d,e,f from $i; diff --git a/yql/essentials/tests/sql/suites/column_group/publish-perusage.cfg b/yql/essentials/tests/sql/suites/column_group/publish-perusage.cfg new file mode 100644 index 0000000000..eaefb06bd5 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/publish-perusage.cfg @@ -0,0 +1,5 @@ +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="perusage" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/publish-single.cfg b/yql/essentials/tests/sql/suites/column_group/publish-single.cfg new file mode 100644 index 0000000000..c48072ee21 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/publish-single.cfg @@ -0,0 +1,5 @@ +in Input input.txt +out Output output.txt +providers yt +pragma yt.ColumnGroupMode="single" +pragma yt.OptimizeFor="scan" diff --git a/yql/essentials/tests/sql/suites/column_group/publish.sql b/yql/essentials/tests/sql/suites/column_group/publish.sql new file mode 100644 index 0000000000..d9f7b9e855 --- /dev/null +++ b/yql/essentials/tests/sql/suites/column_group/publish.sql @@ -0,0 +1,8 @@ +USE plato; + +$i = select * from Input where a > "a"; + +select a,b,c,d from $i; +select c,d,e,f from $i; + +insert into Output select * from $i; |