diff options
author | vvvv <vvvv@yandex-team.com> | 2025-07-04 10:20:32 +0300 |
---|---|---|
committer | vvvv <vvvv@yandex-team.com> | 2025-07-04 10:36:01 +0300 |
commit | dba0afc5ce7049668d44c6f5cb1bd0fd5a7fbc63 (patch) | |
tree | 2a31761c2ce1b031f51fd4426b5e29efa4cdeb69 | |
parent | b715d6d2ed9cf3031aa54ebb4bf3d734a0583624 (diff) | |
download | ydb-dba0afc5ce7049668d44c6f5cb1bd0fd5a7fbc63.tar.gz |
YQL-20126 fix
commit_hash:9a7d4b30d4dd2a5d2fa2d9bd9e34c5153196d288
5 files changed, 33 insertions, 1 deletions
diff --git a/yql/essentials/core/common_opt/yql_co_simple1.cpp b/yql/essentials/core/common_opt/yql_co_simple1.cpp index 65d9b4ee867..d8dbd1ebbfe 100644 --- a/yql/essentials/core/common_opt/yql_co_simple1.cpp +++ b/yql/essentials/core/common_opt/yql_co_simple1.cpp @@ -4962,7 +4962,7 @@ void RegisterCoSimpleCallables1(TCallableOptimizerMap& map) { auto ret = ctx.ChangeChild(*node, 0U, node->Head().HeadPtr()); const auto tupleType = node->Head().Head().GetTypeAnn()->Cast<TTupleExprType>(); const auto elemType = tupleType->GetItems()[FromString<ui32>(node->Tail().Content())]; - return ctx.WrapByCallableIf(elemType->GetKind() != ETypeAnnotationKind::Optional, "Just", std::move(ret)); + return ctx.WrapByCallableIf(!elemType->IsOptionalOrNull(), "Just", std::move(ret)); } if (node->Head().IsCallable("Nothing")) { diff --git a/yql/essentials/tests/sql/minirun/part9/canondata/result.json b/yql/essentials/tests/sql/minirun/part9/canondata/result.json index 35ae2060bec..335a98d0032 100644 --- a/yql/essentials/tests/sql/minirun/part9/canondata/result.json +++ b/yql/essentials/tests/sql/minirun/part9/canondata/result.json @@ -838,6 +838,20 @@ "uri": "https://{canondata_backend}/1871102/28712a270577dee66ab373eee9e25083dc4d12b4/resource.tar.gz#test.test_optimizers-constant_fold_minmax-default.txt-Results_/results.txt" } ], + "test.test[optimizers-yql-20126-default.txt-Debug]": [ + { + "checksum": "35419c7db82a8f464f94dd015de1223d", + "size": 272, + "uri": "https://{canondata_backend}/1916746/d1586b0a89d070de474d9d3626f07e1825392309/resource.tar.gz#test.test_optimizers-yql-20126-default.txt-Debug_/opt.yql" + } + ], + "test.test[optimizers-yql-20126-default.txt-Results]": [ + { + "checksum": "e67d421f2b54dffe3e7b267d516d30bd", + "size": 979, + "uri": "https://{canondata_backend}/1916746/d1586b0a89d070de474d9d3626f07e1825392309/resource.tar.gz#test.test_optimizers-yql-20126-default.txt-Results_/results.txt" + } + ], "test.test[order_by-single_item_tuple-default.txt-Debug]": [ { "checksum": "29bc5a0c3b81d7eed0db4f24a063f0e7", diff --git a/yql/essentials/tests/sql/sql2yql/canondata/result.json b/yql/essentials/tests/sql/sql2yql/canondata/result.json index b8e9166185b..8562333d3e8 100644 --- a/yql/essentials/tests/sql/sql2yql/canondata/result.json +++ b/yql/essentials/tests/sql/sql2yql/canondata/result.json @@ -4675,6 +4675,13 @@ "uri": "https://{canondata_backend}/1942100/3a10d26ef7a070d46fa88c8dd9331e21543d4c65/resource.tar.gz#test_sql2yql.test_optimizers-yql-20117_empty_or_/sql.yql" } ], + "test_sql2yql.test[optimizers-yql-20126]": [ + { + "checksum": "19291d33c89950200174dcb82dc542c6", + "size": 1294, + "uri": "https://{canondata_backend}/1784826/73292dd2b499c72f7236e320f3f6e992baf8a929/resource.tar.gz#test_sql2yql.test_optimizers-yql-20126_/sql.yql" + } + ], "test_sql2yql.test[optimizers-yson_dup_serialize]": [ { "checksum": "c4d71b8c49a1202b8b7d0b439671a102", @@ -10976,6 +10983,11 @@ "uri": "file://test_sql_format.test_optimizers-yql-20117_empty_or_/formatted.sql" } ], + "test_sql_format.test[optimizers-yql-20126]": [ + { + "uri": "file://test_sql_format.test_optimizers-yql-20126_/formatted.sql" + } + ], "test_sql_format.test[optimizers-yson_dup_serialize]": [ { "uri": "file://test_sql_format.test_optimizers-yson_dup_serialize_/formatted.sql" diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_optimizers-yql-20126_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_optimizers-yql-20126_/formatted.sql new file mode 100644 index 00000000000..7ee1f91a554 --- /dev/null +++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_optimizers-yql-20126_/formatted.sql @@ -0,0 +1,4 @@ +SELECT + Just((NULL,)).0, + Just((1p,)).0 +; diff --git a/yql/essentials/tests/sql/suites/optimizers/yql-20126.sql b/yql/essentials/tests/sql/suites/optimizers/yql-20126.sql new file mode 100644 index 00000000000..6dfaabe225e --- /dev/null +++ b/yql/essentials/tests/sql/suites/optimizers/yql-20126.sql @@ -0,0 +1,2 @@ +select Just((null,)).0,Just((1p,)).0 + |