pub struct SelectionVector { /* private fields */ }Expand description
Selection vector for batch predicate evaluation
Maintains indices of rows that pass all predicates so far. Short-circuits at batch level when selection becomes empty.
Implementations§
Source§impl SelectionVector
impl SelectionVector
Sourcepub fn from_indices(indices: Vec<u32>, batch_size: usize) -> Self
pub fn from_indices(indices: Vec<u32>, batch_size: usize) -> Self
Create from specific indices
Sourcepub fn batch_size(&self) -> usize
pub fn batch_size(&self) -> usize
Original batch size
Sourcepub fn selectivity(&self) -> f64
pub fn selectivity(&self) -> f64
Selectivity ratio
Sourcepub fn filter<F>(&self, pred: F) -> Self
pub fn filter<F>(&self, pred: F) -> Self
Filter selection with a predicate, returning new selection
Sourcepub fn extend_masked(&mut self, start_idx: usize, mask: u16)
pub fn extend_masked(&mut self, start_idx: usize, mask: u16)
Extend with masked indices (for SIMD results)
Trait Implementations§
Source§impl Clone for SelectionVector
impl Clone for SelectionVector
Source§fn clone(&self) -> SelectionVector
fn clone(&self) -> SelectionVector
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SelectionVector
impl RefUnwindSafe for SelectionVector
impl Send for SelectionVector
impl Sync for SelectionVector
impl Unpin for SelectionVector
impl UnwindSafe for SelectionVector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more