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