pub enum DatabaseConnection {
SqlxMySqlPoolConnection(SqlxMySqlPoolConnection),
SqlxPostgresPoolConnection(SqlxPostgresPoolConnection),
SqlxSqlitePoolConnection(SqlxSqlitePoolConnection),
MockDatabaseConnection(Arc<MockDatabaseConnection>),
ProxyDatabaseConnection(Arc<ProxyDatabaseConnection>),
Disconnected,
}Expand description
Handle a database connection depending on the backend enabled by the feature
flags. This creates a database pool. This will be Clone unless the feature
flag mock is enabled.
Variantsยง
SqlxMySqlPoolConnection(SqlxMySqlPoolConnection)
sqlx-mysql only.Create a MYSQL database connection and pool
SqlxPostgresPoolConnection(SqlxPostgresPoolConnection)
sqlx-postgres only.Create a PostgreSQL database connection and pool
SqlxSqlitePoolConnection(SqlxSqlitePoolConnection)
sqlx-sqlite only.Create a SQLite database connection and pool
MockDatabaseConnection(Arc<MockDatabaseConnection>)
mock only.Create a Mock database connection useful for testing
ProxyDatabaseConnection(Arc<ProxyDatabaseConnection>)
proxy only.Create a Proxy database connection useful for proxying
Disconnected
The connection to the database has been severed
Implementationsยง
Sourceยงimpl DatabaseConnection
impl DatabaseConnection
Sourcepub fn as_mock_connection(&self) -> &MockDatabaseConnection
Available on crate feature mock only.
pub fn as_mock_connection(&self) -> &MockDatabaseConnection
mock only.Sourcepub fn into_transaction_log(self) -> Vec<Transaction>
Available on crate feature mock only.
pub fn into_transaction_log(self) -> Vec<Transaction>
mock only.Get the transaction log as a collection Vec<crate::Transaction>
ยงPanics
Panics if the mocker mutex is being held by another thread.
Sourceยงimpl DatabaseConnection
impl DatabaseConnection
Sourcepub fn as_proxy_connection(&self) -> &ProxyDatabaseConnection
Available on crate feature proxy only.
pub fn as_proxy_connection(&self) -> &ProxyDatabaseConnection
proxy only.Sourceยงimpl DatabaseConnection
impl DatabaseConnection
Sourcepub fn set_metric_callback<F>(&mut self, _callback: F)
pub fn set_metric_callback<F>(&mut self, _callback: F)
Sets a callback to metric this connection
Sourcepub async fn ping(&self) -> Result<(), DbErr>
pub async fn ping(&self) -> Result<(), DbErr>
Checks if a connection to the database is still valid.
Sourcepub async fn close(self) -> Result<(), DbErr>
pub async fn close(self) -> Result<(), DbErr>
Explicitly close the database connection.
See Self::close_by_ref for usage with references.
Sourcepub async fn close_by_ref(&self) -> Result<(), DbErr>
pub async fn close_by_ref(&self) -> Result<(), DbErr>
Explicitly close the database connection
Sourceยงimpl DatabaseConnection
impl DatabaseConnection
Sourcepub fn get_mysql_connection_pool(&self) -> &MySqlPool
Available on crate feature sqlx-mysql only.
pub fn get_mysql_connection_pool(&self) -> &MySqlPool
sqlx-mysql only.Sourcepub fn get_postgres_connection_pool(&self) -> &PgPool
Available on crate feature sqlx-postgres only.
pub fn get_postgres_connection_pool(&self) -> &PgPool
sqlx-postgres only.Sourcepub fn get_sqlite_connection_pool(&self) -> &SqlitePool
Available on crate feature sqlx-sqlite only.
pub fn get_sqlite_connection_pool(&self) -> &SqlitePool
sqlx-sqlite only.Trait Implementationsยง
Sourceยงimpl ConnectionTrait for DatabaseConnection
impl ConnectionTrait for DatabaseConnection
Sourceยงfn get_database_backend(&self) -> DbBackend
fn get_database_backend(&self) -> DbBackend
Sourceยงfn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourceยงfn execute_unprepared<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute_unprepared<'life0, 'life1, 'async_trait>(
&'life0 self,
sql: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sourceยงfn query_one<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_one<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Option<QueryResult>, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourceยงfn query_all<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_all<'life0, 'async_trait>(
&'life0 self,
stmt: Statement,
) -> Pin<Box<dyn Future<Output = Result<Vec<QueryResult>, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourceยงfn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Sourceยงfn support_returning(&self) -> bool
fn support_returning(&self) -> bool
RETURNING syntax on insert and updateSourceยงimpl Debug for DatabaseConnection
impl Debug for DatabaseConnection
Sourceยงimpl Default for DatabaseConnection
impl Default for DatabaseConnection
Sourceยงimpl From<Pool<Postgres>> for DatabaseConnection
Available on crate feature sqlx-postgres only.
impl From<Pool<Postgres>> for DatabaseConnection
sqlx-postgres only.Sourceยงimpl From<Pool<Sqlite>> for DatabaseConnection
Available on crate feature sqlx-sqlite only.
impl From<Pool<Sqlite>> for DatabaseConnection
sqlx-sqlite only.Sourceยงfn from(pool: SqlitePool) -> Self
fn from(pool: SqlitePool) -> Self
Sourceยงimpl StreamTrait for DatabaseConnection
impl StreamTrait for DatabaseConnection
Sourceยงimpl TransactionTrait for DatabaseConnection
impl TransactionTrait for DatabaseConnection
Sourceยงfn transaction<'life0, 'async_trait, F, T, E>(
&'life0 self,
_callback: F,
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
fn transaction<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F, ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
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.
Sourceยงfn transaction_with_config<'life0, 'async_trait, F, T, E>(
&'life0 self,
_callback: F,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
fn transaction_with_config<'life0, 'async_trait, F, T, E>( &'life0 self, _callback: F, _isolation_level: Option<IsolationLevel>, _access_mode: Option<AccessMode>, ) -> Pin<Box<dyn Future<Output = Result<T, TransactionError<E>>> + Send + 'async_trait>>
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.
Sourceยงfn begin<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn begin<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
BEGIN transaction.
Returns a Transaction that can be committed or rolled backSourceยงfn begin_with_config<'life0, 'async_trait>(
&'life0 self,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn begin_with_config<'life0, 'async_trait>(
&'life0 self,
_isolation_level: Option<IsolationLevel>,
_access_mode: Option<AccessMode>,
) -> Pin<Box<dyn Future<Output = Result<DatabaseTransaction, DbErr>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backAuto Trait Implementationsยง
impl Freeze for DatabaseConnection
impl !RefUnwindSafe for DatabaseConnection
impl Send for DatabaseConnection
impl Sync for DatabaseConnection
impl Unpin for DatabaseConnection
impl !UnwindSafe for DatabaseConnection
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
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more