pub struct Database { /* private fields */ }
Expand description
Main API wrapper.
All operations can be started with methods of this struct.
Implementations§
source§impl Database
impl Database
sourcepub async fn connect(
configuration: DatabaseConfiguration
) -> Result<Self, Error>
pub async fn connect( configuration: DatabaseConfiguration ) -> Result<Self, Error>
Connect to the database using configuration
.
sourcepub async fn raw_sql<'a>(
&self,
query_string: &'a str,
bind_params: Option<&[Value<'a>]>,
transaction: Option<&mut Transaction>
) -> Result<Vec<Row>, Error>
pub async fn raw_sql<'a>( &self, query_string: &'a str, bind_params: Option<&[Value<'a>]>, transaction: Option<&mut Transaction> ) -> Result<Vec<Row>, Error>
Execute raw SQL statements on the database.
If possible, the statement is executed as prepared statement.
To bind parameter, use ? as placeholder in SQLite and MySQL and $1, $2, $n in Postgres.
Parameter:
query_string
: Reference to a valid SQL query.bind_params
: Optional list of values to bind in the query.transaction
: Optional transaction to execute the query on.
Returns a list of rows. If there are no values to retrieve, an empty list is returned.
sourcepub async fn start_transaction(&self) -> Result<Transaction, Error>
pub async fn start_transaction(&self) -> Result<Transaction, Error>
Entry point for a Transaction
.
Trait Implementations§
source§impl<'executor> Executor<'executor> for &'executor Database
impl<'executor> Executor<'executor> for &'executor Database
source§fn execute<'data, 'result, Q>(
self,
query: String,
values: Vec<Value<'data>>
) -> Q::Result<'result>where
Q: QueryStrategy,
'executor: 'result,
'data: 'result,
fn execute<'data, 'result, Q>( self, query: String, values: Vec<Value<'data>> ) -> Q::Result<'result>where Q: QueryStrategy, 'executor: 'result, 'data: 'result,
Execute a query Read more
§type EnsureTransactionFuture = Pin<Box<dyn Future<Output = Result<TransactionGuard<'executor>, Error>> + Send + 'executor, Global>>
type EnsureTransactionFuture = Pin<Box<dyn Future<Output = Result<TransactionGuard<'executor>, Error>> + Send + 'executor, Global>>
A future producing a
TransactionGuard
returned by ensure_transaction
source§fn ensure_transaction(
self
) -> BoxFuture<'executor, Result<TransactionGuard<'executor>, Error>>
fn ensure_transaction( self ) -> BoxFuture<'executor, Result<TransactionGuard<'executor>, Error>>
Ensure a piece of code is run inside a transaction using a
TransactionGuard
. Read more