pub struct AnyConnection { /* private fields */ }Expand description
SEE DOCUMENTATION BEFORE USE. Runtime-generic database connection.
The underlying database drivers are chosen at runtime from the list set via
install_drivers. Any use of AnyConnection or AnyPool
without this will panic.
It is recommended to use install_default_drivers to activate all currently compiled-in drivers.
A connection to any SQLx database.
The database driver used is determined by the scheme of the connection url.
postgres://postgres@localhost/test
sqlite://a.sqliteImplementationsยง
Sourceยงimpl AnyConnection
impl AnyConnection
Sourcepub fn backend_name(&self) -> &str
Available on crate feature any only.
pub fn backend_name(&self) -> &str
any only.Returns the name of the database backend in use (e.g. PostgreSQL, MySQL, SQLite, etc.)
Trait Implementationsยง
Sourceยงimpl<'c> Acquire<'c> for &'c mut AnyConnection
impl<'c> Acquire<'c> for &'c mut AnyConnection
type Database = Any
type Connection = &'c mut <Any as Database>::Connection
fn acquire( self, ) -> Pin<Box<dyn Future<Output = Result<<&'c mut AnyConnection as Acquire<'c>>::Connection, Error>> + Send + 'c>>
fn begin( self, ) -> Pin<Box<dyn Future<Output = Result<Transaction<'c, Any>, Error>> + Send + 'c>>
Sourceยงimpl Connection for AnyConnection
impl Connection for AnyConnection
type Database = Any
type Options = AnyConnectOptions
Sourceยงfn close(self) -> impl Future<Output = Result<(), Error>> + Send + 'static
fn close(self) -> impl Future<Output = Result<(), Error>> + Send + 'static
Explicitly close this database connection. Read more
Sourceยงfn ping(&mut self) -> impl Future<Output = Result<(), Error>> + Send
fn ping(&mut self) -> impl Future<Output = Result<(), Error>> + Send
Checks if a connection to the database is still valid.
Sourceยงfn begin(
&mut self,
) -> impl Future<Output = Result<Transaction<'_, <AnyConnection as Connection>::Database>, Error>> + Sendwhere
AnyConnection: Sized,
fn begin(
&mut self,
) -> impl Future<Output = Result<Transaction<'_, <AnyConnection as Connection>::Database>, Error>> + Sendwhere
AnyConnection: Sized,
Begin a new transaction or establish a savepoint within the active transaction. Read more
Sourceยงfn begin_with(
&mut self,
statement: impl SqlSafeStr,
) -> impl Future<Output = Result<Transaction<'_, <AnyConnection as Connection>::Database>, Error>> + Sendwhere
AnyConnection: Sized,
fn begin_with(
&mut self,
statement: impl SqlSafeStr,
) -> impl Future<Output = Result<Transaction<'_, <AnyConnection as Connection>::Database>, Error>> + Sendwhere
AnyConnection: Sized,
Begin a new transaction with a custom statement. Read more
Sourceยงfn cached_statements_size(&self) -> usize
fn cached_statements_size(&self) -> usize
The number of statements currently cached in the connection.
Sourceยงfn clear_cached_statements(
&mut self,
) -> impl Future<Output = Result<(), Error>> + Send
fn clear_cached_statements( &mut self, ) -> impl Future<Output = Result<(), Error>> + Send
Removes all statements from the cache, closing them on the server if
needed.
Sourceยงfn shrink_buffers(&mut self)
fn shrink_buffers(&mut self)
Restore any buffers in the connection to their default capacity, if possible. Read more
Sourceยงfn is_in_transaction(&self) -> bool
fn is_in_transaction(&self) -> bool
Returns
true if the connection is currently in a transaction. Read moreSourceยงfn transaction<'a, F, R, E>(
&'a mut self,
callback: F,
) -> impl Future<Output = Result<R, E>> + Send + 'a
fn transaction<'a, F, R, E>( &'a mut self, callback: F, ) -> impl Future<Output = Result<R, E>> + Send + 'a
Execute the function inside a transaction. Read more
Sourceยงimpl Debug for AnyConnection
impl Debug for AnyConnection
Sourceยงimpl<'c> Executor<'c> for &'c mut AnyConnection
impl<'c> Executor<'c> for &'c mut AnyConnection
type Database = Any
Sourceยงfn fetch_many<'e, 'q, E>(
self,
query: E,
) -> Pin<Box<dyn Stream<Item = Result<Either<AnyQueryResult, AnyRow>, Error>> + Send + 'e>>
fn fetch_many<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Stream<Item = Result<Either<AnyQueryResult, AnyRow>, Error>> + Send + 'e>>
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
Sourceยงfn fetch_optional<'e, 'q, E>(
self,
query: E,
) -> Pin<Box<dyn Future<Output = Result<Option<AnyRow>, Error>> + Send + 'e>>
fn fetch_optional<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Future<Output = Result<Option<AnyRow>, Error>> + Send + 'e>>
Execute the query and returns at most one row.
Sourceยงfn prepare_with<'e>(
self,
sql: SqlStr,
parameters: &[AnyTypeInfo],
) -> Pin<Box<dyn Future<Output = Result<AnyStatement, Error>> + Send + 'e>>where
'c: 'e,
fn prepare_with<'e>(
self,
sql: SqlStr,
parameters: &[AnyTypeInfo],
) -> Pin<Box<dyn Future<Output = Result<AnyStatement, Error>> + Send + 'e>>where
'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
Sourceยงfn execute<'e, 'q, E>(
self,
query: E,
) -> Pin<Box<dyn Future<Output = Result<<Self::Database as Database>::QueryResult, Error>> + Send + 'e>>
fn execute<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Future<Output = Result<<Self::Database as Database>::QueryResult, Error>> + Send + 'e>>
Execute the query and return the total number of rows affected.
Sourceยงfn execute_many<'e, 'q, E>(
self,
query: E,
) -> Pin<Box<dyn Stream<Item = Result<<Self::Database as Database>::QueryResult, Error>> + Send + 'e>>
fn execute_many<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Stream<Item = Result<<Self::Database as Database>::QueryResult, Error>> + Send + 'e>>
Execute multiple queries and return the rows affected from each query, in a stream.
Sourceยงfn fetch<'e, 'q, E>(
self,
query: E,
) -> Pin<Box<dyn Stream<Item = Result<<Self::Database as Database>::Row, Error>> + Send + 'e>>
fn fetch<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Stream<Item = Result<<Self::Database as Database>::Row, Error>> + Send + 'e>>
Execute the query and return the generated results as a stream.
Sourceยงfn fetch_all<'e, 'q, E>(
self,
query: E,
) -> Pin<Box<dyn Future<Output = Result<Vec<<Self::Database as Database>::Row>, Error>> + Send + 'e>>
fn fetch_all<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Future<Output = Result<Vec<<Self::Database as Database>::Row>, Error>> + Send + 'e>>
Execute the query and return all the generated results, collected into a
Vec.Sourceยงimpl Migrate for AnyConnection
impl Migrate for AnyConnection
Sourceยงfn create_schema_if_not_exists<'e>(
&'e mut self,
schema_name: &'e str,
) -> Pin<Box<dyn Future<Output = Result<(), MigrateError>> + Send + 'e>>
fn create_schema_if_not_exists<'e>( &'e mut self, schema_name: &'e str, ) -> Pin<Box<dyn Future<Output = Result<(), MigrateError>> + Send + 'e>>
Create a database schema with the given name if it does not already exist.
fn ensure_migrations_table<'e>( &'e mut self, table_name: &'e str, ) -> Pin<Box<dyn Future<Output = Result<(), MigrateError>> + Send + 'e>>
fn dirty_version<'e>( &'e mut self, table_name: &'e str, ) -> Pin<Box<dyn Future<Output = Result<Option<i64>, MigrateError>> + Send + 'e>>
fn list_applied_migrations<'e>( &'e mut self, table_name: &'e str, ) -> Pin<Box<dyn Future<Output = Result<Vec<AppliedMigration>, MigrateError>> + Send + 'e>>
fn lock( &mut self, ) -> Pin<Box<dyn Future<Output = Result<(), MigrateError>> + Send + '_>>
fn unlock( &mut self, ) -> Pin<Box<dyn Future<Output = Result<(), MigrateError>> + Send + '_>>
fn apply<'e>( &'e mut self, table_name: &'e str, migration: &'e Migration, ) -> Pin<Box<dyn Future<Output = Result<Duration, MigrateError>> + Send + 'e>>
fn revert<'e>( &'e mut self, table_name: &'e str, migration: &'e Migration, ) -> Pin<Box<dyn Future<Output = Result<Duration, MigrateError>> + Send + 'e>>
fn skip<'e>( &'e mut self, table_name: &'e str, migration: &'e Migration, ) -> Pin<Box<dyn Future<Output = Result<(), MigrateError>> + Send + 'e>>
Auto Trait Implementationsยง
impl Freeze for AnyConnection
impl !RefUnwindSafe for AnyConnection
impl Send for AnyConnection
impl !Sync for AnyConnection
impl Unpin for AnyConnection
impl UnsafeUnpin for AnyConnection
impl !UnwindSafe for AnyConnection
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
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> โ
Converts
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> โ
Converts
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