Trait bonsaidb_core::connection::AsyncConnection
source · [−]pub trait AsyncConnection: AsyncLowLevelConnection + Sized + Send + Sync {
type Storage: AsyncStorageConnection<Database = Self>;
fn storage(&self) -> Self::Storage;
fn list_executed_transactions<'life0, 'async_trait>(
&'life0 self,
starting_id: Option<u64>,
result_limit: Option<u32>
) -> Pin<Box<dyn Future<Output = Result<Vec<Executed>, Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn last_transaction_id<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn compact<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn compact_key_value_store<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn collection<C: Collection>(&self) -> AsyncCollection<'_, Self, C> { ... }
fn view<V: SerializedView>(&self) -> AsyncView<'_, Self, V> { ... }
fn compact_collection<'life0, 'async_trait, C>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where
C: 'async_trait + Collection,
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
}Expand description
A connection to a database’s Schema, giving access to
Collections and
Viewss. All functions on this trait are safe to use
in an asynchronous context.
Associated Types
type Storage: AsyncStorageConnection<Database = Self>
type Storage: AsyncStorageConnection<Database = Self>
The AsyncStorageConnection type that is paired with this type.
Required methods
Returns the StorageConnection implementor that this database belongs
to.
Lists executed transactions from this Schema. By default, a maximum of
1000 entries will be returned, but that limit can be overridden by
setting result_limit. A hard limit of 100,000 results will be
returned. To begin listing after another known transaction_id, pass
transaction_id + 1 into starting_id.
Fetches the last transaction id that has been committed, if any.
Compacts the entire database to reclaim unused disk space.
This process is done by writing data to a new file and swapping the file once the process completes. This ensures that if a hardware failure, power outage, or crash occurs that the original collection data is left untouched.
Errors
Error::Io: an error occurred while compacting the database.
Compacts the key value store to reclaim unused disk space.
This process is done by writing data to a new file and swapping the file once the process completes. This ensures that if a hardware failure, power outage, or crash occurs that the original collection data is left untouched.
Errors
Error::Io: an error occurred while compacting the database.
Provided methods
fn collection<C: Collection>(&self) -> AsyncCollection<'_, Self, C>
fn collection<C: Collection>(&self) -> AsyncCollection<'_, Self, C>
Accesses a collection for the connected Schema.
fn view<V: SerializedView>(&self) -> AsyncView<'_, Self, V>
fn view<V: SerializedView>(&self) -> AsyncView<'_, Self, V>
Initializes View for schema::View V.
fn compact_collection<'life0, 'async_trait, C>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>> where
C: 'async_trait + Collection,
'life0: 'async_trait,
Self: 'async_trait,
fn compact_collection<'life0, 'async_trait, C>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>> where
C: 'async_trait + Collection,
'life0: 'async_trait,
Self: 'async_trait,
Compacts the collection to reclaim unused disk space.
This process is done by writing data to a new file and swapping the file once the process completes. This ensures that if a hardware failure, power outage, or crash occurs that the original collection data is left untouched.
Errors
Error::CollectionNotFound: databasenamedoes not exist.Error::Io: an error occurred while compacting the database.