[−][src]Trait sqlx_core::connection::Connection
Represents a single database connection.
Associated Types
Loading content...Required methods
pub fn close(self) -> BoxFuture<'static, Result<(), Error>>
[src]
Explicitly close this database connection.
This method is not required for safe and consistent operation. However, it is
recommended to call it instead of letting a connection drop
as the database backend
will be faster at cleaning up resources.
pub fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
Checks if a connection to the database is still valid.
pub fn begin(
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
[src]
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
Begin a new transaction or establish a savepoint within the active transaction.
Returns a Transaction
for controlling and tracking the new transaction.
Provided methods
pub fn transaction<F, R, E>(
&mut self,
callback: F
) -> BoxFuture<'_, Result<R, E>> where
F: FnOnce(&'c mut Transaction<'_, Self::Database>) -> BoxFuture<'c, Result<R, E>> + 'static + Send + Sync,
Self: Sized,
R: Send,
E: From<Error> + Send,
[src]
&mut self,
callback: F
) -> BoxFuture<'_, Result<R, E>> where
F: FnOnce(&'c mut Transaction<'_, Self::Database>) -> BoxFuture<'c, Result<R, E>> + 'static + Send + Sync,
Self: Sized,
R: Send,
E: From<Error> + Send,
Execute the function inside a transaction.
If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
Example
use sqlx_core::connection::Connection; use sqlx_core::error::Error; use sqlx_core::executor::Executor; use sqlx_core::postgres::{PgConnection, PgRow}; use sqlx_core::query::query; conn.transaction(|conn|Box::pin(async move { query("select * from ..").fetch_all(conn).await })).await
pub fn cached_statements_size(&self) -> usize where
Self::Database: HasStatementCache,
[src]
Self::Database: HasStatementCache,
The number of statements currently cached in the connection.
pub fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<(), Error>> where
Self::Database: HasStatementCache,
[src]
Self::Database: HasStatementCache,
Removes all statements from the cache, closing them on the server if needed.
pub fn connect(url: &str) -> BoxFuture<'static, Result<Self, Error>> where
Self: Sized,
[src]
Self: Sized,
Establish a new database connection.
A value of Options
is parsed from the provided connection string. This parsing
is database-specific.
pub fn connect_with(
options: &Self::Options
) -> BoxFuture<'_, Result<Self, Error>> where
Self: Sized,
[src]
options: &Self::Options
) -> BoxFuture<'_, Result<Self, Error>> where
Self: Sized,
Establish a new database connection with the provided options.
Implementors
impl Connection for AnyConnection
[src]
type Database = Any
type Options = AnyConnectOptions
pub fn close(self) -> BoxFuture<'static, Result<(), Error>>
[src]
pub fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
pub fn begin(
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
[src]
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
pub fn cached_statements_size(&self) -> usize
[src]
pub fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
impl Connection for MssqlConnection
[src]
type Database = Mssql
type Options = MssqlConnectOptions
pub fn close(self) -> BoxFuture<'static, Result<(), Error>>
[src]
pub fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
pub fn begin(
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
[src]
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
impl Connection for MySqlConnection
[src]
type Database = MySql
type Options = MySqlConnectOptions
pub fn close(self) -> BoxFuture<'static, Result<(), Error>>
[src]
pub fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
pub fn cached_statements_size(&self) -> usize
[src]
pub fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
pub fn begin(
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
[src]
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
impl Connection for PgConnection
[src]
type Database = Postgres
type Options = PgConnectOptions
pub fn close(self) -> BoxFuture<'static, Result<(), Error>>
[src]
pub fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
pub fn begin(
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
[src]
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
pub fn cached_statements_size(&self) -> usize
[src]
pub fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
impl Connection for SqliteConnection
[src]
type Database = Sqlite
type Options = SqliteConnectOptions
pub fn close(self) -> BoxFuture<'static, Result<(), Error>>
[src]
pub fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
[src]
pub fn begin(
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,
[src]
&mut self
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>> where
Self: Sized,