pub struct OdbcConnection { /* private fields */ }
Available on crate feature
odbc
only.Expand description
A connection to an ODBC-accessible database.
ODBC uses a blocking C API, so we offload blocking calls to the runtime’s blocking
thread-pool via spawn_blocking
and synchronize access with a mutex.
Implementations§
Trait Implementations§
Source§impl<'c> Acquire<'c> for &'c mut OdbcConnection
impl<'c> Acquire<'c> for &'c mut OdbcConnection
type Database = Odbc
type Connection = &'c mut <Odbc as Database>::Connection
fn acquire( self, ) -> Pin<Box<dyn Future<Output = Result<<&'c mut OdbcConnection as Acquire<'c>>::Connection, Error>> + Send + 'c>>
fn begin( self, ) -> Pin<Box<dyn Future<Output = Result<Transaction<'c, Odbc>, Error>> + Send + 'c>>
Source§impl Connection for OdbcConnection
impl Connection for OdbcConnection
type Database = Odbc
type Options = OdbcConnectOptions
Source§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
Source§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.
Source§fn begin(
&mut self,
) -> Pin<Box<dyn Future<Output = Result<Transaction<'_, <OdbcConnection as Connection>::Database>, Error>> + Send + '_>>where
OdbcConnection: Sized,
fn begin(
&mut self,
) -> Pin<Box<dyn Future<Output = Result<Transaction<'_, <OdbcConnection as Connection>::Database>, Error>> + Send + '_>>where
OdbcConnection: Sized,
Begin a new transaction or establish a savepoint within the active transaction. Read more
Source§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.
Source§fn dbms_name(
&mut self,
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + '_>>
fn dbms_name( &mut self, ) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + '_>>
Returns the name of the Database Management System (DBMS) this connection
is talking to. Read more
Source§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
Source§fn cached_statements_size(&self) -> usizewhere
Self::Database: HasStatementCache,
fn cached_statements_size(&self) -> usizewhere
Self::Database: HasStatementCache,
The number of statements currently cached in the connection.
Source§impl Debug for OdbcConnection
impl Debug for OdbcConnection
Source§impl<'c> Executor<'c> for &'c mut OdbcConnection
impl<'c> Executor<'c> for &'c mut OdbcConnection
type Database = Odbc
Source§fn fetch_many<'e, 'q, E>(
self,
query: E,
) -> Pin<Box<dyn Stream<Item = Result<Either<OdbcQueryResult, OdbcRow>, Error>> + Send + 'e>>
fn fetch_many<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Stream<Item = Result<Either<OdbcQueryResult, OdbcRow>, 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<OdbcRow>, Error>> + Send + 'e>>
fn fetch_optional<'e, 'q, E>( self, query: E, ) -> Pin<Box<dyn Future<Output = Result<Option<OdbcRow>, Error>> + Send + 'e>>
Execute the query and returns at most one row.
Source§fn prepare_with<'e, 'q>(
self,
sql: &'q str,
_parameters: &'e [OdbcTypeInfo],
) -> Pin<Box<dyn Future<Output = Result<OdbcStatement<'q>, Error>> + Send + 'e>>where
'q: 'e,
'c: 'e,
fn prepare_with<'e, 'q>(
self,
sql: &'q str,
_parameters: &'e [OdbcTypeInfo],
) -> Pin<Box<dyn Future<Output = Result<OdbcStatement<'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
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 From<OdbcConnection> for AnyConnection
impl From<OdbcConnection> for AnyConnection
Source§fn from(conn: OdbcConnection) -> AnyConnection
fn from(conn: OdbcConnection) -> AnyConnection
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for OdbcConnection
impl RefUnwindSafe for OdbcConnection
impl Send for OdbcConnection
impl Sync for OdbcConnection
impl Unpin for OdbcConnection
impl UnwindSafe for OdbcConnection
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> 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