pub struct RusqliteService {
conn: Arc<Mutex<Connection>>,
}Expand description
Rusqlite-based database service implementation
This implementation wraps synchronous rusqlite operations in tokio::task::spawn_blocking to prevent blocking the async runtime.
Fields§
§conn: Arc<Mutex<Connection>>Implementations§
Trait Implementations§
Source§impl DatabaseService for RusqliteService
impl DatabaseService for RusqliteService
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
query: Query,
) -> Pin<Box<dyn Future<Output = Result<usize, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
query: Query,
) -> Pin<Box<dyn Future<Output = Result<usize, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute a query that doesn’t return results (INSERT, UPDATE, DELETE)
Source§fn execute_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a batch of SQL statements (for migrations)
Source§fn query_one<'life0, 'async_trait, T, F>(
&'life0 self,
query: Query,
mapper: F,
) -> Pin<Box<dyn Future<Output = Result<T, String>> + Send + 'async_trait>>
fn query_one<'life0, 'async_trait, T, F>( &'life0 self, query: Query, mapper: F, ) -> Pin<Box<dyn Future<Output = Result<T, String>> + Send + 'async_trait>>
Query a single row
Source§fn query_optional<'life0, 'async_trait, T, F>(
&'life0 self,
query: Query,
mapper: F,
) -> Pin<Box<dyn Future<Output = Result<Option<T>, String>> + Send + 'async_trait>>
fn query_optional<'life0, 'async_trait, T, F>( &'life0 self, query: Query, mapper: F, ) -> Pin<Box<dyn Future<Output = Result<Option<T>, String>> + Send + 'async_trait>>
Query a single optional row
Source§fn query_many<'life0, 'async_trait, T, F>(
&'life0 self,
query: Query,
mapper: F,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>, String>> + Send + 'async_trait>>
fn query_many<'life0, 'async_trait, T, F>( &'life0 self, query: Query, mapper: F, ) -> Pin<Box<dyn Future<Output = Result<Vec<T>, String>> + Send + 'async_trait>>
Query multiple rows
Auto Trait Implementations§
impl Freeze for RusqliteService
impl RefUnwindSafe for RusqliteService
impl Send for RusqliteService
impl Sync for RusqliteService
impl Unpin for RusqliteService
impl UnsafeUnpin for RusqliteService
impl UnwindSafe for RusqliteService
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