diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-12-27 12:59:19 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-12-27 13:12:33 +0300 |
commit | c7a2519eaf60067fe973fc27f3f0c3c7d943bae9 (patch) | |
tree | 0d59847bdc681d374545fdfd0c7989f2f5a98e29 | |
parent | 27df3d52304f343a3e9e87aa36b014a7a442f94e (diff) | |
download | ydb-c7a2519eaf60067fe973fc27f3f0c3c7d943bae9.tar.gz |
Intermediate changes
commit_hash:170e724b371baded6fdcbc5f6b63da52252c1598
221 files changed, 4359 insertions, 12 deletions
diff --git a/yql/essentials/tests/common/test_framework/yql_utils.py b/yql/essentials/tests/common/test_framework/yql_utils.py index f086052207..a504212967 100644 --- a/yql/essentials/tests/common/test_framework/yql_utils.py +++ b/yql/essentials/tests/common/test_framework/yql_utils.py @@ -57,7 +57,7 @@ def do_custom_error_check(res, sql_query): err_string = custom_error.group(1).strip() assert err_string, 'Expected custom error check in test.\nTest error: %s' % res.std_err log('Custom error: ' + err_string) - assert err_string in res.std_err + assert err_string in res.std_err, '"' + err_string + '" is not found' def get_gateway_cfg_suffix(): @@ -1005,7 +1005,7 @@ def stable_result_file(res): for r in res: for data in r[b'Write']: if b'Unordered' in r and b'Data' in data: - data[b'Data'] = sorted(data[b'Data']) + data[b'Data'] = sorted(data[b'Data'], key=cyson.dumps) with open(path, 'wb') as f: writer = cyson.Writer(stream=cyson.OutputStream.from_file(f), format='pretty', mode='node') writer.begin_stream() @@ -1027,7 +1027,7 @@ def stable_table_file(table): if not is_sorted: with open(path, 'rb') as f: r = cyson.Reader(cyson.InputStream.from_file(f), mode='list_fragment') - lst = sorted(list(r.list_fragments())) + lst = sorted(list(r.list_fragments()), key=cyson.dumps) with open(path, 'wb') as f: writer = cyson.Writer(stream=cyson.OutputStream.from_file(f), format='pretty', mode='list_fragment') writer.begin_stream() diff --git a/yql/essentials/tests/sql/minirun/part0/canondata/result.json b/yql/essentials/tests/sql/minirun/part0/canondata/result.json index f1219fd686..8b7d690d77 100644 --- a/yql/essentials/tests/sql/minirun/part0/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part0/canondata/result.json @@ -83,6 +83,34 @@ "uri": "https://{canondata_backend}/1817427/b40026c79fa62c03d8ec164da4fcd4ffa3eae399/resource.tar.gz#test.test_action-subquery_assumeorderby-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-avg_decimal-default.txt-Debug]": [ + { + "checksum": "b7e10c63a03df5b27940adfa1a674dd3", + "size": 617, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_agg_apply-avg_decimal-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-avg_decimal-default.txt-Results]": [ + { + "checksum": "3ab6caa3734bdad38aff7369f38150ba", + "size": 982, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_agg_apply-avg_decimal-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-sum_interval-default.txt-Debug]": [ + { + "checksum": "e39c318dfc7d27e89607ffc56b557e7b", + "size": 607, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_agg_apply-sum_interval-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-sum_interval-default.txt-Results]": [ + { + "checksum": "e66f87e9d6aed9a3c8277f7c32627e36", + "size": 890, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_agg_apply-sum_interval-default.txt-Results_/results.txt" + } + ], "test.test[agg_phases-percentile_opt-default.txt-Debug]": [ { "checksum": "69193de44c665a300c15948edb7e3a7e", @@ -582,6 +610,34 @@ "uri": "https://{canondata_backend}/1920236/0e4eb7607962ae8fb5d7c33255de8ebf2bb42fa1/resource.tar.gz#test.test_match_recognize-after_match_skip_past_last_row-default.txt-Results_/results.txt" } ], + "test.test[match_recognize-alerts-streaming-default.txt-Debug]": [ + { + "checksum": "4c0317b3fb6f4b79fec4d8b5d361a30a", + "size": 5963, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_match_recognize-alerts-streaming-default.txt-Debug_/opt.yql" + } + ], + "test.test[match_recognize-alerts-streaming-default.txt-Results]": [ + { + "checksum": "6f125fabed1ec00aaab81efa4ab4a1b3", + "size": 4625, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_match_recognize-alerts-streaming-default.txt-Results_/results.txt" + } + ], + "test.test[match_recognize-test_type-default.txt-Debug]": [ + { + "checksum": "2a2950eafdd72b695adee8a0d1deddab", + "size": 2645, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_match_recognize-test_type-default.txt-Debug_/opt.yql" + } + ], + "test.test[match_recognize-test_type-default.txt-Results]": [ + { + "checksum": "02e86332916457371461fd277e2f0003", + "size": 4370, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_match_recognize-test_type-default.txt-Results_/results.txt" + } + ], "test.test[optimizers-or_absorption--Debug]": [ { "checksum": "634f82b790060e433dfd0d9004cb899d", @@ -904,6 +960,20 @@ "uri": "https://{canondata_backend}/1881367/fc327f8ce2893f47d25ea37d4876f94bcd09e1ca/resource.tar.gz#test.test_pg-select_proj_ref_order_by_star-default.txt-Results_/results.txt" } ], + "test.test[pg-select_win_count-default.txt-Debug]": [ + { + "checksum": "5f7dfb00df199972195299a29de254a6", + "size": 1861, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_pg-select_win_count-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_win_count-default.txt-Results]": [ + { + "checksum": "7430ef2dbe58dd2044ab27a2b9e2bd1a", + "size": 3542, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_pg-select_win_count-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_win_expr_order-default.txt-Debug]": [ { "checksum": "2abf8120195876fe416e6cc429c0fdeb", @@ -1142,6 +1212,20 @@ "uri": "https://{canondata_backend}/1946324/42941f53c7bc2748dcbf9469a617a6dd3e805076/resource.tar.gz#test.test_select-id_xor-default.txt-Results_/results.txt" } ], + "test.test[weak_field-weak_member_string_copy-default.txt-Debug]": [ + { + "checksum": "23a485ccdd4e2b075a79544c2f95663f", + "size": 699, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_weak_field-weak_member_string_copy-default.txt-Debug_/opt.yql" + } + ], + "test.test[weak_field-weak_member_string_copy-default.txt-Results]": [ + { + "checksum": "0eb92e41d05e77b7f5bf30796228e678", + "size": 984, + "uri": "https://{canondata_backend}/1936947/b760795ecc1ab66b9c70ac9ecfdf8a8ffa413f66/resource.tar.gz#test.test_weak_field-weak_member_string_copy-default.txt-Results_/results.txt" + } + ], "test.test[window-win_func_mutable_resource-default.txt-Debug]": [ { "checksum": "d9060b4e2392f616f058d15cd9c33492", diff --git a/yql/essentials/tests/sql/minirun/part1/canondata/result.json b/yql/essentials/tests/sql/minirun/part1/canondata/result.json index 020ddbb7a6..9db67a2417 100644 --- a/yql/essentials/tests/sql/minirun/part1/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part1/canondata/result.json @@ -83,6 +83,20 @@ "uri": "https://{canondata_backend}/1925821/e00f3e167890c5f5da97383429fa618c17c22f4b/resource.tar.gz#test.test_action-subquery_orderby1-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-count-default.txt-Debug]": [ + { + "checksum": "ead50150b95697633010bedd0b130d5f", + "size": 696, + "uri": "https://{canondata_backend}/1936273/dc5c7fc322621a2828a94006237d3583f38248e5/resource.tar.gz#test.test_agg_apply-count-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-count-default.txt-Results]": [ + { + "checksum": "3c09bd3d21f496fed336cfee6c27f7f1", + "size": 990, + "uri": "https://{canondata_backend}/1936273/dc5c7fc322621a2828a94006237d3583f38248e5/resource.tar.gz#test.test_agg_apply-count-default.txt-Results_/results.txt" + } + ], "test.test[agg_apply-pg_int8-default.txt-Debug]": [ { "checksum": "d9fa5d6dbafa949d82f6bf92e248b86d", @@ -559,6 +573,34 @@ "uri": "https://{canondata_backend}/1942100/1013b32caebd140d1dc9278f326196c687df1d88/resource.tar.gz#test.test_in-small_in_YQL-19183-ansi-Results_/results.txt" } ], + "test.test[join-inmem_by_uncomparable_structs-default.txt-Debug]": [ + { + "checksum": "8c3db3c0b89d765d8902292c8ad33420", + "size": 2622, + "uri": "https://{canondata_backend}/1936273/dc5c7fc322621a2828a94006237d3583f38248e5/resource.tar.gz#test.test_join-inmem_by_uncomparable_structs-default.txt-Debug_/opt.yql" + } + ], + "test.test[join-inmem_by_uncomparable_structs-default.txt-Results]": [ + { + "checksum": "743a745522f9f8ae5c8aa38488a7a83e", + "size": 9746, + "uri": "https://{canondata_backend}/1936273/dc5c7fc322621a2828a94006237d3583f38248e5/resource.tar.gz#test.test_join-inmem_by_uncomparable_structs-default.txt-Results_/results.txt" + } + ], + "test.test[join-inmem_by_uncomparable_tuples-default.txt-Debug]": [ + { + "checksum": "150624ef5c37458a0da77b91837d5ec7", + "size": 2421, + "uri": "https://{canondata_backend}/1936273/dc5c7fc322621a2828a94006237d3583f38248e5/resource.tar.gz#test.test_join-inmem_by_uncomparable_tuples-default.txt-Debug_/opt.yql" + } + ], + "test.test[join-inmem_by_uncomparable_tuples-default.txt-Results]": [ + { + "checksum": "6c1a46be45448e088bce485a414db8a6", + "size": 9730, + "uri": "https://{canondata_backend}/1936273/dc5c7fc322621a2828a94006237d3583f38248e5/resource.tar.gz#test.test_join-inmem_by_uncomparable_tuples-default.txt-Results_/results.txt" + } + ], "test.test[library-library_yqls--Debug]": [ { "checksum": "b2bab6a1ef79eb44b255b25d32270957", diff --git a/yql/essentials/tests/sql/minirun/part2/canondata/result.json b/yql/essentials/tests/sql/minirun/part2/canondata/result.json index aa8d00bf12..98fce629b8 100644 --- a/yql/essentials/tests/sql/minirun/part2/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part2/canondata/result.json @@ -55,6 +55,34 @@ "uri": "https://{canondata_backend}/1781765/deb8f52a0d335d3e451b1695ac9aca984ed7f66e/resource.tar.gz#test.test_agg_apply-opt_column_subset-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-some_notnull-default.txt-Debug]": [ + { + "checksum": "5c31e7fd243b404949209cfb77587880", + "size": 444, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_agg_apply-some_notnull-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-some_notnull-default.txt-Results]": [ + { + "checksum": "f9a40ce704e450668912cbb5f4baeef9", + "size": 887, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_agg_apply-some_notnull-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-sum_signed-default.txt-Debug]": [ + { + "checksum": "2fc01ad49179b1e16d3ad546069422ec", + "size": 562, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_agg_apply-sum_signed-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-sum_signed-default.txt-Results]": [ + { + "checksum": "ffc712ddbb37a1ad5507467ff6590850", + "size": 887, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_agg_apply-sum_signed-default.txt-Results_/results.txt" + } + ], "test.test[agg_phases-count_all-default.txt-Debug]": [ { "checksum": "a9d6b939210fe1ecd71f8c572e7d5142", @@ -125,6 +153,20 @@ "uri": "https://{canondata_backend}/1871002/0233045da825fc84264273b0d20adb8b6bdc30d1/resource.tar.gz#test.test_aggr_factory-multi_list-default.txt-Results_/results.txt" } ], + "test.test[aggregate-yql-18511--Debug]": [ + { + "checksum": "7c5e7c4e8484dae13594e8380d8ff37a", + "size": 5362, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_aggregate-yql-18511--Debug_/opt.yql" + } + ], + "test.test[aggregate-yql-18511--Results]": [ + { + "checksum": "8e843998b10eabfd56dac6e4866dec47", + "size": 9260, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_aggregate-yql-18511--Results_/results.txt" + } + ], "test.test[bigdate-bitcast_timestamp64-default.txt-Debug]": [ { "checksum": "a8025a4a66a887998224f0134011f4ae", @@ -680,6 +722,20 @@ "uri": "https://{canondata_backend}/1871102/308650ad858d99ea42592b0d0a17f7fec7d5e32b/resource.tar.gz#test.test_lambda-list_aggregate-default.txt-Results_/results.txt" } ], + "test.test[match_recognize-simple_paritioning-default.txt-Debug]": [ + { + "checksum": "ed2ffd7ee602e50eb77df1f51835692d", + "size": 3030, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_match_recognize-simple_paritioning-default.txt-Debug_/opt.yql" + } + ], + "test.test[match_recognize-simple_paritioning-default.txt-Results]": [ + { + "checksum": "6a32b53de2225e7e4d1a4c6293716f07", + "size": 3122, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_match_recognize-simple_paritioning-default.txt-Results_/results.txt" + } + ], "test.test[optimizers-and_absorption--Debug]": [ { "checksum": "634f82b790060e433dfd0d9004cb899d", @@ -1016,6 +1072,20 @@ "uri": "https://{canondata_backend}/1931696/007ddb5f92320447683f7eab01b4032dd0c741ff/resource.tar.gz#test.test_pg-select_join_cross_and_inner-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_full_equi_and_one-default.txt-Debug]": [ + { + "checksum": "09ed0d9c8d69cd8e1c3a73d000c06fe7", + "size": 2007, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_pg-select_join_full_equi_and_one-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_full_equi_and_one-default.txt-Results]": [ + { + "checksum": "f14e860b63694c9add052730b48ee231", + "size": 4026, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_pg-select_join_full_equi_and_one-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_plusminus-default.txt-Debug]": [ { "checksum": "295c36b02cb23b193cad709f0099477b", @@ -1198,6 +1268,20 @@ "uri": "https://{canondata_backend}/1917492/5645fbdadcb8c4a5f65cb597325ccead0302aa37/resource.tar.gz#test.test_union-union_positional-default.txt-Results_/results.txt" } ], + "test.test[union_all-union_all_null-default.txt-Debug]": [ + { + "checksum": "f37d836cf0d3a62a43764c0a2c876439", + "size": 547, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_union_all-union_all_null-default.txt-Debug_/opt.yql" + } + ], + "test.test[union_all-union_all_null-default.txt-Results]": [ + { + "checksum": "94a46404c5f70fd896f4851be977b35b", + "size": 2474, + "uri": "https://{canondata_backend}/1773845/e276b05a77b889bd8fbb83a0bc0087dea7abd8f4/resource.tar.gz#test.test_union_all-union_all_null-default.txt-Results_/results.txt" + } + ], "test.test[version-version-default.txt-Debug]": [ { "checksum": "ff6ff0300bc4ce9421e9e9956e9cecfe", diff --git a/yql/essentials/tests/sql/minirun/part3/canondata/result.json b/yql/essentials/tests/sql/minirun/part3/canondata/result.json index 69da5826f2..1d51ed7623 100644 --- a/yql/essentials/tests/sql/minirun/part3/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part3/canondata/result.json @@ -13,6 +13,20 @@ "uri": "https://{canondata_backend}/1937367/1f0ee14f32ab7a31f3f909e73d6e3255fcfef245/resource.tar.gz#test.test_action-eval_type-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-sum_decimal_null-default.txt-Debug]": [ + { + "checksum": "c9482778cd7fdc9ae428de1751756bd1", + "size": 593, + "uri": "https://{canondata_backend}/1775059/4af50849d42a7d75d874177b9acc7129d95b1179/resource.tar.gz#test.test_agg_apply-sum_decimal_null-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-sum_decimal_null-default.txt-Results]": [ + { + "checksum": "985a158ef2ca710c0c4b31d14e40cda0", + "size": 980, + "uri": "https://{canondata_backend}/1775059/4af50849d42a7d75d874177b9acc7129d95b1179/resource.tar.gz#test.test_agg_apply-sum_decimal_null-default.txt-Results_/results.txt" + } + ], "test.test[agg_phases-avg_null-default.txt-Debug]": [ { "checksum": "b786715cda93aded32d2bd3396ddfc88", @@ -924,6 +938,20 @@ "uri": "https://{canondata_backend}/937458/bf15689286911fda9591f86e9c6447c3a9d69468/resource.tar.gz#test.test_pg-select_win_min-default.txt-Results_/results.txt" } ], + "test.test[pg-select_win_min_null-default.txt-Debug]": [ + { + "checksum": "1d1918c1860eef4795e58105a0347306", + "size": 1593, + "uri": "https://{canondata_backend}/1775059/4af50849d42a7d75d874177b9acc7129d95b1179/resource.tar.gz#test.test_pg-select_win_min_null-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_win_min_null-default.txt-Results]": [ + { + "checksum": "26fd505f4da47c770c8eb61956e43f32", + "size": 3538, + "uri": "https://{canondata_backend}/1775059/4af50849d42a7d75d874177b9acc7129d95b1179/resource.tar.gz#test.test_pg-select_win_min_null-default.txt-Results_/results.txt" + } + ], "test.test[pg-set_of_as_records--Debug]": [ { "checksum": "b25601ad648ee13b8cc8a17a2a27783f", diff --git a/yql/essentials/tests/sql/minirun/part4/canondata/result.json b/yql/essentials/tests/sql/minirun/part4/canondata/result.json index 1bfdc4a645..5734034f51 100644 --- a/yql/essentials/tests/sql/minirun/part4/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part4/canondata/result.json @@ -55,6 +55,48 @@ "uri": "https://{canondata_backend}/1847551/e07ae89624c27b10ab9b925ba8e10e0360458926/resource.tar.gz#test.test_action-runtime_quote_code-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-avg_numeric_opt-default.txt-Debug]": [ + { + "checksum": "2eeb4322c1fb066f7fac3fbacbac5b35", + "size": 560, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_agg_apply-avg_numeric_opt-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-avg_numeric_opt-default.txt-Results]": [ + { + "checksum": "0365e61720cfe7b74e521ba9159f6e7f", + "size": 888, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_agg_apply-avg_numeric_opt-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-max-default.txt-Debug]": [ + { + "checksum": "8fe5a85b8ed099e730a16e4ce4885d6d", + "size": 521, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_agg_apply-max-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-max-default.txt-Results]": [ + { + "checksum": "1b8fcc932c297e7c3333aaebd3311909", + "size": 887, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_agg_apply-max-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-sum_double-default.txt-Debug]": [ + { + "checksum": "a7c3b529468630ae61f94786d8b4f589", + "size": 571, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_agg_apply-sum_double-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-sum_double-default.txt-Results]": [ + { + "checksum": "7d27d58405fe6b245c855b1a7d014e65", + "size": 888, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_agg_apply-sum_double-default.txt-Results_/results.txt" + } + ], "test.test[agg_phases-avg-default.txt-Debug]": [ { "checksum": "517f16b0d4dc745dab9182c2c72fa76f", @@ -1156,6 +1198,20 @@ "uri": "https://{canondata_backend}/1881367/226940b6d391bb2a80e5edf7b4e5cb1acd6fe46c/resource.tar.gz#test.test_pg-select_common_type_except-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_full_equi-default.txt-Debug]": [ + { + "checksum": "1841b803a50df45836013a49995f4590", + "size": 1266, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_pg-select_join_full_equi-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_full_equi-default.txt-Results]": [ + { + "checksum": "f14e860b63694c9add052730b48ee231", + "size": 4026, + "uri": "https://{canondata_backend}/1781765/7ff2578974c8f5e77edbe8e187037900c143b7bf/resource.tar.gz#test.test_pg-select_join_full_equi-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_join_left_const-default.txt-Debug]": [ { "checksum": "1745d55160a45040ff37852fad80ab5c", diff --git a/yql/essentials/tests/sql/minirun/part5/canondata/result.json b/yql/essentials/tests/sql/minirun/part5/canondata/result.json index 631d3a3fd2..3b952ed7ec 100644 --- a/yql/essentials/tests/sql/minirun/part5/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part5/canondata/result.json @@ -111,6 +111,20 @@ "uri": "https://{canondata_backend}/1925821/6007882aec2e7b1330cc057157b466b121eec1eb/resource.tar.gz#test.test_action-subquery_orderby2-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-avg_state_type-default.txt-Debug]": [ + { + "checksum": "1e1d067001749bf3d951e74ed55530b3", + "size": 1531, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_agg_apply-avg_state_type-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-avg_state_type-default.txt-Results]": [ + { + "checksum": "72cf24ace122f10444bc1cb28bb8f216", + "size": 2635, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_agg_apply-avg_state_type-default.txt-Results_/results.txt" + } + ], "test.test[agg_apply-opt_len_count-default.txt-Debug]": [ { "checksum": "a8ffb0747cf1e5115a7945bac00619b9", @@ -747,6 +761,20 @@ "uri": "https://{canondata_backend}/1942525/dcc73b4dff6c0ab1a0f2ab99e86fa45bbf9a919a/resource.tar.gz#test.test_expr-variant_struct_comp-default.txt-Results_/results.txt" } ], + "test.test[expr-xor-default.txt-Debug]": [ + { + "checksum": "141e3c3a0ccb318846b2597a30481477", + "size": 1000, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_expr-xor-default.txt-Debug_/opt.yql" + } + ], + "test.test[expr-xor-default.txt-Results]": [ + { + "checksum": "ce11692487f515ada9a44fed9ced79f9", + "size": 5290, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_expr-xor-default.txt-Results_/results.txt" + } + ], "test.test[flatten_by-flatten_expr_where--Debug]": [ { "checksum": "da766ae22cd607636d677d38ddf39d7f", @@ -893,6 +921,20 @@ "uri": "https://{canondata_backend}/1597364/e109c7a88df0c59b57f4010fae540ae78d4eedf0/resource.tar.gz#test.test_like-like_escape-default.txt-Results_/results.txt" } ], + "test.test[match_recognize-alerts-default.txt-Debug]": [ + { + "checksum": "17ab30106ff230f4c490cadb8641e3c8", + "size": 5965, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_match_recognize-alerts-default.txt-Debug_/opt.yql" + } + ], + "test.test[match_recognize-alerts-default.txt-Results]": [ + { + "checksum": "6f125fabed1ec00aaab81efa4ab4a1b3", + "size": 4625, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_match_recognize-alerts-default.txt-Results_/results.txt" + } + ], "test.test[match_recognize-all_rows_per_match-default.txt-Debug]": [ { "checksum": "94481db077832a3635f63f613be474dc", @@ -949,6 +991,20 @@ "uri": "https://{canondata_backend}/937458/148d22352d17667132392f382771cf9817922249/resource.tar.gz#test.test_pg-cbo_pragma1-default.txt-Results_/results.txt" } ], + "test.test[pg-distinct_all_projection-default.txt-Debug]": [ + { + "checksum": "a988a6ba5b8dc5e13db4f9e2a84fd2f0", + "size": 522, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_pg-distinct_all_projection-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-distinct_all_projection-default.txt-Results]": [ + { + "checksum": "1094cdaf90c605ccb99da588ee8ea454", + "size": 871, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_pg-distinct_all_projection-default.txt-Results_/results.txt" + } + ], "test.test[pg-join_using7-default.txt-Debug]": [ { "checksum": "65af5382e05f64cdc526cb3450f72667", @@ -1047,6 +1103,34 @@ "uri": "https://{canondata_backend}/937458/148d22352d17667132392f382771cf9817922249/resource.tar.gz#test.test_pg-select_having_same_agg-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_full_const-default.txt-Debug]": [ + { + "checksum": "d1852ef225772df2c2eaee22dadfca42", + "size": 4568, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_pg-select_join_full_const-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_full_const-default.txt-Results]": [ + { + "checksum": "a4a1c2bbfa0feda9c7879b27b7d284d2", + "size": 14878, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_pg-select_join_full_const-default.txt-Results_/results.txt" + } + ], + "test.test[pg-select_join_full_equi_and_const-default.txt-Debug]": [ + { + "checksum": "1aa871f3c9d5d01555abfa36d735487c", + "size": 2001, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_pg-select_join_full_equi_and_const-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_full_equi_and_const-default.txt-Results]": [ + { + "checksum": "93a88da94c93802987ddb4e56b6cad31", + "size": 4178, + "uri": "https://{canondata_backend}/1936947/73a52333839d1b24061b13e03914d1ed469097ed/resource.tar.gz#test.test_pg-select_join_full_equi_and_const-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_join_inner_const-default.txt-Debug]": [ { "checksum": "fc6b4b20d6c789a1f30e46bce9bcf5b5", diff --git a/yql/essentials/tests/sql/minirun/part6/canondata/result.json b/yql/essentials/tests/sql/minirun/part6/canondata/result.json index 469dca6fef..28c8ad4e6e 100644 --- a/yql/essentials/tests/sql/minirun/part6/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part6/canondata/result.json @@ -97,6 +97,48 @@ "uri": "https://{canondata_backend}/1937367/b6bc878e9971cb3293892fcd550e8dfbdcd963c0/resource.tar.gz#test.test_action-subquery_orderby0-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-opt_sum_divide_by_zero-default.txt-Debug]": [ + { + "checksum": "a08dc431f69529dc8c7397da88526bc3", + "size": 433, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_agg_apply-opt_sum_divide_by_zero-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-opt_sum_divide_by_zero-default.txt-Results]": [ + { + "checksum": "e4bfea6643a87de7e3a38d5a205ecb24", + "size": 829, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_agg_apply-opt_sum_divide_by_zero-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-opt_sum_null-default.txt-Debug]": [ + { + "checksum": "405846bfda3258f2e506eec3d470ef64", + "size": 412, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_agg_apply-opt_sum_null-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-opt_sum_null-default.txt-Results]": [ + { + "checksum": "5f5b78fbf2c0d6a4e73f8056d571ecc7", + "size": 648, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_agg_apply-opt_sum_null-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-sum_unsigned-default.txt-Debug]": [ + { + "checksum": "eb282c0412dfe5a45d3e99162aefe947", + "size": 565, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_agg_apply-sum_unsigned-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-sum_unsigned-default.txt-Results]": [ + { + "checksum": "1e09d1ccc9386be7f60a08b397ab8111", + "size": 888, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_agg_apply-sum_unsigned-default.txt-Results_/results.txt" + } + ], "test.test[agg_phases-count-default.txt-Debug]": [ { "checksum": "a9d6b939210fe1ecd71f8c572e7d5142", @@ -728,6 +770,20 @@ "uri": "file://test.test_lambda-list_aggregate_flatmap-default.txt-Results_/extracted" } ], + "test.test[match_recognize-alerts_without_order-default.txt-Debug]": [ + { + "checksum": "c724b7b2600d261b02e191689e728f28", + "size": 5813, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_match_recognize-alerts_without_order-default.txt-Debug_/opt.yql" + } + ], + "test.test[match_recognize-alerts_without_order-default.txt-Results]": [ + { + "checksum": "6f125fabed1ec00aaab81efa4ab4a1b3", + "size": 4625, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_match_recognize-alerts_without_order-default.txt-Results_/results.txt" + } + ], "test.test[optimizers-instant_contains_lookup-default.txt-Debug]": [ { "checksum": "08c7efa4d2a203ab7b573d7e1ea8b00c", @@ -952,6 +1008,20 @@ "uri": "https://{canondata_backend}/1920236/401d89dddd07c13ac9d6bdd2dc452f966fa3b6aa/resource.tar.gz#test.test_pg-select_common_type_if-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_full_one-default.txt-Debug]": [ + { + "checksum": "ffa17b77e8bc5253915b32ab25effb99", + "size": 4019, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_join_full_one-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_full_one-default.txt-Results]": [ + { + "checksum": "321cb99ec07c8f112b2dcca1d930ff79", + "size": 8362, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_join_full_one-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_join_left_equi_and_one-default.txt-Debug]": [ { "checksum": "7d5ebb923830d10d7476aa3b55d6fda3", @@ -966,6 +1036,34 @@ "uri": "https://{canondata_backend}/1920236/401d89dddd07c13ac9d6bdd2dc452f966fa3b6aa/resource.tar.gz#test.test_pg-select_join_left_equi_and_one-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_right_equi-default.txt-Debug]": [ + { + "checksum": "48310735d68d629ac584e5cf1903dc71", + "size": 1268, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_join_right_equi-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_right_equi-default.txt-Results]": [ + { + "checksum": "4fe92a6bbd1ddf7e0461fe6ab222a5db", + "size": 3714, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_join_right_equi-default.txt-Results_/results.txt" + } + ], + "test.test[pg-select_join_right_equi_and_one-default.txt-Debug]": [ + { + "checksum": "75ce46d5e293e9868cd0d328cea27254", + "size": 1736, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_join_right_equi_and_one-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_right_equi_and_one-default.txt-Results]": [ + { + "checksum": "4fe92a6bbd1ddf7e0461fe6ab222a5db", + "size": 3714, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_join_right_equi_and_one-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_proj_ref_group_by_qstar-default.txt-Debug]": [ { "checksum": "780f754a3acf67817172b5821f5af22f", @@ -980,6 +1078,20 @@ "uri": "https://{canondata_backend}/1920236/401d89dddd07c13ac9d6bdd2dc452f966fa3b6aa/resource.tar.gz#test.test_pg-select_proj_ref_group_by_qstar-default.txt-Results_/results.txt" } ], + "test.test[pg-select_unionall_scalar-default.txt-Debug]": [ + { + "checksum": "935d5b6ef7b3a62c8f0fc936301f9cda", + "size": 510, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_unionall_scalar-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_unionall_scalar-default.txt-Results]": [ + { + "checksum": "5d906f2f832a379dfb11311ddc4d9401", + "size": 1252, + "uri": "https://{canondata_backend}/1936947/0ddea11997745cd059fbd894ec6ff75cd45330e7/resource.tar.gz#test.test_pg-select_unionall_scalar-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_win_count_all-default.txt-Debug]": [ { "checksum": "7ae46f7e29fcdc18c14813a0534896bf", diff --git a/yql/essentials/tests/sql/minirun/part7/canondata/result.json b/yql/essentials/tests/sql/minirun/part7/canondata/result.json index 38640833ca..7ff1a816f0 100644 --- a/yql/essentials/tests/sql/minirun/part7/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part7/canondata/result.json @@ -41,6 +41,20 @@ "uri": "https://{canondata_backend}/1925821/e91dc63c64e9dc592e7397f9646a2d96a78d3248/resource.tar.gz#test.test_action-subquery_accessnode-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-avg_numeric-default.txt-Debug]": [ + { + "checksum": "8bc9dcad2991a7dea66f5ac9a266e988", + "size": 519, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_agg_apply-avg_numeric-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-avg_numeric-default.txt-Results]": [ + { + "checksum": "0365e61720cfe7b74e521ba9159f6e7f", + "size": 888, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_agg_apply-avg_numeric-default.txt-Results_/results.txt" + } + ], "test.test[agg_apply-sum_type-default.txt-Debug]": [ { "checksum": "ae53c215da25a048dbd51432eae5396a", @@ -195,6 +209,20 @@ "uri": "https://{canondata_backend}/1920236/d08588ad74710b9926df45a5b372c37153cb8b1e/resource.tar.gz#test.test_bigdate-misc-default.txt-Results_/results.txt" } ], + "test.test[case-case_opt_then-default.txt-Debug]": [ + { + "checksum": "456497d68c16bc496296525c7d2fadd5", + "size": 382, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_case-case_opt_then-default.txt-Debug_/opt.yql" + } + ], + "test.test[case-case_opt_then-default.txt-Results]": [ + { + "checksum": "15eedc7117b17eb9fa11bb21988599b8", + "size": 1094, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_case-case_opt_then-default.txt-Results_/results.txt" + } + ], "test.test[compute_range-huge_in-default.txt-Debug]": [ { "checksum": "80c96f098a46ff47413c0efdc212ea0d", @@ -537,6 +565,20 @@ "uri": "https://{canondata_backend}/1942100/4698224697ac3c42fd9587b062e9ec0d74d84dfd/resource.tar.gz#test.test_library-library_via_http--Results_/results.txt" } ], + "test.test[match_recognize-test_type-streaming-default.txt-Debug]": [ + { + "checksum": "5618af42a1caa66d16c80f966e94237f", + "size": 2546, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_match_recognize-test_type-streaming-default.txt-Debug_/opt.yql" + } + ], + "test.test[match_recognize-test_type-streaming-default.txt-Results]": [ + { + "checksum": "a426ea78777873f86c83681342304e1a", + "size": 4374, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_match_recognize-test_type-streaming-default.txt-Results_/results.txt" + } + ], "test.test[order_by-order_by_missing_project_column_nosimple--Debug]": [ { "checksum": "e1cc506b940edcfe93f94b72f82e89ac", @@ -733,6 +775,20 @@ "uri": "https://{canondata_backend}/1936997/622fd3cb7694c472156949512718741dc5532685/resource.tar.gz#test.test_pg-select_is_null-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_full3-default.txt-Debug]": [ + { + "checksum": "ce78560ec5ee62b16d4fe33cd478e331", + "size": 1055, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_pg-select_join_full3-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_full3-default.txt-Results]": [ + { + "checksum": "42662bdc13bed23e6cb81b5796cbf701", + "size": 3002, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_pg-select_join_full3-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_sort_project_same_asc-default.txt-Debug]": [ { "checksum": "111755f19ce9318b6334da6616d044a4", @@ -859,6 +915,20 @@ "uri": "https://{canondata_backend}/1936997/622fd3cb7694c472156949512718741dc5532685/resource.tar.gz#test.test_pg-select_win_rank_order-default.txt-Results_/results.txt" } ], + "test.test[pg-select_win_sum_null-default.txt-Debug]": [ + { + "checksum": "b399298f7ba7e4eff2854cfa5ffe8110", + "size": 1694, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_pg-select_win_sum_null-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_win_sum_null-default.txt-Results]": [ + { + "checksum": "b8924904bcf0d96417e89e5d50e8c880", + "size": 3538, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_pg-select_win_sum_null-default.txt-Results_/results.txt" + } + ], "test.test[pg-struct_tuple_cast-default.txt-Debug]": [ { "checksum": "92b655ab3cfaf4e463647b9c3d3f48c5", @@ -999,6 +1069,20 @@ "uri": "https://{canondata_backend}/1923547/98bb2c98b0bca7d42edced7e04f0de08c067a92f/resource.tar.gz#test.test_pg_catalog-pg_stat_activity-default.txt-Results_/results.txt" } ], + "test.test[pg_duplicated-qualified_star_from_using-default.txt-Debug]": [ + { + "checksum": "2655fee1a606feb2999031c956c1acce", + "size": 616, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_pg_duplicated-qualified_star_from_using-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg_duplicated-qualified_star_from_using-default.txt-Results]": [ + { + "checksum": "db374d6ea83f67ca28c4f495bf64a267", + "size": 1150, + "uri": "https://{canondata_backend}/1936273/40a052daef6f43b6c825c32f19c5707a9107d4bc/resource.tar.gz#test.test_pg_duplicated-qualified_star_from_using-default.txt-Results_/results.txt" + } + ], "test.test[pg_duplicated-qualified_star_proj-default.txt-Debug]": [ { "checksum": "751d0c82ff54df7f102c837d2248b5c7", diff --git a/yql/essentials/tests/sql/minirun/part8/canondata/result.json b/yql/essentials/tests/sql/minirun/part8/canondata/result.json index 96962cbaab..1d15ad707d 100644 --- a/yql/essentials/tests/sql/minirun/part8/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part8/canondata/result.json @@ -69,6 +69,62 @@ "uri": "https://{canondata_backend}/1925821/dbb639c652a305ac0d22d675f471bfcd73848bae/resource.tar.gz#test.test_action-runtime_repr_code-default.txt-Results_/results.txt" } ], + "test.test[agg_apply-avg_interval-default.txt-Debug]": [ + { + "checksum": "d4f793d5c986a334a189ed9f2be32955", + "size": 565, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-avg_interval-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-avg_interval-default.txt-Results]": [ + { + "checksum": "a6f6d970190b27aa7fc99b254778f479", + "size": 901, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-avg_interval-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-min-default.txt-Debug]": [ + { + "checksum": "639327016f5d1e4847cd2373e2f15322", + "size": 521, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-min-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-min-default.txt-Results]": [ + { + "checksum": "f9a40ce704e450668912cbb5f4baeef9", + "size": 887, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-min-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-some_null-default.txt-Debug]": [ + { + "checksum": "4925a6a6161972aa85d965696afeca93", + "size": 431, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-some_null-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-some_null-default.txt-Results]": [ + { + "checksum": "5f5b78fbf2c0d6a4e73f8056d571ecc7", + "size": 648, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-some_null-default.txt-Results_/results.txt" + } + ], + "test.test[agg_apply-sum_decimal-default.txt-Debug]": [ + { + "checksum": "9a8bf8a8374cc683652e9e46fb9cd538", + "size": 611, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-sum_decimal-default.txt-Debug_/opt.yql" + } + ], + "test.test[agg_apply-sum_decimal-default.txt-Results]": [ + { + "checksum": "8c4afbd8271925b25613465c6a1d4d48", + "size": 983, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_agg_apply-sum_decimal-default.txt-Results_/results.txt" + } + ], "test.test[agg_apply-sum_type_group_by-default.txt-Debug]": [ { "checksum": "3fc9b826ece495766f8818a093dbb558", @@ -747,6 +803,20 @@ "uri": "https://{canondata_backend}/1817427/e19dd6d5c506c6d882f6e409830437f1245b321b/resource.tar.gz#test.test_match_recognize-permute-default.txt-Results_/results.txt" } ], + "test.test[match_recognize-simple_paritioning-streaming-default.txt-Debug]": [ + { + "checksum": "5d5202ad383ce1d089d694cc81131011", + "size": 3076, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_match_recognize-simple_paritioning-streaming-default.txt-Debug_/opt.yql" + } + ], + "test.test[match_recognize-simple_paritioning-streaming-default.txt-Results]": [ + { + "checksum": "6a32b53de2225e7e4d1a4c6293716f07", + "size": 3122, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_match_recognize-simple_paritioning-streaming-default.txt-Results_/results.txt" + } + ], "test.test[order_by-tuple01-default.txt-Debug]": [ { "checksum": "b563a580bb15eea69a29f6e0f4683687", @@ -803,6 +873,20 @@ "uri": "https://{canondata_backend}/1900335/ed9bb821021e0fbe8fe01972027c4f63f6330eec/resource.tar.gz#test.test_pg-expr_op_array-default.txt-Results_/results.txt" } ], + "test.test[pg-is_predicate-default.txt-Debug]": [ + { + "checksum": "22ad55de85d28b92052d792812b1b266", + "size": 942, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_pg-is_predicate-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-is_predicate-default.txt-Results]": [ + { + "checksum": "f0641816adf23517d828b51b6a37a93d", + "size": 3260, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_pg-is_predicate-default.txt-Results_/results.txt" + } + ], "test.test[pg-join_using2-default.txt-Debug]": [ { "checksum": "e8322cd4b70475f6b3fb0f49d4d787fa", @@ -943,6 +1027,20 @@ "uri": "https://{canondata_backend}/1900335/ed9bb821021e0fbe8fe01972027c4f63f6330eec/resource.tar.gz#test.test_pg-select_join_inner_equi_and_const-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_right_equi_and_const-default.txt-Debug]": [ + { + "checksum": "7abad1f4e8b5e06bde050aabd931c264", + "size": 1834, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_pg-select_join_right_equi_and_const-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_right_equi_and_const-default.txt-Results]": [ + { + "checksum": "967e225b138261f7ee5d140e73230db4", + "size": 3710, + "uri": "https://{canondata_backend}/1773845/20507d42e246d2393b5ea9633b85501f042faf59/resource.tar.gz#test.test_pg-select_join_right_equi_and_const-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_proj_ref_distinct_on_qstar-default.txt-Debug]": [ { "checksum": "68cddc3874f2340d2e71e45a182b2380", diff --git a/yql/essentials/tests/sql/minirun/part9/canondata/result.json b/yql/essentials/tests/sql/minirun/part9/canondata/result.json index c3b1d5a49e..5fc20d1c19 100644 --- a/yql/essentials/tests/sql/minirun/part9/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part9/canondata/result.json @@ -943,6 +943,20 @@ "uri": "https://{canondata_backend}/1881367/def2025ab9c2d374a5a250b1be65460e20e00623/resource.tar.gz#test.test_pg-select_agg_gs_cube-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_full-default.txt-Debug]": [ + { + "checksum": "e143c3e33d6ddf44a4579ac2bda43db4", + "size": 787, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_pg-select_join_full-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_full-default.txt-Results]": [ + { + "checksum": "6a662fa3319ca5d3bcba1a24d9c8df9c", + "size": 2200, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_pg-select_join_full-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_join_left-default.txt-Debug]": [ { "checksum": "0946e7ec26e4065eff7cf6bf97ac0b6e", @@ -971,6 +985,20 @@ "uri": "https://{canondata_backend}/1881367/def2025ab9c2d374a5a250b1be65460e20e00623/resource.tar.gz#test.test_pg-select_join_right_const-default.txt-Results_/results.txt" } ], + "test.test[pg-select_join_right_one-default.txt-Debug]": [ + { + "checksum": "81445be820b4ccf2394bff9e23696f66", + "size": 3078, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_pg-select_join_right_one-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_join_right_one-default.txt-Results]": [ + { + "checksum": "3f4744b0189659d340d2c396450c8e46", + "size": 7582, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_pg-select_join_right_one-default.txt-Results_/results.txt" + } + ], "test.test[pg-select_proj_ref_order_by_expr-default.txt-Debug]": [ { "checksum": "cd49c587acbcf653a11659960460fe1b", @@ -1027,6 +1055,20 @@ "uri": "https://{canondata_backend}/1881367/def2025ab9c2d374a5a250b1be65460e20e00623/resource.tar.gz#test.test_pg-select_win_expr_partition-default.txt-Results_/results.txt" } ], + "test.test[pg-select_win_max_null-default.txt-Debug]": [ + { + "checksum": "1244ed154f560021c3408dcea7af4391", + "size": 1592, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_pg-select_win_max_null-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-select_win_max_null-default.txt-Results]": [ + { + "checksum": "effe6e817c0fd2fbafb4596bcad3323c", + "size": 3538, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_pg-select_win_max_null-default.txt-Results_/results.txt" + } + ], "test.test[pg-sublink_order_all_corr-default.txt-Debug]": [ { "checksum": "6bdd436459c06999e50c3dfba26f3d14", @@ -1195,6 +1237,20 @@ "uri": "https://{canondata_backend}/1942100/70844ab761bd350d8a3d6d0f8e44b85fe207cd3b/resource.tar.gz#test.test_udf-udf_empty--Results_/results.txt" } ], + "test.test[union-union_column_extention-default.txt-Debug]": [ + { + "checksum": "2bc6ec2e4d2233ada21225242b1c83b4", + "size": 730, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_union-union_column_extention-default.txt-Debug_/opt.yql" + } + ], + "test.test[union-union_column_extention-default.txt-Results]": [ + { + "checksum": "ed34d447fd299897970d7ad9d9491dce", + "size": 1887, + "uri": "https://{canondata_backend}/1936273/72fcbb56644b916b821abc674452166f3f54f15c/resource.tar.gz#test.test_union-union_column_extention-default.txt-Results_/results.txt" + } + ], "test.test[window-win_by_simple-default.txt-Debug]": [ { "checksum": "5d30811bbbc412da333ba639c17e99b8", diff --git a/yql/essentials/tests/sql/minirun/pure.py b/yql/essentials/tests/sql/minirun/pure.py index 4f10082cd4..20683a0a7d 100644 --- a/yql/essentials/tests/sql/minirun/pure.py +++ b/yql/essentials/tests/sql/minirun/pure.py @@ -40,18 +40,20 @@ def run_test(suite, case, cfg, tmpdir, what, yql_http_file_server): extra_args=extra_final_args, allow_llvm=False) to_canonize = [] - assert os.path.exists(res.results_file) + assert xfail or os.path.exists(res.results_file) assert not tables_res if what == 'Results': - if not xfail: - if do_custom_query_check(res, sql_query): - return None - - stable_result_file(res) - to_canonize.append(yatest.common.canonical_file(res.results_file)) - if res.std_err: - to_canonize.append(normalize_source_code_path(res.std_err)) + if xfail: + return None + + if do_custom_query_check(res, sql_query): + return None + + stable_result_file(res) + to_canonize.append(yatest.common.canonical_file(res.results_file)) + if res.std_err: + to_canonize.append(normalize_source_code_path(res.std_err)) if what == 'Debug': to_canonize = [yatest.common.canonical_file(res.opt_file, diff_tool=ASTDIFF_PATH)] diff --git a/yql/essentials/tests/sql/sql2yql/canondata/result.json b/yql/essentials/tests/sql/sql2yql/canondata/result.json index 76e14c905e..3fdd5230e3 100644 --- a/yql/essentials/tests/sql/sql2yql/canondata/result.json +++ b/yql/essentials/tests/sql/sql2yql/canondata/result.json @@ -153,6 +153,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_action-lambda_arg_count_/sql.yql" } ], + "test_sql2yql.test[action-large_evaluate_for_fail]": [ + { + "checksum": "a69744596977e554989503c979cfdb51", + "size": 461, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_action-large_evaluate_for_fail_/sql.yql" + } + ], "test_sql2yql.test[action-nested_action]": [ { "checksum": "82a13f948b116987a9ede0b3cd5f1c28", @@ -300,6 +307,62 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_action-subquery_orderby2_/sql.yql" } ], + "test_sql2yql.test[agg_apply-avg_decimal]": [ + { + "checksum": "2e6e8d59660f3090fb53965276583647", + "size": 1370, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-avg_decimal_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-avg_interval]": [ + { + "checksum": "aa4f74ea2f49caa7db8f6055caa62e89", + "size": 1366, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-avg_interval_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-avg_numeric]": [ + { + "checksum": "ccbfd2b2fb1dde7ea967778d35ea2fce", + "size": 1325, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-avg_numeric_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-avg_numeric_opt]": [ + { + "checksum": "5792bf794506ca1b3c9384432cc7da21", + "size": 1319, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-avg_numeric_opt_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-avg_state_type]": [ + { + "checksum": "a2d3ac26a2fec52649b0876834fbb2e7", + "size": 3561, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-avg_state_type_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-count]": [ + { + "checksum": "e8b887656e794c406ed47602feb6701c", + "size": 1591, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-count_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-max]": [ + { + "checksum": "896f057fe7532ee7d94a9292020a29b7", + "size": 1325, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-max_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-min]": [ + { + "checksum": "7bf92612fb4c35277ae27c8f64850b65", + "size": 1325, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-min_/sql.yql" + } + ], "test_sql2yql.test[agg_apply-opt_column_subset]": [ { "checksum": "8399666c78faf3950157f8281871e388", @@ -335,6 +398,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_agg_apply-opt_len_count_null_/sql.yql" } ], + "test_sql2yql.test[agg_apply-opt_sum_divide_by_zero]": [ + { + "checksum": "1054f44ead242f068663e1ef7828f0f9", + "size": 1338, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-opt_sum_divide_by_zero_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-opt_sum_null]": [ + { + "checksum": "797d04110488c9efe2b2d73967087a31", + "size": 1306, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-opt_sum_null_/sql.yql" + } + ], "test_sql2yql.test[agg_apply-pg_int4]": [ { "checksum": "b868b7e93e951f565ff9288072a2a56a", @@ -356,6 +433,55 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_agg_apply-pg_text_/sql.yql" } ], + "test_sql2yql.test[agg_apply-some_notnull]": [ + { + "checksum": "584feac03eba668607c92b4f7af3a9c0", + "size": 1260, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-some_notnull_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-some_null]": [ + { + "checksum": "fe31afbe846aeb080d4c520ea591d0c6", + "size": 1254, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-some_null_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-sum_decimal]": [ + { + "checksum": "001d1e91d724ae4c0b8ffa6168b7098b", + "size": 1463, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-sum_decimal_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-sum_decimal_null]": [ + { + "checksum": "bfce2021dcfcaf3bd32c24760129fb09", + "size": 1411, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-sum_decimal_null_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-sum_double]": [ + { + "checksum": "d64c23fe8e0ac2f927c1e98c4689ac2c", + "size": 1327, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-sum_double_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-sum_interval]": [ + { + "checksum": "ee1e0c42dd843fc4a17e2f57e7d1c751", + "size": 1383, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-sum_interval_/sql.yql" + } + ], + "test_sql2yql.test[agg_apply-sum_signed]": [ + { + "checksum": "b4e79b5c8bdeaac5722a53d28449c060", + "size": 1319, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-sum_signed_/sql.yql" + } + ], "test_sql2yql.test[agg_apply-sum_type]": [ { "checksum": "5a39b8af762b80165141e7336ec263c2", @@ -377,6 +503,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_agg_apply-sum_type_group_by_/sql.yql" } ], + "test_sql2yql.test[agg_apply-sum_unsigned]": [ + { + "checksum": "25e6c6df0bb9eb06ef66d8d2ee1bb64d", + "size": 1321, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_agg_apply-sum_unsigned_/sql.yql" + } + ], "test_sql2yql.test[agg_phases-avg]": [ { "checksum": "fadb025244930b729914db4b0a447150", @@ -818,6 +951,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_aggregate-parsetype_constness_/sql.yql" } ], + "test_sql2yql.test[aggregate-yql-18511]": [ + { + "checksum": "83bd32f3e0a53ee1796299a2115c9769", + "size": 20556, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_aggregate-yql-18511_/sql.yql" + } + ], "test_sql2yql.test[ansi_idents-escaping]": [ { "checksum": "4870ad0bb397aa5a3edad1f634eb6e93", @@ -1112,6 +1252,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_binding-tie_/sql.yql" } ], + "test_sql2yql.test[binding-tie_bad_count_fail]": [ + { + "checksum": "36b69750b008c061e8391e2738af43a2", + "size": 1262, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_binding-tie_bad_count_fail_/sql.yql" + } + ], "test_sql2yql.test[binding-tie_scalar_context]": [ { "checksum": "eefdfc9b1dfcfa65868d1806b892b420", @@ -1168,6 +1315,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_case-case_opt_cond_/sql.yql" } ], + "test_sql2yql.test[case-case_opt_then]": [ + { + "checksum": "caf846b3b0106dee9171051fcc6ba16d", + "size": 2095, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_case-case_opt_then_/sql.yql" + } + ], "test_sql2yql.test[coalesce-coalesce_symmetry]": [ { "checksum": "0062db4e63e50da002300a17f66fd374", @@ -1714,6 +1868,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_datetime-date_tz_expand_gmt_/sql.yql" } ], + "test_sql2yql.test[datetime-date_tz_impossible_cast]": [ + { + "checksum": "5199dc2297404c9343dc321e299c0fb4", + "size": 1115, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_datetime-date_tz_impossible_cast_/sql.yql" + } + ], "test_sql2yql.test[datetime-date_tz_io]": [ { "checksum": "a6ff0e5ce8156dc3ee39bac466ed68b8", @@ -1784,6 +1945,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_expr-as_table_/sql.yql" } ], + "test_sql2yql.test[expr-as_table_bad_columns_fail]": [ + { + "checksum": "f60d05ed03ff905225d97cd21e3edb92", + "size": 1485, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-as_table_bad_columns_fail_/sql.yql" + } + ], + "test_sql2yql.test[expr-as_table_bad_row_type_fail]": [ + { + "checksum": "586bb2dec6a2b996498800a101098f86", + "size": 1227, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-as_table_bad_row_type_fail_/sql.yql" + } + ], "test_sql2yql.test[expr-as_table_emptylist2]": [ { "checksum": "d2b4805f9d392ac7f0bf9faba22ab176", @@ -2036,6 +2211,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_expr-ensure_ok_/sql.yql" } ], + "test_sql2yql.test[expr-ensure_runtime_fail]": [ + { + "checksum": "cbdedf40c66d533332b09fdc8f12fa2e", + "size": 1059, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-ensure_runtime_fail_/sql.yql" + } + ], + "test_sql2yql.test[expr-ensure_type_fail]": [ + { + "checksum": "612902b71deb47bbcac5916cc2bb8f45", + "size": 1040, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-ensure_type_fail_/sql.yql" + } + ], "test_sql2yql.test[expr-exapnd_with_singular_types]": [ { "checksum": "c24d24c8c277a4b838faeaa0f3c60e10", @@ -2127,6 +2316,27 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_expr-extra_opt_try_member_/sql.yql" } ], + "test_sql2yql.test[expr-fail_constraint]": [ + { + "checksum": "6f80c6aae42a460d30d766cf073a2596", + "size": 1090, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-fail_constraint_/sql.yql" + } + ], + "test_sql2yql.test[expr-fail_expr]": [ + { + "checksum": "b4cc16bd648ec465df054f73e5531f96", + "size": 1084, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-fail_expr_/sql.yql" + } + ], + "test_sql2yql.test[expr-fail_type]": [ + { + "checksum": "83d13d17dd7b376ae4a534364b1da2a6", + "size": 1084, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-fail_type_/sql.yql" + } + ], "test_sql2yql.test[expr-fallback_filternullelements]": [ { "checksum": "9c00016703263dd8abbcd29a64dc7c8c", @@ -2155,6 +2365,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_expr-formattypediff_/sql.yql" } ], + "test_sql2yql.test[expr-implicit_bitcast_fail]": [ + { + "checksum": "4ea02fe9f0fefde0a9d6f7ebfd6ed565", + "size": 1175, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-implicit_bitcast_fail_/sql.yql" + } + ], "test_sql2yql.test[expr-implicit_cast_literals_under_if]": [ { "checksum": "b654ffec7492af1970632003bb0c6a81", @@ -2337,6 +2554,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_expr-list_replicate_/sql.yql" } ], + "test_sql2yql.test[expr-list_replicate_fail]": [ + { + "checksum": "5c5d5d8ad7005e8d239810ff6d44c197", + "size": 1022, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-list_replicate_fail_/sql.yql" + } + ], "test_sql2yql.test[expr-list_sample]": [ { "checksum": "5932ce41a31b6ae3caafe804aaa0ecb6", @@ -2722,6 +2946,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_expr-untag_/sql.yql" } ], + "test_sql2yql.test[expr-unwrap_runtime_fail]": [ + { + "checksum": "14221c867e9e56b77fa2f769bff5be58", + "size": 1019, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-unwrap_runtime_fail_/sql.yql" + } + ], "test_sql2yql.test[expr-uuid]": [ { "checksum": "c76f7e411043ee57ea8023c3e0956fd8", @@ -2785,6 +3016,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_expr-with_optional_args_/sql.yql" } ], + "test_sql2yql.test[expr-xor]": [ + { + "checksum": "d882b981c9413d617cb288bc3f49d57f", + "size": 2469, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_expr-xor_/sql.yql" + } + ], "test_sql2yql.test[expr-yql-15485]": [ { "checksum": "789111a6ae62fb47e6e61e6892e4ea96", @@ -2806,6 +3044,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_file-file_skip_take_/sql.yql" } ], + "test_sql2yql.test[file-parse_file_bad_type_fail]": [ + { + "checksum": "9a60a3a06c9386fe17dbd1f0e003fcf8", + "size": 1108, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_file-parse_file_bad_type_fail_/sql.yql" + } + ], + "test_sql2yql.test[file-second_pass_parse_file_fail]": [ + { + "checksum": "d48224429d5c375f09466958f30b7e7b", + "size": 1377, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_file-second_pass_parse_file_fail_/sql.yql" + } + ], "test_sql2yql.test[flatten_by-flatten_by_group_by_alias_collision]": [ { "checksum": "c4317482bfad537975e57883de043e8e", @@ -3016,6 +3268,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_in-in_nonliteral_tuple_ansi_/sql.yql" } ], + "test_sql2yql.test[in-in_tuple_check0_fail]": [ + { + "checksum": "f12e179052993ef898dd41d4a4d2a22c", + "size": 1144, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_in-in_tuple_check0_fail_/sql.yql" + } + ], + "test_sql2yql.test[in-in_tuple_check1_fail]": [ + { + "checksum": "350a1fdecac70c5ff804d19957932505", + "size": 1113, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_in-in_tuple_check1_fail_/sql.yql" + } + ], "test_sql2yql.test[in-in_with_cast]": [ { "checksum": "6403a86a5d119789e144f14633696a88", @@ -3100,6 +3366,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_join-cross_join_with_lazy_list_/sql.yql" } ], + "test_sql2yql.test[join-inmem_by_uncomparable_structs]": [ + { + "checksum": "800f3ffe362c85dc001eb5237220bfd7", + "size": 9828, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_join-inmem_by_uncomparable_structs_/sql.yql" + } + ], + "test_sql2yql.test[join-inmem_by_uncomparable_tuples]": [ + { + "checksum": "ed8c12a89da43c862c95d368a999c2b5", + "size": 9646, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_join-inmem_by_uncomparable_tuples_/sql.yql" + } + ], "test_sql2yql.test[join-inmem_with_null_key]": [ { "checksum": "a4064c9ac69cb50da0afbcfa25b2916f", @@ -3177,6 +3457,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_exists_on_error_/sql.yql" } ], + "test_sql2yql.test[json-json_exists/on_error_exception]": [ + { + "checksum": "e2a01583aca44a29d36c593a61e3fad6", + "size": 1114, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_exists_on_error_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_exists/passing]": [ { "checksum": "f2f0f6d444e796e1df5fb8a0aa566cf6", @@ -3184,6 +3471,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_exists_passing_/sql.yql" } ], + "test_sql2yql.test[json-json_exists/passing_exception]": [ + { + "checksum": "dd6c186402fb5ef19a28c457db288745", + "size": 1193, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_exists_passing_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_query/common_syntax]": [ { "checksum": "09c66cba4de585104012815d36f74e3f", @@ -3198,6 +3492,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_query_on_empty_/sql.yql" } ], + "test_sql2yql.test[json-json_query/on_empty_exception]": [ + { + "checksum": "77f316dacf6f1decb5c7519c8e844b42", + "size": 1131, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_query_on_empty_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_query/on_error]": [ { "checksum": "90beba3e48b79de8d466f31cb5a00f53", @@ -3205,6 +3506,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_query_on_error_/sql.yql" } ], + "test_sql2yql.test[json-json_query/on_error_exception]": [ + { + "checksum": "be531bf56ed487f6c92a87a2c1d14d21", + "size": 1134, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_query_on_error_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_query/passing]": [ { "checksum": "68000c2c571eb56c87b2d4a4792e5400", @@ -3212,6 +3520,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_query_passing_/sql.yql" } ], + "test_sql2yql.test[json-json_query/passing_exception]": [ + { + "checksum": "8b26e79a873433cd10b060770ef99466", + "size": 1187, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_query_passing_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_query/wrapper]": [ { "checksum": "ded443fcc5fa57c1430cb99f6adb96f2", @@ -3233,6 +3548,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_value_on_empty_/sql.yql" } ], + "test_sql2yql.test[json-json_value/on_empty_cast_default_exception]": [ + { + "checksum": "f62346a6f6efade64d1c885f108fe534", + "size": 1171, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_value_on_empty_cast_default_exception_/sql.yql" + } + ], + "test_sql2yql.test[json-json_value/on_empty_exception]": [ + { + "checksum": "27ec6fdc84f5f60e1f05f0bcb881db05", + "size": 1145, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_value_on_empty_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_value/on_error]": [ { "checksum": "c6d7eb8e379eda346e856ce07616e204", @@ -3240,6 +3569,34 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_value_on_error_/sql.yql" } ], + "test_sql2yql.test[json-json_value/on_error_cast_default_exception]": [ + { + "checksum": "51f560f4524ef420baf3d8dce1626fc7", + "size": 1183, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_value_on_error_cast_default_exception_/sql.yql" + } + ], + "test_sql2yql.test[json-json_value/on_error_cast_udf_exception]": [ + { + "checksum": "2a1b3fe587fe9c6ab55a7a2008037d12", + "size": 1190, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_value_on_error_cast_udf_exception_/sql.yql" + } + ], + "test_sql2yql.test[json-json_value/on_error_cast_value_exception]": [ + { + "checksum": "6d39de3df1cb025da24c45bc1c440961", + "size": 1186, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_value_on_error_cast_value_exception_/sql.yql" + } + ], + "test_sql2yql.test[json-json_value/on_error_jsonpath_exception]": [ + { + "checksum": "0997dd33529b46585d2fc4f165542c23", + "size": 1148, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_value_on_error_jsonpath_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_value/passing]": [ { "checksum": "7d12075e9b0536f12ccbf19f076ac794", @@ -3247,6 +3604,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_json-json_value_passing_/sql.yql" } ], + "test_sql2yql.test[json-json_value/passing_exception]": [ + { + "checksum": "e256706c6ab363e5e85bfa53195a2a4a", + "size": 1211, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_json-json_value_passing_exception_/sql.yql" + } + ], "test_sql2yql.test[json-json_value/returning]": [ { "checksum": "5edb598e6d62d5f58fc8e958935e1d1c", @@ -3303,6 +3667,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_lambda-lambda_opt_args_/sql.yql" } ], + "test_sql2yql.test[lambda-lambda_with_tie_bad_count_fail]": [ + { + "checksum": "191fca1cd4093ab4eff56b03ee30b87f", + "size": 1249, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_lambda-lambda_with_tie_bad_count_fail_/sql.yql" + } + ], "test_sql2yql.test[lambda-list_aggregate]": [ { "checksum": "05ee964aabbdc5eb22386883a2ae6ca2", @@ -3387,6 +3758,27 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_match_recognize-after_match_skip_past_last_row_/sql.yql" } ], + "test_sql2yql.test[match_recognize-alerts-streaming]": [ + { + "checksum": "19cfd4ac71802d49039da78644667d60", + "size": 9768, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-alerts-streaming_/sql.yql" + } + ], + "test_sql2yql.test[match_recognize-alerts]": [ + { + "checksum": "08c72510d05ec8baa8050b2ab75175d3", + "size": 9770, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-alerts_/sql.yql" + } + ], + "test_sql2yql.test[match_recognize-alerts_without_order]": [ + { + "checksum": "d8075bb34a86c528ce47ea2be97a4e86", + "size": 9651, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-alerts_without_order_/sql.yql" + } + ], "test_sql2yql.test[match_recognize-all_rows_per_match]": [ { "checksum": "ee193116db0e897c8a3fbb98a75caaac", @@ -3408,6 +3800,41 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_match_recognize-permute_/sql.yql" } ], + "test_sql2yql.test[match_recognize-simple_paritioning-streaming]": [ + { + "checksum": "9971f2943b1f9fcf52dfdc36ceabeaf2", + "size": 5067, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-simple_paritioning-streaming_/sql.yql" + } + ], + "test_sql2yql.test[match_recognize-simple_paritioning]": [ + { + "checksum": "edf5680780dd393593d27f08aff839e2", + "size": 5036, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-simple_paritioning_/sql.yql" + } + ], + "test_sql2yql.test[match_recognize-test_type-streaming]": [ + { + "checksum": "1efff3745da1ff0c1c7a784d84b6e773", + "size": 9899, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-test_type-streaming_/sql.yql" + } + ], + "test_sql2yql.test[match_recognize-test_type]": [ + { + "checksum": "c3477e1413f59cd6ecff1b7b5b1f7cdc", + "size": 9904, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-test_type_/sql.yql" + } + ], + "test_sql2yql.test[match_recognize-test_type_predicate]": [ + { + "checksum": "1578ebf4c45fe97f2acf85bd83c5707d", + "size": 3307, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_match_recognize-test_type_predicate_/sql.yql" + } + ], "test_sql2yql.test[optimizers-and_absorption]": [ { "checksum": "342629f3c35c2da10e66658b50f1bdbd", @@ -3569,6 +3996,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_params-list_/sql.yql" } ], + "test_sql2yql.test[params-missing_param_fail]": [ + { + "checksum": "681483e7c151d61f2e7a003a8a57ddbc", + "size": 1072, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_params-missing_param_fail_/sql.yql" + } + ], "test_sql2yql.test[params-no_optional_param]": [ { "checksum": "3c79927425a6c036d49abf95e8e96f92", @@ -3576,6 +4010,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_params-no_optional_param_/sql.yql" } ], + "test_sql2yql.test[params-no_params_fail]": [ + { + "checksum": "76465ada7b843401e63f1a09b83face8", + "size": 1047, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_params-no_params_fail_/sql.yql" + } + ], "test_sql2yql.test[params-param_in_in_predicate]": [ { "checksum": "93268d6eb97dbf438169b26e5ae1bfef", @@ -3590,6 +4031,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_params-param_in_json_api_/sql.yql" } ], + "test_sql2yql.test[params-param_type_mismatch_fail]": [ + { + "checksum": "c2f58a9d5541690300706a7344202300", + "size": 1048, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_params-param_type_mismatch_fail_/sql.yql" + } + ], "test_sql2yql.test[params-primitives]": [ { "checksum": "08cb19394a5f09dddaa87867ae8a7981", @@ -3744,6 +4192,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-def_column_name_func_/sql.yql" } ], + "test_sql2yql.test[pg-distinct_all_projection]": [ + { + "checksum": "25285e8aa1d68e0838f0bd0b3a0348dc", + "size": 772, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-distinct_all_projection_/sql.yql" + } + ], "test_sql2yql.test[pg-distinct_on_multi_projection]": [ { "checksum": "bd0d27f4408aad130027ee213f4058a1", @@ -3807,6 +4262,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_pg-interval_to_pg_/sql.yql" } ], + "test_sql2yql.test[pg-is_predicate]": [ + { + "checksum": "9926b42b1933ea712b9e9b248d133c4b", + "size": 1175, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-is_predicate_/sql.yql" + } + ], "test_sql2yql.test[pg-join_brackets1]": [ { "checksum": "f028de78d6e1d7e6ddfc57756e2baf98", @@ -3933,6 +4395,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-join_using_table_used_order1_/sql.yql" } ], + "test_sql2yql.test[pg-join_using_table_used_order2]": [ + { + "checksum": "6c5257256f68de61afa7b27ac2be3f67", + "size": 1381, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-join_using_table_used_order2_/sql.yql" + } + ], "test_sql2yql.test[pg-join_using_table_used_order]": [ { "checksum": "79b9e44768691b23c7d3a8e679da94d8", @@ -4577,6 +5046,55 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-select_join_cross_and_inner_/sql.yql" } ], + "test_sql2yql.test[pg-select_join_full3]": [ + { + "checksum": "08599691db02e59dba57bbad4ccf939f", + "size": 2214, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_full3_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_full]": [ + { + "checksum": "7a216900832b42a0bab4a465eded570e", + "size": 1676, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_full_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_full_const]": [ + { + "checksum": "5358b8b2e9507546172869a026c2f517", + "size": 9958, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_full_const_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_full_equi]": [ + { + "checksum": "e58948912c24c8aadbc8cd9c836391e4", + "size": 2112, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_full_equi_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_full_equi_and_const]": [ + { + "checksum": "035ddc44782c201df92709c0bd41fc33", + "size": 2276, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_full_equi_and_const_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_full_equi_and_one]": [ + { + "checksum": "031c4a52d090e37f11c9606bbae9413d", + "size": 2188, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_full_equi_and_one_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_full_one]": [ + { + "checksum": "8bf8d7df9cdf8fdd2911aefd9fe890f6", + "size": 3986, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_full_one_/sql.yql" + } + ], "test_sql2yql.test[pg-select_join_inner3]": [ { "checksum": "7f505e2bd1dd1cff671f42a9c16f9f5c", @@ -4703,6 +5221,34 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-select_join_right_const_/sql.yql" } ], + "test_sql2yql.test[pg-select_join_right_equi]": [ + { + "checksum": "9c00a34e969152b659822167738c6095", + "size": 2114, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_right_equi_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_right_equi_and_const]": [ + { + "checksum": "abd7d55ebcdb3bde3414fbf67c1e56c9", + "size": 2278, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_right_equi_and_const_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_right_equi_and_one]": [ + { + "checksum": "721d4a1234e9f1e0172bf88bf7de0241", + "size": 2190, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_right_equi_and_one_/sql.yql" + } + ], + "test_sql2yql.test[pg-select_join_right_one]": [ + { + "checksum": "a3437fcd4127f82afe2075faaf5576a1", + "size": 3990, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_join_right_one_/sql.yql" + } + ], "test_sql2yql.test[pg-select_literals]": [ { "checksum": "38fa10230910912a01679ad5e9070436", @@ -4878,6 +5424,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-select_union_/sql.yql" } ], + "test_sql2yql.test[pg-select_unionall_scalar]": [ + { + "checksum": "e9deefb03cc148a177bc1d9c6fc50e8e", + "size": 1549, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_unionall_scalar_/sql.yql" + } + ], "test_sql2yql.test[pg-select_where_scalar]": [ { "checksum": "974bd36947e34cb4788deee669878220", @@ -4899,6 +5452,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-select_win_column_partition_by_/sql.yql" } ], + "test_sql2yql.test[pg-select_win_count]": [ + { + "checksum": "f50add6afe4f7ed6a1f3cdde92792661", + "size": 2111, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_win_count_/sql.yql" + } + ], "test_sql2yql.test[pg-select_win_count_all]": [ { "checksum": "319dfc3fe5343284654b1c06f5bb4606", @@ -4976,6 +5536,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-select_win_max_/sql.yql" } ], + "test_sql2yql.test[pg-select_win_max_null]": [ + { + "checksum": "67ba5c16f0a99996a7d403cd06b38d8b", + "size": 2103, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_win_max_null_/sql.yql" + } + ], "test_sql2yql.test[pg-select_win_min]": [ { "checksum": "d0242b604e27313eec16a7f237f27507", @@ -4983,6 +5550,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-select_win_min_/sql.yql" } ], + "test_sql2yql.test[pg-select_win_min_null]": [ + { + "checksum": "39b6b767c085aa97021e3bbb8ebb3beb", + "size": 2103, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_win_min_null_/sql.yql" + } + ], "test_sql2yql.test[pg-select_win_nth_value]": [ { "checksum": "a8bf895bace1d89545c7ff4eddeb6d55", @@ -5039,6 +5613,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg-select_win_sum_/sql.yql" } ], + "test_sql2yql.test[pg-select_win_sum_null]": [ + { + "checksum": "99bfceb8b6093e518bf4c9a418f4ddb1", + "size": 2103, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg-select_win_sum_null_/sql.yql" + } + ], "test_sql2yql.test[pg-set_of_as_records]": [ { "checksum": "3a23e7205b5fd5f667bb5004e7dcc069", @@ -5620,6 +6201,48 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg_catalog-user_/sql.yql" } ], + "test_sql2yql.test[pg_duplicated-ambigous_order_by_from_join]": [ + { + "checksum": "78796c83a9d21fea80d5c503af554873", + "size": 1156, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg_duplicated-ambigous_order_by_from_join_/sql.yql" + } + ], + "test_sql2yql.test[pg_duplicated-ambigous_order_by_from_table]": [ + { + "checksum": "eb0d13a8e63fbb43c300b1c79d02d069", + "size": 768, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg_duplicated-ambigous_order_by_from_table_/sql.yql" + } + ], + "test_sql2yql.test[pg_duplicated-ambigous_order_by_item_expression_from_projection]": [ + { + "checksum": "2eacb5806ddb7805f05dc3cd4d9849d2", + "size": 876, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg_duplicated-ambigous_order_by_item_expression_from_projection_/sql.yql" + } + ], + "test_sql2yql.test[pg_duplicated-ambigous_order_by_with_duplicates]": [ + { + "checksum": "0d482fdd355fc570f31fae414fb3365a", + "size": 836, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg_duplicated-ambigous_order_by_with_duplicates_/sql.yql" + } + ], + "test_sql2yql.test[pg_duplicated-ambigous_order_by_wo_duplicated_in_projection]": [ + { + "checksum": "c723ea3971b931be787f3808000e5aaa", + "size": 833, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg_duplicated-ambigous_order_by_wo_duplicated_in_projection_/sql.yql" + } + ], + "test_sql2yql.test[pg_duplicated-ambigous_ref]": [ + { + "checksum": "5bb1eafb72a533864774829ee8346ac9", + "size": 712, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg_duplicated-ambigous_ref_/sql.yql" + } + ], "test_sql2yql.test[pg_duplicated-order_by_duplicated_proj_on_column_ref]": [ { "checksum": "e0bd0cd714e708b53afbfb0770cf3e30", @@ -5641,6 +6264,13 @@ "uri": "https://{canondata_backend}/1937429/434276f26b2857be3c5ad3fdbbf877d2bf775ac5/resource.tar.gz#test_sql2yql.test_pg_duplicated-order_by_with_same_projection_lambda_/sql.yql" } ], + "test_sql2yql.test[pg_duplicated-qualified_star_from_using]": [ + { + "checksum": "264defe2a7420f8598d81361ec299e28", + "size": 898, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pg_duplicated-qualified_star_from_using_/sql.yql" + } + ], "test_sql2yql.test[pg_duplicated-qualified_star_proj]": [ { "checksum": "2c114fdee15bad984bbee0272b4a11b4", @@ -5697,6 +6327,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_pragma-yson_auto_convert_/sql.yql" } ], + "test_sql2yql.test[pragma-yson_strict_fail]": [ + { + "checksum": "d1545ea16788208918c240dcb9a10613", + "size": 1172, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_pragma-yson_strict_fail_/sql.yql" + } + ], "test_sql2yql.test[produce-yql-10297]": [ { "checksum": "307b5c3474b6475de6fddbab164043f7", @@ -5907,6 +6544,20 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_udf-udf_result_member_/sql.yql" } ], + "test_sql2yql.test[udf-wrong_args_fail]": [ + { + "checksum": "7173a52302ba0a2e88761d1d44cbe14d", + "size": 3567, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_udf-wrong_args_fail_/sql.yql" + } + ], + "test_sql2yql.test[union-union_column_extention]": [ + { + "checksum": "75294382d48ff3801b42ef1c8bb26dbd", + "size": 2951, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_union-union_column_extention_/sql.yql" + } + ], "test_sql2yql.test[union-union_mix]": [ { "checksum": "a4681f5145adcca6d4a4af7c5e164d73", @@ -5935,6 +6586,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_union_all-union_all_incompatible_/sql.yql" } ], + "test_sql2yql.test[union_all-union_all_null]": [ + { + "checksum": "df6cc2a15c893c067b57ff13bdb825f5", + "size": 2249, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_union_all-union_all_null_/sql.yql" + } + ], "test_sql2yql.test[version-version]": [ { "checksum": "b18f22a03d83d6cef3474b1416e28adc", @@ -5942,6 +6600,13 @@ "uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_version-version_/sql.yql" } ], + "test_sql2yql.test[weak_field-weak_member_string_copy]": [ + { + "checksum": "cebb1bc06b5b3d0fca280b36e7ad5a0e", + "size": 1428, + "uri": "https://{canondata_backend}/1775319/f1fa0c55bf9f13cff57cf1c990c2330caed8eb1b/resource.tar.gz#test_sql2yql.test_weak_field-weak_member_string_copy_/sql.yql" + } + ], "test_sql2yql.test[window-null_type]": [ { "checksum": "7f00d720abc7eb839b93bac23ad207d8", @@ -6199,6 +6864,11 @@ "uri": "file://test_sql_format.test_action-lambda_arg_count_/formatted.sql" } ], + "test_sql_format.test[action-large_evaluate_for_fail]": [ + { + "uri": "file://test_sql_format.test_action-large_evaluate_for_fail_/formatted.sql" + } + ], "test_sql_format.test[action-nested_action]": [ { "uri": "file://test_sql_format.test_action-nested_action_/formatted.sql" @@ -6304,6 +6974,46 @@ "uri": "file://test_sql_format.test_action-subquery_orderby2_/formatted.sql" } ], + "test_sql_format.test[agg_apply-avg_decimal]": [ + { + "uri": "file://test_sql_format.test_agg_apply-avg_decimal_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-avg_interval]": [ + { + "uri": "file://test_sql_format.test_agg_apply-avg_interval_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-avg_numeric]": [ + { + "uri": "file://test_sql_format.test_agg_apply-avg_numeric_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-avg_numeric_opt]": [ + { + "uri": "file://test_sql_format.test_agg_apply-avg_numeric_opt_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-avg_state_type]": [ + { + "uri": "file://test_sql_format.test_agg_apply-avg_state_type_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-count]": [ + { + "uri": "file://test_sql_format.test_agg_apply-count_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-max]": [ + { + "uri": "file://test_sql_format.test_agg_apply-max_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-min]": [ + { + "uri": "file://test_sql_format.test_agg_apply-min_/formatted.sql" + } + ], "test_sql_format.test[agg_apply-opt_column_subset]": [ { "uri": "file://test_sql_format.test_agg_apply-opt_column_subset_/formatted.sql" @@ -6329,6 +7039,16 @@ "uri": "file://test_sql_format.test_agg_apply-opt_len_count_null_/formatted.sql" } ], + "test_sql_format.test[agg_apply-opt_sum_divide_by_zero]": [ + { + "uri": "file://test_sql_format.test_agg_apply-opt_sum_divide_by_zero_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-opt_sum_null]": [ + { + "uri": "file://test_sql_format.test_agg_apply-opt_sum_null_/formatted.sql" + } + ], "test_sql_format.test[agg_apply-pg_int4]": [ { "uri": "file://test_sql_format.test_agg_apply-pg_int4_/formatted.sql" @@ -6344,6 +7064,41 @@ "uri": "file://test_sql_format.test_agg_apply-pg_text_/formatted.sql" } ], + "test_sql_format.test[agg_apply-some_notnull]": [ + { + "uri": "file://test_sql_format.test_agg_apply-some_notnull_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-some_null]": [ + { + "uri": "file://test_sql_format.test_agg_apply-some_null_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-sum_decimal]": [ + { + "uri": "file://test_sql_format.test_agg_apply-sum_decimal_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-sum_decimal_null]": [ + { + "uri": "file://test_sql_format.test_agg_apply-sum_decimal_null_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-sum_double]": [ + { + "uri": "file://test_sql_format.test_agg_apply-sum_double_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-sum_interval]": [ + { + "uri": "file://test_sql_format.test_agg_apply-sum_interval_/formatted.sql" + } + ], + "test_sql_format.test[agg_apply-sum_signed]": [ + { + "uri": "file://test_sql_format.test_agg_apply-sum_signed_/formatted.sql" + } + ], "test_sql_format.test[agg_apply-sum_type]": [ { "uri": "file://test_sql_format.test_agg_apply-sum_type_/formatted.sql" @@ -6359,6 +7114,11 @@ "uri": "file://test_sql_format.test_agg_apply-sum_type_group_by_/formatted.sql" } ], + "test_sql_format.test[agg_apply-sum_unsigned]": [ + { + "uri": "file://test_sql_format.test_agg_apply-sum_unsigned_/formatted.sql" + } + ], "test_sql_format.test[agg_phases-avg]": [ { "uri": "file://test_sql_format.test_agg_phases-avg_/formatted.sql" @@ -6674,6 +7434,11 @@ "uri": "file://test_sql_format.test_aggregate-parsetype_constness_/formatted.sql" } ], + "test_sql_format.test[aggregate-yql-18511]": [ + { + "uri": "file://test_sql_format.test_aggregate-yql-18511_/formatted.sql" + } + ], "test_sql_format.test[ansi_idents-escaping]": [ { "uri": "file://test_sql_format.test_ansi_idents-escaping_/formatted.sql" @@ -6884,6 +7649,11 @@ "uri": "file://test_sql_format.test_binding-tie_/formatted.sql" } ], + "test_sql_format.test[binding-tie_bad_count_fail]": [ + { + "uri": "file://test_sql_format.test_binding-tie_bad_count_fail_/formatted.sql" + } + ], "test_sql_format.test[binding-tie_scalar_context]": [ { "uri": "file://test_sql_format.test_binding-tie_scalar_context_/formatted.sql" @@ -6924,6 +7694,11 @@ "uri": "file://test_sql_format.test_case-case_opt_cond_/formatted.sql" } ], + "test_sql_format.test[case-case_opt_then]": [ + { + "uri": "file://test_sql_format.test_case-case_opt_then_/formatted.sql" + } + ], "test_sql_format.test[coalesce-coalesce_symmetry]": [ { "uri": "file://test_sql_format.test_coalesce-coalesce_symmetry_/formatted.sql" @@ -7314,6 +8089,11 @@ "uri": "file://test_sql_format.test_datetime-date_tz_expand_gmt_/formatted.sql" } ], + "test_sql_format.test[datetime-date_tz_impossible_cast]": [ + { + "uri": "file://test_sql_format.test_datetime-date_tz_impossible_cast_/formatted.sql" + } + ], "test_sql_format.test[datetime-date_tz_io]": [ { "uri": "file://test_sql_format.test_datetime-date_tz_io_/formatted.sql" @@ -7364,6 +8144,16 @@ "uri": "file://test_sql_format.test_expr-as_table_/formatted.sql" } ], + "test_sql_format.test[expr-as_table_bad_columns_fail]": [ + { + "uri": "file://test_sql_format.test_expr-as_table_bad_columns_fail_/formatted.sql" + } + ], + "test_sql_format.test[expr-as_table_bad_row_type_fail]": [ + { + "uri": "file://test_sql_format.test_expr-as_table_bad_row_type_fail_/formatted.sql" + } + ], "test_sql_format.test[expr-as_table_emptylist2]": [ { "uri": "file://test_sql_format.test_expr-as_table_emptylist2_/formatted.sql" @@ -7544,6 +8334,16 @@ "uri": "file://test_sql_format.test_expr-ensure_ok_/formatted.sql" } ], + "test_sql_format.test[expr-ensure_runtime_fail]": [ + { + "uri": "file://test_sql_format.test_expr-ensure_runtime_fail_/formatted.sql" + } + ], + "test_sql_format.test[expr-ensure_type_fail]": [ + { + "uri": "file://test_sql_format.test_expr-ensure_type_fail_/formatted.sql" + } + ], "test_sql_format.test[expr-exapnd_with_singular_types]": [ { "uri": "file://test_sql_format.test_expr-exapnd_with_singular_types_/formatted.sql" @@ -7609,6 +8409,21 @@ "uri": "file://test_sql_format.test_expr-extra_opt_try_member_/formatted.sql" } ], + "test_sql_format.test[expr-fail_constraint]": [ + { + "uri": "file://test_sql_format.test_expr-fail_constraint_/formatted.sql" + } + ], + "test_sql_format.test[expr-fail_expr]": [ + { + "uri": "file://test_sql_format.test_expr-fail_expr_/formatted.sql" + } + ], + "test_sql_format.test[expr-fail_type]": [ + { + "uri": "file://test_sql_format.test_expr-fail_type_/formatted.sql" + } + ], "test_sql_format.test[expr-fallback_filternullelements]": [ { "uri": "file://test_sql_format.test_expr-fallback_filternullelements_/formatted.sql" @@ -7629,6 +8444,11 @@ "uri": "file://test_sql_format.test_expr-formattypediff_/formatted.sql" } ], + "test_sql_format.test[expr-implicit_bitcast_fail]": [ + { + "uri": "file://test_sql_format.test_expr-implicit_bitcast_fail_/formatted.sql" + } + ], "test_sql_format.test[expr-implicit_cast_literals_under_if]": [ { "uri": "file://test_sql_format.test_expr-implicit_cast_literals_under_if_/formatted.sql" @@ -7759,6 +8579,11 @@ "uri": "file://test_sql_format.test_expr-list_replicate_/formatted.sql" } ], + "test_sql_format.test[expr-list_replicate_fail]": [ + { + "uri": "file://test_sql_format.test_expr-list_replicate_fail_/formatted.sql" + } + ], "test_sql_format.test[expr-list_sample]": [ { "uri": "file://test_sql_format.test_expr-list_sample_/formatted.sql" @@ -8034,6 +8859,11 @@ "uri": "file://test_sql_format.test_expr-untag_/formatted.sql" } ], + "test_sql_format.test[expr-unwrap_runtime_fail]": [ + { + "uri": "file://test_sql_format.test_expr-unwrap_runtime_fail_/formatted.sql" + } + ], "test_sql_format.test[expr-uuid]": [ { "uri": "file://test_sql_format.test_expr-uuid_/formatted.sql" @@ -8079,6 +8909,11 @@ "uri": "file://test_sql_format.test_expr-with_optional_args_/formatted.sql" } ], + "test_sql_format.test[expr-xor]": [ + { + "uri": "file://test_sql_format.test_expr-xor_/formatted.sql" + } + ], "test_sql_format.test[expr-yql-15485]": [ { "uri": "file://test_sql_format.test_expr-yql-15485_/formatted.sql" @@ -8094,6 +8929,16 @@ "uri": "file://test_sql_format.test_file-file_skip_take_/formatted.sql" } ], + "test_sql_format.test[file-parse_file_bad_type_fail]": [ + { + "uri": "file://test_sql_format.test_file-parse_file_bad_type_fail_/formatted.sql" + } + ], + "test_sql_format.test[file-second_pass_parse_file_fail]": [ + { + "uri": "file://test_sql_format.test_file-second_pass_parse_file_fail_/formatted.sql" + } + ], "test_sql_format.test[flatten_by-flatten_by_group_by_alias_collision]": [ { "uri": "file://test_sql_format.test_flatten_by-flatten_by_group_by_alias_collision_/formatted.sql" @@ -8244,6 +9089,16 @@ "uri": "file://test_sql_format.test_in-in_nonliteral_tuple_ansi_/formatted.sql" } ], + "test_sql_format.test[in-in_tuple_check0_fail]": [ + { + "uri": "file://test_sql_format.test_in-in_tuple_check0_fail_/formatted.sql" + } + ], + "test_sql_format.test[in-in_tuple_check1_fail]": [ + { + "uri": "file://test_sql_format.test_in-in_tuple_check1_fail_/formatted.sql" + } + ], "test_sql_format.test[in-in_with_cast]": [ { "uri": "file://test_sql_format.test_in-in_with_cast_/formatted.sql" @@ -8304,6 +9159,16 @@ "uri": "file://test_sql_format.test_join-cross_join_with_lazy_list_/formatted.sql" } ], + "test_sql_format.test[join-inmem_by_uncomparable_structs]": [ + { + "uri": "file://test_sql_format.test_join-inmem_by_uncomparable_structs_/formatted.sql" + } + ], + "test_sql_format.test[join-inmem_by_uncomparable_tuples]": [ + { + "uri": "file://test_sql_format.test_join-inmem_by_uncomparable_tuples_/formatted.sql" + } + ], "test_sql_format.test[join-inmem_with_null_key]": [ { "uri": "file://test_sql_format.test_join-inmem_with_null_key_/formatted.sql" @@ -8359,11 +9224,21 @@ "uri": "file://test_sql_format.test_json-json_exists_on_error_/formatted.sql" } ], + "test_sql_format.test[json-json_exists/on_error_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_exists_on_error_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_exists/passing]": [ { "uri": "file://test_sql_format.test_json-json_exists_passing_/formatted.sql" } ], + "test_sql_format.test[json-json_exists/passing_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_exists_passing_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_query/common_syntax]": [ { "uri": "file://test_sql_format.test_json-json_query_common_syntax_/formatted.sql" @@ -8374,16 +9249,31 @@ "uri": "file://test_sql_format.test_json-json_query_on_empty_/formatted.sql" } ], + "test_sql_format.test[json-json_query/on_empty_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_query_on_empty_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_query/on_error]": [ { "uri": "file://test_sql_format.test_json-json_query_on_error_/formatted.sql" } ], + "test_sql_format.test[json-json_query/on_error_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_query_on_error_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_query/passing]": [ { "uri": "file://test_sql_format.test_json-json_query_passing_/formatted.sql" } ], + "test_sql_format.test[json-json_query/passing_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_query_passing_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_query/wrapper]": [ { "uri": "file://test_sql_format.test_json-json_query_wrapper_/formatted.sql" @@ -8399,16 +9289,51 @@ "uri": "file://test_sql_format.test_json-json_value_on_empty_/formatted.sql" } ], + "test_sql_format.test[json-json_value/on_empty_cast_default_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_value_on_empty_cast_default_exception_/formatted.sql" + } + ], + "test_sql_format.test[json-json_value/on_empty_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_value_on_empty_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_value/on_error]": [ { "uri": "file://test_sql_format.test_json-json_value_on_error_/formatted.sql" } ], + "test_sql_format.test[json-json_value/on_error_cast_default_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_value_on_error_cast_default_exception_/formatted.sql" + } + ], + "test_sql_format.test[json-json_value/on_error_cast_udf_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_value_on_error_cast_udf_exception_/formatted.sql" + } + ], + "test_sql_format.test[json-json_value/on_error_cast_value_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_value_on_error_cast_value_exception_/formatted.sql" + } + ], + "test_sql_format.test[json-json_value/on_error_jsonpath_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_value_on_error_jsonpath_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_value/passing]": [ { "uri": "file://test_sql_format.test_json-json_value_passing_/formatted.sql" } ], + "test_sql_format.test[json-json_value/passing_exception]": [ + { + "uri": "file://test_sql_format.test_json-json_value_passing_exception_/formatted.sql" + } + ], "test_sql_format.test[json-json_value/returning]": [ { "uri": "file://test_sql_format.test_json-json_value_returning_/formatted.sql" @@ -8449,6 +9374,11 @@ "uri": "file://test_sql_format.test_lambda-lambda_opt_args_/formatted.sql" } ], + "test_sql_format.test[lambda-lambda_with_tie_bad_count_fail]": [ + { + "uri": "file://test_sql_format.test_lambda-lambda_with_tie_bad_count_fail_/formatted.sql" + } + ], "test_sql_format.test[lambda-list_aggregate]": [ { "uri": "file://test_sql_format.test_lambda-list_aggregate_/formatted.sql" @@ -8509,6 +9439,21 @@ "uri": "file://test_sql_format.test_match_recognize-after_match_skip_past_last_row_/formatted.sql" } ], + "test_sql_format.test[match_recognize-alerts-streaming]": [ + { + "uri": "file://test_sql_format.test_match_recognize-alerts-streaming_/formatted.sql" + } + ], + "test_sql_format.test[match_recognize-alerts]": [ + { + "uri": "file://test_sql_format.test_match_recognize-alerts_/formatted.sql" + } + ], + "test_sql_format.test[match_recognize-alerts_without_order]": [ + { + "uri": "file://test_sql_format.test_match_recognize-alerts_without_order_/formatted.sql" + } + ], "test_sql_format.test[match_recognize-all_rows_per_match]": [ { "uri": "file://test_sql_format.test_match_recognize-all_rows_per_match_/formatted.sql" @@ -8524,6 +9469,31 @@ "uri": "file://test_sql_format.test_match_recognize-permute_/formatted.sql" } ], + "test_sql_format.test[match_recognize-simple_paritioning-streaming]": [ + { + "uri": "file://test_sql_format.test_match_recognize-simple_paritioning-streaming_/formatted.sql" + } + ], + "test_sql_format.test[match_recognize-simple_paritioning]": [ + { + "uri": "file://test_sql_format.test_match_recognize-simple_paritioning_/formatted.sql" + } + ], + "test_sql_format.test[match_recognize-test_type-streaming]": [ + { + "uri": "file://test_sql_format.test_match_recognize-test_type-streaming_/formatted.sql" + } + ], + "test_sql_format.test[match_recognize-test_type]": [ + { + "uri": "file://test_sql_format.test_match_recognize-test_type_/formatted.sql" + } + ], + "test_sql_format.test[match_recognize-test_type_predicate]": [ + { + "uri": "file://test_sql_format.test_match_recognize-test_type_predicate_/formatted.sql" + } + ], "test_sql_format.test[optimizers-and_absorption]": [ { "uri": "file://test_sql_format.test_optimizers-and_absorption_/formatted.sql" @@ -8639,11 +9609,21 @@ "uri": "file://test_sql_format.test_params-list_/formatted.sql" } ], + "test_sql_format.test[params-missing_param_fail]": [ + { + "uri": "file://test_sql_format.test_params-missing_param_fail_/formatted.sql" + } + ], "test_sql_format.test[params-no_optional_param]": [ { "uri": "file://test_sql_format.test_params-no_optional_param_/formatted.sql" } ], + "test_sql_format.test[params-no_params_fail]": [ + { + "uri": "file://test_sql_format.test_params-no_params_fail_/formatted.sql" + } + ], "test_sql_format.test[params-param_in_in_predicate]": [ { "uri": "file://test_sql_format.test_params-param_in_in_predicate_/formatted.sql" @@ -8654,6 +9634,11 @@ "uri": "file://test_sql_format.test_params-param_in_json_api_/formatted.sql" } ], + "test_sql_format.test[params-param_type_mismatch_fail]": [ + { + "uri": "file://test_sql_format.test_params-param_type_mismatch_fail_/formatted.sql" + } + ], "test_sql_format.test[params-primitives]": [ { "uri": "file://test_sql_format.test_params-primitives_/formatted.sql" @@ -8834,6 +9819,11 @@ "uri": "file://test_sql_format.test_pragma-yson_auto_convert_/formatted.sql" } ], + "test_sql_format.test[pragma-yson_strict_fail]": [ + { + "uri": "file://test_sql_format.test_pragma-yson_strict_fail_/formatted.sql" + } + ], "test_sql_format.test[produce-yql-10297]": [ { "uri": "file://test_sql_format.test_produce-yql-10297_/formatted.sql" @@ -8984,6 +9974,16 @@ "uri": "file://test_sql_format.test_udf-udf_result_member_/formatted.sql" } ], + "test_sql_format.test[udf-wrong_args_fail]": [ + { + "uri": "file://test_sql_format.test_udf-wrong_args_fail_/formatted.sql" + } + ], + "test_sql_format.test[union-union_column_extention]": [ + { + "uri": "file://test_sql_format.test_union-union_column_extention_/formatted.sql" + } + ], "test_sql_format.test[union-union_mix]": [ { "uri": "file://test_sql_format.test_union-union_mix_/formatted.sql" @@ -9004,11 +10004,21 @@ "uri": "file://test_sql_format.test_union_all-union_all_incompatible_/formatted.sql" } ], + "test_sql_format.test[union_all-union_all_null]": [ + { + "uri": "file://test_sql_format.test_union_all-union_all_null_/formatted.sql" + } + ], "test_sql_format.test[version-version]": [ { "uri": "file://test_sql_format.test_version-version_/formatted.sql" } ], + "test_sql_format.test[weak_field-weak_member_string_copy]": [ + { + "uri": "file://test_sql_format.test_weak_field-weak_member_string_copy_/formatted.sql" + } + ], "test_sql_format.test[window-null_type]": [ { "uri": "file://test_sql_format.test_window-null_type_/formatted.sql" diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_action-large_evaluate_for_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_action-large_evaluate_for_fail_/formatted.sql new file mode 100644 index 0000000000..aa2878983d --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_action-large_evaluate_for_fail_/formatted.sql @@ -0,0 +1,8 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error: Too large list for EVALUATE FOR, allowed: 3, got: 10 */ +PRAGMA config.flags('EvaluateForLimit', '3'); + +EVALUATE FOR $_i IN ListFromRange(0, 10) DO + EMPTY_ACTION() +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_decimal_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_decimal_/formatted.sql new file mode 100644 index 0000000000..8a73c522cc --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_decimal_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + avg(key) +FROM ( + VALUES + (Decimal('0.1', 10, 1)), + (Decimal('0.2', 10, 1)), + (Decimal('0.3', 10, 1)) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_interval_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_interval_/formatted.sql new file mode 100644 index 0000000000..1525bf04ee --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_interval_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + avg(key) +FROM ( + VALUES + (Interval('P1D')), + (Interval('P2D')), + (Interval('P3D')) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_numeric_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_numeric_/formatted.sql new file mode 100644 index 0000000000..5d27d99cea --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_numeric_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + avg(key) +FROM ( + VALUES + (1), + (2), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_numeric_opt_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_numeric_opt_/formatted.sql new file mode 100644 index 0000000000..158b1c8fb1 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_numeric_opt_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + avg(key) +FROM ( + VALUES + (1), + (NULL), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_state_type_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_state_type_/formatted.sql new file mode 100644 index 0000000000..50b55a1509 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-avg_state_type_/formatted.sql @@ -0,0 +1,20 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + formattype(typeof(avg(NULL))), + formattype(typeof(avg(1))), + formattype(typeof(avg(decimal('10', 10, 1)))), + formattype(typeof(avg(interval('P10D')))), + formattype(typeof(avg(just(1)))), + formattype(typeof(avg(just(decimal('10', 10, 1))))), + formattype(typeof(avg(just(interval('P10D'))))) +FROM ( + SELECT + 1 +) +GROUP BY + () + WITH combine +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-count_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-count_/formatted.sql new file mode 100644 index 0000000000..bc6b81e0b4 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-count_/formatted.sql @@ -0,0 +1,15 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + count(*), + count(key) +FROM ( + VALUES + (1), + (NULL), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-max_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-max_/formatted.sql new file mode 100644 index 0000000000..630ca2bfdc --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-max_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + max(key) +FROM ( + VALUES + (1), + (2), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-min_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-min_/formatted.sql new file mode 100644 index 0000000000..ceef1c55fe --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-min_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + min(key) +FROM ( + VALUES + (1), + (2), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-opt_sum_divide_by_zero_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-opt_sum_divide_by_zero_/formatted.sql new file mode 100644 index 0000000000..6762aafa90 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-opt_sum_divide_by_zero_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(1 / 0) +FROM ( + VALUES + (1), + (NULL), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-opt_sum_null_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-opt_sum_null_/formatted.sql new file mode 100644 index 0000000000..da8607542e --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-opt_sum_null_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(NULL) +FROM ( + VALUES + (1), + (NULL), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-some_notnull_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-some_notnull_/formatted.sql new file mode 100644 index 0000000000..e27f22d134 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-some_notnull_/formatted.sql @@ -0,0 +1,12 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + some(key) +FROM ( + VALUES + (1) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-some_null_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-some_null_/formatted.sql new file mode 100644 index 0000000000..b849d8d427 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-some_null_/formatted.sql @@ -0,0 +1,12 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + some(key) +FROM ( + VALUES + (NULL) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_decimal_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_decimal_/formatted.sql new file mode 100644 index 0000000000..43634848c6 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_decimal_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(key) +FROM ( + VALUES + (CAST('1.51' AS Decimal (10, 3))), + (CAST('2.22' AS Decimal (10, 3))), + (CAST('3.49' AS Decimal (10, 3))) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_decimal_null_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_decimal_null_/formatted.sql new file mode 100644 index 0000000000..3fba173415 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_decimal_null_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(key) +FROM ( + VALUES + (CAST('1.51' AS Decimal (10, 3))), + (NULL), + (CAST('3.49' AS Decimal (10, 3))) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_double_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_double_/formatted.sql new file mode 100644 index 0000000000..16ffdb86e1 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_double_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(key) +FROM ( + VALUES + (1.51), + (NULL), + (3.49) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_interval_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_interval_/formatted.sql new file mode 100644 index 0000000000..69db72244e --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_interval_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(key) +FROM ( + VALUES + (CAST(1 AS Interval)), + (NULL), + (CAST(3 AS Interval)) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_signed_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_signed_/formatted.sql new file mode 100644 index 0000000000..8b915f71b5 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_signed_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(key) +FROM ( + VALUES + (1), + (NULL), + (3) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_unsigned_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_unsigned_/formatted.sql new file mode 100644 index 0000000000..5be1d929ad --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_agg_apply-sum_unsigned_/formatted.sql @@ -0,0 +1,14 @@ +/* syntax version 1 */ +/* postgres can not */ +PRAGMA EmitAggApply; + +SELECT + sum(key) +FROM ( + VALUES + (1u), + (NULL), + (3u) +) AS a ( + key +); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_aggregate-yql-18511_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_aggregate-yql-18511_/formatted.sql new file mode 100644 index 0000000000..45c2938642 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_aggregate-yql-18511_/formatted.sql @@ -0,0 +1,73 @@ +/* yt can not */ +$round_period = ($day, $period) -> { + RETURN CASE + WHEN $period == 'd' THEN $day + WHEN $period == 'w' THEN DateTime::MakeDate(DateTime::StartOfWeek($day)) + WHEN $period == 'm' THEN DateTime::MakeDate(DateTime::StartOfMonth($day)) + ELSE $day + END; +}; + +$data = ( + SELECT + $round_period(day, 'd') AS day, + $round_period(day, 'w') AS week, + $round_period(day, 'm') AS month, + IF(user_card_cnt <= 10, user_card_cnt, 11) AS user_cards_segm, + is_proven_owner, + user_id, + FROM ( + SELECT + Date('2024-04-29') AS day, + 'ALLO' AS mark, + '???' AS model, + 5 AS user_card_cnt, + 'ACTIVE' AS status, + 999 AS user_id, + 1 AS is_proven_owner, + UNION ALL + SELECT + Date('2024-04-29') AS day, + 'ALLO' AS mark, + '!!!!!!' AS model, + 50 AS user_card_cnt, + 'ACTIVE' AS status, + 1111 AS user_id, + 0 AS is_proven_owner, + ) +); + +SELECT + day, + GROUPING(day) AS grouping_day, + week, + GROUPING(week) AS grouping_week, + month, + GROUPING(month) AS grouping_month, + CASE + WHEN GROUPING(week) == 1 AND GROUPING(month) == 1 THEN 'd' + WHEN GROUPING(day) == 1 AND GROUPING(month) == 1 THEN 'w' + WHEN GROUPING(day) == 1 AND GROUPING(week) == 1 THEN 'm' + ELSE NULL + END AS period_type, + user_cards_segm, + if(GROUPING(user_cards_segm) == 1, -300, user_cards_segm) AS __user_cards_segm__, + GROUPING(user_cards_segm) AS grouping_user_cards_segm, + COUNT(DISTINCT user_id) AS all_user_qty, +FROM + $data AS t +GROUP BY + GROUPING SETS ( + -- day grouping + (day), + (day, user_cards_segm), + + -- -- week grouping + (week), + (week, user_cards_segm), + + -- -- month grouping + (month), + (month, user_cards_segm) + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_binding-tie_bad_count_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_binding-tie_bad_count_fail_/formatted.sql new file mode 100644 index 0000000000..9a70d1da72 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_binding-tie_bad_count_fail_/formatted.sql @@ -0,0 +1,9 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error:Expected tuple type of size: 2, but got: 3*/ +$i, $j = AsTuple(1, 5u, 'test'); + +SELECT + $i, + $j +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_case-case_opt_then_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_case-case_opt_then_/formatted.sql new file mode 100644 index 0000000000..e48011b9df --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_case-case_opt_then_/formatted.sql @@ -0,0 +1,18 @@ +SELECT + CASE + WHEN TRUE THEN CAST('123' AS int) + ELSE 100501 + END +UNION ALL +SELECT + CASE + WHEN TRUE THEN NULL + ELSE 100502 + END +UNION ALL +SELECT + CASE + WHEN FALSE THEN NULL + ELSE 100503 + END +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_datetime-date_tz_impossible_cast_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_datetime-date_tz_impossible_cast_/formatted.sql new file mode 100644 index 0000000000..ad10556978 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_datetime-date_tz_impossible_cast_/formatted.sql @@ -0,0 +1,10 @@ +/* custom error:cannot be casted to TzDate*/ +SELECT + CAST( + AddTimezone( + /* "1970-01-01T20:59:59Z" */ + CAST(75599 AS DateTime), + 'Europe/Moscow' + ) AS TzDate + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-as_table_bad_columns_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-as_table_bad_columns_fail_/formatted.sql new file mode 100644 index 0000000000..74603dcb72 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-as_table_bad_columns_fail_/formatted.sql @@ -0,0 +1,14 @@ +/* postgres can not */ +/* custom error:Member not found: Value3. Did you mean Value1?*/ +$data = AsList( + AsStruct(1u AS Key, 'v1' AS Value1, 100 AS Value2), + AsStruct(2u AS Key, 'v2' AS Value1, 200 AS Value2), + AsStruct(3u AS Key, 'v3' AS Value1, 300 AS Value2) +); + +SELECT + Key, + Value3 +FROM + AS_TABLE($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-as_table_bad_row_type_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-as_table_bad_row_type_fail_/formatted.sql new file mode 100644 index 0000000000..3d9e8f711c --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-as_table_bad_row_type_fail_/formatted.sql @@ -0,0 +1,10 @@ +/* postgres can not */ +/* custom error:Expected struct type, but got: Uint32*/ +$data = AsList(1u, 2u, 3u); + +SELECT + Key, + Value3 +FROM + AS_TABLE($data) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-ensure_runtime_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-ensure_runtime_fail_/formatted.sql new file mode 100644 index 0000000000..6f8388da37 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-ensure_runtime_fail_/formatted.sql @@ -0,0 +1,5 @@ +/* postgres can not */ +/* custom error:message*/ +SELECT + Ensure(42, 2 != 2, 'message') +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-ensure_type_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-ensure_type_fail_/formatted.sql new file mode 100644 index 0000000000..7e07f4dcbb --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-ensure_type_fail_/formatted.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +/* syntax version 1 */ +/* custom error:Mismatch types: Int32 != String (message)*/ +SELECT + EnsureType(42, String, 'message') +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_constraint_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_constraint_/formatted.sql new file mode 100644 index 0000000000..9d937e0f10 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_constraint_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:missing Empty constraint in node AsList*/ +PRAGMA warning('disable', '4510'); + +SELECT + Yql::FailMe(AsAtom('constraint')) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_expr_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_expr_/formatted.sql new file mode 100644 index 0000000000..8dd99cd4b0 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_expr_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:Detected a type error after initial validation*/ +PRAGMA warning('disable', '4510'); + +SELECT + Yql::FailMe(AsAtom('expr')) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_type_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_type_/formatted.sql new file mode 100644 index 0000000000..8db87d5b01 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-fail_type_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:Rewrite error, type should be : String, but it is: Int32 for node Int32*/ +PRAGMA warning('disable', '4510'); + +SELECT + Yql::FailMe(AsAtom('type')) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-implicit_bitcast_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-implicit_bitcast_fail_/formatted.sql new file mode 100644 index 0000000000..c62105407c --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-implicit_bitcast_fail_/formatted.sql @@ -0,0 +1,11 @@ +/* postgres can not */ +/* custom error:Cannot infer common type for Int64 and Uint64*/ +PRAGMA warning('error', '1107'); + +SELECT + AsList( + 7498311229109140978, + 254610204336699107, + 11580367904009864964 + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-list_replicate_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-list_replicate_fail_/formatted.sql new file mode 100644 index 0000000000..7980310060 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-list_replicate_fail_/formatted.sql @@ -0,0 +1,5 @@ +/* postgres can not */ +/* custom error:Second argument in ListReplicate = 18446744073709551615 exceeds maximum value = 4294967296*/ +SELECT + ListReplicate(1, -1) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-unwrap_runtime_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-unwrap_runtime_fail_/formatted.sql new file mode 100644 index 0000000000..1e1466c698 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-unwrap_runtime_fail_/formatted.sql @@ -0,0 +1,5 @@ +/* postgres can not */ +/* custom error:message*/ +SELECT + Unwrap(NULL, 'message') +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-xor_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-xor_/formatted.sql new file mode 100644 index 0000000000..aab87932f8 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_expr-xor_/formatted.sql @@ -0,0 +1,19 @@ +/* postgres can not */ +SELECT + o1 XOR o2 AS xor, + o1 XOR o1 AS xor_same_o1, + o2 XOR o2 AS xor_same_o2, + o1 XOR o2 XOR o1 XOR o2 XOR o1 XOR o2 AS xor_triple_dups, + o1 XOR o2 XOR Unwrap(o1) XOR Unwrap(o2) AS xor_with_unwraps, +FROM + AS_TABLE([ + <|o1: FALSE, o2: FALSE|>, + <|o1: TRUE, o2: TRUE|>, + <|o1: TRUE, o2: FALSE|>, + <|o1: FALSE, o2: TRUE|>, + <|o1: TRUE, o2: NULL|>, + <|o1: FALSE, o2: NULL|>, + <|o1: NULL, o2: TRUE|>, + <|o1: NULL, o2: FALSE|> + ]) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_file-parse_file_bad_type_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_file-parse_file_bad_type_fail_/formatted.sql new file mode 100644 index 0000000000..f8ef89059b --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_file-parse_file_bad_type_fail_/formatted.sql @@ -0,0 +1,5 @@ +/* postgres can not */ +/* custom error:User type Uuid is not supported*/ +SELECT + ParseFile('uuid', 'keyid.lst') +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_file-second_pass_parse_file_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_file-second_pass_parse_file_fail_/formatted.sql new file mode 100644 index 0000000000..1a35a3926b --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_file-second_pass_parse_file_fail_/formatted.sql @@ -0,0 +1,18 @@ +/* postgres can not */ +/* custom error:The file iterator was already created. To scan file data multiple times please use ListCollect either over ParseFile or over some lazy function over it, e.g. ListMap*/ +$list = ParseFile('int32', 'keyid.lst'); + +SELECT + ListExtend( + ListMap( + $list, ($x) -> { + RETURN $x + 1; + } + ), + ListMap( + $list, ($x) -> { + RETURN $x + 2; + } + ) + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_in-in_tuple_check0_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_in-in_tuple_check0_fail_/formatted.sql new file mode 100644 index 0000000000..60b95fbca8 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_in-in_tuple_check0_fail_/formatted.sql @@ -0,0 +1,8 @@ +/* custom error:Can't compare Tuple<Int32,Int32> with Tuple<Int32,Tuple<Int32,Int32>>*/ +SELECT + AsTuple(1, 1) IN ( + AsTuple(2, 1), + AsTuple(1, 2), + AsTuple(1, AsTuple(1, 2)), -- expect compatible tuple + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_in-in_tuple_check1_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_in-in_tuple_check1_fail_/formatted.sql new file mode 100644 index 0000000000..271f33adef --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_in-in_tuple_check1_fail_/formatted.sql @@ -0,0 +1,8 @@ +/* custom error:Can't compare Tuple<Int32,Int32> with Int32*/ +SELECT + AsTuple(1, 1) IN ( + AsTuple(2, 1), + AsTuple(1, 2), + 42 -- expect tuple, not data + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_join-inmem_by_uncomparable_structs_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_join-inmem_by_uncomparable_structs_/formatted.sql new file mode 100644 index 0000000000..f83fd09348 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_join-inmem_by_uncomparable_structs_/formatted.sql @@ -0,0 +1,87 @@ +/* syntax version 1 */ +$l = [ + <|Key: <|a: 1, b: 2, c: NULL|>, Lhs: '1,2,#'|>, + <|Key: <|a: 2, b: 3, c: NULL|>, Lhs: '4,5,#'|>, +]; + +$r = [ + <|Key: <|a: 1, b: 2, c: 3|>, Rhs: '1,2,3'|>, + <|Key: <|a: 4, b: 5, c: 6|>, Rhs: '4,5,6'|>, +]; + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +LEFT JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs +FROM + AS_TABLE($l) AS l +LEFT SEMI JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs +FROM + AS_TABLE($l) AS l +LEFT ONLY JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Rhs, + Lhs +FROM + AS_TABLE($l) AS l +RIGHT JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Rhs +FROM + AS_TABLE($l) AS l +RIGHT SEMI JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Rhs +FROM + AS_TABLE($l) AS l +RIGHT ONLY JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +INNER JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +FULL JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +EXCLUSION JOIN + AS_TABLE($r) AS r +USING (Key); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_join-inmem_by_uncomparable_tuples_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_join-inmem_by_uncomparable_tuples_/formatted.sql new file mode 100644 index 0000000000..323b094496 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_join-inmem_by_uncomparable_tuples_/formatted.sql @@ -0,0 +1,87 @@ +/* syntax version 1 */ +$l = AsList( + AsStruct(AsTuple(1, 2, 3) AS Key, '1,2,3' AS Lhs), + AsStruct(AsTuple(1, 2, 4) AS Key, '1,2,4' AS Lhs) +); + +$r = AsList( + AsStruct(AsTuple(1, 2) AS Key, '1,2' AS Rhs), + AsStruct(AsTuple(2, 3) AS Key, '2,3' AS Rhs) +); + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +LEFT JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs +FROM + AS_TABLE($l) AS l +LEFT SEMI JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs +FROM + AS_TABLE($l) AS l +LEFT ONLY JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Rhs, + Lhs +FROM + AS_TABLE($l) AS l +RIGHT JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Rhs +FROM + AS_TABLE($l) AS l +RIGHT SEMI JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Rhs +FROM + AS_TABLE($l) AS l +RIGHT ONLY JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +INNER JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +FULL JOIN + AS_TABLE($r) AS r +USING (Key); + +SELECT + Lhs, + Rhs +FROM + AS_TABLE($l) AS l +EXCLUSION JOIN + AS_TABLE($r) AS r +USING (Key); diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_exists_on_error_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_exists_on_error_exception_/formatted.sql new file mode 100644 index 0000000000..0aab4e847b --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_exists_on_error_exception_/formatted.sql @@ -0,0 +1,7 @@ +/* custom error:Member not found*/ +-- Accessing absent object member will cause jsonpath error in strict mode +$json = CAST('{}' AS Json); + +SELECT + JSON_EXISTS ($json, 'strict $.key' ERROR ON ERROR) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_exists_passing_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_exists_passing_exception_/formatted.sql new file mode 100644 index 0000000000..58b4e09b70 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_exists_passing_exception_/formatted.sql @@ -0,0 +1,13 @@ +/* custom error:Expected data or optional of data, but got: Tuple<Int32,Int32>*/ +$json = CAST( + @@{ + "key": 123 +}@@ AS Json +); + +-- Tuple type is not supported for variables +SELECT + JSON_EXISTS ( + $json, 'strict $var' PASSING AsTuple(1, 2) AS var + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_on_empty_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_on_empty_exception_/formatted.sql new file mode 100644 index 0000000000..7269b444c7 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_on_empty_exception_/formatted.sql @@ -0,0 +1,7 @@ +/* custom error:Empty result*/ +-- Accessing absent object member will cause empty result in lax mode +$json = CAST('{}' AS Json); + +SELECT + JSON_QUERY ($json, 'lax $.key' ERROR ON EMPTY) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_on_error_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_on_error_exception_/formatted.sql new file mode 100644 index 0000000000..d7c7fba5fe --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_on_error_exception_/formatted.sql @@ -0,0 +1,7 @@ +/* custom error:Member not found*/ +-- Accessing absent object member will cause jsonpath error in strict mode +$json = CAST('{}' AS Json); + +SELECT + JSON_QUERY ($json, 'strict $.key' ERROR ON ERROR) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_passing_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_passing_exception_/formatted.sql new file mode 100644 index 0000000000..bb45336dee --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_query_passing_exception_/formatted.sql @@ -0,0 +1,15 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error:Expected data or optional of data, but got: Tuple<Int32,Int32>*/ +$json = CAST( + @@{ + "key": 123 +}@@ AS Json +); + +-- Tuple type is not supported for variables +SELECT + JSON_QUERY ( + $json, 'strict $var' PASSING AsTuple(1, 2) AS var WITH UNCONDITIONAL ARRAY WRAPPER + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_empty_cast_default_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_empty_cast_default_exception_/formatted.sql new file mode 100644 index 0000000000..74bb4cb572 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_empty_cast_default_exception_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:Failed to cast default value from ON EMPTY clause to target type Optional<Uint32>*/ +$json = CAST('{}' AS Json); + +SELECT + JSON_VALUE ($json, 'lax $.key' RETURNING Uint32 DEFAULT -2 ON EMPTY ERROR ON ERROR) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_empty_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_empty_exception_/formatted.sql new file mode 100644 index 0000000000..e13bb7e803 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_empty_exception_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:Result is empty*/ +$json = CAST('{}' AS Json); + +SELECT + JSON_VALUE ($json, 'lax $.key' ERROR ON EMPTY) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_default_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_default_exception_/formatted.sql new file mode 100644 index 0000000000..70d3ecb14c --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_default_exception_/formatted.sql @@ -0,0 +1,9 @@ +/* custom error:Failed to cast default value from ON ERROR clause to target type Optional<Uint16>*/ +-- Here JsonPath engine returns error result and ON ERROR section must be used. +-- But default value in ON ERROR section is -123 and casting it to Uint16 will fail. +-- In this case exception must be raised. +$json = CAST('{}' AS Json); + +SELECT + JSON_VALUE ($json, 'strict $.key' RETURNING Uint16 DEFAULT -123 ON ERROR) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_udf_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_udf_exception_/formatted.sql new file mode 100644 index 0000000000..01125c0c18 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_udf_exception_/formatted.sql @@ -0,0 +1,12 @@ +/* custom error:Cannot convert extracted JSON value to target type*/ +-- In this case call to Json2::SqlValueNumber will fail because "string" +-- does not represent Number value +$json = CAST( + @@{ + "key": "string" +}@@ AS Json +); + +SELECT + JSON_VALUE ($json, 'strict $.key' RETURNING Uint16 ERROR ON ERROR) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_value_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_value_exception_/formatted.sql new file mode 100644 index 0000000000..5791c4c843 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_cast_value_exception_/formatted.sql @@ -0,0 +1,12 @@ +/* custom error:Failed to cast extracted JSON value to target type Optional<Uint16>*/ +-- In this case call to Json2::SqlValueNumber will be successfull, but cast +-- of -123 to Uint16 will fail +$json = CAST( + @@{ + "key": -123 +}@@ AS Json +); + +SELECT + JSON_VALUE ($json, 'strict $.key' RETURNING Uint16 ERROR ON ERROR) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_jsonpath_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_jsonpath_exception_/formatted.sql new file mode 100644 index 0000000000..be8039d8a1 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_on_error_jsonpath_exception_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:Member not found*/ +$json = CAST('{}' AS Json); + +SELECT + JSON_VALUE ($json, 'strict $.key' ERROR ON ERROR) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_passing_exception_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_passing_exception_/formatted.sql new file mode 100644 index 0000000000..d8eedd4038 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_json-json_value_passing_exception_/formatted.sql @@ -0,0 +1,15 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error:Expected data or optional of data, but got: Tuple<Int32,Int32>*/ +$json = CAST( + @@{ + "key": 123 +}@@ AS Json +); + +-- Tuple type is not supported for variables +SELECT + JSON_VALUE ( + $json, 'strict $var' PASSING AsTuple(1, 2) AS var + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_lambda-lambda_with_tie_bad_count_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_lambda-lambda_with_tie_bad_count_fail_/formatted.sql new file mode 100644 index 0000000000..4fe6753555 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_lambda-lambda_with_tie_bad_count_fail_/formatted.sql @@ -0,0 +1,9 @@ +/* custom error:Expected tuple type of size: 2, but got: 3*/ +$func = ($x, $y) -> { + $y, $x = AsTuple($x, $y, $x); + RETURN $x || '_' || $y; +}; + +SELECT + $func('foo', 'bar') +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts-streaming_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts-streaming_/formatted.sql new file mode 100644 index 0000000000..3675101c69 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts-streaming_/formatted.sql @@ -0,0 +1,58 @@ +$osquery_data = [ + <|dt: 1688910000, host: 'fqdn1', ev_type: 'someEv', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910050, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: '', vpn: TRUE,|>, + <|dt: 1688910100, host: 'fqdn1', ev_type: 'login', ev_status: 'success', user: '', vpn: TRUE,|>, + <|dt: 1688910220, host: 'fqdn1', ev_type: 'login', ev_status: 'success', user: '', vpn: FALSE,|>, + <|dt: 1688910300, host: 'fqdn1', ev_type: 'delete_all', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910400, host: 'fqdn2', ev_type: 'delete_all', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910500, host: 'fqdn1', ev_type: 'login', ev_status: 'failed', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910500, host: 'fqdn1', ev_type: 'login', ev_status: 'failed', user: 'user2', vpn: FALSE,|>, + <|dt: 1688910600, host: 'fqdn', ev_type: 'someEv', ev_status: '', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910800, host: 'fqdn2', ev_type: 'login', ev_status: 'failed', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910900, host: 'fqdn2', ev_type: 'login', ev_status: 'failed', user: 'user2', vpn: FALSE,|>, + <|dt: 1688911000, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: 'user1', vpn: FALSE,|>, + <|dt: 1688911001, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: 'user1', vpn: FALSE,|>, +]; + +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'force'); + +SELECT + * +FROM + AS_TABLE($osquery_data) MATCH_RECOGNIZE ( + ORDER BY + CAST(dt AS Timestamp) + MEASURES + LAST(LOGIN_SUCCESS_REMOTE.host) AS remote_login_host, + LAST(LOGIN_SUCCESS_REMOTE.user) AS remote_login_user, + LAST(LOGIN_SUCCESS_REMOTE.dt) AS remote_login_dt, + LAST(SUSPICIOUS_ACTION_SOON.dt) AS suspicious_action_dt, + FIRST(LOGIN_FAILED_SAME_USER.dt) AS brutforce_begin, + FIRST(LOGIN_SUCCESS_SAME_USER.dt) AS brutforce_end, + LAST(LOGIN_SUCCESS_SAME_USER.user) AS brutforce_login + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (LOGIN_SUCCESS_REMOTE ANY_ROW1 * SUSPICIOUS_ACTION_SOON | (LOGIN_FAILED_SAME_USER ANY_ROW2 *) {2,} LOGIN_SUCCESS_SAME_USER) + DEFINE + LOGIN_SUCCESS_REMOTE AS LOGIN_SUCCESS_REMOTE.ev_type == 'login' + AND LOGIN_SUCCESS_REMOTE.ev_status == 'success' + AND LOGIN_SUCCESS_REMOTE.vpn == TRUE + AND COALESCE(LOGIN_SUCCESS_REMOTE.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW1 AS COALESCE(ANY_ROW1.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + SUSPICIOUS_ACTION_SOON AS SUSPICIOUS_ACTION_SOON.host == LAST(LOGIN_SUCCESS_REMOTE.host) + AND SUSPICIOUS_ACTION_SOON.ev_type == 'delete_all' + AND COALESCE(SUSPICIOUS_ACTION_SOON.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + LOGIN_FAILED_SAME_USER AS LOGIN_FAILED_SAME_USER.ev_type == 'login' + AND LOGIN_FAILED_SAME_USER.ev_status != 'success' + AND ( + LAST(LOGIN_FAILED_SAME_USER.user) IS NULL + OR LAST(LOGIN_FAILED_SAME_USER.user) == LOGIN_FAILED_SAME_USER.user + ) AND COALESCE(LOGIN_FAILED_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW2 AS COALESCE(ANY_ROW2.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + LOGIN_SUCCESS_SAME_USER AS LOGIN_SUCCESS_SAME_USER.ev_type == 'login' + AND LOGIN_SUCCESS_SAME_USER.ev_status == 'success' + AND LOGIN_SUCCESS_SAME_USER.user == LAST(LOGIN_FAILED_SAME_USER.user) + AND COALESCE(LOGIN_SUCCESS_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE) + ) AS MATCHED +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts_/formatted.sql new file mode 100644 index 0000000000..c1fddaefd7 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts_/formatted.sql @@ -0,0 +1,58 @@ +$osquery_data = [ + <|dt: 1688910000, host: 'fqdn1', ev_type: 'someEv', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910050, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: '', vpn: TRUE,|>, + <|dt: 1688910100, host: 'fqdn1', ev_type: 'login', ev_status: 'success', user: '', vpn: TRUE,|>, + <|dt: 1688910220, host: 'fqdn1', ev_type: 'login', ev_status: 'success', user: '', vpn: FALSE,|>, + <|dt: 1688910300, host: 'fqdn1', ev_type: 'delete_all', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910400, host: 'fqdn2', ev_type: 'delete_all', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910500, host: 'fqdn1', ev_type: 'login', ev_status: 'failed', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910500, host: 'fqdn1', ev_type: 'login', ev_status: 'failed', user: 'user2', vpn: FALSE,|>, + <|dt: 1688910600, host: 'fqdn', ev_type: 'someEv', ev_status: '', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910800, host: 'fqdn2', ev_type: 'login', ev_status: 'failed', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910900, host: 'fqdn2', ev_type: 'login', ev_status: 'failed', user: 'user2', vpn: FALSE,|>, + <|dt: 1688911000, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: 'user1', vpn: FALSE,|>, + <|dt: 1688911001, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: 'user1', vpn: FALSE,|>, +]; + +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'disable'); + +SELECT + * +FROM + AS_TABLE($osquery_data) MATCH_RECOGNIZE ( + ORDER BY + CAST(dt AS Timestamp) + MEASURES + LAST(LOGIN_SUCCESS_REMOTE.host) AS remote_login_host, + LAST(LOGIN_SUCCESS_REMOTE.user) AS remote_login_user, + LAST(LOGIN_SUCCESS_REMOTE.dt) AS remote_login_dt, + LAST(SUSPICIOUS_ACTION_SOON.dt) AS suspicious_action_dt, + FIRST(LOGIN_FAILED_SAME_USER.dt) AS brutforce_begin, + FIRST(LOGIN_SUCCESS_SAME_USER.dt) AS brutforce_end, + LAST(LOGIN_SUCCESS_SAME_USER.user) AS brutforce_login + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (LOGIN_SUCCESS_REMOTE ANY_ROW1 * SUSPICIOUS_ACTION_SOON | (LOGIN_FAILED_SAME_USER ANY_ROW2 *) {2,} LOGIN_SUCCESS_SAME_USER) + DEFINE + LOGIN_SUCCESS_REMOTE AS LOGIN_SUCCESS_REMOTE.ev_type == 'login' + AND LOGIN_SUCCESS_REMOTE.ev_status == 'success' + AND LOGIN_SUCCESS_REMOTE.vpn == TRUE + AND COALESCE(LOGIN_SUCCESS_REMOTE.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW1 AS COALESCE(ANY_ROW1.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + SUSPICIOUS_ACTION_SOON AS SUSPICIOUS_ACTION_SOON.host == LAST(LOGIN_SUCCESS_REMOTE.host) + AND SUSPICIOUS_ACTION_SOON.ev_type == 'delete_all' + AND COALESCE(SUSPICIOUS_ACTION_SOON.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + LOGIN_FAILED_SAME_USER AS LOGIN_FAILED_SAME_USER.ev_type == 'login' + AND LOGIN_FAILED_SAME_USER.ev_status != 'success' + AND ( + LAST(LOGIN_FAILED_SAME_USER.user) IS NULL + OR LAST(LOGIN_FAILED_SAME_USER.user) == LOGIN_FAILED_SAME_USER.user + ) AND COALESCE(LOGIN_FAILED_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW2 AS COALESCE(ANY_ROW2.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + LOGIN_SUCCESS_SAME_USER AS LOGIN_SUCCESS_SAME_USER.ev_type == 'login' + AND LOGIN_SUCCESS_SAME_USER.ev_status == 'success' + AND LOGIN_SUCCESS_SAME_USER.user == LAST(LOGIN_FAILED_SAME_USER.user) + AND COALESCE(LOGIN_SUCCESS_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE) + ) AS MATCHED +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts_without_order_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts_without_order_/formatted.sql new file mode 100644 index 0000000000..8ef4903e4c --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-alerts_without_order_/formatted.sql @@ -0,0 +1,56 @@ +$osquery_data = [ + <|dt: 1688910000, host: 'fqdn1', ev_type: 'someEv', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910050, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: '', vpn: TRUE,|>, + <|dt: 1688910100, host: 'fqdn1', ev_type: 'login', ev_status: 'success', user: '', vpn: TRUE,|>, + <|dt: 1688910220, host: 'fqdn1', ev_type: 'login', ev_status: 'success', user: '', vpn: FALSE,|>, + <|dt: 1688910300, host: 'fqdn1', ev_type: 'delete_all', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910400, host: 'fqdn2', ev_type: 'delete_all', ev_status: '', user: '', vpn: FALSE,|>, + <|dt: 1688910500, host: 'fqdn1', ev_type: 'login', ev_status: 'failed', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910500, host: 'fqdn1', ev_type: 'login', ev_status: 'failed', user: 'user2', vpn: FALSE,|>, + <|dt: 1688910600, host: 'fqdn', ev_type: 'someEv', ev_status: '', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910800, host: 'fqdn2', ev_type: 'login', ev_status: 'failed', user: 'user1', vpn: FALSE,|>, + <|dt: 1688910900, host: 'fqdn2', ev_type: 'login', ev_status: 'failed', user: 'user2', vpn: FALSE,|>, + <|dt: 1688911000, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: 'user1', vpn: FALSE,|>, + <|dt: 1688911001, host: 'fqdn2', ev_type: 'login', ev_status: 'success', user: 'user1', vpn: FALSE,|>, +]; + +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'disable'); + +SELECT + * +FROM + AS_TABLE($osquery_data) MATCH_RECOGNIZE ( + MEASURES + LAST(LOGIN_SUCCESS_REMOTE.host) AS remote_login_host, + LAST(LOGIN_SUCCESS_REMOTE.user) AS remote_login_user, + LAST(LOGIN_SUCCESS_REMOTE.dt) AS remote_login_dt, + LAST(SUSPICIOUS_ACTION_SOON.dt) AS suspicious_action_dt, + FIRST(LOGIN_FAILED_SAME_USER.dt) AS brutforce_begin, + FIRST(LOGIN_SUCCESS_SAME_USER.dt) AS brutforce_end, + LAST(LOGIN_SUCCESS_SAME_USER.user) AS brutforce_login + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (LOGIN_SUCCESS_REMOTE ANY_ROW1 * SUSPICIOUS_ACTION_SOON | (LOGIN_FAILED_SAME_USER ANY_ROW2 *) {2,} LOGIN_SUCCESS_SAME_USER) + DEFINE + LOGIN_SUCCESS_REMOTE AS LOGIN_SUCCESS_REMOTE.ev_type == 'login' + AND LOGIN_SUCCESS_REMOTE.ev_status == 'success' + AND LOGIN_SUCCESS_REMOTE.vpn == TRUE + AND COALESCE(LOGIN_SUCCESS_REMOTE.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW1 AS COALESCE(ANY_ROW1.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + SUSPICIOUS_ACTION_SOON AS SUSPICIOUS_ACTION_SOON.host == LAST(LOGIN_SUCCESS_REMOTE.host) + AND SUSPICIOUS_ACTION_SOON.ev_type == 'delete_all' + AND COALESCE(SUSPICIOUS_ACTION_SOON.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + LOGIN_FAILED_SAME_USER AS LOGIN_FAILED_SAME_USER.ev_type == 'login' + AND LOGIN_FAILED_SAME_USER.ev_status != 'success' + AND ( + LAST(LOGIN_FAILED_SAME_USER.user) IS NULL + OR LAST(LOGIN_FAILED_SAME_USER.user) == LOGIN_FAILED_SAME_USER.user + ) AND COALESCE(LOGIN_FAILED_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW2 AS COALESCE(ANY_ROW2.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + LOGIN_SUCCESS_SAME_USER AS LOGIN_SUCCESS_SAME_USER.ev_type == 'login' + AND LOGIN_SUCCESS_SAME_USER.ev_status == 'success' + AND LOGIN_SUCCESS_SAME_USER.user == LAST(LOGIN_FAILED_SAME_USER.user) + AND COALESCE(LOGIN_SUCCESS_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE) + ) AS MATCHED +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-simple_paritioning-streaming_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-simple_paritioning-streaming_/formatted.sql new file mode 100644 index 0000000000..44a1f4293c --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-simple_paritioning-streaming_/formatted.sql @@ -0,0 +1,49 @@ +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'force'); + +$data = [ + <|dt: 15, host: 'fqdn1', key: 0|>, + <|dt: 16, host: 'fqdn1', key: 1|>, + <|dt: 17, host: 'fqdn1', key: 2|>, + <|dt: 18, host: 'fqdn1', key: 3|>, + <|dt: 19, host: 'fqdn1', key: 4|>, + <|dt: 20, host: 'fqdn1', key: 5|>, + <|dt: 21, host: 'fqdn1', key: 6|>, + <|dt: 22, host: 'fqdn1', key: 7|>, + <|dt: 23, host: 'fqdn_2', key: 0|>, + <|dt: 24, host: 'fqdn1', key: 8|>, + <|dt: 25, host: 'fqdn1', key: 9|>, + <|dt: 26, host: 'fqdn1', key: 10|>, + <|dt: 27, host: 'fqdn__3', key: 30|>, + <|dt: 28, host: 'fqdn__3', key: 1|>, + <|dt: 29, host: 'fqdn__3', key: 2|>, + <|dt: 30, host: 'fqdn__3', key: 3|>, + <|dt: 31, host: 'fqdn__3', key: 4|>, + <|dt: 32, host: 'fqdn1', key: 11|>, + <|dt: 33, host: 'fqdn1', key: 12|>, + <|dt: 34, host: 'fqdn1', key: 13|>, + <|dt: 35, host: 'fqdn1', key: 14|>, + <|dt: 36, host: 'fqdn__3', key: 15|> +]; + +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + host + ORDER BY + CAST(dt AS Timestamp) + MEASURES + Last(Q.dt) AS T, + First(Y.key) AS Key + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ((Y Q)) + DEFINE + Y AS (Y.key) % 3 == 0, + Q AS (Q.key) % 3 != 0 + ) AS MR +ORDER BY + MR.T +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-simple_paritioning_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-simple_paritioning_/formatted.sql new file mode 100644 index 0000000000..3740f94b2d --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-simple_paritioning_/formatted.sql @@ -0,0 +1,49 @@ +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'disable'); + +$data = [ + <|dt: 15, host: 'fqdn1', key: 0|>, + <|dt: 16, host: 'fqdn1', key: 1|>, + <|dt: 17, host: 'fqdn1', key: 2|>, + <|dt: 18, host: 'fqdn1', key: 3|>, + <|dt: 19, host: 'fqdn1', key: 4|>, + <|dt: 20, host: 'fqdn1', key: 5|>, + <|dt: 21, host: 'fqdn1', key: 6|>, + <|dt: 22, host: 'fqdn1', key: 7|>, + <|dt: 23, host: 'fqdn_2', key: 0|>, + <|dt: 24, host: 'fqdn1', key: 8|>, + <|dt: 25, host: 'fqdn1', key: 9|>, + <|dt: 26, host: 'fqdn1', key: 10|>, + <|dt: 27, host: 'fqdn__3', key: 30|>, + <|dt: 28, host: 'fqdn__3', key: 1|>, + <|dt: 29, host: 'fqdn__3', key: 2|>, + <|dt: 30, host: 'fqdn__3', key: 3|>, + <|dt: 31, host: 'fqdn__3', key: 4|>, + <|dt: 32, host: 'fqdn1', key: 11|>, + <|dt: 33, host: 'fqdn1', key: 12|>, + <|dt: 34, host: 'fqdn1', key: 13|>, + <|dt: 35, host: 'fqdn1', key: 14|>, + <|dt: 36, host: 'fqdn__3', key: 15|> +]; + +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + host + ORDER BY + dt + MEASURES + Last(Q.dt) AS T, + First(Y.key) AS Key + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ((Y Q)) + DEFINE + Y AS (Y.key) % 3 == 0, + Q AS (Q.key) % 3 != 0 + ) AS MR +ORDER BY + MR.T +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type-streaming_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type-streaming_/formatted.sql new file mode 100644 index 0000000000..e6c036ab78 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type-streaming_/formatted.sql @@ -0,0 +1,93 @@ +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'force'); + +$data = [<|dt: 4, host: 'fqdn1', key: 14|>]; + +-- NoPartitionNoMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + ORDER BY + CAST(dt AS Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Y) + DEFINE + Y AS NULL + ) +; + +--NoPartitionStringMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + ORDER BY + CAST(dt AS Timestamp) + MEASURES + 'SomeString' AS Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Q) + DEFINE + Q AS TRUE + ) +; + +--IntPartitionColNoMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + key + ORDER BY + CAST(dt AS Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (L) + DEFINE + L AS JUST(TRUE) + ) +; + +--StringPartitionColStringMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + host + ORDER BY + CAST(dt AS Timestamp) + MEASURES + 'SomeString' AS Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Y) + DEFINE + Y AS TRUE + ) +; + +--TwoPartitionColsTwoMeasures +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + host, + key + ORDER BY + CAST(dt AS Timestamp) + MEASURES + 'SomeString' AS S, + 345 AS I + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Q) + DEFINE + Q AS TRUE + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type_/formatted.sql new file mode 100644 index 0000000000..e4d4f339f4 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type_/formatted.sql @@ -0,0 +1,93 @@ +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'disable'); + +$data = [<|dt: 4, host: 'fqdn1', key: 14|>]; + +-- NoPartitionNoMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + ORDER BY + CAST(dt AS Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Y) + DEFINE + Y AS NULL + ) +; + +--NoPartitionStringMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + ORDER BY + CAST(dt AS Timestamp) + MEASURES + 'SomeString' AS Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Q) + DEFINE + Q AS TRUE + ) +; + +--IntPartitionColNoMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + dt + ORDER BY + CAST(dt AS Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (L) + DEFINE + L AS JUST(TRUE) + ) +; + +--StringPartitionColStringMeasure +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + host + ORDER BY + CAST(dt AS Timestamp) + MEASURES + 'SomeString' AS Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Y) + DEFINE + Y AS TRUE + ) +; + +--TwoPartitionColsTwoMeasures +SELECT + * +FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + PARTITION BY + host, + dt + ORDER BY + CAST(dt AS Timestamp) + MEASURES + 'SomeString' AS S, + 345 AS I + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (Q) + DEFINE + Q AS JUST(TRUE) + ) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type_predicate_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type_predicate_/formatted.sql new file mode 100644 index 0000000000..6d0b92e4f9 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_match_recognize-test_type_predicate_/formatted.sql @@ -0,0 +1,26 @@ +/* custom error:DEFINE expression must be a predicate*/ +PRAGMA FeatureR010 = 'prototype'; +PRAGMA config.flags('MatchRecognizeStream', 'disable'); + +$data = [<||>]; + +$BadPredicate = ( + SELECT + TableRow() + FROM ( + SELECT + * + FROM + AS_TABLE($data) MATCH_RECOGNIZE ( + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN (A) + DEFINE + A AS 123 -- must fail, Bool expected + ) + ) +); + +SELECT + FormatType(TypeOf($BadPredicate)) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-missing_param_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-missing_param_fail_/formatted.sql new file mode 100644 index 0000000000..b8aa37bd5d --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-missing_param_fail_/formatted.sql @@ -0,0 +1,7 @@ +/* custom error:Missing value for parameter: $y*/ +DECLARE $x AS int; +DECLARE $y AS int; + +SELECT + $x + $y +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-no_params_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-no_params_fail_/formatted.sql new file mode 100644 index 0000000000..08d4f8cf85 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-no_params_fail_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:Missing value for parameter: $x*/ +DECLARE $x AS int; + +SELECT + 2 * $x +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-param_type_mismatch_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-param_type_mismatch_fail_/formatted.sql new file mode 100644 index 0000000000..a6e184542c --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_params-param_type_mismatch_fail_/formatted.sql @@ -0,0 +1,6 @@ +/* custom error:Unexpected symbol "-" at pos 0 in string "-21"*/ +DECLARE $x AS UInt32; + +SELECT + 2 * $x +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_pragma-yson_strict_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_pragma-yson_strict_fail_/formatted.sql new file mode 100644 index 0000000000..2d417ab321 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_pragma-yson_strict_fail_/formatted.sql @@ -0,0 +1,7 @@ +/* postgres can not */ +/* custom error:Cannot parse string value from integer*/ +PRAGMA yson.Strict; + +SELECT + Yson::ConvertToString(Yson('122')) +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_udf-wrong_args_fail_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_udf-wrong_args_fail_/formatted.sql new file mode 100644 index 0000000000..2aeb8fc7ed --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_udf-wrong_args_fail_/formatted.sql @@ -0,0 +1,18 @@ +/* postgres can not */ +/* custom error:Callable expected at most 3 argument(s)*/ +-- Find has optional args +SELECT + String::ReplaceAll() +; -- too few + +SELECT + String::ReplaceAll('abc') +; -- too few + +SELECT + String::ReplaceAll('abc', 'b', 2, 4) +; -- too many + +SELECT + String::ReplaceAll('abc', 'b', 2, 4, 44) +; -- too many diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_union-union_column_extention_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_union-union_column_extention_/formatted.sql new file mode 100644 index 0000000000..b65b914bba --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_union-union_column_extention_/formatted.sql @@ -0,0 +1,17 @@ +SELECT + 1 AS x +UNION +SELECT + 'a' AS y +UNION +SELECT + 1 AS x, + 'a' AS y +UNION +SELECT + 1 AS x +UNION +SELECT + 1 AS x, + 'b' AS y +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_union_all-union_all_null_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_union_all-union_all_null_/formatted.sql new file mode 100644 index 0000000000..5664716045 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_union_all-union_all_null_/formatted.sql @@ -0,0 +1,12 @@ +SELECT + 1 / 2 AS jx, + 'a' AS x, + NULL AS jy, + NULL AS y +UNION ALL +SELECT + NULL AS jx, + NULL AS x, + 2 / 1 AS jy, + 'b' AS y +; diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_weak_field-weak_member_string_copy_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_weak_field-weak_member_string_copy_/formatted.sql new file mode 100644 index 0000000000..b9788d7481 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_weak_field-weak_member_string_copy_/formatted.sql @@ -0,0 +1,6 @@ +/* postgres can not */ +$d = AsDict(AsTuple('fld', 'Россия, Санкт-Петербург, Петроградская набережная, 2-4'), AsTuple('_yql_fld', '')); + +SELECT + Yql::TryWeakMemberFromDict(Just($d), NULL, AsAtom('String'), AsAtom('fld')) +; diff --git a/yql/essentials/tests/sql/suites/action/large_evaluate_for_fail.cfg b/yql/essentials/tests/sql/suites/action/large_evaluate_for_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/action/large_evaluate_for_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/action/large_evaluate_for_fail.sql b/yql/essentials/tests/sql/suites/action/large_evaluate_for_fail.sql new file mode 100644 index 0000000000..539bda0b60 --- /dev/null +++ b/yql/essentials/tests/sql/suites/action/large_evaluate_for_fail.sql @@ -0,0 +1,6 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error: Too large list for EVALUATE FOR, allowed: 3, got: 10 */ +pragma config.flags("EvaluateForLimit", "3"); + +evaluate for $_i in ListFromRange(0, 10) do empty_action(); diff --git a/yql/essentials/tests/sql/suites/agg_apply/avg_decimal.sql b/yql/essentials/tests/sql/suites/agg_apply/avg_decimal.sql new file mode 100644 index 0000000000..96f49ebf5d --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/avg_decimal.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + avg(key) +FROM (values (Decimal("0.1",10,1)),(Decimal("0.2",10,1)),(Decimal("0.3",10,1))) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/avg_interval.sql b/yql/essentials/tests/sql/suites/agg_apply/avg_interval.sql new file mode 100644 index 0000000000..d87106a991 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/avg_interval.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + avg(key) +FROM (values (Interval("P1D")),(Interval("P2D")),(Interval("P3D"))) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/avg_numeric.sql b/yql/essentials/tests/sql/suites/agg_apply/avg_numeric.sql new file mode 100644 index 0000000000..8e5ae7410c --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/avg_numeric.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + avg(key) +FROM (values (1),(2),(3)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/avg_numeric_opt.sql b/yql/essentials/tests/sql/suites/agg_apply/avg_numeric_opt.sql new file mode 100644 index 0000000000..7f1249d119 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/avg_numeric_opt.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + avg(key) +FROM (values (1),(null),(3)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/avg_state_type.sql b/yql/essentials/tests/sql/suites/agg_apply/avg_state_type.sql new file mode 100644 index 0000000000..67e7997756 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/avg_state_type.sql @@ -0,0 +1,13 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +select +formattype(typeof(avg(null))), +formattype(typeof(avg(1))), +formattype(typeof(avg(decimal("10",10,1)))), +formattype(typeof(avg(interval("P10D")))), +formattype(typeof(avg(just(1)))), +formattype(typeof(avg(just(decimal("10",10,1))))), +formattype(typeof(avg(just(interval("P10D"))))) +from (select 1) group by () with combine
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/count.sql b/yql/essentials/tests/sql/suites/agg_apply/count.sql new file mode 100644 index 0000000000..4d2917715e --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/count.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + count(*),count(key) +FROM (values (1),(null),(3)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/max.sql b/yql/essentials/tests/sql/suites/agg_apply/max.sql new file mode 100644 index 0000000000..70895a3780 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/max.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + max(key) +FROM (values (1),(2),(3)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/min.sql b/yql/essentials/tests/sql/suites/agg_apply/min.sql new file mode 100644 index 0000000000..60b25ff5c5 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/min.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + min(key) +FROM (values (1),(2),(3)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/opt_sum_divide_by_zero.sql b/yql/essentials/tests/sql/suites/agg_apply/opt_sum_divide_by_zero.sql new file mode 100644 index 0000000000..15236cd2ff --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/opt_sum_divide_by_zero.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(1/0) +FROM (values (1),(null),(3)) as a(key) diff --git a/yql/essentials/tests/sql/suites/agg_apply/opt_sum_null.sql b/yql/essentials/tests/sql/suites/agg_apply/opt_sum_null.sql new file mode 100644 index 0000000000..c2086f7f5b --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/opt_sum_null.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(null) +FROM (values (1),(null),(3)) as a(key) diff --git a/yql/essentials/tests/sql/suites/agg_apply/some_notnull.sql b/yql/essentials/tests/sql/suites/agg_apply/some_notnull.sql new file mode 100644 index 0000000000..7e3cd4fb3c --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/some_notnull.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + some(key) +FROM (values (1)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/some_null.sql b/yql/essentials/tests/sql/suites/agg_apply/some_null.sql new file mode 100644 index 0000000000..2bf12e30d9 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/some_null.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + some(key) +FROM (values (null)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/sum_decimal.sql b/yql/essentials/tests/sql/suites/agg_apply/sum_decimal.sql new file mode 100644 index 0000000000..5ba05328dc --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/sum_decimal.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(key) +FROM (values (CAST("1.51" AS Decimal(10, 3))), (CAST("2.22" AS Decimal(10, 3))), (CAST("3.49" AS Decimal(10, 3)))) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/sum_decimal_null.sql b/yql/essentials/tests/sql/suites/agg_apply/sum_decimal_null.sql new file mode 100644 index 0000000000..75df4277f2 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/sum_decimal_null.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(key) +FROM (values (CAST("1.51" AS Decimal(10, 3))), (null), (CAST("3.49" AS Decimal(10, 3)))) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/sum_double.sql b/yql/essentials/tests/sql/suites/agg_apply/sum_double.sql new file mode 100644 index 0000000000..698e215e5c --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/sum_double.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(key) +FROM (values (1.51),(null),(3.49)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/sum_interval.sql b/yql/essentials/tests/sql/suites/agg_apply/sum_interval.sql new file mode 100644 index 0000000000..b08de4bb54 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/sum_interval.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(key) +FROM (values (cast(1 as Interval)),(null),(cast(3 as Interval))) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/sum_signed.sql b/yql/essentials/tests/sql/suites/agg_apply/sum_signed.sql new file mode 100644 index 0000000000..ab731a9042 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/sum_signed.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(key) +FROM (values (1),(null),(3)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/agg_apply/sum_unsigned.sql b/yql/essentials/tests/sql/suites/agg_apply/sum_unsigned.sql new file mode 100644 index 0000000000..1fb4103665 --- /dev/null +++ b/yql/essentials/tests/sql/suites/agg_apply/sum_unsigned.sql @@ -0,0 +1,7 @@ +/* syntax version 1 */ +/* postgres can not */ +pragma EmitAggApply; + +SELECT + sum(key) +FROM (values (1u),(null),(3u)) as a(key)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/aggregate/yql-18511.cfg b/yql/essentials/tests/sql/suites/aggregate/yql-18511.cfg new file mode 100644 index 0000000000..bb349dd8ab --- /dev/null +++ b/yql/essentials/tests/sql/suites/aggregate/yql-18511.cfg @@ -0,0 +1 @@ +providers yt diff --git a/yql/essentials/tests/sql/suites/aggregate/yql-18511.sql b/yql/essentials/tests/sql/suites/aggregate/yql-18511.sql new file mode 100644 index 0000000000..e0d2d2b0d4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/aggregate/yql-18511.sql @@ -0,0 +1,70 @@ +/* yt can not */ + +$round_period = ($day, $period) -> { + RETURN + CASE + WHEN $period = 'd' THEN $day + WHEN $period = 'w' THEN DateTime::MakeDate(DateTime::StartOfWeek($day)) + WHEN $period = 'm' THEN DateTime::MakeDate(DateTime::StartOfMonth($day)) + ELSE $day + END +}; + +$data = +SELECT + $round_period(day, 'd') AS day, + $round_period(day, 'w') AS week, + $round_period(day, 'm') AS month, + IF(user_card_cnt <= 10, user_card_cnt, 11) AS user_cards_segm, + is_proven_owner, + user_id, +FROM ( + SELECT + Date("2024-04-29") AS day, + "ALLO" AS mark, + "???" AS model, + 5 AS user_card_cnt, + 'ACTIVE' AS status, + 999 AS user_id, + 1 AS is_proven_owner, + UNION ALL + SELECT + Date("2024-04-29") AS day, + "ALLO" AS mark, + "!!!!!!" AS model, + 50 AS user_card_cnt, + 'ACTIVE' AS status, + 1111 AS user_id, + 0 AS is_proven_owner, +); + +SELECT + day, + GROUPING(day) AS grouping_day, + week, + GROUPING(week) AS grouping_week, + month, + GROUPING(month) as grouping_month, + CASE + WHEN GROUPING(week) == 1 AND GROUPING(month) == 1 THEN 'd' + WHEN GROUPING(day) == 1 AND GROUPING(month) == 1 THEN 'w' + WHEN GROUPING(day) == 1 AND GROUPING(week) == 1 THEN 'm' + ELSE NULL + END AS period_type, + user_cards_segm, + if(GROUPING(user_cards_segm) = 1, -300, user_cards_segm) AS __user_cards_segm__, + GROUPING(user_cards_segm) as grouping_user_cards_segm, + COUNT(DISTINCT user_id) AS all_user_qty, +FROM $data AS t +GROUP BY + GROUPING SETS( + -- day grouping + (day), + (day, user_cards_segm), + -- -- week grouping + (week), + (week, user_cards_segm), + -- -- month grouping + (month), + (month, user_cards_segm) + ) diff --git a/yql/essentials/tests/sql/suites/binding/tie_bad_count_fail.cfg b/yql/essentials/tests/sql/suites/binding/tie_bad_count_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/binding/tie_bad_count_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/binding/tie_bad_count_fail.sql b/yql/essentials/tests/sql/suites/binding/tie_bad_count_fail.sql new file mode 100644 index 0000000000..18e5b364db --- /dev/null +++ b/yql/essentials/tests/sql/suites/binding/tie_bad_count_fail.sql @@ -0,0 +1,6 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error:Expected tuple type of size: 2, but got: 3*/ +$i, $j = AsTuple(1, 5u, "test"); + +select $i, $j; diff --git a/yql/essentials/tests/sql/suites/case/case_opt_then.sql b/yql/essentials/tests/sql/suites/case/case_opt_then.sql new file mode 100644 index 0000000000..9824a06447 --- /dev/null +++ b/yql/essentials/tests/sql/suites/case/case_opt_then.sql @@ -0,0 +1,5 @@ +select case when true then cast("123" as int) else 100501 end +union all +select case when true then NULL else 100502 end +union all +select case when false then NULL else 100503 end; diff --git a/yql/essentials/tests/sql/suites/datetime/date_tz_impossible_cast.cfg b/yql/essentials/tests/sql/suites/datetime/date_tz_impossible_cast.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/datetime/date_tz_impossible_cast.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/datetime/date_tz_impossible_cast.sql b/yql/essentials/tests/sql/suites/datetime/date_tz_impossible_cast.sql new file mode 100644 index 0000000000..87057a8bd6 --- /dev/null +++ b/yql/essentials/tests/sql/suites/datetime/date_tz_impossible_cast.sql @@ -0,0 +1,7 @@ +/* custom error:cannot be casted to TzDate*/ +SELECT + CAST(AddTimezone( + /* "1970-01-01T20:59:59Z" */ + CAST(75599 AS DateTime), + "Europe/Moscow" + ) AS TzDate) diff --git a/yql/essentials/tests/sql/suites/expr/as_table_bad_columns_fail.cfg b/yql/essentials/tests/sql/suites/expr/as_table_bad_columns_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/as_table_bad_columns_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/as_table_bad_columns_fail.sql b/yql/essentials/tests/sql/suites/expr/as_table_bad_columns_fail.sql new file mode 100644 index 0000000000..79f45f480c --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/as_table_bad_columns_fail.sql @@ -0,0 +1,10 @@ +/* postgres can not */ +/* custom error:Member not found: Value3. Did you mean Value1?*/ + +$data = AsList( + AsStruct(1u AS Key, "v1" AS Value1, 100 AS Value2), + AsStruct(2u AS Key, "v2" AS Value1, 200 AS Value2), + AsStruct(3u AS Key, "v3" AS Value1, 300 AS Value2)); + +SELECT Key, Value3 FROM AS_TABLE($data); + diff --git a/yql/essentials/tests/sql/suites/expr/as_table_bad_row_type_fail.cfg b/yql/essentials/tests/sql/suites/expr/as_table_bad_row_type_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/as_table_bad_row_type_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/as_table_bad_row_type_fail.sql b/yql/essentials/tests/sql/suites/expr/as_table_bad_row_type_fail.sql new file mode 100644 index 0000000000..3f972a327f --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/as_table_bad_row_type_fail.sql @@ -0,0 +1,6 @@ +/* postgres can not */ +/* custom error:Expected struct type, but got: Uint32*/ + +$data = AsList(1u, 2u, 3u); + +SELECT Key, Value3 FROM AS_TABLE($data); diff --git a/yql/essentials/tests/sql/suites/expr/ensure_runtime_fail.cfg b/yql/essentials/tests/sql/suites/expr/ensure_runtime_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/ensure_runtime_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/ensure_runtime_fail.sql b/yql/essentials/tests/sql/suites/expr/ensure_runtime_fail.sql new file mode 100644 index 0000000000..5756dbe688 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/ensure_runtime_fail.sql @@ -0,0 +1,3 @@ +/* postgres can not */ +/* custom error:message*/ +select Ensure(42, 2 != 2, "message"); diff --git a/yql/essentials/tests/sql/suites/expr/ensure_type_fail.cfg b/yql/essentials/tests/sql/suites/expr/ensure_type_fail.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/ensure_type_fail.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/expr/ensure_type_fail.sql b/yql/essentials/tests/sql/suites/expr/ensure_type_fail.sql new file mode 100644 index 0000000000..a0aee93406 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/ensure_type_fail.sql @@ -0,0 +1,5 @@ +/* syntax version 1 */ +/* postgres can not */ +/* syntax version 1 */ +/* custom error:Mismatch types: Int32 != String (message)*/ +select EnsureType(42, String, "message"); diff --git a/yql/essentials/tests/sql/suites/expr/fail_constraint.cfg b/yql/essentials/tests/sql/suites/expr/fail_constraint.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/fail_constraint.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/expr/fail_constraint.sql b/yql/essentials/tests/sql/suites/expr/fail_constraint.sql new file mode 100644 index 0000000000..ac1a7a47b8 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/fail_constraint.sql @@ -0,0 +1,4 @@ +/* custom error:missing Empty constraint in node AsList*/ +pragma warning("disable","4510"); +select Yql::FailMe(AsAtom('constraint')); + diff --git a/yql/essentials/tests/sql/suites/expr/fail_expr.cfg b/yql/essentials/tests/sql/suites/expr/fail_expr.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/fail_expr.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/fail_expr.sql b/yql/essentials/tests/sql/suites/expr/fail_expr.sql new file mode 100644 index 0000000000..3ace8ea83c --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/fail_expr.sql @@ -0,0 +1,4 @@ +/* custom error:Detected a type error after initial validation*/ +pragma warning("disable","4510"); +select Yql::FailMe(AsAtom('expr')); + diff --git a/yql/essentials/tests/sql/suites/expr/fail_type.cfg b/yql/essentials/tests/sql/suites/expr/fail_type.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/fail_type.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/fail_type.sql b/yql/essentials/tests/sql/suites/expr/fail_type.sql new file mode 100644 index 0000000000..9a4ce9720c --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/fail_type.sql @@ -0,0 +1,4 @@ +/* custom error:Rewrite error, type should be : String, but it is: Int32 for node Int32*/ +pragma warning("disable","4510"); +select Yql::FailMe(AsAtom('type')); + diff --git a/yql/essentials/tests/sql/suites/expr/implicit_bitcast_fail.cfg b/yql/essentials/tests/sql/suites/expr/implicit_bitcast_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/implicit_bitcast_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/implicit_bitcast_fail.sql b/yql/essentials/tests/sql/suites/expr/implicit_bitcast_fail.sql new file mode 100644 index 0000000000..f609402b29 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/implicit_bitcast_fail.sql @@ -0,0 +1,7 @@ +/* postgres can not */ +/* custom error:Cannot infer common type for Int64 and Uint64*/ +pragma warning("error", "1107"); +select AsList( +7498311229109140978, +254610204336699107, +11580367904009864964); diff --git a/yql/essentials/tests/sql/suites/expr/list_replicate_fail.cfg b/yql/essentials/tests/sql/suites/expr/list_replicate_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/list_replicate_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/list_replicate_fail.sql b/yql/essentials/tests/sql/suites/expr/list_replicate_fail.sql new file mode 100644 index 0000000000..fe6b10be5c --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/list_replicate_fail.sql @@ -0,0 +1,4 @@ +/* postgres can not */ +/* custom error:Second argument in ListReplicate = 18446744073709551615 exceeds maximum value = 4294967296*/ +select +ListReplicate(1, -1); diff --git a/yql/essentials/tests/sql/suites/expr/unwrap_runtime_fail.cfg b/yql/essentials/tests/sql/suites/expr/unwrap_runtime_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/unwrap_runtime_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/expr/unwrap_runtime_fail.sql b/yql/essentials/tests/sql/suites/expr/unwrap_runtime_fail.sql new file mode 100644 index 0000000000..9d55855989 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/unwrap_runtime_fail.sql @@ -0,0 +1,3 @@ +/* postgres can not */ +/* custom error:message*/ +select Unwrap(null, "message"); diff --git a/yql/essentials/tests/sql/suites/expr/xor.sql b/yql/essentials/tests/sql/suites/expr/xor.sql new file mode 100644 index 0000000000..3799af4276 --- /dev/null +++ b/yql/essentials/tests/sql/suites/expr/xor.sql @@ -0,0 +1,17 @@ +/* postgres can not */ +SELECT + o1 XOR o2 AS xor, + o1 XOR o1 AS xor_same_o1, + o2 XOR o2 AS xor_same_o2, + o1 XOR o2 XOR o1 XOR o2 XOR o1 XOR o2 AS xor_triple_dups, + o1 XOR o2 XOR Unwrap(o1) XOR Unwrap(o2) AS xor_with_unwraps, +FROM AS_TABLE([ + <|o1: FALSE, o2: FALSE|>, + <|o1: TRUE, o2: TRUE|>, + <|o1: TRUE, o2: FALSE|>, + <|o1: FALSE, o2: TRUE|>, + <|o1: TRUE, o2: NULL|>, + <|o1: FALSE, o2: NULL|>, + <|o1: NULL, o2: TRUE|>, + <|o1: NULL, o2: FALSE|> +]); diff --git a/yql/essentials/tests/sql/suites/file/parse_file_bad_type_fail.cfg b/yql/essentials/tests/sql/suites/file/parse_file_bad_type_fail.cfg new file mode 100644 index 0000000000..a01a1a3d24 --- /dev/null +++ b/yql/essentials/tests/sql/suites/file/parse_file_bad_type_fail.cfg @@ -0,0 +1,3 @@ +xfail +file keyid.lst keyid.lst +udf file_udf
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/file/parse_file_bad_type_fail.sql b/yql/essentials/tests/sql/suites/file/parse_file_bad_type_fail.sql new file mode 100644 index 0000000000..81fb716b15 --- /dev/null +++ b/yql/essentials/tests/sql/suites/file/parse_file_bad_type_fail.sql @@ -0,0 +1,3 @@ +/* postgres can not */ +/* custom error:User type Uuid is not supported*/ +select ParseFile('uuid', "keyid.lst"); diff --git a/yql/essentials/tests/sql/suites/file/second_pass_parse_file_fail.cfg b/yql/essentials/tests/sql/suites/file/second_pass_parse_file_fail.cfg new file mode 100644 index 0000000000..a3cc236d31 --- /dev/null +++ b/yql/essentials/tests/sql/suites/file/second_pass_parse_file_fail.cfg @@ -0,0 +1,3 @@ +xfail +file keyid.lst keyid.lst +udf file_udf diff --git a/yql/essentials/tests/sql/suites/file/second_pass_parse_file_fail.sql b/yql/essentials/tests/sql/suites/file/second_pass_parse_file_fail.sql new file mode 100644 index 0000000000..14980696a4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/file/second_pass_parse_file_fail.sql @@ -0,0 +1,6 @@ +/* postgres can not */ +/* custom error:The file iterator was already created. To scan file data multiple times please use ListCollect either over ParseFile or over some lazy function over it, e.g. ListMap*/ +$list = ParseFile("int32","keyid.lst"); +select ListExtend( + ListMap($list, ($x)->{return $x + 1 }), + ListMap($list, ($x)->{return $x + 2 })); diff --git a/yql/essentials/tests/sql/suites/in/in_tuple_check0_fail.cfg b/yql/essentials/tests/sql/suites/in/in_tuple_check0_fail.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/in/in_tuple_check0_fail.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/in/in_tuple_check0_fail.sql b/yql/essentials/tests/sql/suites/in/in_tuple_check0_fail.sql new file mode 100644 index 0000000000..f32fb9bcff --- /dev/null +++ b/yql/essentials/tests/sql/suites/in/in_tuple_check0_fail.sql @@ -0,0 +1,6 @@ +/* custom error:Can't compare Tuple<Int32,Int32> with Tuple<Int32,Tuple<Int32,Int32>>*/ +select AsTuple(1, 1) in ( + AsTuple(2, 1), + AsTuple(1, 2), + AsTuple(1, AsTuple(1, 2)), -- expect compatible tuple +) diff --git a/yql/essentials/tests/sql/suites/in/in_tuple_check1_fail.cfg b/yql/essentials/tests/sql/suites/in/in_tuple_check1_fail.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/in/in_tuple_check1_fail.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/in/in_tuple_check1_fail.sql b/yql/essentials/tests/sql/suites/in/in_tuple_check1_fail.sql new file mode 100644 index 0000000000..91bda9b22d --- /dev/null +++ b/yql/essentials/tests/sql/suites/in/in_tuple_check1_fail.sql @@ -0,0 +1,6 @@ +/* custom error:Can't compare Tuple<Int32,Int32> with Int32*/ +select AsTuple(1, 1) in ( + AsTuple(2, 1), + AsTuple(1, 2), + 42 -- expect tuple, not data +) diff --git a/yql/essentials/tests/sql/suites/join/inmem_by_uncomparable_structs.sql b/yql/essentials/tests/sql/suites/join/inmem_by_uncomparable_structs.sql new file mode 100644 index 0000000000..ec4ad06056 --- /dev/null +++ b/yql/essentials/tests/sql/suites/join/inmem_by_uncomparable_structs.sql @@ -0,0 +1,23 @@ +/* syntax version 1 */ +$l = [ + <|Key:<|a:1, b:2, c:null|>, Lhs:"1,2,#"|>, + <|Key:<|a:2, b:3, c:null|>, Lhs:"4,5,#"|>, +]; + +$r = [ + <|Key:<|a:1, b:2, c:3|>, Rhs:"1,2,3"|>, + <|Key:<|a:4, b:5, c:6|>, Rhs:"4,5,6"|>, +]; + +select Lhs, Rhs from AS_TABLE($l) as l left join AS_TABLE($r) as r using(Key); +select Lhs from AS_TABLE($l) as l left semi join AS_TABLE($r) as r using(Key); +select Lhs from AS_TABLE($l) as l left only join AS_TABLE($r) as r using(Key); + +select Rhs, Lhs from AS_TABLE($l) as l right join AS_TABLE($r) as r using(Key); +select Rhs from AS_TABLE($l) as l right semi join AS_TABLE($r) as r using(Key); +select Rhs from AS_TABLE($l) as l right only join AS_TABLE($r) as r using(Key); + +select Lhs, Rhs from AS_TABLE($l) as l inner join AS_TABLE($r) as r using(Key); +select Lhs, Rhs from AS_TABLE($l) as l full join AS_TABLE($r) as r using(Key); +select Lhs, Rhs from AS_TABLE($l) as l exclusion join AS_TABLE($r) as r using(Key); + diff --git a/yql/essentials/tests/sql/suites/join/inmem_by_uncomparable_tuples.sql b/yql/essentials/tests/sql/suites/join/inmem_by_uncomparable_tuples.sql new file mode 100644 index 0000000000..18a95e6c49 --- /dev/null +++ b/yql/essentials/tests/sql/suites/join/inmem_by_uncomparable_tuples.sql @@ -0,0 +1,22 @@ +/* syntax version 1 */ +$l = AsList( + AsStruct(AsTuple(1,2,3) as Key, "1,2,3" as Lhs), + AsStruct(AsTuple(1,2,4) as Key, "1,2,4" as Lhs) +); + +$r = AsList( + AsStruct(AsTuple(1,2) as Key, "1,2" as Rhs), + AsStruct(AsTuple(2,3) as Key, "2,3" as Rhs) +); + +select Lhs, Rhs from AS_TABLE($l) as l left join AS_TABLE($r) as r using(Key); +select Lhs from AS_TABLE($l) as l left semi join AS_TABLE($r) as r using(Key); +select Lhs from AS_TABLE($l) as l left only join AS_TABLE($r) as r using(Key); + +select Rhs, Lhs from AS_TABLE($l) as l right join AS_TABLE($r) as r using(Key); +select Rhs from AS_TABLE($l) as l right semi join AS_TABLE($r) as r using(Key); +select Rhs from AS_TABLE($l) as l right only join AS_TABLE($r) as r using(Key); + +select Lhs, Rhs from AS_TABLE($l) as l inner join AS_TABLE($r) as r using(Key); +select Lhs, Rhs from AS_TABLE($l) as l full join AS_TABLE($r) as r using(Key); +select Lhs, Rhs from AS_TABLE($l) as l exclusion join AS_TABLE($r) as r using(Key); diff --git a/yql/essentials/tests/sql/suites/json/json_exists/on_error_exception.cfg b/yql/essentials/tests/sql/suites/json/json_exists/on_error_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_exists/on_error_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_exists/on_error_exception.sql b/yql/essentials/tests/sql/suites/json/json_exists/on_error_exception.sql new file mode 100644 index 0000000000..fbcaabcd77 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_exists/on_error_exception.sql @@ -0,0 +1,6 @@ +/* custom error:Member not found*/ + +-- Accessing absent object member will cause jsonpath error in strict mode +$json = CAST("{}" as Json); +SELECT + JSON_EXISTS($json, "strict $.key" ERROR ON ERROR); diff --git a/yql/essentials/tests/sql/suites/json/json_exists/passing_exception.cfg b/yql/essentials/tests/sql/suites/json/json_exists/passing_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_exists/passing_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_exists/passing_exception.sql b/yql/essentials/tests/sql/suites/json/json_exists/passing_exception.sql new file mode 100644 index 0000000000..84a75105a9 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_exists/passing_exception.sql @@ -0,0 +1,13 @@ +/* custom error:Expected data or optional of data, but got: Tuple<Int32,Int32>*/ + +$json = CAST(@@{ + "key": 123 +}@@ as Json); + +-- Tuple type is not supported for variables +SELECT + JSON_EXISTS( + $json, "strict $var" + PASSING + AsTuple(1, 2) as var + ); diff --git a/yql/essentials/tests/sql/suites/json/json_query/on_empty_exception.cfg b/yql/essentials/tests/sql/suites/json/json_query/on_empty_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_query/on_empty_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_query/on_empty_exception.sql b/yql/essentials/tests/sql/suites/json/json_query/on_empty_exception.sql new file mode 100644 index 0000000000..e175a5753f --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_query/on_empty_exception.sql @@ -0,0 +1,6 @@ +/* custom error:Empty result*/ + +-- Accessing absent object member will cause empty result in lax mode +$json = CAST("{}" as Json); +SELECT + JSON_QUERY($json, "lax $.key" ERROR ON EMPTY); diff --git a/yql/essentials/tests/sql/suites/json/json_query/on_error_exception.cfg b/yql/essentials/tests/sql/suites/json/json_query/on_error_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_query/on_error_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_query/on_error_exception.sql b/yql/essentials/tests/sql/suites/json/json_query/on_error_exception.sql new file mode 100644 index 0000000000..572988b9be --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_query/on_error_exception.sql @@ -0,0 +1,5 @@ +/* custom error:Member not found*/ +-- Accessing absent object member will cause jsonpath error in strict mode +$json = CAST("{}" as Json); +SELECT + JSON_QUERY($json, "strict $.key" ERROR ON ERROR); diff --git a/yql/essentials/tests/sql/suites/json/json_query/passing_exception.cfg b/yql/essentials/tests/sql/suites/json/json_query/passing_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_query/passing_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_query/passing_exception.sql b/yql/essentials/tests/sql/suites/json/json_query/passing_exception.sql new file mode 100644 index 0000000000..151e6dbcd1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_query/passing_exception.sql @@ -0,0 +1,16 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error:Expected data or optional of data, but got: Tuple<Int32,Int32>*/ + +$json = CAST(@@{ + "key": 123 +}@@ as Json); + +-- Tuple type is not supported for variables +SELECT + JSON_QUERY( + $json, "strict $var" + PASSING + AsTuple(1, 2) as var + WITH UNCONDITIONAL ARRAY WRAPPER + ); diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_empty_cast_default_exception.cfg b/yql/essentials/tests/sql/suites/json/json_value/on_empty_cast_default_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_empty_cast_default_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_empty_cast_default_exception.sql b/yql/essentials/tests/sql/suites/json/json_value/on_empty_cast_default_exception.sql new file mode 100644 index 0000000000..8237aef338 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_empty_cast_default_exception.sql @@ -0,0 +1,5 @@ +/* custom error:Failed to cast default value from ON EMPTY clause to target type Optional<Uint32>*/ + +$json = CAST("{}" as Json); +SELECT + JSON_VALUE($json, "lax $.key" RETURNING Uint32 DEFAULT -2 ON EMPTY ERROR ON ERROR); diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_empty_exception.cfg b/yql/essentials/tests/sql/suites/json/json_value/on_empty_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_empty_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_empty_exception.sql b/yql/essentials/tests/sql/suites/json/json_value/on_empty_exception.sql new file mode 100644 index 0000000000..d30d3161b0 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_empty_exception.sql @@ -0,0 +1,5 @@ +/* custom error:Result is empty*/ + +$json = CAST("{}" as Json); +SELECT + JSON_VALUE($json, "lax $.key" ERROR ON EMPTY); diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_default_exception.cfg b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_default_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_default_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_default_exception.sql b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_default_exception.sql new file mode 100644 index 0000000000..a7169032d9 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_default_exception.sql @@ -0,0 +1,8 @@ +/* custom error:Failed to cast default value from ON ERROR clause to target type Optional<Uint16>*/ + +-- Here JsonPath engine returns error result and ON ERROR section must be used. +-- But default value in ON ERROR section is -123 and casting it to Uint16 will fail. +-- In this case exception must be raised. +$json = CAST("{}" as Json); +SELECT + JSON_VALUE($json, "strict $.key" RETURNING Uint16 DEFAULT -123 ON ERROR); diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_udf_exception.cfg b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_udf_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_udf_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_udf_exception.sql b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_udf_exception.sql new file mode 100644 index 0000000000..a3fb807857 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_udf_exception.sql @@ -0,0 +1,9 @@ +/* custom error:Cannot convert extracted JSON value to target type*/ + +-- In this case call to Json2::SqlValueNumber will fail because "string" +-- does not represent Number value +$json = CAST(@@{ + "key": "string" +}@@ as Json); +SELECT + JSON_VALUE($json, "strict $.key" RETURNING Uint16 ERROR ON ERROR); diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_value_exception.cfg b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_value_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_value_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_value_exception.sql b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_value_exception.sql new file mode 100644 index 0000000000..a671f89fca --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_cast_value_exception.sql @@ -0,0 +1,9 @@ +/* custom error:Failed to cast extracted JSON value to target type Optional<Uint16>*/ + +-- In this case call to Json2::SqlValueNumber will be successfull, but cast +-- of -123 to Uint16 will fail +$json = CAST(@@{ + "key": -123 +}@@ as Json); +SELECT + JSON_VALUE($json, "strict $.key" RETURNING Uint16 ERROR ON ERROR); diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_jsonpath_exception.cfg b/yql/essentials/tests/sql/suites/json/json_value/on_error_jsonpath_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_jsonpath_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_value/on_error_jsonpath_exception.sql b/yql/essentials/tests/sql/suites/json/json_value/on_error_jsonpath_exception.sql new file mode 100644 index 0000000000..ee4467e138 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/on_error_jsonpath_exception.sql @@ -0,0 +1,5 @@ +/* custom error:Member not found*/ + +$json = CAST("{}" as Json); +SELECT + JSON_VALUE($json, "strict $.key" ERROR ON ERROR); diff --git a/yql/essentials/tests/sql/suites/json/json_value/passing_exception.cfg b/yql/essentials/tests/sql/suites/json/json_value/passing_exception.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/passing_exception.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/json/json_value/passing_exception.sql b/yql/essentials/tests/sql/suites/json/json_value/passing_exception.sql new file mode 100644 index 0000000000..2c6dfcf9b9 --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_value/passing_exception.sql @@ -0,0 +1,15 @@ +/* syntax version 1 */ +/* postgres can not */ +/* custom error:Expected data or optional of data, but got: Tuple<Int32,Int32>*/ + +$json = CAST(@@{ + "key": 123 +}@@ as Json); + +-- Tuple type is not supported for variables +SELECT + JSON_VALUE( + $json, "strict $var" + PASSING + AsTuple(1, 2) as var + ); diff --git a/yql/essentials/tests/sql/suites/lambda/lambda_with_tie_bad_count_fail.cfg b/yql/essentials/tests/sql/suites/lambda/lambda_with_tie_bad_count_fail.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/lambda/lambda_with_tie_bad_count_fail.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/lambda/lambda_with_tie_bad_count_fail.sql b/yql/essentials/tests/sql/suites/lambda/lambda_with_tie_bad_count_fail.sql new file mode 100644 index 0000000000..b71fe02976 --- /dev/null +++ b/yql/essentials/tests/sql/suites/lambda/lambda_with_tie_bad_count_fail.sql @@ -0,0 +1,8 @@ +/* custom error:Expected tuple type of size: 2, but got: 3*/ +$func = ($x, $y)->{ + $y, $x = AsTuple($x, $y, $x); + return $x || "_" || $y; +}; + +SELECT $func('foo', 'bar'); + diff --git a/yql/essentials/tests/sql/suites/match_recognize/alerts-streaming.sql b/yql/essentials/tests/sql/suites/match_recognize/alerts-streaming.sql new file mode 100644 index 0000000000..f8f13b5411 --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/alerts-streaming.sql @@ -0,0 +1,65 @@ +$osquery_data = [ +<|dt:1688910000, host:"fqdn1", ev_type:"someEv", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910050, host:"fqdn2", ev_type:"login", ev_status:"success", user:"", vpn:true, |>, +<|dt:1688910100, host:"fqdn1", ev_type:"login", ev_status:"success", user:"", vpn:true, |>, +<|dt:1688910220, host:"fqdn1", ev_type:"login", ev_status:"success", user:"", vpn:false, |>, +<|dt:1688910300, host:"fqdn1", ev_type:"delete_all", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910400, host:"fqdn2", ev_type:"delete_all", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910500, host:"fqdn1", ev_type:"login", ev_status:"failed", user:"user1", vpn:false, |>, +<|dt:1688910500, host:"fqdn1", ev_type:"login", ev_status:"failed", user:"user2", vpn:false, |>, +<|dt:1688910600, host:"fqdn", ev_type:"someEv", ev_status:"", user:"user1", vpn:false, |>, +<|dt:1688910800, host:"fqdn2", ev_type:"login", ev_status:"failed", user:"user1", vpn:false, |>, +<|dt:1688910900, host:"fqdn2", ev_type:"login", ev_status:"failed", user:"user2", vpn:false, |>, +<|dt:1688911000, host:"fqdn2", ev_type:"login", ev_status:"success", user:"user1", vpn:false, |>, +<|dt:1688911001, host:"fqdn2", ev_type:"login", ev_status:"success", user:"user1", vpn:false, |>, +]; + +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "force"); + +SELECT * +FROM AS_TABLE($osquery_data) MATCH_RECOGNIZE( + ORDER BY CAST(dt as Timestamp) + MEASURES + LAST(LOGIN_SUCCESS_REMOTE.host) as remote_login_host, + LAST(LOGIN_SUCCESS_REMOTE.user) as remote_login_user, + LAST(LOGIN_SUCCESS_REMOTE.dt) as remote_login_dt, + LAST(SUSPICIOUS_ACTION_SOON.dt) as suspicious_action_dt, + FIRST(LOGIN_FAILED_SAME_USER.dt) as brutforce_begin, + FIRST(LOGIN_SUCCESS_SAME_USER.dt) as brutforce_end, + LAST(LOGIN_SUCCESS_SAME_USER.user) as brutforce_login + + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + LOGIN_SUCCESS_REMOTE ANY_ROW1* SUSPICIOUS_ACTION_SOON | + (LOGIN_FAILED_SAME_USER ANY_ROW2*){2,} LOGIN_SUCCESS_SAME_USER + ) + DEFINE + LOGIN_SUCCESS_REMOTE as + LOGIN_SUCCESS_REMOTE.ev_type = "login" and + LOGIN_SUCCESS_REMOTE.ev_status = "success" and + LOGIN_SUCCESS_REMOTE.vpn = true and + COALESCE(LOGIN_SUCCESS_REMOTE.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW1 as + COALESCE(ANY_ROW1.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + SUSPICIOUS_ACTION_SOON as + SUSPICIOUS_ACTION_SOON.host = LAST(LOGIN_SUCCESS_REMOTE.host) and + SUSPICIOUS_ACTION_SOON.ev_type = "delete_all" and + COALESCE(SUSPICIOUS_ACTION_SOON.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + LOGIN_FAILED_SAME_USER as + LOGIN_FAILED_SAME_USER.ev_type = "login" and + LOGIN_FAILED_SAME_USER.ev_status <> "success" and + (LAST(LOGIN_FAILED_SAME_USER.user) IS NULL + or LAST(LOGIN_FAILED_SAME_USER.user) = LOGIN_FAILED_SAME_USER.user + ) and COALESCE(LOGIN_FAILED_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW2 as + COALESCE(ANY_ROW2.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + LOGIN_SUCCESS_SAME_USER as + LOGIN_SUCCESS_SAME_USER.ev_type = "login" and + LOGIN_SUCCESS_SAME_USER.ev_status = "success" and + LOGIN_SUCCESS_SAME_USER.user = LAST(LOGIN_FAILED_SAME_USER.user) and + COALESCE(LOGIN_SUCCESS_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE) +) AS MATCHED +; + diff --git a/yql/essentials/tests/sql/suites/match_recognize/alerts.sql b/yql/essentials/tests/sql/suites/match_recognize/alerts.sql new file mode 100644 index 0000000000..da1aa8ddd4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/alerts.sql @@ -0,0 +1,65 @@ +$osquery_data = [ +<|dt:1688910000, host:"fqdn1", ev_type:"someEv", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910050, host:"fqdn2", ev_type:"login", ev_status:"success", user:"", vpn:true, |>, +<|dt:1688910100, host:"fqdn1", ev_type:"login", ev_status:"success", user:"", vpn:true, |>, +<|dt:1688910220, host:"fqdn1", ev_type:"login", ev_status:"success", user:"", vpn:false, |>, +<|dt:1688910300, host:"fqdn1", ev_type:"delete_all", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910400, host:"fqdn2", ev_type:"delete_all", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910500, host:"fqdn1", ev_type:"login", ev_status:"failed", user:"user1", vpn:false, |>, +<|dt:1688910500, host:"fqdn1", ev_type:"login", ev_status:"failed", user:"user2", vpn:false, |>, +<|dt:1688910600, host:"fqdn", ev_type:"someEv", ev_status:"", user:"user1", vpn:false, |>, +<|dt:1688910800, host:"fqdn2", ev_type:"login", ev_status:"failed", user:"user1", vpn:false, |>, +<|dt:1688910900, host:"fqdn2", ev_type:"login", ev_status:"failed", user:"user2", vpn:false, |>, +<|dt:1688911000, host:"fqdn2", ev_type:"login", ev_status:"success", user:"user1", vpn:false, |>, +<|dt:1688911001, host:"fqdn2", ev_type:"login", ev_status:"success", user:"user1", vpn:false, |>, +]; + +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "disable"); + +SELECT * +FROM AS_TABLE($osquery_data) MATCH_RECOGNIZE( + ORDER BY CAST(dt as Timestamp) + MEASURES + LAST(LOGIN_SUCCESS_REMOTE.host) as remote_login_host, + LAST(LOGIN_SUCCESS_REMOTE.user) as remote_login_user, + LAST(LOGIN_SUCCESS_REMOTE.dt) as remote_login_dt, + LAST(SUSPICIOUS_ACTION_SOON.dt) as suspicious_action_dt, + FIRST(LOGIN_FAILED_SAME_USER.dt) as brutforce_begin, + FIRST(LOGIN_SUCCESS_SAME_USER.dt) as brutforce_end, + LAST(LOGIN_SUCCESS_SAME_USER.user) as brutforce_login + + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + LOGIN_SUCCESS_REMOTE ANY_ROW1* SUSPICIOUS_ACTION_SOON | + (LOGIN_FAILED_SAME_USER ANY_ROW2*){2,} LOGIN_SUCCESS_SAME_USER + ) + DEFINE + LOGIN_SUCCESS_REMOTE as + LOGIN_SUCCESS_REMOTE.ev_type = "login" and + LOGIN_SUCCESS_REMOTE.ev_status = "success" and + LOGIN_SUCCESS_REMOTE.vpn = true and + COALESCE(LOGIN_SUCCESS_REMOTE.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW1 as + COALESCE(ANY_ROW1.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + SUSPICIOUS_ACTION_SOON as + SUSPICIOUS_ACTION_SOON.host = LAST(LOGIN_SUCCESS_REMOTE.host) and + SUSPICIOUS_ACTION_SOON.ev_type = "delete_all" and + COALESCE(SUSPICIOUS_ACTION_SOON.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + LOGIN_FAILED_SAME_USER as + LOGIN_FAILED_SAME_USER.ev_type = "login" and + LOGIN_FAILED_SAME_USER.ev_status <> "success" and + (LAST(LOGIN_FAILED_SAME_USER.user) IS NULL + or LAST(LOGIN_FAILED_SAME_USER.user) = LOGIN_FAILED_SAME_USER.user + ) and COALESCE(LOGIN_FAILED_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW2 as + COALESCE(ANY_ROW2.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + LOGIN_SUCCESS_SAME_USER as + LOGIN_SUCCESS_SAME_USER.ev_type = "login" and + LOGIN_SUCCESS_SAME_USER.ev_status = "success" and + LOGIN_SUCCESS_SAME_USER.user = LAST(LOGIN_FAILED_SAME_USER.user) and + COALESCE(LOGIN_SUCCESS_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE) +) AS MATCHED +; + diff --git a/yql/essentials/tests/sql/suites/match_recognize/alerts_without_order.sql b/yql/essentials/tests/sql/suites/match_recognize/alerts_without_order.sql new file mode 100644 index 0000000000..006ba67e2e --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/alerts_without_order.sql @@ -0,0 +1,64 @@ +$osquery_data = [ +<|dt:1688910000, host:"fqdn1", ev_type:"someEv", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910050, host:"fqdn2", ev_type:"login", ev_status:"success", user:"", vpn:true, |>, +<|dt:1688910100, host:"fqdn1", ev_type:"login", ev_status:"success", user:"", vpn:true, |>, +<|dt:1688910220, host:"fqdn1", ev_type:"login", ev_status:"success", user:"", vpn:false, |>, +<|dt:1688910300, host:"fqdn1", ev_type:"delete_all", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910400, host:"fqdn2", ev_type:"delete_all", ev_status:"", user:"", vpn:false, |>, +<|dt:1688910500, host:"fqdn1", ev_type:"login", ev_status:"failed", user:"user1", vpn:false, |>, +<|dt:1688910500, host:"fqdn1", ev_type:"login", ev_status:"failed", user:"user2", vpn:false, |>, +<|dt:1688910600, host:"fqdn", ev_type:"someEv", ev_status:"", user:"user1", vpn:false, |>, +<|dt:1688910800, host:"fqdn2", ev_type:"login", ev_status:"failed", user:"user1", vpn:false, |>, +<|dt:1688910900, host:"fqdn2", ev_type:"login", ev_status:"failed", user:"user2", vpn:false, |>, +<|dt:1688911000, host:"fqdn2", ev_type:"login", ev_status:"success", user:"user1", vpn:false, |>, +<|dt:1688911001, host:"fqdn2", ev_type:"login", ev_status:"success", user:"user1", vpn:false, |>, +]; + +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "disable"); + +SELECT * +FROM AS_TABLE($osquery_data) MATCH_RECOGNIZE( + MEASURES + LAST(LOGIN_SUCCESS_REMOTE.host) as remote_login_host, + LAST(LOGIN_SUCCESS_REMOTE.user) as remote_login_user, + LAST(LOGIN_SUCCESS_REMOTE.dt) as remote_login_dt, + LAST(SUSPICIOUS_ACTION_SOON.dt) as suspicious_action_dt, + FIRST(LOGIN_FAILED_SAME_USER.dt) as brutforce_begin, + FIRST(LOGIN_SUCCESS_SAME_USER.dt) as brutforce_end, + LAST(LOGIN_SUCCESS_SAME_USER.user) as brutforce_login + + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + LOGIN_SUCCESS_REMOTE ANY_ROW1* SUSPICIOUS_ACTION_SOON | + (LOGIN_FAILED_SAME_USER ANY_ROW2*){2,} LOGIN_SUCCESS_SAME_USER + ) + DEFINE + LOGIN_SUCCESS_REMOTE as + LOGIN_SUCCESS_REMOTE.ev_type = "login" and + LOGIN_SUCCESS_REMOTE.ev_status = "success" and + LOGIN_SUCCESS_REMOTE.vpn = true and + COALESCE(LOGIN_SUCCESS_REMOTE.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW1 as + COALESCE(ANY_ROW1.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + SUSPICIOUS_ACTION_SOON as + SUSPICIOUS_ACTION_SOON.host = LAST(LOGIN_SUCCESS_REMOTE.host) and + SUSPICIOUS_ACTION_SOON.ev_type = "delete_all" and + COALESCE(SUSPICIOUS_ACTION_SOON.dt - FIRST(LOGIN_SUCCESS_REMOTE.dt) <= 500, TRUE), + LOGIN_FAILED_SAME_USER as + LOGIN_FAILED_SAME_USER.ev_type = "login" and + LOGIN_FAILED_SAME_USER.ev_status <> "success" and + (LAST(LOGIN_FAILED_SAME_USER.user) IS NULL + or LAST(LOGIN_FAILED_SAME_USER.user) = LOGIN_FAILED_SAME_USER.user + ) and COALESCE(LOGIN_FAILED_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + ANY_ROW2 as + COALESCE(ANY_ROW2.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE), + LOGIN_SUCCESS_SAME_USER as + LOGIN_SUCCESS_SAME_USER.ev_type = "login" and + LOGIN_SUCCESS_SAME_USER.ev_status = "success" and + LOGIN_SUCCESS_SAME_USER.user = LAST(LOGIN_FAILED_SAME_USER.user) and + COALESCE(LOGIN_SUCCESS_SAME_USER.dt - FIRST(LOGIN_FAILED_SAME_USER.dt) <= 500, TRUE) +) AS MATCHED +; + diff --git a/yql/essentials/tests/sql/suites/match_recognize/simple_paritioning-streaming.sql b/yql/essentials/tests/sql/suites/match_recognize/simple_paritioning-streaming.sql new file mode 100644 index 0000000000..2c3478956c --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/simple_paritioning-streaming.sql @@ -0,0 +1,44 @@ +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "force"); + +$data = [ +<|dt:15, host:"fqdn1", key:0|>, +<|dt:16, host:"fqdn1", key:1|>, +<|dt:17, host:"fqdn1", key:2|>, +<|dt:18, host:"fqdn1", key:3|>, +<|dt:19, host:"fqdn1", key:4|>, +<|dt:20, host:"fqdn1", key:5|>, +<|dt:21, host:"fqdn1", key:6|>, +<|dt:22, host:"fqdn1", key:7|>, +<|dt:23, host:"fqdn_2", key:0|>, +<|dt:24, host:"fqdn1", key:8|>, +<|dt:25, host:"fqdn1", key:9|>, +<|dt:26, host:"fqdn1", key:10|>, +<|dt:27, host:"fqdn__3", key:30|>, +<|dt:28, host:"fqdn__3", key:1|>, +<|dt:29, host:"fqdn__3", key:2|>, +<|dt:30, host:"fqdn__3", key:3|>, +<|dt:31, host:"fqdn__3", key:4|>, +<|dt:32, host:"fqdn1", key:11|>, +<|dt:33, host:"fqdn1", key:12|>, +<|dt:34, host:"fqdn1", key:13|>, +<|dt:35, host:"fqdn1", key:14|>, +<|dt:36, host:"fqdn__3", key:15|> +]; + +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY host + ORDER BY CAST(dt as Timestamp) + MEASURES + Last(Q.dt) as T, + First(Y.key) as Key + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + (Y Q) + ) + DEFINE + Y as (Y.key) % 3 = 0, + Q as (Q.key) % 3 <> 0 + ) as MR +ORDER BY MR.T; diff --git a/yql/essentials/tests/sql/suites/match_recognize/simple_paritioning.sql b/yql/essentials/tests/sql/suites/match_recognize/simple_paritioning.sql new file mode 100644 index 0000000000..f52c0c6f75 --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/simple_paritioning.sql @@ -0,0 +1,44 @@ +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "disable"); + +$data = [ +<|dt:15, host:"fqdn1", key:0|>, +<|dt:16, host:"fqdn1", key:1|>, +<|dt:17, host:"fqdn1", key:2|>, +<|dt:18, host:"fqdn1", key:3|>, +<|dt:19, host:"fqdn1", key:4|>, +<|dt:20, host:"fqdn1", key:5|>, +<|dt:21, host:"fqdn1", key:6|>, +<|dt:22, host:"fqdn1", key:7|>, +<|dt:23, host:"fqdn_2", key:0|>, +<|dt:24, host:"fqdn1", key:8|>, +<|dt:25, host:"fqdn1", key:9|>, +<|dt:26, host:"fqdn1", key:10|>, +<|dt:27, host:"fqdn__3", key:30|>, +<|dt:28, host:"fqdn__3", key:1|>, +<|dt:29, host:"fqdn__3", key:2|>, +<|dt:30, host:"fqdn__3", key:3|>, +<|dt:31, host:"fqdn__3", key:4|>, +<|dt:32, host:"fqdn1", key:11|>, +<|dt:33, host:"fqdn1", key:12|>, +<|dt:34, host:"fqdn1", key:13|>, +<|dt:35, host:"fqdn1", key:14|>, +<|dt:36, host:"fqdn__3", key:15|> +]; + +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY host + ORDER BY dt + MEASURES + Last(Q.dt) as T, + First(Y.key) as Key + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + (Y Q) + ) + DEFINE + Y as (Y.key) % 3 = 0, + Q as (Q.key) % 3 <> 0 + ) as MR +ORDER BY MR.T; diff --git a/yql/essentials/tests/sql/suites/match_recognize/test_type-streaming.sql b/yql/essentials/tests/sql/suites/match_recognize/test_type-streaming.sql new file mode 100644 index 0000000000..2b5072434b --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/test_type-streaming.sql @@ -0,0 +1,74 @@ +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "force"); + +$data = [<|dt:4, host:"fqdn1", key:14|>]; + +-- NoPartitionNoMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + ORDER BY CAST(dt as Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Y + ) + DEFINE + Y as NULL + ); + +--NoPartitionStringMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + ORDER BY CAST(dt as Timestamp) + MEASURES + "SomeString" as Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Q + ) + DEFINE + Q as TRUE + ); + +--IntPartitionColNoMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY key + ORDER BY CAST(dt as Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + L + ) + DEFINE + L as JUST(TRUE) + ); + +--StringPartitionColStringMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY host + ORDER BY CAST(dt as Timestamp) + MEASURES + "SomeString" as Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Y + ) + DEFINE + Y as TRUE + ); + +--TwoPartitionColsTwoMeasures +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY host, key + ORDER BY CAST(dt as Timestamp) + MEASURES + "SomeString" as S, + 345 as I + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Q + ) + DEFINE + Q as TRUE +); diff --git a/yql/essentials/tests/sql/suites/match_recognize/test_type.sql b/yql/essentials/tests/sql/suites/match_recognize/test_type.sql new file mode 100644 index 0000000000..9125b856bf --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/test_type.sql @@ -0,0 +1,75 @@ +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "disable"); + +$data = [<|dt:4, host:"fqdn1", key:14|>]; + + +-- NoPartitionNoMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + ORDER BY CAST(dt as Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Y + ) + DEFINE + Y as NULL +); + +--NoPartitionStringMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + ORDER BY CAST(dt as Timestamp) + MEASURES + "SomeString" as Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Q + ) + DEFINE + Q as TRUE +); + +--IntPartitionColNoMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY dt + ORDER BY CAST(dt as Timestamp) + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + L + ) + DEFINE + L as JUST(TRUE) +); + +--StringPartitionColStringMeasure +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY host + ORDER BY CAST(dt as Timestamp) + MEASURES + "SomeString" as Measure1 + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Y + ) + DEFINE + Y as TRUE +); + +--TwoPartitionColsTwoMeasures +select * from AS_TABLE($data) MATCH_RECOGNIZE( + PARTITION BY host, dt + ORDER BY CAST(dt as Timestamp) + MEASURES + "SomeString" as S, + 345 as I + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + Q + ) + DEFINE + Q as JUST(TRUE) +); diff --git a/yql/essentials/tests/sql/suites/match_recognize/test_type_predicate.cfg b/yql/essentials/tests/sql/suites/match_recognize/test_type_predicate.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/test_type_predicate.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/match_recognize/test_type_predicate.sql b/yql/essentials/tests/sql/suites/match_recognize/test_type_predicate.sql new file mode 100644 index 0000000000..654c537ea4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/match_recognize/test_type_predicate.sql @@ -0,0 +1,17 @@ +/* custom error:DEFINE expression must be a predicate*/ +pragma FeatureR010="prototype"; +pragma config.flags("MatchRecognizeStream", "disable"); + +$data = [<||>]; + +$BadPredicate = select TableRow() from (select * from AS_TABLE($data) MATCH_RECOGNIZE( + ONE ROW PER MATCH + AFTER MATCH SKIP TO NEXT ROW + PATTERN ( + A + ) + DEFINE + A as 123 -- must fail, Bool expected +)); + +select FormatType(TypeOf($BadPredicate)); diff --git a/yql/essentials/tests/sql/suites/params/missing_param_fail.cfg b/yql/essentials/tests/sql/suites/params/missing_param_fail.cfg new file mode 100644 index 0000000000..6fdcfa62be --- /dev/null +++ b/yql/essentials/tests/sql/suites/params/missing_param_fail.cfg @@ -0,0 +1,2 @@ +xfail +param $x p_int64.json
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/params/missing_param_fail.sql b/yql/essentials/tests/sql/suites/params/missing_param_fail.sql new file mode 100644 index 0000000000..49614fb221 --- /dev/null +++ b/yql/essentials/tests/sql/suites/params/missing_param_fail.sql @@ -0,0 +1,4 @@ +/* custom error:Missing value for parameter: $y*/ +declare $x as int; +declare $y as int; +select $x + $y; diff --git a/yql/essentials/tests/sql/suites/params/no_params_fail.cfg b/yql/essentials/tests/sql/suites/params/no_params_fail.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/params/no_params_fail.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/params/no_params_fail.sql b/yql/essentials/tests/sql/suites/params/no_params_fail.sql new file mode 100644 index 0000000000..4acbca7409 --- /dev/null +++ b/yql/essentials/tests/sql/suites/params/no_params_fail.sql @@ -0,0 +1,3 @@ +/* custom error:Missing value for parameter: $x*/ +declare $x as int; +select 2 * $x; diff --git a/yql/essentials/tests/sql/suites/params/param_type_mismatch_fail.cfg b/yql/essentials/tests/sql/suites/params/param_type_mismatch_fail.cfg new file mode 100644 index 0000000000..6fdcfa62be --- /dev/null +++ b/yql/essentials/tests/sql/suites/params/param_type_mismatch_fail.cfg @@ -0,0 +1,2 @@ +xfail +param $x p_int64.json
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/params/param_type_mismatch_fail.sql b/yql/essentials/tests/sql/suites/params/param_type_mismatch_fail.sql new file mode 100644 index 0000000000..e3fd5e0927 --- /dev/null +++ b/yql/essentials/tests/sql/suites/params/param_type_mismatch_fail.sql @@ -0,0 +1,3 @@ +/* custom error:Unexpected symbol "-" at pos 0 in string "-21"*/ +declare $x as UInt32; +select 2 * $x; diff --git a/yql/essentials/tests/sql/suites/pg/distinct_all_projection.sql b/yql/essentials/tests/sql/suites/pg/distinct_all_projection.sql new file mode 100644 index 0000000000..f0453afde4 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/distinct_all_projection.sql @@ -0,0 +1,2 @@ +--!syntax_pg +select distinct x from (values (1),(2),(1),(null::int4)) a(x) diff --git a/yql/essentials/tests/sql/suites/pg/is_predicate.sql b/yql/essentials/tests/sql/suites/pg/is_predicate.sql new file mode 100644 index 0000000000..c13e0e4e4e --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/is_predicate.sql @@ -0,0 +1,7 @@ +--!syntax_pg +select c, + c is true as "true", c is not true as "~true", + c is false as "false", c is not false as "~false", + c is unknown as "unk", c is not unknown as "~unk" +from (values (true), (false), (null)) as t(c) + diff --git a/yql/essentials/tests/sql/suites/pg/join_using_table_used_order2.cfg b/yql/essentials/tests/sql/suites/pg/join_using_table_used_order2.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/join_using_table_used_order2.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg/join_using_table_used_order2.sql b/yql/essentials/tests/sql/suites/pg/join_using_table_used_order2.sql new file mode 100644 index 0000000000..1a99d4d1fc --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/join_using_table_used_order2.sql @@ -0,0 +1,11 @@ +--!syntax_pg +/* custom error:common column name "zoo" appears more than once in left table*/ +select * from + ((select 1 as foo, 1 as bar, 1 as zoo) aa + join + (select 1 as foo, 1 as bar, 1 as zoo) bb + using (foo) + join + (select 1 as bar, 1 as zoo) cc + using (zoo) + ) diff --git a/yql/essentials/tests/sql/suites/pg/select_join_full.sql b/yql/essentials/tests/sql/suites/pg/select_join_full.sql new file mode 100644 index 0000000000..2518366b32 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_full.sql @@ -0,0 +1,3 @@ +--!syntax_pg +select * from (select 1 as x ) u full join (select 1 as y) v on u.x=v.y; +select * from (select 1 as x ) u full join (select 2 as y) v on u.x=v.y; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_full3.sql b/yql/essentials/tests/sql/suites/pg/select_join_full3.sql new file mode 100644 index 0000000000..c00fc629a0 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_full3.sql @@ -0,0 +1,3 @@ +--!syntax_pg +select * from (select 1 as x ) u full join (select 1 as y) v on u.x=v.y full join (select 1 as z) r on v.y=r.z; +select * from (select 1 as x ) u full join (select 2 as y) v on u.x=v.y full join (select 3 as z) r on v.y=r.z; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_full_const.sql b/yql/essentials/tests/sql/suites/pg/select_join_full_const.sql new file mode 100644 index 0000000000..605eb5c89c --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_full_const.sql @@ -0,0 +1,32 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on 1+1=2; + +select * from (select * from (values (1,2),(3,4)) as a(x,y) limit 0) a +full join (values (1,2),(2,5)) as b(u,v) +on 1+1=2; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (select * from (values (1,2),(2,5)) as b(u,v) limit 0) b +on 1+1=2; + +select * from (select * from (values (1,2),(3,4)) as a(x,y) limit 0) a +full join (select * from (values (1,2),(2,5)) as b(u,v) limit 0) b +on 1+1=2; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on 1+1=3; + +select * from (select * from (values (1,2),(3,4)) as a(x,y) limit 0) a +full join (values (1,2),(2,5)) as b(u,v) +on 1+1=3; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (select * from (values (1,2),(2,5)) as b(u,v) limit 0) b +on 1+1=3; + +select * from (select * from (values (1,2),(3,4)) as a(x,y) limit 0) a +full join (select * from (values (1,2),(2,5)) as b(u,v) limit 0) b +on 1+1=3; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_full_equi.sql b/yql/essentials/tests/sql/suites/pg/select_join_full_equi.sql new file mode 100644 index 0000000000..6a1302a61b --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_full_equi.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and b.v = a.y; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_full_equi_and_const.sql b/yql/essentials/tests/sql/suites/pg/select_join_full_equi_and_const.sql new file mode 100644 index 0000000000..05f1ca4b14 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_full_equi_and_const.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and 1+1=2; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and 1+1=3; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_full_equi_and_one.sql b/yql/essentials/tests/sql/suites/pg/select_join_full_equi_and_one.sql new file mode 100644 index 0000000000..f6a40eeb3f --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_full_equi_and_one.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and a.x=1; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and b.u=1;
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg/select_join_full_one.sql b/yql/essentials/tests/sql/suites/pg/select_join_full_one.sql new file mode 100644 index 0000000000..b5cdcb6967 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_full_one.sql @@ -0,0 +1,16 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = 1; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on a.x = 0; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on b.u = 1; + +select * from (values (1,2),(3,4)) as a(x,y) +full join (values (1,2),(2,5)) as b(u,v) +on b.u = 0; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_right_equi.sql b/yql/essentials/tests/sql/suites/pg/select_join_right_equi.sql new file mode 100644 index 0000000000..027ffc83d8 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_right_equi.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u; + +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and b.v = a.y; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_right_equi_and_const.sql b/yql/essentials/tests/sql/suites/pg/select_join_right_equi_and_const.sql new file mode 100644 index 0000000000..0c9e283c0f --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_right_equi_and_const.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and 1+1=2; + +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and 1+1=3; diff --git a/yql/essentials/tests/sql/suites/pg/select_join_right_equi_and_one.sql b/yql/essentials/tests/sql/suites/pg/select_join_right_equi_and_one.sql new file mode 100644 index 0000000000..a3cb350b25 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_right_equi_and_one.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and a.x=1; + +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = b.u and b.u=1;
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg/select_join_right_one.sql b/yql/essentials/tests/sql/suites/pg/select_join_right_one.sql new file mode 100644 index 0000000000..073b28e334 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_join_right_one.sql @@ -0,0 +1,16 @@ +--!syntax_pg +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = 1; + +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on a.x = 0; + +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on b.u = 1; + +select * from (values (1,2),(3,4)) as a(x,y) +right join (values (1,2),(2,5)) as b(u,v) +on b.u = 0; diff --git a/yql/essentials/tests/sql/suites/pg/select_unionall_scalar.sql b/yql/essentials/tests/sql/suites/pg/select_unionall_scalar.sql new file mode 100644 index 0000000000..a7f95a1e48 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_unionall_scalar.sql @@ -0,0 +1,6 @@ +--!syntax_pg +select * from (select 1 as x, 3 as y) u +union all +select * from (select null::int4 as y, 2 as x) v +union all +select * from (select 4 as y, null::int4 as x) v diff --git a/yql/essentials/tests/sql/suites/pg/select_win_count.sql b/yql/essentials/tests/sql/suites/pg/select_win_count.sql new file mode 100644 index 0000000000..ae8c9cce1c --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_win_count.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select x,y,count(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (); + +select x,y,count(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (order by y); diff --git a/yql/essentials/tests/sql/suites/pg/select_win_max_null.sql b/yql/essentials/tests/sql/suites/pg/select_win_max_null.sql new file mode 100644 index 0000000000..69ffb29ab1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_win_max_null.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select x,y,max(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (); + +select x,y,max(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (order by y); diff --git a/yql/essentials/tests/sql/suites/pg/select_win_min_null.sql b/yql/essentials/tests/sql/suites/pg/select_win_min_null.sql new file mode 100644 index 0000000000..0fbd5f1691 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_win_min_null.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select x,y,min(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (); + +select x,y,min(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (order by y); diff --git a/yql/essentials/tests/sql/suites/pg/select_win_sum_null.sql b/yql/essentials/tests/sql/suites/pg/select_win_sum_null.sql new file mode 100644 index 0000000000..f0948aed20 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg/select_win_sum_null.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select x,y,sum(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (); + +select x,y,sum(x) over w +from (values (1,2),(null::int4,3),(2,4),(2,5)) as a(x,y) +window w as (order by y); diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_join.cfg b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_join.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_join.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_join.sql b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_join.sql new file mode 100644 index 0000000000..587d729855 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_join.sql @@ -0,0 +1,9 @@ +--!syntax_pg +/* custom error:Column reference is ambiguous: x*/ +select a.x + 1 as y, b.x + 1 as z from + ((select 1 x) a + join + (select 1 x) b + on a.x = b.x) +order by x+1 +-- column reference "x" is ambiguous diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_table.cfg b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_table.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_table.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_table.sql b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_table.sql new file mode 100644 index 0000000000..a5f79a68b3 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_from_table.sql @@ -0,0 +1,6 @@ +--!syntax_pg +/* custom error:Column reference is ambiguous: x*/ +select a.* from + (select 1 x, 2 x) a +order by x +-- ORDER BY "x" is ambiguous diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_item_expression_from_projection.cfg b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_item_expression_from_projection.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_item_expression_from_projection.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_item_expression_from_projection.sql b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_item_expression_from_projection.sql new file mode 100644 index 0000000000..cda9243446 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_item_expression_from_projection.sql @@ -0,0 +1,5 @@ +--!syntax_pg +/* custom error: ORDER BY column reference 'y' is ambigous*/ +select x + 1 as y, x - 1 as y from + (select 1 x) a +order by y+1 diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_with_duplicates.cfg b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_with_duplicates.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_with_duplicates.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_with_duplicates.sql b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_with_duplicates.sql new file mode 100644 index 0000000000..bd8fb0c34b --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_with_duplicates.sql @@ -0,0 +1,6 @@ +--!syntax_pg +/* custom error:ORDER BY column reference 'y' is ambigous*/ +select x + 1 as y, x - 1 as y from + (select 1 x) a +order by y +-- order by y is ambigous diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_wo_duplicated_in_projection.cfg b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_wo_duplicated_in_projection.cfg new file mode 100644 index 0000000000..eb2e5315d1 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_wo_duplicated_in_projection.cfg @@ -0,0 +1 @@ +xfail
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_wo_duplicated_in_projection.sql b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_wo_duplicated_in_projection.sql new file mode 100644 index 0000000000..6e83754925 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_order_by_wo_duplicated_in_projection.sql @@ -0,0 +1,6 @@ +--!syntax_pg +/* custom error:Column reference is ambiguous: x*/ +select z from + (select 1 x, 1 x, 3 z) a +order by x +-- column reference "x" is ambiguous diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_ref.cfg b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_ref.cfg new file mode 100644 index 0000000000..5dae597903 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_ref.cfg @@ -0,0 +1 @@ +xfail diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_ref.sql b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_ref.sql new file mode 100644 index 0000000000..ea0738592d --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/ambigous_ref.sql @@ -0,0 +1,3 @@ +--!syntax_pg +/* custom error:Column reference is ambiguous: x*/ +select a.x from (select 1 x, 2 x) a diff --git a/yql/essentials/tests/sql/suites/pg_duplicated/qualified_star_from_using.sql b/yql/essentials/tests/sql/suites/pg_duplicated/qualified_star_from_using.sql new file mode 100644 index 0000000000..a0045b7863 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pg_duplicated/qualified_star_from_using.sql @@ -0,0 +1,8 @@ +--!syntax_pg +select a.*, b.* from +( + (select 1 x) a + full join + (select 2 x) b + using(x) +)
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/pragma/yson_strict_fail.cfg b/yql/essentials/tests/sql/suites/pragma/yson_strict_fail.cfg new file mode 100644 index 0000000000..cf17d0b8d0 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pragma/yson_strict_fail.cfg @@ -0,0 +1,2 @@ +xfail +udf yson2_udf diff --git a/yql/essentials/tests/sql/suites/pragma/yson_strict_fail.sql b/yql/essentials/tests/sql/suites/pragma/yson_strict_fail.sql new file mode 100644 index 0000000000..df71232b39 --- /dev/null +++ b/yql/essentials/tests/sql/suites/pragma/yson_strict_fail.sql @@ -0,0 +1,5 @@ +/* postgres can not */ +/* custom error:Cannot parse string value from integer*/ +PRAGMA yson.Strict; + +SELECT Yson::ConvertToString(Yson("122")); diff --git a/yql/essentials/tests/sql/suites/udf/wrong_args_fail.cfg b/yql/essentials/tests/sql/suites/udf/wrong_args_fail.cfg new file mode 100644 index 0000000000..f4ea431abc --- /dev/null +++ b/yql/essentials/tests/sql/suites/udf/wrong_args_fail.cfg @@ -0,0 +1,2 @@ +xfail +udf strings_udf
\ No newline at end of file diff --git a/yql/essentials/tests/sql/suites/udf/wrong_args_fail.sql b/yql/essentials/tests/sql/suites/udf/wrong_args_fail.sql new file mode 100644 index 0000000000..eed17d5589 --- /dev/null +++ b/yql/essentials/tests/sql/suites/udf/wrong_args_fail.sql @@ -0,0 +1,9 @@ +/* postgres can not */ +/* custom error:Callable expected at most 3 argument(s)*/ + +-- Find has optional args +select String::ReplaceAll(); -- too few +select String::ReplaceAll("abc"); -- too few + +select String::ReplaceAll("abc", "b", 2, 4); -- too many +select String::ReplaceAll("abc" , "b", 2, 4, 44); -- too many diff --git a/yql/essentials/tests/sql/suites/union/union_column_extention.sql b/yql/essentials/tests/sql/suites/union/union_column_extention.sql new file mode 100644 index 0000000000..592b6ba780 --- /dev/null +++ b/yql/essentials/tests/sql/suites/union/union_column_extention.sql @@ -0,0 +1,16 @@ +SELECT + 1 as x +UNION +SELECT + 'a' as y +UNION +SELECT + 1 as x, + 'a' as y +UNION +SELECT + 1 as x +UNION +SELECT + 1 as x, + 'b' as y; diff --git a/yql/essentials/tests/sql/suites/union_all/union_all_null.sql b/yql/essentials/tests/sql/suites/union_all/union_all_null.sql new file mode 100644 index 0000000000..960390755e --- /dev/null +++ b/yql/essentials/tests/sql/suites/union_all/union_all_null.sql @@ -0,0 +1,11 @@ +SELECT + 1/2 as jx, + 'a' as x, + NULL as jy, + NULL as y +UNION ALL +SELECT + NULL as jx, + NULL as x, + 2/1 as jy, + 'b' as y; diff --git a/yql/essentials/tests/sql/suites/weak_field/weak_member_string_copy.sql b/yql/essentials/tests/sql/suites/weak_field/weak_member_string_copy.sql new file mode 100644 index 0000000000..1a19c1cc51 --- /dev/null +++ b/yql/essentials/tests/sql/suites/weak_field/weak_member_string_copy.sql @@ -0,0 +1,3 @@ +/* postgres can not */ +$d = AsDict(AsTuple("fld","Россия, Санкт-Петербург, Петроградская набережная, 2-4"),AsTuple("_yql_fld","")); +select Yql::TryWeakMemberFromDict(Just($d), NULL, AsAtom("String"), AsAtom("fld")); |