pub struct LogicalExtend {
pub rel_table_name: String,
pub rel_table_id: u64,
pub rel_var: String,
pub bound_node_var: String,
pub direction: EdgeDirection,
pub dst_node_var: String,
pub dst_table_name: String,
pub dst_table_id: u64,
pub cardinality: u64,
}Expand description
Logical operator for extending from a source node through a relationship.
Replaces the combination of ScanRel + ScanNode(dest) in the pipeline. For each source node, looks up adjacency list entries in the rel table, producing output rows that include source fields, rel properties, and destination node properties.
Ported from C++ LogicalExtend.
Fields§
§rel_table_name: StringName of the relationship table to extend through.
rel_table_id: u64ID of the relationship table.
rel_var: StringVariable name of the relationship (e.g., “r” in -[r:RELATES_TO]->).
Used as the field-name prefix for relationship properties.
bound_node_var: StringVariable name of the bound (source) node.
direction: EdgeDirectionDirection of the extend (forward, backward, or both).
dst_node_var: StringVariable name of the destination node (e.g., “p”).
dst_table_name: StringTable name of the destination node (e.g., “Post”).
dst_table_id: u64Table ID of the destination node.
cardinality: u64Estimated cardinality.
Trait Implementations§
Source§impl Clone for LogicalExtend
impl Clone for LogicalExtend
Source§fn clone(&self) -> LogicalExtend
fn clone(&self) -> LogicalExtend
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for LogicalExtend
impl RefUnwindSafe for LogicalExtend
impl Send for LogicalExtend
impl Sync for LogicalExtend
impl Unpin for LogicalExtend
impl UnsafeUnpin for LogicalExtend
impl UnwindSafe for LogicalExtend
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
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> 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