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
Source§impl Connection for OdbcConnection
impl Connection for OdbcConnection
type Database = Odbc
type Options = OdbcConnectOptions
Source§fn close(self) -> BoxFuture<'static, Result<(), Error>>
fn close(self) -> BoxFuture<'static, Result<(), Error>>
Explicitly close this database connection. Read more
Source§fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
fn ping(&mut self) -> BoxFuture<'_, Result<(), Error>>
Checks if a connection to the database is still valid.
Source§fn begin(
&mut self,
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>>where
Self: Sized,
fn begin(
&mut self,
) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>, Error>>where
Self: Sized,
Begin a new transaction or establish a savepoint within the active transaction. Read more
Source§fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<(), Error>>
fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<(), Error>>
Removes all statements from the cache, closing them on the server if
needed.
Source§fn dbms_name(&mut self) -> BoxFuture<'_, Result<String, Error>>
fn dbms_name(&mut self) -> BoxFuture<'_, Result<String, Error>>
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,
) -> BoxFuture<'a, Result<R, E>>
fn transaction<'a, F, R, E>( &'a mut self, callback: F, ) -> BoxFuture<'a, Result<R, E>>
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, E>(
self,
query: E,
) -> BoxStream<'e, Result<Either<OdbcQueryResult, OdbcRow>, Error>>
fn fetch_many<'e, 'q: 'e, E>( self, query: E, ) -> BoxStream<'e, Result<Either<OdbcQueryResult, OdbcRow>, Error>>
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
Source§fn fetch_optional<'e, 'q: 'e, E>(
self,
query: E,
) -> BoxFuture<'e, Result<Option<OdbcRow>, Error>>
fn fetch_optional<'e, 'q: 'e, E>( self, query: E, ) -> BoxFuture<'e, Result<Option<OdbcRow>, Error>>
Execute the query and returns at most one row.
Source§fn prepare_with<'e, 'q: 'e>(
self,
sql: &'q str,
_parameters: &'e [OdbcTypeInfo],
) -> BoxFuture<'e, Result<OdbcStatement<'q>, Error>>where
'c: 'e,
fn prepare_with<'e, 'q: 'e>(
self,
sql: &'q str,
_parameters: &'e [OdbcTypeInfo],
) -> BoxFuture<'e, Result<OdbcStatement<'q>, Error>>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, E>(
self,
query: E,
) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>
fn execute<'e, 'q: 'e, E>( self, query: E, ) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>
Execute the query and return the total number of rows affected.
Source§fn execute_many<'e, 'q: 'e, E>(
self,
query: E,
) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>
fn execute_many<'e, 'q: 'e, E>( self, query: E, ) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>
Execute multiple queries and return the rows affected from each query, in a stream.
Source§fn fetch<'e, 'q: 'e, E>(
self,
query: E,
) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>
fn fetch<'e, 'q: 'e, E>( self, query: E, ) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>
Execute the query and return the generated results as a stream.
Source§fn fetch_all<'e, 'q: 'e, E>(
self,
query: E,
) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>
fn fetch_all<'e, 'q: 'e, E>( self, query: E, ) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>
Execute the query and return all the generated results, collected into a
Vec
.Source§impl From<OdbcConnection> for AnyConnection
Available on (crate features postgres
or mysql
or mssql
or sqlite
or odbc
) and crate feature any
only.
impl From<OdbcConnection> for AnyConnection
Available on (crate features
postgres
or mysql
or mssql
or sqlite
or odbc
) and crate feature any
only.Source§fn from(conn: OdbcConnection) -> Self
fn from(conn: OdbcConnection) -> Self
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