Skip to main content

CatalogProvider

Trait CatalogProvider 

Source
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§

Source

fn name(&self) -> &str

Catalog name (used as a prefix in qualified label / edge references).

Source

fn list_labels(&self) -> Result<Vec<CatalogLabel>, FnError>

Enumerate labels in this catalog.

§Errors

Returns FnError if the listing fails.

Source

fn list_edge_types(&self) -> Result<Vec<CatalogEdgeType>, FnError>

Enumerate edge types in this catalog.

§Errors

Returns FnError if the listing fails.

Source

fn resolve_label(&self, label: &str) -> Option<Arc<dyn CatalogTable>>

Resolve a label name to a queryable table reference.

Source

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".

Implementors§