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<Database, Error>
pub async fn connect( configuration: DatabaseConfiguration ) -> Result<Database, 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 as QueryStrategyResult>::Result<'result>where
'executor: 'result,
'data: 'result,
Q: QueryStrategy,
fn execute<'data, 'result, Q>(
self,
query: String,
values: Vec<Value<'data>>
) -> <Q as QueryStrategyResult>::Result<'result>where
'executor: 'result,
'data: 'result,
Q: QueryStrategy,
Execute a query Read more
§type EnsureTransactionFuture = Pin<Box<dyn Future<Output = Result<TransactionGuard<'executor>, Error>> + Send + 'executor>>
type EnsureTransactionFuture = Pin<Box<dyn Future<Output = Result<TransactionGuard<'executor>, Error>> + Send + 'executor>>
A future producing a
TransactionGuard
returned by ensure_transaction
source§fn ensure_transaction(
self
) -> Pin<Box<dyn Future<Output = Result<TransactionGuard<'executor>, Error>> + Send + 'executor>>
fn ensure_transaction( self ) -> Pin<Box<dyn Future<Output = Result<TransactionGuard<'executor>, Error>> + Send + 'executor>>
Ensure a piece of code is run inside a transaction using a
TransactionGuard
. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for Database
impl Send for Database
impl Sync for Database
impl Unpin for Database
impl !UnwindSafe for Database
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