diff options
author | avevad <avevad@yandex-team.com> | 2025-01-15 15:13:49 +0300 |
---|---|---|
committer | avevad <avevad@yandex-team.com> | 2025-01-15 15:30:47 +0300 |
commit | 222b68506a961b9228b5b27e189521b4a408bec1 (patch) | |
tree | a7ddbfd78a269af21c9aa67fe073088770317422 /yql/essentials/minikql/mkql_program_builder.cpp | |
parent | e4e528735249472bdff599360a32193d61e44791 (diff) | |
download | ydb-222b68506a961b9228b5b27e189521b4a408bec1.tar.gz |
YQL-19261 Add implicit Decimal cast
commit_hash:c555086fbd49035556302b3ac571f4ac91877974
Diffstat (limited to 'yql/essentials/minikql/mkql_program_builder.cpp')
-rw-r--r-- | yql/essentials/minikql/mkql_program_builder.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/yql/essentials/minikql/mkql_program_builder.cpp b/yql/essentials/minikql/mkql_program_builder.cpp index f59e3371fb..82c1f604ba 100644 --- a/yql/essentials/minikql/mkql_program_builder.cpp +++ b/yql/essentials/minikql/mkql_program_builder.cpp @@ -4600,7 +4600,8 @@ TRuntimeNode TProgramBuilder::ToDecimal(TRuntimeNode data, ui8 precision, ui8 sc } else if (params.second < scale) { return Invoke("ScaleUp_" + ::ToString(scale - params.second), decimal, args); } else if (params.second > scale) { - return Invoke("ScaleDown_" + ::ToString(params.second - scale), decimal, args); + TRuntimeNode scaled = Invoke("ScaleDown_" + ::ToString(params.second - scale), decimal, args); + return Invoke("CheckBounds_" + ::ToString(precision), decimal, {{ scaled }}); } else if (precision < params.first) { return Invoke("CheckBounds_" + ::ToString(precision), decimal, args); } else if (precision > params.first) { |