File tree Expand file tree Collapse file tree 3 files changed +8
-10
lines changed
datafusion/functions-aggregate/src
docs/source/library-user-guide/functions Expand file tree Collapse file tree 3 files changed +8
-10
lines changed Original file line number Diff line number Diff line change @@ -812,12 +812,8 @@ impl<T: ArrowNumericType + Debug> Accumulator for DistinctPercentileContAccumula
812812 }
813813
814814 fn evaluate ( & mut self ) -> Result < ScalarValue > {
815- let mut values: Vec < T :: Native > = self
816- . distinct_values
817- . values
818- . iter ( )
819- . map ( |v| v. 0 )
820- . collect ( ) ;
815+ let mut values: Vec < T :: Native > =
816+ self . distinct_values . values . iter ( ) . map ( |v| v. 0 ) . collect ( ) ;
821817 let value = calculate_percentile :: < T > ( & mut values, self . percentile ) ;
822818 ScalarValue :: new_primitive :: < T > ( value, & self . data_type )
823819 }
Original file line number Diff line number Diff line change @@ -385,7 +385,9 @@ impl Accumulator for SimpleStringAggAccumulator {
385385
386386 fn evaluate ( & mut self ) -> Result < ScalarValue > {
387387 if self . has_value {
388- Ok ( ScalarValue :: LargeUtf8 ( Some ( self . accumulated_string . clone ( ) ) ) )
388+ Ok ( ScalarValue :: LargeUtf8 ( Some (
389+ self . accumulated_string . clone ( ) ,
390+ ) ) )
389391 } else {
390392 Ok ( ScalarValue :: LargeUtf8 ( None ) )
391393 }
Original file line number Diff line number Diff line change @@ -1366,7 +1366,7 @@ This is critical because:
13661366
13671367** Incorrect implementation** (consumes state):
13681368
1369- ``` rust
1369+ ``` rust,ignore
13701370fn evaluate(&mut self) -> Result<ScalarValue> {
13711371 // BAD: std::mem::take() consumes the values, leaving an empty Vec
13721372 let values = std::mem::take(&mut self.values);
@@ -1378,7 +1378,7 @@ fn evaluate(&mut self) -> Result<ScalarValue> {
13781378
13791379** Correct implementation** (preserves state):
13801380
1381- ``` rust
1381+ ``` rust,ignore
13821382fn evaluate(&mut self) -> Result<ScalarValue> {
13831383 // GOOD: Use a reference or clone to preserve state
13841384 calculate_result(&mut self.values)
@@ -1391,7 +1391,7 @@ fn evaluate(&mut self) -> Result<ScalarValue> {
13911391For more efficient sliding window calculations, you can implement the ` retract_batch ` method.
13921392This allows DataFusion to remove values that have "left" the window frame instead of recalculating from scratch:
13931393
1394- ``` rust
1394+ ``` rust,ignore
13951395impl Accumulator for MyAccumulator {
13961396 fn retract_batch(&mut self, values: &[ArrayRef]) -> Result<()> {
13971397 // Remove the given values from the accumulator state
You can’t perform that action at this time.
0 commit comments