pub trait CatalogFacade: Send + Sync {
Show 101 methods
// Required methods
fn set_metadata(
&self,
key: &str,
value: &str,
) -> Result<(), StorageBackendError>;
fn get_metadata(
&self,
key: &str,
) -> Result<Option<String>, StorageBackendError>;
fn migrate_relation_namespace(&self) -> Result<(), StorageBackendError>;
fn save_schema_row(
&self,
schema: &SchemaRow,
) -> Result<(), StorageBackendError>;
fn drop_schema(&self, name: &str) -> Result<(), StorageBackendError>;
fn load_schema_rows(&self) -> Result<Vec<SchemaRow>, StorageBackendError>;
fn save_table(
&self,
schema: &TableSchema,
) -> Result<(), StorageBackendError>;
fn load_tables(&self) -> Result<Vec<TableSchema>, StorageBackendError>;
fn drop_table(&self, name: &str) -> Result<(), StorageBackendError>;
fn drop_table_and_data(&self, name: &str) -> Result<(), StorageBackendError>;
fn purge_table_data(&self, name: &str) -> Result<(), StorageBackendError>;
fn rename_table_data(
&self,
from: &str,
to: &str,
) -> Result<(), StorageBackendError>;
fn drop_column_data(
&self,
table_name: &str,
column_name: &str,
) -> Result<(), StorageBackendError>;
fn rename_column_data(
&self,
table_name: &str,
from: &str,
to: &str,
) -> Result<(), StorageBackendError>;
fn save_model(
&self,
name: &str,
json: &str,
) -> Result<(), StorageBackendError>;
fn load_models(&self) -> Result<Vec<(String, String)>, StorageBackendError>;
fn load_model(
&self,
name: &str,
) -> Result<Option<String>, StorageBackendError>;
fn drop_model(&self, name: &str) -> Result<(), StorageBackendError>;
fn save_scoring_params(
&self,
name: &str,
params_json: &str,
) -> Result<(), StorageBackendError>;
fn load_scoring_params(
&self,
name: &str,
) -> Result<Option<String>, StorageBackendError>;
fn load_all_scoring_params(
&self,
) -> Result<Vec<(String, String)>, StorageBackendError>;
fn drop_scoring_params(&self, name: &str) -> Result<(), StorageBackendError>;
fn create_sequence_row(
&self,
sequence: &SequenceRow,
) -> Result<bool, StorageBackendError>;
fn replace_sequence_row(
&self,
sequence: &SequenceRow,
) -> Result<bool, StorageBackendError>;
fn rename_sequence_row(
&self,
from: &str,
to: &str,
) -> Result<bool, StorageBackendError>;
fn drop_sequence_row(&self, name: &str) -> Result<bool, StorageBackendError>;
fn load_sequence_rows(
&self,
) -> Result<Vec<SequenceRow>, StorageBackendError>;
fn reserve_sequence_values(
&self,
name: &str,
object_id: [u8; 16],
definition_generation: [u8; 16],
) -> Result<SequenceReservationResult, StorageBackendError>;
fn set_sequence_value(
&self,
name: &str,
object_id: [u8; 16],
value: i64,
called: bool,
log_count: i64,
) -> Result<Option<i64>, StorageBackendError>;
fn save_view(&self, view: &ViewRow) -> Result<(), StorageBackendError>;
fn rename_view(
&self,
from: &RelationIdentity,
to: &RelationIdentity,
) -> Result<bool, StorageBackendError>;
fn drop_view(
&self,
relation: &RelationIdentity,
) -> Result<bool, StorageBackendError>;
fn load_views(&self) -> Result<Vec<ViewRow>, StorageBackendError>;
fn save_named_graph(&self, name: &str) -> Result<(), StorageBackendError>;
fn drop_named_graph(&self, name: &str) -> Result<(), StorageBackendError>;
fn load_named_graphs(&self) -> Result<Vec<String>, StorageBackendError>;
fn named_graph_exists(
&self,
name: &str,
) -> Result<bool, StorageBackendError>;
fn graph_vertex(
&self,
id: u64,
) -> Result<Option<GraphVertexRow>, StorageBackendError>;
fn graph_edge(
&self,
id: u64,
) -> Result<Option<EdgeRow>, StorageBackendError>;
fn graph_entity_ids(
&self,
filter: GraphEntityFilter<'_>,
after: Option<u64>,
limit: usize,
) -> Result<Vec<u64>, StorageBackendError>;
fn graph_entity_count(
&self,
filter: GraphEntityFilter<'_>,
) -> Result<u64, StorageBackendError>;
fn graph_entity_max_id(
&self,
kind: GraphEntityKind,
) -> Result<Option<u64>, StorageBackendError>;
fn graph_entity_memberships(
&self,
kind: GraphEntityKind,
id: u64,
) -> Result<Vec<String>, StorageBackendError>;
fn graph_has_membership(
&self,
kind: GraphEntityKind,
id: u64,
graph: &str,
) -> Result<bool, StorageBackendError>;
fn save_vertex(
&self,
vertex_id: u64,
label: &str,
properties_json: &str,
) -> Result<(), StorageBackendError>;
fn delete_vertex(&self, vertex_id: u64) -> Result<(), StorageBackendError>;
fn load_vertices(
&self,
) -> Result<Vec<(u64, String, String)>, StorageBackendError>;
fn save_edge(
&self,
edge_id: u64,
source_id: u64,
target_id: u64,
label: &str,
properties_json: &str,
) -> Result<(), StorageBackendError>;
fn delete_edge(&self, edge_id: u64) -> Result<(), StorageBackendError>;
fn load_edges(&self) -> Result<Vec<EdgeRow>, StorageBackendError>;
fn save_graph_membership(
&self,
entity_type: &str,
entity_id: u64,
graph_name: &str,
) -> Result<(), StorageBackendError>;
fn delete_graph_membership(
&self,
entity_type: &str,
entity_id: u64,
graph_name: &str,
) -> Result<(), StorageBackendError>;
fn delete_graph_membership_for_graph(
&self,
graph_name: &str,
) -> Result<(), StorageBackendError>;
fn load_graph_memberships(
&self,
) -> Result<Vec<(String, u64, String)>, StorageBackendError>;
fn purge_orphan_graph_entities(&self) -> Result<(), StorageBackendError>;
fn replace_named_graph(
&self,
graph_name: &str,
snapshot: &GraphSnapshot,
) -> Result<(), StorageBackendError>;
fn drop_named_graph_data(
&self,
graph_name: &str,
) -> Result<(), StorageBackendError>;
fn save_analyzer(
&self,
name: &str,
config_json: &str,
) -> Result<(), StorageBackendError>;
fn drop_analyzer(&self, name: &str) -> Result<(), StorageBackendError>;
fn load_analyzers(
&self,
) -> Result<Vec<(String, String)>, StorageBackendError>;
fn save_table_field_analyzer(
&self,
table_name: &str,
field: &str,
phase: &str,
analyzer_name: &str,
) -> Result<(), StorageBackendError>;
fn replace_table_field_analyzer(
&self,
table_name: &str,
field: &str,
phase: &str,
analyzer_name: &str,
) -> Result<(), StorageBackendError>;
fn drop_table_field_analyzer_field(
&self,
table_name: &str,
field: &str,
) -> Result<(), StorageBackendError>;
fn drop_table_field_analyzers(
&self,
table_name: &str,
) -> Result<(), StorageBackendError>;
fn load_table_field_analyzers(
&self,
) -> Result<Vec<(String, String, String, String)>, StorageBackendError>;
fn save_foreign_server(
&self,
name: &str,
fdw_type: &str,
options_json: &str,
) -> Result<(), StorageBackendError>;
fn drop_foreign_server(&self, name: &str) -> Result<(), StorageBackendError>;
fn load_foreign_servers(
&self,
) -> Result<Vec<(String, String, String)>, StorageBackendError>;
fn save_foreign_table(
&self,
row: &ForeignTableRow,
) -> Result<(), StorageBackendError>;
fn rename_foreign_table(
&self,
from: &RelationIdentity,
to: &RelationIdentity,
) -> Result<bool, StorageBackendError>;
fn update_foreign_table_security(
&self,
relation: &RelationIdentity,
role_owner: &str,
acl: Option<&[TableAclEntry]>,
column_acls: &BTreeMap<String, Vec<TableAclEntry>>,
) -> Result<bool, StorageBackendError>;
fn drop_foreign_table(
&self,
relation: &RelationIdentity,
) -> Result<(), StorageBackendError>;
fn load_foreign_tables(
&self,
) -> Result<Vec<ForeignTableRow>, StorageBackendError>;
fn save_catalog_index_row(
&self,
index: &CatalogIndexRow,
) -> Result<(), StorageBackendError>;
fn drop_catalog_index(
&self,
relation: &RelationIdentity,
) -> Result<(), StorageBackendError>;
fn drop_catalog_indexes_for_table(
&self,
table_name: &str,
) -> Result<(), StorageBackendError>;
fn load_catalog_indexes(
&self,
) -> Result<Vec<CatalogIndexRow>, StorageBackendError>;
fn save_path_index(
&self,
graph_name: &str,
label_sequences_json: &str,
) -> Result<(), StorageBackendError>;
fn drop_path_index(
&self,
graph_name: &str,
) -> Result<(), StorageBackendError>;
fn load_path_indexes(
&self,
) -> Result<Vec<(String, String)>, StorageBackendError>;
fn clear_path_index_data(
&self,
index: &str,
) -> Result<(), StorageBackendError>;
fn save_path_index_pairs(
&self,
index: &str,
sequence: &str,
pairs: &[(u64, u64)],
) -> Result<(), StorageBackendError>;
fn finish_path_index_data(
&self,
index: &str,
graph: &str,
definition: &str,
) -> Result<(), StorageBackendError>;
fn path_index_data_is_current(
&self,
index: &str,
definition: &str,
) -> Result<bool, StorageBackendError>;
fn path_index_pairs(
&self,
index: &str,
sequence: &str,
after: Option<(u64, u64)>,
limit: usize,
) -> Result<Vec<(u64, u64)>, StorageBackendError>;
fn save_column_stats(
&self,
stats: ColumnStatsInput<'_>,
) -> Result<(), StorageBackendError>;
fn replace_column_stats(
&self,
table_name: &str,
stats: &[ColumnStatsInput<'_>],
) -> Result<(), StorageBackendError>;
fn load_column_stats(
&self,
table_name: &str,
) -> Result<Vec<ColumnStatsRow>, StorageBackendError>;
fn delete_column_stats(
&self,
table_name: &str,
) -> Result<(), StorageBackendError>;
// Provided methods
fn initialize_storage(&self) -> Result<(), StorageBackendError> { ... }
fn cache_revisions(
&self,
) -> Result<Option<CatalogCacheRevisions>, StorageBackendError> { ... }
fn fts_storage_was_reset(&self) -> bool { ... }
fn save_schema(&self, name: &str) -> Result<(), StorageBackendError> { ... }
fn load_schemas(&self) -> Result<Vec<String>, StorageBackendError> { ... }
fn next_sequence_value(
&self,
name: &str,
object_id: [u8; 16],
) -> Result<Option<i64>, StorageBackendError> { ... }
fn load_named_graph_snapshot(
&self,
name: &str,
) -> Result<Option<GraphSnapshot>, StorageBackendError> { ... }
fn save_analyzer_revision(
&self,
_name: &str,
_config_json: &str,
_descriptor_json: &str,
) -> Result<(), StorageBackendError> { ... }
fn load_analyzer_descriptors(
&self,
) -> Result<Vec<(String, String)>, StorageBackendError> { ... }
fn replace_table_field_analyzer_binding(
&self,
_table: &str,
_field: &str,
_phase: &str,
_name: &str,
_binding_json: &str,
) -> Result<(), StorageBackendError> { ... }
fn load_table_field_analyzer_bindings(
&self,
) -> Result<Vec<(String, String, String)>, StorageBackendError> { ... }
fn save_catalog_index(
&self,
relation: &RelationIdentity,
index_type: &str,
table_name: &str,
columns_json: &str,
parameters_json: &str,
) -> Result<(), StorageBackendError> { ... }
}Expand description
Engine-facing catalog facade for persistent metadata.
Required Methods§
fn set_metadata( &self, key: &str, value: &str, ) -> Result<(), StorageBackendError>
fn get_metadata(&self, key: &str) -> Result<Option<String>, StorageBackendError>
Sourcefn migrate_relation_namespace(&self) -> Result<(), StorageBackendError>
fn migrate_relation_namespace(&self) -> Result<(), StorageBackendError>
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) -> Result<(), StorageBackendError>
fn drop_schema(&self, name: &str) -> Result<(), StorageBackendError>
fn load_schema_rows(&self) -> Result<Vec<SchemaRow>, StorageBackendError>
fn save_table(&self, schema: &TableSchema) -> Result<(), StorageBackendError>
fn load_tables(&self) -> Result<Vec<TableSchema>, StorageBackendError>
fn drop_table(&self, name: &str) -> Result<(), StorageBackendError>
Sourcefn drop_table_and_data(&self, name: &str) -> Result<(), StorageBackendError>
fn drop_table_and_data(&self, name: &str) -> Result<(), StorageBackendError>
Remove a table definition and every catalog/data row owned by it as one atomic catalog operation.
fn purge_table_data(&self, name: &str) -> Result<(), StorageBackendError>
fn rename_table_data( &self, from: &str, to: &str, ) -> Result<(), StorageBackendError>
fn drop_column_data( &self, table_name: &str, column_name: &str, ) -> Result<(), StorageBackendError>
fn rename_column_data( &self, table_name: &str, from: &str, to: &str, ) -> Result<(), StorageBackendError>
fn save_model(&self, name: &str, json: &str) -> Result<(), StorageBackendError>
fn load_models(&self) -> Result<Vec<(String, String)>, StorageBackendError>
fn load_model(&self, name: &str) -> Result<Option<String>, StorageBackendError>
fn drop_model(&self, name: &str) -> Result<(), StorageBackendError>
fn save_scoring_params( &self, name: &str, params_json: &str, ) -> Result<(), StorageBackendError>
fn load_scoring_params( &self, name: &str, ) -> Result<Option<String>, StorageBackendError>
fn load_all_scoring_params( &self, ) -> Result<Vec<(String, String)>, StorageBackendError>
fn drop_scoring_params(&self, name: &str) -> Result<(), StorageBackendError>
fn create_sequence_row( &self, sequence: &SequenceRow, ) -> Result<bool, StorageBackendError>
fn replace_sequence_row( &self, sequence: &SequenceRow, ) -> Result<bool, StorageBackendError>
Sourcefn rename_sequence_row(
&self,
from: &str,
to: &str,
) -> Result<bool, StorageBackendError>
fn rename_sequence_row( &self, from: &str, to: &str, ) -> Result<bool, StorageBackendError>
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) -> Result<bool, StorageBackendError>
fn load_sequence_rows(&self) -> Result<Vec<SequenceRow>, StorageBackendError>
fn reserve_sequence_values( &self, name: &str, object_id: [u8; 16], definition_generation: [u8; 16], ) -> Result<SequenceReservationResult, StorageBackendError>
fn set_sequence_value( &self, name: &str, object_id: [u8; 16], value: i64, called: bool, log_count: i64, ) -> Result<Option<i64>, StorageBackendError>
fn save_view(&self, view: &ViewRow) -> Result<(), StorageBackendError>
Sourcefn rename_view(
&self,
from: &RelationIdentity,
to: &RelationIdentity,
) -> Result<bool, StorageBackendError>
fn rename_view( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> Result<bool, StorageBackendError>
Atomically move one view catalog row and its shared relation claim.
fn drop_view( &self, relation: &RelationIdentity, ) -> Result<bool, StorageBackendError>
fn load_views(&self) -> Result<Vec<ViewRow>, StorageBackendError>
fn save_named_graph(&self, name: &str) -> Result<(), StorageBackendError>
fn drop_named_graph(&self, name: &str) -> Result<(), StorageBackendError>
fn load_named_graphs(&self) -> Result<Vec<String>, StorageBackendError>
fn named_graph_exists(&self, name: &str) -> Result<bool, StorageBackendError>
Sourcefn graph_vertex(
&self,
id: u64,
) -> Result<Option<GraphVertexRow>, StorageBackendError>
fn graph_vertex( &self, id: u64, ) -> Result<Option<GraphVertexRow>, StorageBackendError>
Read one entity without loading any other graph payload.
fn graph_edge(&self, id: u64) -> Result<Option<EdgeRow>, StorageBackendError>
Sourcefn graph_entity_ids(
&self,
filter: GraphEntityFilter<'_>,
after: Option<u64>,
limit: usize,
) -> Result<Vec<u64>, StorageBackendError>
fn graph_entity_ids( &self, filter: GraphEntityFilter<'_>, after: Option<u64>, limit: usize, ) -> Result<Vec<u64>, StorageBackendError>
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<'_>, ) -> Result<u64, StorageBackendError>
fn graph_entity_max_id( &self, kind: GraphEntityKind, ) -> Result<Option<u64>, StorageBackendError>
fn graph_entity_memberships( &self, kind: GraphEntityKind, id: u64, ) -> Result<Vec<String>, StorageBackendError>
fn graph_has_membership( &self, kind: GraphEntityKind, id: u64, graph: &str, ) -> Result<bool, StorageBackendError>
fn save_vertex( &self, vertex_id: u64, label: &str, properties_json: &str, ) -> Result<(), StorageBackendError>
fn delete_vertex(&self, vertex_id: u64) -> Result<(), StorageBackendError>
fn load_vertices( &self, ) -> Result<Vec<(u64, String, String)>, StorageBackendError>
fn save_edge( &self, edge_id: u64, source_id: u64, target_id: u64, label: &str, properties_json: &str, ) -> Result<(), StorageBackendError>
fn delete_edge(&self, edge_id: u64) -> Result<(), StorageBackendError>
fn load_edges(&self) -> Result<Vec<EdgeRow>, StorageBackendError>
fn save_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> Result<(), StorageBackendError>
fn delete_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> Result<(), StorageBackendError>
fn delete_graph_membership_for_graph( &self, graph_name: &str, ) -> Result<(), StorageBackendError>
fn load_graph_memberships( &self, ) -> Result<Vec<(String, u64, String)>, StorageBackendError>
fn purge_orphan_graph_entities(&self) -> Result<(), StorageBackendError>
fn replace_named_graph( &self, graph_name: &str, snapshot: &GraphSnapshot, ) -> Result<(), StorageBackendError>
fn drop_named_graph_data( &self, graph_name: &str, ) -> Result<(), StorageBackendError>
fn save_analyzer( &self, name: &str, config_json: &str, ) -> Result<(), StorageBackendError>
fn drop_analyzer(&self, name: &str) -> Result<(), StorageBackendError>
fn load_analyzers(&self) -> Result<Vec<(String, String)>, StorageBackendError>
fn save_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> Result<(), StorageBackendError>
fn replace_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> Result<(), StorageBackendError>
fn drop_table_field_analyzer_field( &self, table_name: &str, field: &str, ) -> Result<(), StorageBackendError>
fn drop_table_field_analyzers( &self, table_name: &str, ) -> Result<(), StorageBackendError>
fn load_table_field_analyzers( &self, ) -> Result<Vec<(String, String, String, String)>, StorageBackendError>
fn save_foreign_server( &self, name: &str, fdw_type: &str, options_json: &str, ) -> Result<(), StorageBackendError>
fn drop_foreign_server(&self, name: &str) -> Result<(), StorageBackendError>
fn load_foreign_servers( &self, ) -> Result<Vec<(String, String, String)>, StorageBackendError>
fn save_foreign_table( &self, row: &ForeignTableRow, ) -> Result<(), StorageBackendError>
Sourcefn rename_foreign_table(
&self,
from: &RelationIdentity,
to: &RelationIdentity,
) -> Result<bool, StorageBackendError>
fn rename_foreign_table( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> Result<bool, StorageBackendError>
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>>, ) -> Result<bool, StorageBackendError>
fn drop_foreign_table( &self, relation: &RelationIdentity, ) -> Result<(), StorageBackendError>
fn load_foreign_tables( &self, ) -> Result<Vec<ForeignTableRow>, StorageBackendError>
fn save_catalog_index_row( &self, index: &CatalogIndexRow, ) -> Result<(), StorageBackendError>
fn drop_catalog_index( &self, relation: &RelationIdentity, ) -> Result<(), StorageBackendError>
fn drop_catalog_indexes_for_table( &self, table_name: &str, ) -> Result<(), StorageBackendError>
fn load_catalog_indexes( &self, ) -> Result<Vec<CatalogIndexRow>, StorageBackendError>
fn save_path_index( &self, graph_name: &str, label_sequences_json: &str, ) -> Result<(), StorageBackendError>
fn drop_path_index(&self, graph_name: &str) -> Result<(), StorageBackendError>
fn load_path_indexes( &self, ) -> Result<Vec<(String, String)>, StorageBackendError>
Sourcefn clear_path_index_data(&self, index: &str) -> Result<(), StorageBackendError>
fn clear_path_index_data(&self, index: &str) -> Result<(), StorageBackendError>
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)], ) -> Result<(), StorageBackendError>
fn finish_path_index_data( &self, index: &str, graph: &str, definition: &str, ) -> Result<(), StorageBackendError>
fn path_index_data_is_current( &self, index: &str, definition: &str, ) -> Result<bool, StorageBackendError>
fn path_index_pairs( &self, index: &str, sequence: &str, after: Option<(u64, u64)>, limit: usize, ) -> Result<Vec<(u64, u64)>, StorageBackendError>
fn save_column_stats( &self, stats: ColumnStatsInput<'_>, ) -> Result<(), StorageBackendError>
Sourcefn replace_column_stats(
&self,
table_name: &str,
stats: &[ColumnStatsInput<'_>],
) -> Result<(), StorageBackendError>
fn replace_column_stats( &self, table_name: &str, stats: &[ColumnStatsInput<'_>], ) -> Result<(), StorageBackendError>
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, ) -> Result<Vec<ColumnStatsRow>, StorageBackendError>
fn delete_column_stats( &self, table_name: &str, ) -> Result<(), StorageBackendError>
Provided Methods§
Sourcefn initialize_storage(&self) -> Result<(), StorageBackendError>
fn initialize_storage(&self) -> Result<(), StorageBackendError>
Prepare durable catalog storage inside the backend’s owning initial-restore transaction. Already initialized catalogs may keep the default.
Sourcefn cache_revisions(
&self,
) -> Result<Option<CatalogCacheRevisions>, StorageBackendError>
fn cache_revisions( &self, ) -> Result<Option<CatalogCacheRevisions>, StorageBackendError>
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) -> Result<(), StorageBackendError>
fn load_schemas(&self) -> Result<Vec<String>, StorageBackendError>
Sourcefn next_sequence_value(
&self,
name: &str,
object_id: [u8; 16],
) -> Result<Option<i64>, StorageBackendError>
fn next_sequence_value( &self, name: &str, object_id: [u8; 16], ) -> Result<Option<i64>, StorageBackendError>
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.
Sourcefn load_named_graph_snapshot(
&self,
name: &str,
) -> Result<Option<GraphSnapshot>, StorageBackendError>
fn load_named_graph_snapshot( &self, name: &str, ) -> Result<Option<GraphSnapshot>, StorageBackendError>
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.
Sourcefn save_analyzer_revision(
&self,
_name: &str,
_config_json: &str,
_descriptor_json: &str,
) -> Result<(), StorageBackendError>
fn save_analyzer_revision( &self, _name: &str, _config_json: &str, _descriptor_json: &str, ) -> Result<(), StorageBackendError>
Save a named definition’s resolved descriptor with its diagnostic configuration in the same transaction.
Sourcefn load_analyzer_descriptors(
&self,
) -> Result<Vec<(String, String)>, StorageBackendError>
fn load_analyzer_descriptors( &self, ) -> Result<Vec<(String, String)>, StorageBackendError>
Resolved named descriptors; legacy definitions appear only in load_analyzers until migrated.
Sourcefn replace_table_field_analyzer_binding(
&self,
_table: &str,
_field: &str,
_phase: &str,
_name: &str,
_binding_json: &str,
) -> Result<(), StorageBackendError>
fn replace_table_field_analyzer_binding( &self, _table: &str, _field: &str, _phase: &str, _name: &str, _binding_json: &str, ) -> Result<(), StorageBackendError>
Atomically replace a field’s complete independent binding and its compatibility label. An empty label denotes the physical field’s unnamed default.
Sourcefn load_table_field_analyzer_bindings(
&self,
) -> Result<Vec<(String, String, String)>, StorageBackendError>
fn load_table_field_analyzer_bindings( &self, ) -> Result<Vec<(String, String, String)>, StorageBackendError>
(table, field, binding JSON) rows. Each field has one complete binding envelope.
fn save_catalog_index( &self, relation: &RelationIdentity, index_type: &str, table_name: &str, columns_json: &str, parameters_json: &str, ) -> Result<(), StorageBackendError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".