aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/minikql/mkql_program_builder.cpp
diff options
context:
space:
mode:
authoravevad <avevad@yandex-team.com>2025-01-15 15:13:49 +0300
committeravevad <avevad@yandex-team.com>2025-01-15 15:30:47 +0300
commit222b68506a961b9228b5b27e189521b4a408bec1 (patch)
treea7ddbfd78a269af21c9aa67fe073088770317422 /yql/essentials/minikql/mkql_program_builder.cpp
parente4e528735249472bdff599360a32193d61e44791 (diff)
downloadydb-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.cpp3
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) {