MCPcopy Create free account
hub / github.com/apache/datafusion / should_update_state

Method should_update_state

datafusion/functions-aggregate/src/first_last.rs:420–438  ·  view source on GitHub ↗
(
        &self,
        group_idx: usize,
        new_ordering_values: &[ScalarValue],
    )

Source from the content-addressed store, hash-verified

418 }
419
420 fn should_update_state(
421 &self,
422 group_idx: usize,
423 new_ordering_values: &[ScalarValue],
424 ) -> Result<bool> {
425 if !self.is_sets.get_bit(group_idx) {
426 return Ok(true);
427 }
428
429 debug_assert!(new_ordering_values.len() == self.ordering_req.len());
430 let current_ordering = &self.orderings[group_idx];
431 compare_rows(current_ordering, new_ordering_values, &self.sort_options).map(|x| {
432 if self.pick_first_in_group {
433 x.is_gt()
434 } else {
435 x.is_lt()
436 }
437 })
438 }
439
440 fn take_orderings(&mut self, emit_to: EmitTo) -> Vec<Vec<ScalarValue>> {
441 let result = emit_to.take_needed(&mut self.orderings);

Callers 2

update_batchMethod · 0.80
merge_batchMethod · 0.80

Calls 3

compare_rowsFunction · 0.85
is_gtMethod · 0.80
mapMethod · 0.45

Tested by

no test coverage detected