pub trait CatalogProvider: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn list_labels(&self) -> Result<Vec<CatalogLabel>, FnError>;
fn list_edge_types(&self) -> Result<Vec<CatalogEdgeType>, FnError>;
fn resolve_label(&self, label: &str) -> Option<Arc<dyn CatalogTable>>;
fn resolve_edge_type(&self, edge: &str) -> Option<Arc<dyn CatalogTable>>;
}Expand description
A catalog provider exposing labels / edge-types not backed by uni-store.
Required Methods§
Sourcefn list_labels(&self) -> Result<Vec<CatalogLabel>, FnError>
fn list_labels(&self) -> Result<Vec<CatalogLabel>, FnError>
Sourcefn list_edge_types(&self) -> Result<Vec<CatalogEdgeType>, FnError>
fn list_edge_types(&self) -> Result<Vec<CatalogEdgeType>, FnError>
Sourcefn resolve_label(&self, label: &str) -> Option<Arc<dyn CatalogTable>>
fn resolve_label(&self, label: &str) -> Option<Arc<dyn CatalogTable>>
Resolve a label name to a queryable table reference.
Sourcefn resolve_edge_type(&self, edge: &str) -> Option<Arc<dyn CatalogTable>>
fn resolve_edge_type(&self, edge: &str) -> Option<Arc<dyn CatalogTable>>
Resolve an edge type name.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".