pub trait IncrementalStore:
Debug
+ Send
+ Sync {
// Required methods
fn name(&self) -> &str;
fn load_metadata(&self) -> Result<Option<StorageMetadata>>;
fn apply_transaction(&self, transaction: &StorageTransaction) -> Result<()>;
fn get_node(&self, node_id: &str) -> Result<Option<NodeState>>;
fn export_snapshot(&self, root: Option<&str>) -> Result<DatabaseSnapshot>;
fn scan_direct_index_entries(
&self,
path: &str,
direction: QueryDirection,
scan: &DirectIndexScan,
) -> Result<Vec<DirectScalarIndexEntry>>;
// Provided methods
fn list_direct_index_entries(
&self,
path: &str,
direction: QueryDirection,
) -> Result<Vec<DirectScalarIndexEntry>> { ... }
fn vacuum(
&self,
transaction: &StorageTransaction,
) -> Result<StorageVacuumReport> { ... }
}Required Methods§
fn name(&self) -> &str
fn load_metadata(&self) -> Result<Option<StorageMetadata>>
fn apply_transaction(&self, transaction: &StorageTransaction) -> Result<()>
fn get_node(&self, node_id: &str) -> Result<Option<NodeState>>
fn export_snapshot(&self, root: Option<&str>) -> Result<DatabaseSnapshot>
fn scan_direct_index_entries( &self, path: &str, direction: QueryDirection, scan: &DirectIndexScan, ) -> Result<Vec<DirectScalarIndexEntry>>
Provided Methods§
fn list_direct_index_entries( &self, path: &str, direction: QueryDirection, ) -> Result<Vec<DirectScalarIndexEntry>>
fn vacuum( &self, transaction: &StorageTransaction, ) -> Result<StorageVacuumReport>
Implementors§
impl IncrementalStore for SegmentFileStore
Available on non-WebAssembly only.