(
&self,
group_idx: usize,
new_ordering_values: &[ScalarValue],
)
| 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); |
no test coverage detected