pub struct ConnectionGuard<'a> { /* private fields */ }Expand description
Exclusive access to the database connection
Note that this is only ever constructed when we already hold exclusive access, and the connection has already been tested to ensure that it is non-empty.
Methods from Deref<Target = KeystoreDatabaseConnection>§
pub async fn conn(&self) -> MutexGuard<'_, Connection>
Sourcepub async fn export_copy(
&self,
destination_path: &str,
) -> CryptoKeystoreResult<()>
pub async fn export_copy( &self, destination_path: &str, ) -> CryptoKeystoreResult<()>
Export a copy of the database to the specified path using VACUUM INTO.
This creates a fully vacuumed and optimized copy of the database. The copy will be encrypted with the same key as the source database.
§Arguments
destination_path- The file path where the database copy should be created
§Errors
Returns an error if:
- The database is in-memory (cannot export in-memory databases)
- The destination path is invalid
- The VACUUM INTO operation fails
Trait Implementations§
Source§impl Deref for ConnectionGuard<'_>
impl Deref for ConnectionGuard<'_>
Source§impl DerefMut for ConnectionGuard<'_>
impl DerefMut for ConnectionGuard<'_>
Source§impl<'a> TryFrom<MutexGuard<'a, Option<SqlCipherConnection>>> for ConnectionGuard<'a>
impl<'a> TryFrom<MutexGuard<'a, Option<SqlCipherConnection>>> for ConnectionGuard<'a>
Auto Trait Implementations§
impl<'a> Freeze for ConnectionGuard<'a>
impl<'a> !RefUnwindSafe for ConnectionGuard<'a>
impl<'a> Send for ConnectionGuard<'a>
impl<'a> Sync for ConnectionGuard<'a>
impl<'a> Unpin for ConnectionGuard<'a>
impl<'a> !UnwindSafe for ConnectionGuard<'a>
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> 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