diff options
author | vvvv <vvvv@yandex-team.com> | 2025-01-30 19:41:58 +0300 |
---|---|---|
committer | vvvv <vvvv@yandex-team.com> | 2025-01-30 20:08:21 +0300 |
commit | 5141fceffbd2ef7dfa874344160f08c4a952a1a9 (patch) | |
tree | 05e193b4808b3e86fc4232d425a03f0b335ad290 /yql | |
parent | d348358e536b96d156511823d573934c661398df (diff) | |
download | ydb-5141fceffbd2ef7dfa874344160f08c4a952a1a9.tar.gz |
more tests YQL-19494
commit_hash:c575d97795c59fceb00165af9fdc7ff71253c21d
Diffstat (limited to 'yql')
23 files changed, 319 insertions, 2 deletions
diff --git a/yql/essentials/core/peephole_opt/yql_opt_peephole_physical.cpp b/yql/essentials/core/peephole_opt/yql_opt_peephole_physical.cpp index d9107d0cb6..d9f635a76e 100644 --- a/yql/essentials/core/peephole_opt/yql_opt_peephole_physical.cpp +++ b/yql/essentials/core/peephole_opt/yql_opt_peephole_physical.cpp @@ -8387,12 +8387,19 @@ TExprNode::TPtr OptimizeToFlow(const TExprNode::TPtr& node, TExprContext& ctx) { } - if (node->Head().IsCallable("TableSource")) { + if (node->ChildrenSize() == 1 && node->Head().IsCallable("TableSource")) { if (auto wide = MakeWideTableSource(node->Head(), ctx)) { return wide; } } + if (node->ChildrenSize() == 1 && node->Head().IsCallable("Iterator") + && node->Head().ChildrenSize() == 1 && node->Head().Head().IsCallable("TableSource")) { + if (auto wide = MakeWideTableSource(node->Head().Head(), ctx)) { + return wide; + } + } + return node; } diff --git a/yql/essentials/core/yql_aggregate_expander.h b/yql/essentials/core/yql_aggregate_expander.h index bfa40f4650..eed24b61f3 100644 --- a/yql/essentials/core/yql_aggregate_expander.h +++ b/yql/essentials/core/yql_aggregate_expander.h @@ -134,8 +134,9 @@ private: inline TExprNode::TPtr ExpandAggregatePeepholeImpl(const TExprNode::TPtr& node, TExprContext& ctx, TTypeAnnotationContext& typesCtx, const bool useFinalizeByKey, const bool useBlocks, const bool allowSpilling) { + const bool usePhases = typesCtx.PeepholeFlags.contains("useaggphases"); TAggregateExpander aggExpander(!useFinalizeByKey && !useBlocks, useFinalizeByKey, node, ctx, typesCtx, - true, false, false, typesCtx.IsBlockEngineEnabled() && !allowSpilling); + !usePhases, false, usePhases, typesCtx.IsBlockEngineEnabled() && !allowSpilling); return aggExpander.ExpandAggregate(); } diff --git a/yql/essentials/core/yql_type_annotation.h b/yql/essentials/core/yql_type_annotation.h index ac0f0f36bd..da297b406d 100644 --- a/yql/essentials/core/yql_type_annotation.h +++ b/yql/essentials/core/yql_type_annotation.h @@ -416,6 +416,7 @@ struct TTypeAnnotationContext: public TThrRefBase { bool OrderedColumns = false; TColumnOrderStorage::TPtr ColumnOrderStorage = new TColumnOrderStorage; THashSet<TString> OptimizerFlags; + THashSet<TString> PeepholeFlags; bool StreamLookupJoin = false; ui32 MaxAggPushdownPredicates = 6; // algorithm complexity is O(2^N) diff --git a/yql/essentials/providers/config/yql_config_provider.cpp b/yql/essentials/providers/config/yql_config_provider.cpp index 5faf09217c..cd03100c44 100644 --- a/yql/essentials/providers/config/yql_config_provider.cpp +++ b/yql/essentials/providers/config/yql_config_provider.cpp @@ -963,6 +963,15 @@ namespace { Types.OptimizerFlags.insert(to_lower(ToString(arg))); } } + else if (name == "PeepholeFlags") { + for (auto& arg : args) { + if (arg.empty()) { + ctx.AddError(TIssue(pos, "Empty flags are not supported")); + return false; + } + Types.PeepholeFlags.insert(to_lower(ToString(arg))); + } + } else if (name == "_EnableStreamLookupJoin" || name == "DisableStreamLookupJoin") { if (args.size() != 0) { ctx.AddError(TIssue(pos, TStringBuilder() << "Expected no arguments, but got " << args.size())); diff --git a/yql/essentials/tests/sql/minirun/part0/canondata/result.json b/yql/essentials/tests/sql/minirun/part0/canondata/result.json index 55b679803b..99503efb9b 100644 --- a/yql/essentials/tests/sql/minirun/part0/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part0/canondata/result.json @@ -240,6 +240,27 @@ "uri": "file://test.test_bitcast_implicit-sub_bitcast-default.txt-Results_/extracted" } ], + "test.test[blocks-agg_all_mixed_distinct-default.txt-Debug]": [ + { + "checksum": "0b6c16dbdfeb1131454891aa84f0b27c", + "size": 1041, + "uri": "https://{canondata_backend}/1936842/8073eb626dd657fcbe20d34185c363a1a18c3e7c/resource.tar.gz#test.test_blocks-agg_all_mixed_distinct-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-agg_all_mixed_distinct-default.txt-Peephole]": [ + { + "checksum": "ed1fcea38db98750f0319c3638745142", + "size": 2750, + "uri": "https://{canondata_backend}/1936842/8073eb626dd657fcbe20d34185c363a1a18c3e7c/resource.tar.gz#test.test_blocks-agg_all_mixed_distinct-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-agg_all_mixed_distinct-default.txt-Results]": [ + { + "checksum": "a8938e7db747a8ed62d9df882da5151c", + "size": 1372, + "uri": "https://{canondata_backend}/1936842/8073eb626dd657fcbe20d34185c363a1a18c3e7c/resource.tar.gz#test.test_blocks-agg_all_mixed_distinct-default.txt-Results_/results.txt" + } + ], "test.test[blocks-and-default.txt-Debug]": [ { "checksum": "47525fa40526e04498f0c41e6bc48f59", diff --git a/yql/essentials/tests/sql/minirun/part1/canondata/result.json b/yql/essentials/tests/sql/minirun/part1/canondata/result.json index ff0d370a35..95c90f0f00 100644 --- a/yql/essentials/tests/sql/minirun/part1/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part1/canondata/result.json @@ -209,6 +209,27 @@ "uri": "https://{canondata_backend}/1920236/fd3dfd41a8e63d7fa9cb2e8c3d8e6d8d5f51f2cb/resource.tar.gz#test.test_bigdate-tzstrliterals-default.txt-Results_/results.txt" } ], + "test.test[blocks-agg_all-default.txt-Debug]": [ + { + "checksum": "42c0a3850c436d2ca749b08181dd64c4", + "size": 790, + "uri": "https://{canondata_backend}/1936997/ed3a7d8870edd79021e442428408c37f03c08cee/resource.tar.gz#test.test_blocks-agg_all-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-agg_all-default.txt-Peephole]": [ + { + "checksum": "2fb133577b2bebe665243748a6546c47", + "size": 989, + "uri": "https://{canondata_backend}/1936997/ed3a7d8870edd79021e442428408c37f03c08cee/resource.tar.gz#test.test_blocks-agg_all-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-agg_all-default.txt-Results]": [ + { + "checksum": "b6f20dcf3fd333936099a02f132ad259", + "size": 887, + "uri": "https://{canondata_backend}/1936997/ed3a7d8870edd79021e442428408c37f03c08cee/resource.tar.gz#test.test_blocks-agg_all-default.txt-Results_/results.txt" + } + ], "test.test[blocks-and_opt_scalar-default.txt-Debug]": [ { "checksum": "1a4fb294f178b359c444b4f540e0b9e1", diff --git a/yql/essentials/tests/sql/minirun/part2/canondata/result.json b/yql/essentials/tests/sql/minirun/part2/canondata/result.json index 93a0b6e07e..e23b86b372 100644 --- a/yql/essentials/tests/sql/minirun/part2/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part2/canondata/result.json @@ -237,6 +237,27 @@ "uri": "https://{canondata_backend}/1925821/c218142dee7e94289607cb3f387a4ea325fdeb89/resource.tar.gz#test.test_binding-tie_scalar_context-default.txt-Results_/results.txt" } ], + "test.test[blocks-agg_by_key_only_distinct-default.txt-Debug]": [ + { + "checksum": "3b377511a09ae02330cd1b3f6faeb5f0", + "size": 862, + "uri": "https://{canondata_backend}/1937150/3d01c6ab2777fc3b99338655d39a5bcbb1ac89c3/resource.tar.gz#test.test_blocks-agg_by_key_only_distinct-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-agg_by_key_only_distinct-default.txt-Peephole]": [ + { + "checksum": "61d7e4298f7c95b1d74a833e56b0fb1b", + "size": 2174, + "uri": "https://{canondata_backend}/1937150/3d01c6ab2777fc3b99338655d39a5bcbb1ac89c3/resource.tar.gz#test.test_blocks-agg_by_key_only_distinct-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-agg_by_key_only_distinct-default.txt-Results]": [ + { + "checksum": "d9c1b17771cb2146ac3f5b691ac4e13d", + "size": 1054, + "uri": "https://{canondata_backend}/1937150/3d01c6ab2777fc3b99338655d39a5bcbb1ac89c3/resource.tar.gz#test.test_blocks-agg_by_key_only_distinct-default.txt-Results_/results.txt" + } + ], "test.test[blocks-exists-default.txt-Debug]": [ { "checksum": "a871029504a6d3f1c07342493b86d28d", diff --git a/yql/essentials/tests/sql/minirun/part3/canondata/result.json b/yql/essentials/tests/sql/minirun/part3/canondata/result.json index 518dcf729d..1a818dbe9d 100644 --- a/yql/essentials/tests/sql/minirun/part3/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part3/canondata/result.json @@ -285,6 +285,27 @@ "uri": "file://test.test_bitcast_implicit-div_bitcast-default.txt-Results_/extracted" } ], + "test.test[blocks-agg_by_key_mixed_distinct-default.txt-Debug]": [ + { + "checksum": "604ddfd755ba142ffcfdb10840bcbfba", + "size": 1188, + "uri": "https://{canondata_backend}/1936842/b7d0729d8113067b84268db9fc0907f14193cecc/resource.tar.gz#test.test_blocks-agg_by_key_mixed_distinct-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-agg_by_key_mixed_distinct-default.txt-Peephole]": [ + { + "checksum": "d85f9dcc1a0cc15f14cd6f4e8aa4a288", + "size": 2985, + "uri": "https://{canondata_backend}/1936842/b7d0729d8113067b84268db9fc0907f14193cecc/resource.tar.gz#test.test_blocks-agg_by_key_mixed_distinct-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-agg_by_key_mixed_distinct-default.txt-Results]": [ + { + "checksum": "06a0b4e916cdca12010179434ef986c7", + "size": 1376, + "uri": "https://{canondata_backend}/1936842/b7d0729d8113067b84268db9fc0907f14193cecc/resource.tar.gz#test.test_blocks-agg_by_key_mixed_distinct-default.txt-Results_/results.txt" + } + ], "test.test[blocks-frompg-default.txt-Debug]": [ { "checksum": "52d5daf2447e1de0d4cf3150468c9de5", diff --git a/yql/essentials/tests/sql/minirun/part4/canondata/result.json b/yql/essentials/tests/sql/minirun/part4/canondata/result.json index c4ada02ff9..e180ac52dd 100644 --- a/yql/essentials/tests/sql/minirun/part4/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part4/canondata/result.json @@ -293,6 +293,27 @@ "uri": "https://{canondata_backend}/1925821/db505909f0fb5dcb9a1c2635b652923e2e5d33c8/resource.tar.gz#test.test_binding-compact_named_with_subq_contexts--Results_/results.txt" } ], + "test.test[blocks-agg_by_key-default.txt-Debug]": [ + { + "checksum": "aa3ecf6940bfc00eac13870913fbb428", + "size": 942, + "uri": "https://{canondata_backend}/1936842/397d19bc034685a9103c63c079eb706022471c35/resource.tar.gz#test.test_blocks-agg_by_key-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-agg_by_key-default.txt-Peephole]": [ + { + "checksum": "dfcd63a547cc12864741028ead35a272", + "size": 1400, + "uri": "https://{canondata_backend}/1936842/397d19bc034685a9103c63c079eb706022471c35/resource.tar.gz#test.test_blocks-agg_by_key-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-agg_by_key-default.txt-Results]": [ + { + "checksum": "8733c4a880fe07f098b676bc78d0fc86", + "size": 1054, + "uri": "https://{canondata_backend}/1936842/397d19bc034685a9103c63c079eb706022471c35/resource.tar.gz#test.test_blocks-agg_by_key-default.txt-Results_/results.txt" + } + ], "test.test[blocks-or_opt_scalar-default.txt-Debug]": [ { "checksum": "48438c52974cf1f5de5ed35df99e54b5", diff --git a/yql/essentials/tests/sql/minirun/part9/canondata/result.json b/yql/essentials/tests/sql/minirun/part9/canondata/result.json index 4d4e7caa3b..7763b7c9fa 100644 --- a/yql/essentials/tests/sql/minirun/part9/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part9/canondata/result.json @@ -167,6 +167,27 @@ "uri": "https://{canondata_backend}/1881367/0904eef9815dbdae5991888c9e683a7d755b2751/resource.tar.gz#test.test_bigdate-tzcasts-default.txt-Results_/results.txt" } ], + "test.test[blocks-agg_all_only_distinct-default.txt-Debug]": [ + { + "checksum": "049e967d9c05e54fbc7153cf31b0b9d8", + "size": 731, + "uri": "https://{canondata_backend}/1936842/a3d6c7434a3c60fd4096f171ba514687570df6ae/resource.tar.gz#test.test_blocks-agg_all_only_distinct-default.txt-Debug_/opt.yql" + } + ], + "test.test[blocks-agg_all_only_distinct-default.txt-Peephole]": [ + { + "checksum": "43f57f7269807e7a8a04d1dea312d0a6", + "size": 1683, + "uri": "https://{canondata_backend}/1936842/a3d6c7434a3c60fd4096f171ba514687570df6ae/resource.tar.gz#test.test_blocks-agg_all_only_distinct-default.txt-Peephole_/opt.yql" + } + ], + "test.test[blocks-agg_all_only_distinct-default.txt-Results]": [ + { + "checksum": "e21c02fabfbba8c1121c8ddb4437a458", + "size": 887, + "uri": "https://{canondata_backend}/1936842/a3d6c7434a3c60fd4096f171ba514687570df6ae/resource.tar.gz#test.test_blocks-agg_all_only_distinct-default.txt-Results_/results.txt" + } + ], "test.test[blocks-coalesce-default.txt-Debug]": [ { "checksum": "4f09982cc6cf8782ef9874681dd4f689", diff --git a/yql/essentials/tests/sql/sql2yql/canondata/result.json b/yql/essentials/tests/sql/sql2yql/canondata/result.json index 4576fae869..b5a310737c 100644 --- a/yql/essentials/tests/sql/sql2yql/canondata/result.json +++ b/yql/essentials/tests/sql/sql2yql/canondata/result.json @@ -1315,6 +1315,48 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_bitcast_implicit-sub_bitcast_/sql.yql" } ], + "test_sql2yql.test[blocks-agg_all]": [ + { + "checksum": "3e13a1a16acd75b6f7ff5c1619978127", + "size": 1424, + "uri": "https://{canondata_backend}/1917492/7dd4bc86433f6173a26b62397e1ef41fa9471945/resource.tar.gz#test_sql2yql.test_blocks-agg_all_/sql.yql" + } + ], + "test_sql2yql.test[blocks-agg_all_mixed_distinct]": [ + { + "checksum": "10dc6afd86c71c9692fab13079d8a8a0", + "size": 1755, + "uri": "https://{canondata_backend}/1917492/7dd4bc86433f6173a26b62397e1ef41fa9471945/resource.tar.gz#test_sql2yql.test_blocks-agg_all_mixed_distinct_/sql.yql" + } + ], + "test_sql2yql.test[blocks-agg_all_only_distinct]": [ + { + "checksum": "5bf49bcc8cfc9bfbc5ae81cfcff63057", + "size": 1465, + "uri": "https://{canondata_backend}/1917492/7dd4bc86433f6173a26b62397e1ef41fa9471945/resource.tar.gz#test_sql2yql.test_blocks-agg_all_only_distinct_/sql.yql" + } + ], + "test_sql2yql.test[blocks-agg_by_key]": [ + { + "checksum": "d6fc6aba46506ba8b90c38d4e42dc23c", + "size": 1711, + "uri": "https://{canondata_backend}/1917492/7dd4bc86433f6173a26b62397e1ef41fa9471945/resource.tar.gz#test_sql2yql.test_blocks-agg_by_key_/sql.yql" + } + ], + "test_sql2yql.test[blocks-agg_by_key_mixed_distinct]": [ + { + "checksum": "7f42cd8c64cf1f450613e861c71b47fd", + "size": 2042, + "uri": "https://{canondata_backend}/1917492/7dd4bc86433f6173a26b62397e1ef41fa9471945/resource.tar.gz#test_sql2yql.test_blocks-agg_by_key_mixed_distinct_/sql.yql" + } + ], + "test_sql2yql.test[blocks-agg_by_key_only_distinct]": [ + { + "checksum": "80ef9b2f0461f3b3892c311dda91db40", + "size": 1752, + "uri": "https://{canondata_backend}/1917492/7dd4bc86433f6173a26b62397e1ef41fa9471945/resource.tar.gz#test_sql2yql.test_blocks-agg_by_key_only_distinct_/sql.yql" + } + ], "test_sql2yql.test[blocks-and]": [ { "checksum": "e22a52b51ef20174c3b832acb09df01b", @@ -8107,6 +8149,36 @@ "uri": "file://test_sql_format.test_bitcast_implicit-sub_bitcast_/formatted.sql" } ], + "test_sql_format.test[blocks-agg_all]": [ + { + "uri": "file://test_sql_format.test_blocks-agg_all_/formatted.sql" + } + ], + "test_sql_format.test[blocks-agg_all_mixed_distinct]": [ + { + "uri": "file://test_sql_format.test_blocks-agg_all_mixed_distinct_/formatted.sql" + } + ], + "test_sql_format.test[blocks-agg_all_only_distinct]": [ + { + "uri": "file://test_sql_format.test_blocks-agg_all_only_distinct_/formatted.sql" + } + ], + "test_sql_format.test[blocks-agg_by_key]": [ + { + "uri": "file://test_sql_format.test_blocks-agg_by_key_/formatted.sql" + } + ], + "test_sql_format.test[blocks-agg_by_key_mixed_distinct]": [ + { + "uri": "file://test_sql_format.test_blocks-agg_by_key_mixed_distinct_/formatted.sql" + } + ], + "test_sql_format.test[blocks-agg_by_key_only_distinct]": [ + { + "uri": "file://test_sql_format.test_blocks-agg_by_key_only_distinct_/formatted.sql" + } + ], "test_sql_format.test[blocks-and]": [ { "uri": "file://test_sql_format.test_blocks-and_/formatted.sql" diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_/formatted.sql new file mode 100644 index 0000000000..7266613f42 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_/formatted.sql @@ -0,0 +1,9 @@ +PRAGMA config.flags('PeepholeFlags', 'UseAggPhases'); + +$data = [<|x: 1|>, <|x: 3|>, <|x: 2|>]; + +SELECT + sum(x) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_mixed_distinct_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_mixed_distinct_/formatted.sql new file mode 100644 index 0000000000..4201d1489b --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_mixed_distinct_/formatted.sql @@ -0,0 +1,10 @@ +PRAGMA config.flags('PeepholeFlags', 'UseAggPhases'); + +$data = [<|x: 1|>, <|x: 1|>, <|x: 2|>]; + +SELECT + min(x), + sum(DISTINCT x) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_only_distinct_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_only_distinct_/formatted.sql new file mode 100644 index 0000000000..a5c941dcbc --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_all_only_distinct_/formatted.sql @@ -0,0 +1,9 @@ +PRAGMA config.flags('PeepholeFlags', 'UseAggPhases'); + +$data = [<|x: 1|>, <|x: 1|>, <|x: 2|>]; + +SELECT + sum(DISTINCT x) +FROM + as_table($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_/formatted.sql new file mode 100644 index 0000000000..eb5ee9c9b8 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_/formatted.sql @@ -0,0 +1,14 @@ +PRAGMA config.flags('PeepholeFlags', 'UseAggPhases'); + +$data = [<|x: 1, y: 0|>, <|x: 3, y: 0|>, <|x: 2, y: 1|>]; + +SELECT + y, + sum(x) +FROM + as_table($data) +GROUP BY + y +ORDER BY + y +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_mixed_distinct_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_mixed_distinct_/formatted.sql new file mode 100644 index 0000000000..c4e5ca07c1 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_mixed_distinct_/formatted.sql @@ -0,0 +1,15 @@ +PRAGMA config.flags('PeepholeFlags', 'UseAggPhases'); + +$data = [<|x: 1, y: 0|>, <|x: 1, y: 0|>, <|x: 2, y: 1|>]; + +SELECT + y, + min(x), + sum(DISTINCT x) +FROM + as_table($data) +GROUP BY + y +ORDER BY + y +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_only_distinct_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_only_distinct_/formatted.sql new file mode 100644 index 0000000000..50e3d0d2aa --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_blocks-agg_by_key_only_distinct_/formatted.sql @@ -0,0 +1,14 @@ +PRAGMA config.flags('PeepholeFlags', 'UseAggPhases'); + +$data = [<|x: 1, y: 0|>, <|x: 1, y: 0|>, <|x: 2, y: 1|>]; + +SELECT + y, + sum(DISTINCT x) +FROM + as_table($data) +GROUP BY + y +ORDER BY + y +; diff --git a/yql/essentials/tests/sql/suites/blocks/agg_all.sql b/yql/essentials/tests/sql/suites/blocks/agg_all.sql new file mode 100644 index 0000000000..a35aa07d34 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/agg_all.sql @@ -0,0 +1,5 @@ +pragma config.flags("PeepholeFlags","UseAggPhases"); + +$data = [<|x:1|>,<|x:3|>,<|x:2|>]; + +select sum(x) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/agg_all_mixed_distinct.sql b/yql/essentials/tests/sql/suites/blocks/agg_all_mixed_distinct.sql new file mode 100644 index 0000000000..b7ce1aef2f --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/agg_all_mixed_distinct.sql @@ -0,0 +1,5 @@ +pragma config.flags("PeepholeFlags","UseAggPhases"); + +$data = [<|x:1|>,<|x:1|>,<|x:2|>]; + +select min(x),sum(distinct x) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/agg_all_only_distinct.sql b/yql/essentials/tests/sql/suites/blocks/agg_all_only_distinct.sql new file mode 100644 index 0000000000..4e52d37744 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/agg_all_only_distinct.sql @@ -0,0 +1,5 @@ +pragma config.flags("PeepholeFlags","UseAggPhases"); + +$data = [<|x:1|>,<|x:1|>,<|x:2|>]; + +select sum(distinct x) from as_table($data); diff --git a/yql/essentials/tests/sql/suites/blocks/agg_by_key.sql b/yql/essentials/tests/sql/suites/blocks/agg_by_key.sql new file mode 100644 index 0000000000..426415d5ae --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/agg_by_key.sql @@ -0,0 +1,5 @@ +pragma config.flags("PeepholeFlags","UseAggPhases"); + +$data = [<|x:1,y:0|>,<|x:3,y:0|>,<|x:2,y:1|>]; + +select y,sum(x) from as_table($data) group by y order by y; diff --git a/yql/essentials/tests/sql/suites/blocks/agg_by_key_mixed_distinct.sql b/yql/essentials/tests/sql/suites/blocks/agg_by_key_mixed_distinct.sql new file mode 100644 index 0000000000..9ee6072f56 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/agg_by_key_mixed_distinct.sql @@ -0,0 +1,5 @@ +pragma config.flags("PeepholeFlags","UseAggPhases"); + +$data = [<|x:1,y:0|>,<|x:1,y:0|>,<|x:2,y:1|>]; + +select y,min(x),sum(distinct x) from as_table($data) group by y order by y; diff --git a/yql/essentials/tests/sql/suites/blocks/agg_by_key_only_distinct.sql b/yql/essentials/tests/sql/suites/blocks/agg_by_key_only_distinct.sql new file mode 100644 index 0000000000..35163e0085 --- /dev/null +++ b/yql/essentials/tests/sql/suites/blocks/agg_by_key_only_distinct.sql @@ -0,0 +1,5 @@ +pragma config.flags("PeepholeFlags","UseAggPhases"); + +$data = [<|x:1,y:0|>,<|x:1,y:0|>,<|x:2,y:1|>]; + +select y,sum(distinct x) from as_table($data) group by y order by y; |