From 6415014561e7c4671d5249930ce92414da6523fc Mon Sep 17 00:00:00 2001 From: Mryange Date: Thu, 9 Jul 2026 16:05:48 +0800 Subject: [PATCH] upd --- be/src/exprs/function/cast/cast_to_decimal.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/be/src/exprs/function/cast/cast_to_decimal.h b/be/src/exprs/function/cast/cast_to_decimal.h index 0617aca16ea014..8dc4c6b4aeac93 100644 --- a/be/src/exprs/function/cast/cast_to_decimal.h +++ b/be/src/exprs/function/cast/cast_to_decimal.h @@ -780,6 +780,17 @@ class CastToImpl : public CastToBase { params.is_strict = (CastMode == CastModeType::StrictMode); size_t size = vec_from.size(); + if constexpr (IsDataTypeDecimalV3) { + if (to_scale == 0 && !narrow_integral) { + for (size_t i = 0; i < size; i++) { + vec_to_data[i].value = + static_cast(vec_from_data[i]); + } + block.get_by_position(result).column = std::move(col_to); + return Status::OK(); + } + } + RETURN_IF_ERROR(std::visit( [&](auto multiply_may_overflow, auto narrow_integral) { for (size_t i = 0; i < size; i++) {