pub struct Lowered {
pub sources: Vec<Source>,
pub segments: Vec<Segment>,
pub aliases: Vec<Alias>,
pub branches: Vec<Vec<Join>>,
pub union: bool,
pub conditions: Vec<String>,
pub columns: String,
}Expand description
A pattern resolved against a graph: what to scan and join.
Fields§
§sources: Vec<Source>One per variable, in order of appearance, except the edges searched as segments.
segments: Vec<Segment>The edges searched on the graph index, joined to their end nodes in
every branch. A segment’s Starts::After names an earlier one.
aliases: Vec<Alias>The nodes whose sources are not joined: their keys are segment columns.
branches: Vec<Vec<Join>>One per orientation of the undirected edges: the joins of each branch
of the UNION ALL (one branch when every edge has a direction).
union: boolWhether the match planned as joins would be a UNION ALL: it has an
undirected fixed edge, joined or not.
conditions: Vec<String>The pattern’s conditions as written: in elements, then after the paths.
columns: StringThe COLUMNS list as written.
Trait Implementations§
impl StructuralPartialEq for Lowered
Auto Trait Implementations§
impl Forget for Lowered
impl Freeze for Lowered
impl RefUnwindSafe for Lowered
impl Send for Lowered
impl Sync for Lowered
impl Unpin for Lowered
impl UnsafeUnpin for Lowered
impl UnwindSafe for Lowered
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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