pub struct KeyValueCatalog { /* private fields */ }Implementations§
Source§impl KeyValueCatalog
impl KeyValueCatalog
pub fn new(store: Arc<dyn KeyValueStore>) -> Self
pub fn store(&self) -> Arc<dyn KeyValueStore> ⓘ
Trait Implementations§
Source§impl CatalogFacade for KeyValueCatalog
impl CatalogFacade for KeyValueCatalog
Source§fn clear_path_index_data(&self, index: &str) -> StorageBackendResult<()>
fn clear_path_index_data(&self, index: &str) -> StorageBackendResult<()>
Durable reachability records, paged lexicographically by (source, target).
Building calls clear, bounded saves, then finish inside one transaction.
Graph mutations invalidate the materialization atomically; definitions remain.
fn save_path_index_pairs( &self, index: &str, sequence: &str, pairs: &[(u64, u64)], ) -> StorageBackendResult<()>
fn finish_path_index_data( &self, index: &str, graph: &str, definition: &str, ) -> StorageBackendResult<()>
fn path_index_data_is_current( &self, index: &str, definition: &str, ) -> StorageBackendResult<bool>
fn path_index_pairs( &self, index: &str, sequence: &str, after: Option<(u64, u64)>, limit: usize, ) -> StorageBackendResult<Vec<(u64, u64)>>
Source§fn graph_vertex(&self, id: u64) -> StorageBackendResult<Option<GraphVertexRow>>
fn graph_vertex(&self, id: u64) -> StorageBackendResult<Option<GraphVertexRow>>
Read one entity without loading any other graph payload.
fn graph_edge(&self, id: u64) -> StorageBackendResult<Option<EdgeRow>>
Source§fn graph_entity_ids(
&self,
filter: GraphEntityFilter<'_>,
after: Option<u64>,
limit: usize,
) -> StorageBackendResult<Vec<u64>>
fn graph_entity_ids( &self, filter: GraphEntityFilter<'_>, after: Option<u64>, limit: usize, ) -> StorageBackendResult<Vec<u64>>
Read a bounded, strictly ascending identity page from the pinned
storage snapshot. Filters must be applied before the page limit.
fn graph_entity_count( &self, filter: GraphEntityFilter<'_>, ) -> StorageBackendResult<u64>
fn graph_entity_max_id( &self, kind: GraphEntityKind, ) -> StorageBackendResult<Option<u64>>
fn graph_entity_memberships( &self, kind: GraphEntityKind, id: u64, ) -> StorageBackendResult<Vec<String>>
fn graph_has_membership( &self, kind: GraphEntityKind, id: u64, graph: &str, ) -> StorageBackendResult<bool>
fn set_metadata(&self, key: &str, value: &str) -> StorageBackendResult<()>
fn get_metadata(&self, key: &str) -> StorageBackendResult<Option<String>>
Source§fn migrate_relation_namespace(&self) -> StorageBackendResult<()>
fn migrate_relation_namespace(&self) -> StorageBackendResult<()>
Atomically migrate the former flat relation namespace into typed,
schema-owned catalog objects. Implementations must reject normalized
or cross-kind collisions instead of merging either object.
fn save_schema_row(&self, schema: &SchemaRow) -> StorageBackendResult<()>
fn drop_schema(&self, name: &str) -> StorageBackendResult<()>
fn load_schema_rows(&self) -> StorageBackendResult<Vec<SchemaRow>>
fn save_table(&self, schema: &TableSchema) -> StorageBackendResult<()>
fn load_tables(&self) -> StorageBackendResult<Vec<TableSchema>>
fn drop_table(&self, name: &str) -> StorageBackendResult<()>
Source§fn drop_table_and_data(&self, name: &str) -> StorageBackendResult<()>
fn drop_table_and_data(&self, name: &str) -> StorageBackendResult<()>
Remove a table definition and every catalog/data row owned by it as
one atomic catalog operation.
fn purge_table_data(&self, name: &str) -> StorageBackendResult<()>
fn rename_table_data(&self, from: &str, to: &str) -> StorageBackendResult<()>
fn drop_column_data( &self, table_name: &str, column_name: &str, ) -> StorageBackendResult<()>
fn rename_column_data( &self, table_name: &str, from: &str, to: &str, ) -> StorageBackendResult<()>
fn save_model(&self, name: &str, json: &str) -> StorageBackendResult<()>
fn load_models(&self) -> StorageBackendResult<Vec<(String, String)>>
fn load_model(&self, name: &str) -> StorageBackendResult<Option<String>>
fn drop_model(&self, name: &str) -> StorageBackendResult<()>
fn save_scoring_params( &self, name: &str, params_json: &str, ) -> StorageBackendResult<()>
fn load_scoring_params( &self, name: &str, ) -> StorageBackendResult<Option<String>>
fn load_all_scoring_params(&self) -> StorageBackendResult<Vec<(String, String)>>
fn drop_scoring_params(&self, name: &str) -> StorageBackendResult<()>
fn create_sequence_row( &self, sequence: &SequenceRow, ) -> StorageBackendResult<bool>
fn replace_sequence_row( &self, sequence: &SequenceRow, ) -> StorageBackendResult<bool>
Source§fn rename_sequence_row(
&self,
from: &str,
to: &str,
) -> StorageBackendResult<bool>
fn rename_sequence_row( &self, from: &str, to: &str, ) -> StorageBackendResult<bool>
Atomically move one sequence catalog row and its shared relation claim while preserving object identity and physical value state.
fn drop_sequence_row(&self, name: &str) -> StorageBackendResult<bool>
fn load_sequence_rows(&self) -> StorageBackendResult<Vec<SequenceRow>>
fn reserve_sequence_values( &self, name: &str, object_id: [u8; 16], definition_generation: [u8; 16], ) -> StorageBackendResult<SequenceReservationResult>
fn set_sequence_value( &self, name: &str, object_id: [u8; 16], value: i64, called: bool, log_count: i64, ) -> StorageBackendResult<Option<i64>>
fn save_view(&self, view: &ViewRow) -> StorageBackendResult<()>
Source§fn rename_view(
&self,
from: &RelationIdentity,
to: &RelationIdentity,
) -> StorageBackendResult<bool>
fn rename_view( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> StorageBackendResult<bool>
Atomically move one view catalog row and its shared relation claim.
fn drop_view(&self, relation: &RelationIdentity) -> StorageBackendResult<bool>
fn load_views(&self) -> StorageBackendResult<Vec<ViewRow>>
fn save_named_graph(&self, name: &str) -> StorageBackendResult<()>
fn drop_named_graph(&self, name: &str) -> StorageBackendResult<()>
fn load_named_graphs(&self) -> StorageBackendResult<Vec<String>>
fn named_graph_exists(&self, name: &str) -> StorageBackendResult<bool>
fn save_vertex( &self, vertex_id: u64, label: &str, properties_json: &str, ) -> StorageBackendResult<()>
fn delete_vertex(&self, vertex_id: u64) -> StorageBackendResult<()>
fn load_vertices(&self) -> StorageBackendResult<Vec<(u64, String, String)>>
fn save_edge( &self, edge_id: u64, source_id: u64, target_id: u64, label: &str, properties_json: &str, ) -> StorageBackendResult<()>
fn delete_edge(&self, edge_id: u64) -> StorageBackendResult<()>
fn load_edges(&self) -> StorageBackendResult<Vec<EdgeRow>>
fn save_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> StorageBackendResult<()>
fn delete_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> StorageBackendResult<()>
fn delete_graph_membership_for_graph( &self, graph_name: &str, ) -> StorageBackendResult<()>
fn load_graph_memberships( &self, ) -> StorageBackendResult<Vec<(String, u64, String)>>
fn purge_orphan_graph_entities(&self) -> StorageBackendResult<()>
fn replace_named_graph( &self, graph_name: &str, snapshot: &GraphSnapshot, ) -> StorageBackendResult<()>
fn drop_named_graph_data(&self, graph_name: &str) -> StorageBackendResult<()>
fn save_analyzer( &self, name: &str, config_json: &str, ) -> StorageBackendResult<()>
fn drop_analyzer(&self, name: &str) -> StorageBackendResult<()>
fn load_analyzers(&self) -> StorageBackendResult<Vec<(String, String)>>
Source§fn save_analyzer_revision(
&self,
name: &str,
config_json: &str,
descriptor_json: &str,
) -> StorageBackendResult<()>
fn save_analyzer_revision( &self, name: &str, config_json: &str, descriptor_json: &str, ) -> StorageBackendResult<()>
Save a named definition’s resolved descriptor with its diagnostic configuration in the same transaction.
Source§fn load_analyzer_descriptors(
&self,
) -> StorageBackendResult<Vec<(String, String)>>
fn load_analyzer_descriptors( &self, ) -> StorageBackendResult<Vec<(String, String)>>
Resolved named descriptors; legacy definitions appear only in
load_analyzers until migrated.Source§fn replace_table_field_analyzer_binding(
&self,
table: &str,
field: &str,
phase: &str,
name: &str,
binding_json: &str,
) -> StorageBackendResult<()>
fn replace_table_field_analyzer_binding( &self, table: &str, field: &str, phase: &str, name: &str, binding_json: &str, ) -> StorageBackendResult<()>
Atomically replace a field’s complete independent binding and its compatibility label. An empty label denotes the physical field’s unnamed default.
Source§fn load_table_field_analyzer_bindings(
&self,
) -> StorageBackendResult<Vec<(String, String, String)>>
fn load_table_field_analyzer_bindings( &self, ) -> StorageBackendResult<Vec<(String, String, String)>>
(table, field, binding JSON) rows. Each field has one complete binding envelope.fn save_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> StorageBackendResult<()>
fn replace_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> StorageBackendResult<()>
fn drop_table_field_analyzer_field( &self, table_name: &str, field: &str, ) -> StorageBackendResult<()>
fn drop_table_field_analyzers( &self, table_name: &str, ) -> StorageBackendResult<()>
fn load_table_field_analyzers( &self, ) -> StorageBackendResult<Vec<(String, String, String, String)>>
fn save_foreign_server( &self, name: &str, fdw_type: &str, options_json: &str, ) -> StorageBackendResult<()>
fn drop_foreign_server(&self, name: &str) -> StorageBackendResult<()>
fn load_foreign_servers( &self, ) -> StorageBackendResult<Vec<(String, String, String)>>
fn save_foreign_table(&self, row: &ForeignTableRow) -> StorageBackendResult<()>
Source§fn rename_foreign_table(
&self,
from: &RelationIdentity,
to: &RelationIdentity,
) -> StorageBackendResult<bool>
fn rename_foreign_table( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> StorageBackendResult<bool>
Atomically move one foreign-table catalog row and its shared relation claim.
fn update_foreign_table_security( &self, relation: &RelationIdentity, role_owner: &str, acl: Option<&[TableAclEntry]>, column_acls: &BTreeMap<String, Vec<TableAclEntry>>, ) -> StorageBackendResult<bool>
fn drop_foreign_table( &self, relation: &RelationIdentity, ) -> StorageBackendResult<()>
fn load_foreign_tables(&self) -> StorageBackendResult<Vec<ForeignTableRow>>
fn save_catalog_index_row( &self, index: &CatalogIndexRow, ) -> StorageBackendResult<()>
fn drop_catalog_index( &self, relation: &RelationIdentity, ) -> StorageBackendResult<()>
fn drop_catalog_indexes_for_table( &self, table_name: &str, ) -> StorageBackendResult<()>
fn load_catalog_indexes(&self) -> StorageBackendResult<Vec<CatalogIndexRow>>
fn save_path_index( &self, graph_name: &str, label_sequences_json: &str, ) -> StorageBackendResult<()>
fn drop_path_index(&self, graph_name: &str) -> StorageBackendResult<()>
fn load_path_indexes(&self) -> StorageBackendResult<Vec<(String, String)>>
fn save_column_stats( &self, stats: ColumnStatsInput<'_>, ) -> StorageBackendResult<()>
Source§fn replace_column_stats(
&self,
table_name: &str,
stats: &[ColumnStatsInput<'_>],
) -> StorageBackendResult<()>
fn replace_column_stats( &self, table_name: &str, stats: &[ColumnStatsInput<'_>], ) -> StorageBackendResult<()>
Atomically replace the complete statistics snapshot for one table.
Implementations must leave the prior snapshot intact if any row fails.
fn load_column_stats( &self, table_name: &str, ) -> StorageBackendResult<Vec<ColumnStatsRow>>
fn delete_column_stats(&self, table_name: &str) -> StorageBackendResult<()>
Source§fn initialize_storage(&self) -> StorageBackendResult<()>
fn initialize_storage(&self) -> StorageBackendResult<()>
Prepare durable catalog storage inside the backend’s owning initial-restore transaction. Already initialized catalogs may keep the default.
Source§fn cache_revisions(&self) -> StorageBackendResult<Option<CatalogCacheRevisions>>
fn cache_revisions(&self) -> StorageBackendResult<Option<CatalogCacheRevisions>>
Read transactional cache generations without loading schemas or column
statistics. Providers without change tracking use conservative reloads.
fn fts_storage_was_reset(&self) -> bool
fn save_schema(&self, name: &str) -> StorageBackendResult<()>
fn load_schemas(&self) -> StorageBackendResult<Vec<String>>
Source§fn next_sequence_value(
&self,
name: &str,
object_id: [u8; 16],
) -> StorageBackendResult<Option<i64>>
fn next_sequence_value( &self, name: &str, object_id: [u8; 16], ) -> StorageBackendResult<Option<i64>>
Compatibility allocation API for callers that do not retain a session cache. A cached reservation’s unused values are intentionally abandoned, just as when a
PostgreSQL session disconnects.Source§fn load_named_graph_snapshot(
&self,
name: &str,
) -> StorageBackendResult<Option<GraphSnapshot>>
fn load_named_graph_snapshot( &self, name: &str, ) -> StorageBackendResult<Option<GraphSnapshot>>
Explicit bulk snapshot/export of one named graph. The caller pins
the storage transaction. Engine startup, sessions, and query handles
use direct access methods instead of retaining this owned copy.
fn save_catalog_index( &self, relation: &RelationIdentity, index_type: &str, table_name: &str, columns_json: &str, parameters_json: &str, ) -> StorageBackendResult<()>
Source§impl Clone for KeyValueCatalog
impl Clone for KeyValueCatalog
Source§fn clone(&self) -> KeyValueCatalog
fn clone(&self) -> KeyValueCatalog
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for KeyValueCatalog
impl !UnwindSafe for KeyValueCatalog
impl Freeze for KeyValueCatalog
impl Send for KeyValueCatalog
impl Sync for KeyValueCatalog
impl Unpin for KeyValueCatalog
impl UnsafeUnpin for KeyValueCatalog
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
Mutably borrows from an owned value. Read more