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

Function new_groups_mask

datafusion/physical-plan/src/recursive_query.rs:495–509  ·  view source on GitHub ↗

Return a mask, each element being true if, and only if, the element is greater than all previous elements and greater or equal than the provided max_already_seen_group_id

(
    values: &[usize],
    mut max_already_seen_group_id: usize,
)

Source from the content-addressed store, hash-verified

493
494/// Return a mask, each element being true if, and only if, the element is greater than all previous elements and greater or equal than the provided max_already_seen_group_id
495fn new_groups_mask(
496 values: &[usize],
497 mut max_already_seen_group_id: usize,
498) -> BooleanArray {
499 let mut output = BooleanBuilder::with_capacity(values.len());
500 for value in values {
501 if *value >= max_already_seen_group_id {
502 output.append_value(true);
503 max_already_seen_group_id = *value + 1; // We want to be increasing
504 } else {
505 output.append_value(false);
506 }
507 }
508 output.finish()
509}
510
511#[cfg(test)]
512mod tests {

Callers 1

deduplicateMethod · 0.85

Calls 3

lenMethod · 0.45
append_valueMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…