@@ -209,7 +209,7 @@ impl AggregateUDFImpl for FirstValue {
209209 args : AccumulatorArgs ,
210210 ) -> Result < Box < dyn GroupsAccumulator > > {
211211 fn create_accumulator < T : ArrowPrimitiveType + Send > (
212- args : AccumulatorArgs ,
212+ args : & AccumulatorArgs ,
213213 ) -> Result < Box < dyn GroupsAccumulator > > {
214214 let Some ( ordering) = LexOrdering :: new ( args. order_bys . to_vec ( ) ) else {
215215 return internal_err ! ( "Groups accumulator must have an ordering." ) ;
@@ -231,50 +231,50 @@ impl AggregateUDFImpl for FirstValue {
231231 }
232232
233233 match args. return_field . data_type ( ) {
234- DataType :: Int8 => create_accumulator :: < Int8Type > ( args) ,
235- DataType :: Int16 => create_accumulator :: < Int16Type > ( args) ,
236- DataType :: Int32 => create_accumulator :: < Int32Type > ( args) ,
237- DataType :: Int64 => create_accumulator :: < Int64Type > ( args) ,
238- DataType :: UInt8 => create_accumulator :: < UInt8Type > ( args) ,
239- DataType :: UInt16 => create_accumulator :: < UInt16Type > ( args) ,
240- DataType :: UInt32 => create_accumulator :: < UInt32Type > ( args) ,
241- DataType :: UInt64 => create_accumulator :: < UInt64Type > ( args) ,
242- DataType :: Float16 => create_accumulator :: < Float16Type > ( args) ,
243- DataType :: Float32 => create_accumulator :: < Float32Type > ( args) ,
244- DataType :: Float64 => create_accumulator :: < Float64Type > ( args) ,
245-
246- DataType :: Decimal32 ( _, _) => create_accumulator :: < Decimal32Type > ( args) ,
247- DataType :: Decimal64 ( _, _) => create_accumulator :: < Decimal64Type > ( args) ,
248- DataType :: Decimal128 ( _, _) => create_accumulator :: < Decimal128Type > ( args) ,
249- DataType :: Decimal256 ( _, _) => create_accumulator :: < Decimal256Type > ( args) ,
234+ DataType :: Int8 => create_accumulator :: < Int8Type > ( & args) ,
235+ DataType :: Int16 => create_accumulator :: < Int16Type > ( & args) ,
236+ DataType :: Int32 => create_accumulator :: < Int32Type > ( & args) ,
237+ DataType :: Int64 => create_accumulator :: < Int64Type > ( & args) ,
238+ DataType :: UInt8 => create_accumulator :: < UInt8Type > ( & args) ,
239+ DataType :: UInt16 => create_accumulator :: < UInt16Type > ( & args) ,
240+ DataType :: UInt32 => create_accumulator :: < UInt32Type > ( & args) ,
241+ DataType :: UInt64 => create_accumulator :: < UInt64Type > ( & args) ,
242+ DataType :: Float16 => create_accumulator :: < Float16Type > ( & args) ,
243+ DataType :: Float32 => create_accumulator :: < Float32Type > ( & args) ,
244+ DataType :: Float64 => create_accumulator :: < Float64Type > ( & args) ,
245+
246+ DataType :: Decimal32 ( _, _) => create_accumulator :: < Decimal32Type > ( & args) ,
247+ DataType :: Decimal64 ( _, _) => create_accumulator :: < Decimal64Type > ( & args) ,
248+ DataType :: Decimal128 ( _, _) => create_accumulator :: < Decimal128Type > ( & args) ,
249+ DataType :: Decimal256 ( _, _) => create_accumulator :: < Decimal256Type > ( & args) ,
250250
251251 DataType :: Timestamp ( TimeUnit :: Second , _) => {
252- create_accumulator :: < TimestampSecondType > ( args)
252+ create_accumulator :: < TimestampSecondType > ( & args)
253253 }
254254 DataType :: Timestamp ( TimeUnit :: Millisecond , _) => {
255- create_accumulator :: < TimestampMillisecondType > ( args)
255+ create_accumulator :: < TimestampMillisecondType > ( & args)
256256 }
257257 DataType :: Timestamp ( TimeUnit :: Microsecond , _) => {
258- create_accumulator :: < TimestampMicrosecondType > ( args)
258+ create_accumulator :: < TimestampMicrosecondType > ( & args)
259259 }
260260 DataType :: Timestamp ( TimeUnit :: Nanosecond , _) => {
261- create_accumulator :: < TimestampNanosecondType > ( args)
261+ create_accumulator :: < TimestampNanosecondType > ( & args)
262262 }
263263
264- DataType :: Date32 => create_accumulator :: < Date32Type > ( args) ,
265- DataType :: Date64 => create_accumulator :: < Date64Type > ( args) ,
264+ DataType :: Date32 => create_accumulator :: < Date32Type > ( & args) ,
265+ DataType :: Date64 => create_accumulator :: < Date64Type > ( & args) ,
266266 DataType :: Time32 ( TimeUnit :: Second ) => {
267- create_accumulator :: < Time32SecondType > ( args)
267+ create_accumulator :: < Time32SecondType > ( & args)
268268 }
269269 DataType :: Time32 ( TimeUnit :: Millisecond ) => {
270- create_accumulator :: < Time32MillisecondType > ( args)
270+ create_accumulator :: < Time32MillisecondType > ( & args)
271271 }
272272
273273 DataType :: Time64 ( TimeUnit :: Microsecond ) => {
274- create_accumulator :: < Time64MicrosecondType > ( args)
274+ create_accumulator :: < Time64MicrosecondType > ( & args)
275275 }
276276 DataType :: Time64 ( TimeUnit :: Nanosecond ) => {
277- create_accumulator :: < Time64NanosecondType > ( args)
277+ create_accumulator :: < Time64NanosecondType > ( & args)
278278 }
279279
280280 _ => internal_err ! (
@@ -1171,7 +1171,7 @@ impl AggregateUDFImpl for LastValue {
11711171 args : AccumulatorArgs ,
11721172 ) -> Result < Box < dyn GroupsAccumulator > > {
11731173 fn create_accumulator < T > (
1174- args : AccumulatorArgs ,
1174+ args : & AccumulatorArgs ,
11751175 ) -> Result < Box < dyn GroupsAccumulator > >
11761176 where
11771177 T : ArrowPrimitiveType + Send ,
@@ -1195,50 +1195,50 @@ impl AggregateUDFImpl for LastValue {
11951195 }
11961196
11971197 match args. return_field . data_type ( ) {
1198- DataType :: Int8 => create_accumulator :: < Int8Type > ( args) ,
1199- DataType :: Int16 => create_accumulator :: < Int16Type > ( args) ,
1200- DataType :: Int32 => create_accumulator :: < Int32Type > ( args) ,
1201- DataType :: Int64 => create_accumulator :: < Int64Type > ( args) ,
1202- DataType :: UInt8 => create_accumulator :: < UInt8Type > ( args) ,
1203- DataType :: UInt16 => create_accumulator :: < UInt16Type > ( args) ,
1204- DataType :: UInt32 => create_accumulator :: < UInt32Type > ( args) ,
1205- DataType :: UInt64 => create_accumulator :: < UInt64Type > ( args) ,
1206- DataType :: Float16 => create_accumulator :: < Float16Type > ( args) ,
1207- DataType :: Float32 => create_accumulator :: < Float32Type > ( args) ,
1208- DataType :: Float64 => create_accumulator :: < Float64Type > ( args) ,
1209-
1210- DataType :: Decimal32 ( _, _) => create_accumulator :: < Decimal32Type > ( args) ,
1211- DataType :: Decimal64 ( _, _) => create_accumulator :: < Decimal64Type > ( args) ,
1212- DataType :: Decimal128 ( _, _) => create_accumulator :: < Decimal128Type > ( args) ,
1213- DataType :: Decimal256 ( _, _) => create_accumulator :: < Decimal256Type > ( args) ,
1198+ DataType :: Int8 => create_accumulator :: < Int8Type > ( & args) ,
1199+ DataType :: Int16 => create_accumulator :: < Int16Type > ( & args) ,
1200+ DataType :: Int32 => create_accumulator :: < Int32Type > ( & args) ,
1201+ DataType :: Int64 => create_accumulator :: < Int64Type > ( & args) ,
1202+ DataType :: UInt8 => create_accumulator :: < UInt8Type > ( & args) ,
1203+ DataType :: UInt16 => create_accumulator :: < UInt16Type > ( & args) ,
1204+ DataType :: UInt32 => create_accumulator :: < UInt32Type > ( & args) ,
1205+ DataType :: UInt64 => create_accumulator :: < UInt64Type > ( & args) ,
1206+ DataType :: Float16 => create_accumulator :: < Float16Type > ( & args) ,
1207+ DataType :: Float32 => create_accumulator :: < Float32Type > ( & args) ,
1208+ DataType :: Float64 => create_accumulator :: < Float64Type > ( & args) ,
1209+
1210+ DataType :: Decimal32 ( _, _) => create_accumulator :: < Decimal32Type > ( & args) ,
1211+ DataType :: Decimal64 ( _, _) => create_accumulator :: < Decimal64Type > ( & args) ,
1212+ DataType :: Decimal128 ( _, _) => create_accumulator :: < Decimal128Type > ( & args) ,
1213+ DataType :: Decimal256 ( _, _) => create_accumulator :: < Decimal256Type > ( & args) ,
12141214
12151215 DataType :: Timestamp ( TimeUnit :: Second , _) => {
1216- create_accumulator :: < TimestampSecondType > ( args)
1216+ create_accumulator :: < TimestampSecondType > ( & args)
12171217 }
12181218 DataType :: Timestamp ( TimeUnit :: Millisecond , _) => {
1219- create_accumulator :: < TimestampMillisecondType > ( args)
1219+ create_accumulator :: < TimestampMillisecondType > ( & args)
12201220 }
12211221 DataType :: Timestamp ( TimeUnit :: Microsecond , _) => {
1222- create_accumulator :: < TimestampMicrosecondType > ( args)
1222+ create_accumulator :: < TimestampMicrosecondType > ( & args)
12231223 }
12241224 DataType :: Timestamp ( TimeUnit :: Nanosecond , _) => {
1225- create_accumulator :: < TimestampNanosecondType > ( args)
1225+ create_accumulator :: < TimestampNanosecondType > ( & args)
12261226 }
12271227
1228- DataType :: Date32 => create_accumulator :: < Date32Type > ( args) ,
1229- DataType :: Date64 => create_accumulator :: < Date64Type > ( args) ,
1228+ DataType :: Date32 => create_accumulator :: < Date32Type > ( & args) ,
1229+ DataType :: Date64 => create_accumulator :: < Date64Type > ( & args) ,
12301230 DataType :: Time32 ( TimeUnit :: Second ) => {
1231- create_accumulator :: < Time32SecondType > ( args)
1231+ create_accumulator :: < Time32SecondType > ( & args)
12321232 }
12331233 DataType :: Time32 ( TimeUnit :: Millisecond ) => {
1234- create_accumulator :: < Time32MillisecondType > ( args)
1234+ create_accumulator :: < Time32MillisecondType > ( & args)
12351235 }
12361236
12371237 DataType :: Time64 ( TimeUnit :: Microsecond ) => {
1238- create_accumulator :: < Time64MicrosecondType > ( args)
1238+ create_accumulator :: < Time64MicrosecondType > ( & args)
12391239 }
12401240 DataType :: Time64 ( TimeUnit :: Nanosecond ) => {
1241- create_accumulator :: < Time64NanosecondType > ( args)
1241+ create_accumulator :: < Time64NanosecondType > ( & args)
12421242 }
12431243
12441244 _ => {
0 commit comments