pub struct SqliteBackend {
pub conn: Arc<Mutex<Connection>>,
}Fields§
§conn: Arc<Mutex<Connection>>Implementations§
Source§impl SqliteBackend
impl SqliteBackend
Sourcepub fn new(path: impl AsRef<Path>) -> Result<Self, StorageError>
pub fn new(path: impl AsRef<Path>) -> Result<Self, StorageError>
Create or open a SQLite database at the given path
Sourcepub fn in_memory() -> Result<Self, StorageError>
pub fn in_memory() -> Result<Self, StorageError>
Create an in-memory database (for testing)
pub fn save_internal(&self, snapshot: &Snapshot) -> Result<String, StorageError>
pub fn save_decision_internal( &self, decision: &DecisionSnapshot, ) -> Result<String, StorageError>
pub fn load_internal(&self, snapshot_id: &str) -> Result<Snapshot, StorageError>
pub fn query_internal( &self, query: SnapshotQuery, ) -> Result<Vec<Snapshot>, StorageError>
Trait Implementations§
Source§impl Clone for SqliteBackend
impl Clone for SqliteBackend
Source§impl StorageBackend for SqliteBackend
impl StorageBackend for SqliteBackend
Source§fn save<'life0, 'life1, 'async_trait>(
&'life0 self,
snapshot: &'life1 Snapshot,
) -> Pin<Box<dyn Future<Output = Result<String, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn save<'life0, 'life1, 'async_trait>(
&'life0 self,
snapshot: &'life1 Snapshot,
) -> Pin<Box<dyn Future<Output = Result<String, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Save a snapshot, return its ID
Source§fn save_decision<'life0, 'life1, 'async_trait>(
&'life0 self,
decision: &'life1 DecisionSnapshot,
) -> Pin<Box<dyn Future<Output = Result<String, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn save_decision<'life0, 'life1, 'async_trait>(
&'life0 self,
decision: &'life1 DecisionSnapshot,
) -> Pin<Box<dyn Future<Output = Result<String, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Save a single decision snapshot
Source§fn load<'life0, 'life1, 'async_trait>(
&'life0 self,
snapshot_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Snapshot, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn load<'life0, 'life1, 'async_trait>(
&'life0 self,
snapshot_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Snapshot, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Load a snapshot by ID
Source§fn load_decision<'life0, 'life1, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<DecisionSnapshot, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn load_decision<'life0, 'life1, 'async_trait>(
&'life0 self,
decision_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<DecisionSnapshot, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Load a decision by ID
Source§fn query<'life0, 'async_trait>(
&'life0 self,
query: SnapshotQuery,
) -> Pin<Box<dyn Future<Output = Result<Vec<Snapshot>, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query<'life0, 'async_trait>(
&'life0 self,
query: SnapshotQuery,
) -> Pin<Box<dyn Future<Output = Result<Vec<Snapshot>, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Query snapshots with filters
Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
snapshot_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
snapshot_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a snapshot
Source§fn flush<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<FlushResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn flush<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<FlushResult, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Flush pending writes (for batching backends)
Source§fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check health/connectivity
Auto Trait Implementations§
impl Freeze for SqliteBackend
impl RefUnwindSafe for SqliteBackend
impl Send for SqliteBackend
impl Sync for SqliteBackend
impl Unpin for SqliteBackend
impl UnwindSafe for SqliteBackend
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