pub enum ChunkedPlan {
Scan,
OneHop,
TwoHop,
MutualNeighbors,
}Expand description
Shape selector for the chunked vectorized pipeline (Phase 4, spec §2.3).
Replaces the cascade of can_use_* boolean guards with a typed plan enum.
Engine::try_plan_chunked_match returns one of these variants (or None
to indicate the row engine should be used), and dispatch is a match with
no further if can_use_* calls.
Each variant may carry shape-specific parameters in future phases. For now
all resolution happens in the execute_*_chunked methods.
Variants§
Scan
Single-label scan only — no relationship hops.
OneHop
Single-hop directed traversal.
TwoHop
Two-hop same-rel-type directed traversal.
MutualNeighbors
Mutual-neighbors: (a)-[:R]->(x)<-[:R]-(b) with both a and b bound.
Trait Implementations§
Source§impl Clone for ChunkedPlan
impl Clone for ChunkedPlan
Source§fn clone(&self) -> ChunkedPlan
fn clone(&self) -> ChunkedPlan
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 moreSource§impl Debug for ChunkedPlan
impl Debug for ChunkedPlan
Source§impl Display for ChunkedPlan
impl Display for ChunkedPlan
Source§impl PartialEq for ChunkedPlan
impl PartialEq for ChunkedPlan
impl Eq for ChunkedPlan
impl StructuralPartialEq for ChunkedPlan
Auto Trait Implementations§
impl Freeze for ChunkedPlan
impl RefUnwindSafe for ChunkedPlan
impl Send for ChunkedPlan
impl Sync for ChunkedPlan
impl Unpin for ChunkedPlan
impl UnsafeUnpin for ChunkedPlan
impl UnwindSafe for ChunkedPlan
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