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§
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>
Sourcefn trigger_close(&self) -> Result<(), DatabaseError>
fn trigger_close(&self) -> Result<(), DatabaseError>
§Errors
Will return Err if the close failed to trigger.
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
impl<'a> From<&'a ConfigDatabase> for &'a dyn Database
Source§fn from(value: &'a ConfigDatabase) -> Self
fn from(value: &'a ConfigDatabase) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a LibraryDatabase> for &'a dyn Database
impl<'a> From<&'a LibraryDatabase> for &'a dyn Database
Source§fn from(value: &'a LibraryDatabase) -> Self
fn from(value: &'a LibraryDatabase) -> Self
Converts to this type from the input type.