From 0c25e8b9b6974ff79285f226970745c8f9c5f21b Mon Sep 17 00:00:00 2001 From: jacktengg Date: Thu, 30 Oct 2025 15:15:56 +0800 Subject: [PATCH] branch-3.1: [fix](decimal256) fix unstable overflow error when casting decimal256 to float #56848 Picked from #56848 --- be/src/vec/data_types/data_type_decimal.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/be/src/vec/data_types/data_type_decimal.h b/be/src/vec/data_types/data_type_decimal.h index 1cfa54c8462626..dd8b77f3270c55 100644 --- a/be/src/vec/data_types/data_type_decimal.h +++ b/be/src/vec/data_types/data_type_decimal.h @@ -604,13 +604,8 @@ void convert_from_decimal(typename ToDataType::FieldType* dst, } else { auto multiplier = FromDataType::get_scale_multiplier(scale); for (size_t i = 0; i < size; ++i) { - if constexpr (IsDecimal256) { - dst[i] = static_cast(static_cast(src[i].value) / - static_cast(multiplier.value)); - } else { - dst[i] = static_cast(static_cast(src[i].value) / - static_cast(multiplier.value)); - } + dst[i] = static_cast(static_cast(src[i].value) / + static_cast(multiplier.value)); } } if constexpr (narrow_integral) {