pub struct PhysicalExtend {
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 fts_query: Option<PhysicalFtsScan>,
pub table_catalog: Arc<TableCatalog>,
}Expand description
Physical operator for extending from a source node through a relationship.
Takes input chunks from the source node scan, and for each source row, looks up adjacency list entries in the relationship table, producing output rows that include the source fields, relationship properties, and destination node properties.
Ported from C++ ScanRelTable (the physical extend operator).
Fields§
§rel_table_name: StringName of the relationship table.
rel_table_id: u64ID of the relationship table.
rel_var: StringVariable name of the relationship (e.g., “r”); used as the field-name prefix for relationship properties. Falls back to the table name when empty.
bound_node_var: StringVariable name of the bound (source) node.
direction: EdgeDirectionDirection of the extend.
dst_node_var: StringVariable name of the destination node.
dst_table_name: StringTable name of the destination node.
dst_table_id: u64Table ID of the destination node.
fts_query: Option<PhysicalFtsScan>Optional FTS query applied to the destination rows of this hop, when the indexed table is only reachable as the destination (P108.4) — the document-id set from the Tantivy index filters the produced dst rows.
table_catalog: Arc<TableCatalog>Table catalog for data access.
Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PhysicalExtend
impl !UnwindSafe for PhysicalExtend
impl Freeze for PhysicalExtend
impl Send for PhysicalExtend
impl Sync for PhysicalExtend
impl Unpin for PhysicalExtend
impl UnsafeUnpin for PhysicalExtend
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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