From c2d13e7e917780ddd68e3f4c61511707bf76a94f Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 12 Aug 2026 17:05:22 -0400 Subject: [PATCH] Minor: avoid a few clones in sum accumulator setup --- .../src/aggregate/avg_distinct/decimal.rs | 2 +- .../src/aggregate/avg_distinct/numeric.rs | 2 +- .../src/aggregate/sum_distinct/numeric.rs | 4 ++-- datafusion/functions-aggregate/src/sum.rs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/decimal.rs b/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/decimal.rs index 0394a8391ad70..1b2fb01189feb 100644 --- a/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/decimal.rs +++ b/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/decimal.rs @@ -56,7 +56,7 @@ impl DecimalDistinctAvgAccumulat let data_type = I::TYPE_CONSTRUCTOR(I::MAX_PRECISION, sum_scale); Self { - sum_accumulator: DistinctSumAccumulator::new(&data_type), + sum_accumulator: DistinctSumAccumulator::new(data_type), sum_scale, target_precision, target_scale, diff --git a/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/numeric.rs b/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/numeric.rs index bb43acc2614f9..8f2cb326379f4 100644 --- a/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/numeric.rs +++ b/datafusion/functions-aggregate-common/src/aggregate/avg_distinct/numeric.rs @@ -36,7 +36,7 @@ impl Default for Float64DistinctAvgAccumulator { fn default() -> Self { Self { sum_accumulator: DistinctSumAccumulator::::new( - &DataType::Float64, + DataType::Float64, ), } } diff --git a/datafusion/functions-aggregate-common/src/aggregate/sum_distinct/numeric.rs b/datafusion/functions-aggregate-common/src/aggregate/sum_distinct/numeric.rs index 2119c06b48aaf..93a320edb5c09 100644 --- a/datafusion/functions-aggregate-common/src/aggregate/sum_distinct/numeric.rs +++ b/datafusion/functions-aggregate-common/src/aggregate/sum_distinct/numeric.rs @@ -40,10 +40,10 @@ pub struct DistinctSumAccumulator { } impl DistinctSumAccumulator { - pub fn new(data_type: &DataType) -> Self { + pub fn new(data_type: DataType) -> Self { Self { values: GenericDistinctBuffer::new(data_type.clone()), - data_type: data_type.clone(), + data_type, } } diff --git a/datafusion/functions-aggregate/src/sum.rs b/datafusion/functions-aggregate/src/sum.rs index 71932c5f0b3f7..20bfe064e5b13 100644 --- a/datafusion/functions-aggregate/src/sum.rs +++ b/datafusion/functions-aggregate/src/sum.rs @@ -264,14 +264,14 @@ impl AggregateUDFImpl for Sum { if args.is_distinct { macro_rules! helper { ($t:ty, $dt:expr) => { - Ok(Box::new(DistinctSumAccumulator::<$t>::new(&$dt))) + Ok(Box::new(DistinctSumAccumulator::<$t>::new($dt))) }; } downcast_sum!(args, helper) } else { macro_rules! helper { ($t:ty, $dt:expr) => { - Ok(Box::new(SumAccumulator::<$t>::new($dt.clone()))) + Ok(Box::new(SumAccumulator::<$t>::new($dt))) }; } downcast_sum!(args, helper)