pub struct RegisteredEdge {
pub id: EdgeId,
pub source_table: TableId,
pub target_table: TableId,
pub source_column: String,
pub target_column: String,
pub schema: String,
pub name: String,
}Expand description
Registered directed edge between two node tables.
Fields§
§id: EdgeIdStable edge id assigned at registration time.
source_table: TableIdSource endpoint table.
target_table: TableIdTarget endpoint table.
source_column: StringSource foreign-key column on the edge table.
target_column: StringTarget foreign-key column on the edge table.
schema: StringEdge table schema.
name: StringEdge table name.
Implementations§
Source§impl RegisteredEdge
impl RegisteredEdge
Sourcepub fn edge_scan_sql(&self, catalog: &Catalog) -> Result<String, CatalogError>
pub fn edge_scan_sql(&self, catalog: &Catalog) -> Result<String, CatalogError>
Builds a validated SELECT that resolves endpoint NodeKey primary-key values.
When endpoints reference different registered tables, the scan joins each node table on the edge foreign-key columns. When both endpoints use the same registered table and edge columns store that table’s primary-key values directly, a single-table scan is used.
§Errors
Returns CatalogError::InvalidSqlIdent when any identifier is unsafe, or
CatalogError::MissingTable when endpoint tables are not registered.
§Performance
This method is O(i) where i is total identifier length.
Trait Implementations§
Source§impl Clone for RegisteredEdge
impl Clone for RegisteredEdge
Source§fn clone(&self) -> RegisteredEdge
fn clone(&self) -> RegisteredEdge
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RegisteredEdge
impl Debug for RegisteredEdge
Source§impl<'de> Deserialize<'de> for RegisteredEdge
impl<'de> Deserialize<'de> for RegisteredEdge
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for RegisteredEdge
impl PartialEq for RegisteredEdge
Source§fn eq(&self, other: &RegisteredEdge) -> bool
fn eq(&self, other: &RegisteredEdge) -> bool
self and other values to be equal, and is used by ==.