[Bug](avg) Fix avg for bigint (#14433)
This commit is contained in:
@ -55,27 +55,20 @@ struct ArrayAggregateResultImpl<Element, AggregateOperation::MAX> {
|
||||
|
||||
template <typename Element>
|
||||
struct ArrayAggregateResultImpl<Element, AggregateOperation::AVERAGE> {
|
||||
using Result =
|
||||
std::conditional_t<IsDecimalV2<Element>, Decimal128,
|
||||
std::conditional_t<IsDecimalNumber<Element>, Decimal128I, Float64>>;
|
||||
using Result = std::conditional_t<IsDecimalNumber<Element>, Decimal128, Float64>;
|
||||
};
|
||||
|
||||
template <typename Element>
|
||||
struct ArrayAggregateResultImpl<Element, AggregateOperation::PRODUCT> {
|
||||
using Result =
|
||||
std::conditional_t<IsDecimalV2<Element>, Decimal128,
|
||||
std::conditional_t<IsDecimalNumber<Element>, Decimal128I, Float64>>;
|
||||
using Result = std::conditional_t<IsDecimalNumber<Element>, Decimal128, Float64>;
|
||||
};
|
||||
|
||||
template <typename Element>
|
||||
struct ArrayAggregateResultImpl<Element, AggregateOperation::SUM> {
|
||||
using Result = std::conditional_t<
|
||||
IsDecimalV2<Element>, Decimal128,
|
||||
std::conditional_t<
|
||||
IsDecimalNumber<Element>, Decimal128I,
|
||||
std::conditional_t<
|
||||
IsFloatNumber<Element>, Float64,
|
||||
std::conditional_t<std::is_same_v<Element, Int128>, Int128, Int64>>>>;
|
||||
IsDecimalNumber<Element>, Decimal128,
|
||||
std::conditional_t<IsFloatNumber<Element>, Float64,
|
||||
std::conditional_t<std::is_same_v<Element, Int128>, Int128, Int64>>>;
|
||||
};
|
||||
|
||||
template <typename Element, AggregateOperation operation>
|
||||
|
||||
Reference in New Issue
Block a user