pub struct Database { /* private fields */ }Implementations§
Source§impl Database
impl Database
Sourcepub fn new(path: &str) -> Result<Self>
pub fn new(path: &str) -> Result<Self>
Opens a new database at the given path (or in-memory if ":memory:").
Creates a connection pool with POOL_SIZE connections. Each connection
is initialized with WAL mode, foreign keys, and synchronous=NORMAL.
SQLite WAL mode allows concurrent readers while serializing writers.
§Examples
use roboticus_db::Database;
let db = Database::new(":memory:").unwrap();
// database is now ready for useSourcepub fn conn(&self) -> PooledConnection
pub fn conn(&self) -> PooledConnection
Gets a connection from the pool. Never blocks an async worker thread — the pool manages its own concurrency. Multiple readers can proceed in parallel; SQLite WAL serializes writers internally.
Panics if the pool is exhausted and the timeout expires. In practice this should never happen with POOL_SIZE=8 and short-lived connections.
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