pub enum CompiledOp {
Predicate {
col_idx: usize,
predicate: Predicate,
},
AndN(usize),
OrN(usize),
Not,
}Expand description
Single instruction in a CompiledFilter op stream.
Uses postfix evaluation (RPN): predicates push their result onto
a small bool stack, And/Or pop their n operands, Not flips
the top.
Variants§
Predicate
Evaluate predicate against slot[col_idx] and push the
resulting bool. The predicate carries its operator and its
pre-resolved PredicateValue (Range / List / Pattern / etc.)
so no allocation happens per row.
AndN(usize)
Pop the top n bools, push their conjunction (true when
n == 0, matching Vec::iter().all).
OrN(usize)
Pop the top n bools, push their disjunction (false when
n == 0, matching Vec::iter().any).
Not
Pop the top bool, push its negation.
Trait Implementations§
Source§impl Clone for CompiledOp
impl Clone for CompiledOp
Auto Trait Implementations§
impl Freeze for CompiledOp
impl RefUnwindSafe for CompiledOp
impl Send for CompiledOp
impl Sync for CompiledOp
impl Unpin for CompiledOp
impl UnsafeUnpin for CompiledOp
impl UnwindSafe for CompiledOp
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> 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