pub enum ChunkPredicate {
Eq {
col_id: u32,
rhs_raw: u64,
},
Ne {
col_id: u32,
rhs_raw: u64,
},
Gt {
col_id: u32,
rhs_raw: u64,
},
Ge {
col_id: u32,
rhs_raw: u64,
},
Lt {
col_id: u32,
rhs_raw: u64,
},
Le {
col_id: u32,
rhs_raw: u64,
},
IsNull {
col_id: u32,
},
IsNotNull {
col_id: u32,
},
And(Vec<ChunkPredicate>),
}Expand description
Narrow predicate representation for the vectorized pipeline (Phase 2).
Covers only simple conjunctive property predicates that can be compiled
directly from a Cypher WHERE clause without a full expression evaluator.
Unsupported WHERE shapes (CONTAINS, function calls, subqueries, cross-
variable predicates) fall back to the row-at-a-time engine.
All comparisons are on the raw u64 storage encoding. NULL handling:
IsNull matches rows where the column’s null bitmap bit is set; all
comparison variants (Eq, Lt, etc.) automatically fail for null rows.
Variants§
Eq
Equal: col_id = rhs_raw.
Ne
Not equal: col_id <> rhs_raw.
Gt
Greater-than: col_id > rhs_raw (unsigned comparison on raw bits).
Ge
Greater-than-or-equal: col_id >= rhs_raw.
Lt
Less-than: col_id < rhs_raw.
Le
Less-than-or-equal: col_id <= rhs_raw.
IsNull
Is-null: matches rows where the column’s null-bitmap bit is set.
IsNotNull
Is-not-null: matches rows where the column’s null-bitmap bit is clear.
And(Vec<ChunkPredicate>)
Conjunction of child predicates (all must pass).
Implementations§
Trait Implementations§
Source§impl Clone for ChunkPredicate
impl Clone for ChunkPredicate
Source§fn clone(&self) -> ChunkPredicate
fn clone(&self) -> ChunkPredicate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ChunkPredicate
impl RefUnwindSafe for ChunkPredicate
impl Send for ChunkPredicate
impl Sync for ChunkPredicate
impl Unpin for ChunkPredicate
impl UnsafeUnpin for ChunkPredicate
impl UnwindSafe for ChunkPredicate
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
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>
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>
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