Trait Database

Source
pub trait Database:
    Send
    + Sync
    + Debug {
Show 22 methods // Required methods fn query<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query: &'life1 SelectQuery<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn query_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query: &'life1 SelectQuery<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Option<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpdateStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_update_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpdateStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Option<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_insert<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 InsertStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Row, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_upsert<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpsertStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_upsert_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpsertStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Row, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_upsert_multi<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpsertMultiStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_delete<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 DeleteStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_delete_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 DeleteStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Option<Row>, DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn exec_raw<'life0, 'life1, 'async_trait>( &'life0 self, statement: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn exec_create_table<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 CreateTableStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; // Provided methods fn select(&self, table_name: &'static str) -> SelectQuery<'static> { ... } fn update<'a>(&self, table_name: &'a str) -> UpdateStatement<'a> { ... } fn insert<'a>(&self, table_name: &'a str) -> InsertStatement<'a> { ... } fn upsert<'a>(&self, table_name: &'a str) -> UpsertStatement<'a> { ... } fn upsert_first<'a>(&self, table_name: &'a str) -> UpsertStatement<'a> { ... } fn upsert_multi<'a>(&self, table_name: &'a str) -> UpsertMultiStatement<'a> { ... } fn delete<'a>(&self, table_name: &'a str) -> DeleteStatement<'a> { ... } fn create_table<'a>(&self, table_name: &'a str) -> CreateTableStatement<'a> { ... } fn trigger_close(&self) -> Result<(), DatabaseError> { ... } fn close<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... }
}

Required Methods§

Source

fn query<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query: &'life1 SelectQuery<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn query_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query: &'life1 SelectQuery<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Option<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_update<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpdateStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_update_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpdateStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Option<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_insert<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 InsertStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Row, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_upsert<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpsertStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_upsert_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpsertStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Row, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_upsert_multi<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 UpsertMultiStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_delete<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 DeleteStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_delete_first<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 DeleteStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Option<Row>, DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn exec_raw<'life0, 'life1, 'async_trait>( &'life0 self, statement: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn exec_create_table<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, statement: &'life1 CreateTableStatement<'life2>, ) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Provided Methods§

Source

fn select(&self, table_name: &'static str) -> SelectQuery<'static>

Source

fn update<'a>(&self, table_name: &'a str) -> UpdateStatement<'a>

Source

fn insert<'a>(&self, table_name: &'a str) -> InsertStatement<'a>

Source

fn upsert<'a>(&self, table_name: &'a str) -> UpsertStatement<'a>

Source

fn upsert_first<'a>(&self, table_name: &'a str) -> UpsertStatement<'a>

Source

fn upsert_multi<'a>(&self, table_name: &'a str) -> UpsertMultiStatement<'a>

Source

fn delete<'a>(&self, table_name: &'a str) -> DeleteStatement<'a>

Source

fn create_table<'a>(&self, table_name: &'a str) -> CreateTableStatement<'a>

Source

fn trigger_close(&self) -> Result<(), DatabaseError>

§Errors

Will return Err if the close failed to trigger.

Source

fn close<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Trait Implementations§

Source§

impl<'a> From<&'a ConfigDatabase> for &'a dyn Database

Source§

fn from(value: &'a ConfigDatabase) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<&'a LibraryDatabase> for &'a dyn Database

Source§

fn from(value: &'a LibraryDatabase) -> Self

Converts to this type from the input type.

Implementors§