pub struct Database { /* private fields */ }Expand description
Thread-safe handle to the SQLite database.
Implementations§
Source§impl Database
impl Database
Sourcepub fn open(db_path: &str) -> Result<Database, ServerError>
pub fn open(db_path: &str) -> Result<Database, ServerError>
Open (or create) a SQLite database at the given path.
Sourcepub fn open_in_memory() -> Result<Database, ServerError>
pub fn open_in_memory() -> Result<Database, ServerError>
Open an in-memory database (for testing).
Sourcepub fn with_conn<F, T>(&self, f: F) -> Result<T, ServerError>
pub fn with_conn<F, T>(&self, f: F) -> Result<T, ServerError>
Execute a closure with access to the database connection. Automatically handles locking and error conversion.
Sourcepub async fn with_conn_async<F, T>(&self, f: F) -> Result<T, ServerError>
pub async fn with_conn_async<F, T>(&self, f: F) -> Result<T, ServerError>
Execute a closure with access to the database connection (async-friendly).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Database
impl RefUnwindSafe for Database
impl Send for Database
impl Sync for Database
impl Unpin for Database
impl UnsafeUnpin for Database
impl UnwindSafe for Database
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more