aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvvvv <vvvv@yandex-team.com>2025-07-04 10:20:32 +0300
committervvvv <vvvv@yandex-team.com>2025-07-04 10:36:01 +0300
commitdba0afc5ce7049668d44c6f5cb1bd0fd5a7fbc63 (patch)
tree2a31761c2ce1b031f51fd4426b5e29efa4cdeb69
parentb715d6d2ed9cf3031aa54ebb4bf3d734a0583624 (diff)
downloadydb-dba0afc5ce7049668d44c6f5cb1bd0fd5a7fbc63.tar.gz
YQL-20126 fix
commit_hash:9a7d4b30d4dd2a5d2fa2d9bd9e34c5153196d288
-rw-r--r--yql/essentials/core/common_opt/yql_co_simple1.cpp2
-rw-r--r--yql/essentials/tests/sql/minirun/part9/canondata/result.json14
-rw-r--r--yql/essentials/tests/sql/sql2yql/canondata/result.json12
-rw-r--r--yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_optimizers-yql-20126_/formatted.sql4
-rw-r--r--yql/essentials/tests/sql/suites/optimizers/yql-20126.sql2
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
+