Struct AnyConnection
pub struct AnyConnection {
pub(crate) backend: Box<dyn AnyConnectionBackend>,
}Expand description
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.sqliteFields§
§backend: Box<dyn AnyConnectionBackend>Implementations§
§impl AnyConnection
impl AnyConnection
pub fn backend_name(&self) -> &str
pub fn backend_name(&self) -> &str
Returns the name of the database backend in use (e.g. PostgreSQL, MySQL, SQLite, etc.)
Trait Implementations§
§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>>
§impl Connection for AnyConnection
impl Connection for AnyConnection
type Database = Any
type Options = AnyConnectOptions
§fn close(self) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>>
fn close(self) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>>
Explicitly close this database connection. Read more
§fn ping(
&mut self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
fn ping( &mut self, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
Checks if a connection to the database is still valid.
§fn begin(
&mut self,
) -> Pin<Box<dyn Future<Output = Result<Transaction<'_, <AnyConnection as Connection>::Database>, Error>> + Send + '_>>where
AnyConnection: Sized,
fn begin(
&mut self,
) -> Pin<Box<dyn Future<Output = Result<Transaction<'_, <AnyConnection as Connection>::Database>, Error>> + Send + '_>>where
AnyConnection: Sized,
Begin a new transaction or establish a savepoint within the active transaction. Read more
§fn cached_statements_size(&self) -> usize
fn cached_statements_size(&self) -> usize
The number of statements currently cached in the connection.
§fn clear_cached_statements(
&mut self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
fn clear_cached_statements( &mut self, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
Removes all statements from the cache, closing them on the server if
needed.
§fn shrink_buffers(&mut self)
fn shrink_buffers(&mut self)
Restore any buffers in the connection to their default capacity, if possible. Read more
§fn transaction<'a, F, R, E>(
&'a mut self,
callback: F,
) -> Pin<Box<dyn Future<Output = Result<R, E>> + Send + 'a>>
fn transaction<'a, F, R, E>( &'a mut self, callback: F, ) -> Pin<Box<dyn Future<Output = Result<R, E>> + Send + 'a>>
Execute the function inside a transaction. Read more
§impl Debug for AnyConnection
impl Debug for AnyConnection
§impl<'c> Executor<'c> for &'c mut AnyConnection
impl<'c> Executor<'c> for &'c mut AnyConnection
type Database = Any
§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.
§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.
§fn prepare_with<'e, 'q>(
self,
sql: &'q str,
parameters: &[AnyTypeInfo],
) -> Pin<Box<dyn Future<Output = Result<AnyStatement<'q>, Error>> + Send + 'e>>where
'q: 'e,
'c: 'e,
fn prepare_with<'e, 'q>(
self,
sql: &'q str,
parameters: &[AnyTypeInfo],
) -> Pin<Box<dyn Future<Output = Result<AnyStatement<'q>, Error>> + Send + 'e>>where
'q: 'e,
'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
§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.
§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.
§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.
§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.§impl Migrate for AnyConnection
impl Migrate for AnyConnection
fn ensure_migrations_table( &mut self, ) -> Pin<Box<dyn Future<Output = Result<(), MigrateError>> + Send + '_>>
fn dirty_version( &mut self, ) -> Pin<Box<dyn Future<Output = Result<Option<i64>, MigrateError>> + Send + '_>>
fn list_applied_migrations( &mut self, ) -> Pin<Box<dyn Future<Output = Result<Vec<AppliedMigration>, MigrateError>> + Send + '_>>
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, 'm>(
&'e mut self,
migration: &'m Migration,
) -> Pin<Box<dyn Future<Output = Result<Duration, MigrateError>> + Send + 'm>>where
'e: 'm,
fn revert<'e, 'm>(
&'e mut self,
migration: &'m Migration,
) -> Pin<Box<dyn Future<Output = Result<Duration, MigrateError>> + Send + 'm>>where
'e: 'm,
Auto Trait Implementations§
impl !RefUnwindSafe for AnyConnection
impl !Sync for AnyConnection
impl !UnwindSafe for AnyConnection
impl Freeze for AnyConnection
impl Send for AnyConnection
impl Unpin for AnyConnection
impl UnsafeUnpin for AnyConnection
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
U: Sized,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
U: Sized,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].