From abf61aaaa9eada4fa3b76d8908030b603b1551d1 Mon Sep 17 00:00:00 2001 From: Mikhail Babenko Date: Fri, 22 Dec 2023 16:35:53 +0300 Subject: [PATCH 1/2] disable cast warning from integral to floats --- ydb/library/yql/core/yql_expr_type_annotation.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ydb/library/yql/core/yql_expr_type_annotation.cpp b/ydb/library/yql/core/yql_expr_type_annotation.cpp index 512de46d378c..06b1fbd0056c 100644 --- a/ydb/library/yql/core/yql_expr_type_annotation.cpp +++ b/ydb/library/yql/core/yql_expr_type_annotation.cpp @@ -386,7 +386,8 @@ IGraphTransformer::TStatus TryConvertToImpl(TExprContext& ctx, TExprNode::TPtr& return IGraphTransformer::TStatus::Error; } - if (*castResult != NKikimr::NUdf::ECastOptions::Complete) { + if (*castResult != NKikimr::NUdf::ECastOptions::Complete + && !(IsDataTypeIntegral(from) && IsDataTypeFloat(to))) { auto issue = TIssue(node->Pos(ctx), TStringBuilder() << "Consider using explicit CAST or BITCAST to convert from " << NKikimr::NUdf::GetDataTypeInfo(from).Name << " to " << NKikimr::NUdf::GetDataTypeInfo(to).Name); From 43dbe3325b2107348930f4f7f0aeab32fcfc1874 Mon Sep 17 00:00:00 2001 From: Mikhail Babenko Date: Mon, 25 Dec 2023 10:21:28 +0300 Subject: [PATCH 2/2] bless tests --- .../part0/canondata/result.json | 6 ---- .../extracted | 29 ------------------- .../extracted | 14 --------- 3 files changed, 49 deletions(-) delete mode 100644 ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvert-Results_/extracted delete mode 100644 ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvertByIf-Results_/extracted diff --git a/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/result.json b/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/result.json index edd8d834d925..9fcd198aee57 100644 --- a/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/result.json +++ b/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/result.json @@ -2285,9 +2285,6 @@ "checksum": "097cc951a42c1490602cb2c3fa54f391", "size": 2150, "uri": "https://{canondata_backend}/1925821/dbf7e45bd25c73ba757e166a0254ae4690dfd12e/resource.tar.gz#test.test_ImplictCasts-AutoConvert-Results_/results.txt" - }, - { - "uri": "file://test.test_ImplictCasts-AutoConvert-Results_/extracted" } ], "test.test[ImplictCasts-AutoConvertByIf-Debug]": [ @@ -2309,9 +2306,6 @@ "checksum": "d0a38074ae95a885af573a81649b785a", "size": 209, "uri": "https://{canondata_backend}/1925821/dbf7e45bd25c73ba757e166a0254ae4690dfd12e/resource.tar.gz#test.test_ImplictCasts-AutoConvertByIf-Results_/results.txt" - }, - { - "uri": "file://test.test_ImplictCasts-AutoConvertByIf-Results_/extracted" } ], "test.test[ImplictCasts-ImplicitEqualsOverVariantStruct-Debug]": [ diff --git a/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvert-Results_/extracted b/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvert-Results_/extracted deleted file mode 100644 index 4a23fab9efeb..000000000000 --- a/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvert-Results_/extracted +++ /dev/null @@ -1,29 +0,0 @@ -/program.yql:
: Warning: Type annotation - - /program.yql:
:32:13: Warning: At function: RemovePrefixMembers - (let world (Write! world res_sink (Key) data '('('type)))) - ^ - /program.yql:
:31:12: Warning: At function: Append - (let data (Append data (Float '2))) - ^ - /program.yql:
:30:12: Warning: At function: Append - (let data (Append data (Uint64 '2))) - ^ - /program.yql:
:29:12: Warning: At function: Append - (let data (Append data (Int64 '2))) - ^ - /program.yql:
:29:25: Warning: Failed to convert type: Int64 to Double - (let data (Append data (Int64 '2))) - ^ - /program.yql:
:29:25: Warning: Consider using explicit CAST or BITCAST to convert from Int64 to Double - (let data (Append data (Int64 '2))) - ^ - /program.yql:
:30:12: Warning: At function: Append - (let data (Append data (Uint64 '2))) - ^ - /program.yql:
:30:25: Warning: Failed to convert type: Uint64 to Double - (let data (Append data (Uint64 '2))) - ^ - /program.yql:
:30:25: Warning: Consider using explicit CAST or BITCAST to convert from Uint64 to Double - (let data (Append data (Uint64 '2))) - ^ \ No newline at end of file diff --git a/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvertByIf-Results_/extracted b/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvertByIf-Results_/extracted deleted file mode 100644 index 63687b0d2910..000000000000 --- a/ydb/library/yql/tests/s-expressions/yt_native_file/part0/canondata/test.test_ImplictCasts-AutoConvertByIf-Results_/extracted +++ /dev/null @@ -1,14 +0,0 @@ -/program.yql:
: Warning: Type annotation - - /program.yql:
:8:13: Warning: At function: RemovePrefixMembers - (let world (Write! world res_sink (Key) data '('('type)))) - ^ - /program.yql:
:7:12: Warning: At function: If - (let data (If (Bool 'true) data (Double '2))) - ^ - /program.yql:
:6:12: Warning: Failed to convert type: Uint64 to Double - (let data (Uint64 '1)) - ^ - /program.yql:
:6:12: Warning: Consider using explicit CAST or BITCAST to convert from Uint64 to Double - (let data (Uint64 '1)) - ^ \ No newline at end of file