pub struct ExaConnection { /* private fields */ }
Expand description
A connection to the Exasol database. Implementor of Connection
.
Implementations§
Source§impl ExaConnection
impl ExaConnection
Sourcepub fn socket_addr(&self) -> SocketAddr
pub fn socket_addr(&self) -> SocketAddr
Returns the Exasol server socket address that we’re connected to.
Sourcepub fn attributes(&self) -> &ExaAttributes
pub fn attributes(&self) -> &ExaAttributes
Returns a reference of the ExaAttributes
used in this connection.
Sourcepub fn attributes_mut(&mut self) -> &mut ExaAttributes
pub fn attributes_mut(&mut self) -> &mut ExaAttributes
Allows setting connection attributes through the driver.
Note that attributes will only reach Exasol after a statement is
executed or after explicitly calling the flush_attributes()
method.
Sourcepub async fn flush_attributes(&mut self) -> Result<()>
pub async fn flush_attributes(&mut self) -> Result<()>
Flushes the current ExaAttributes
to Exasol.
§Errors
Will return an error if sending the attributes fails.
Sourcepub fn session_info(&self) -> &SessionInfo
pub fn session_info(&self) -> &SessionInfo
Returns a reference to the SessionInfo
related to this connection.
Trait Implementations§
Source§impl<'c> Acquire<'c> for &'c mut ExaConnection
impl<'c> Acquire<'c> for &'c mut ExaConnection
Source§impl Connection for ExaConnection
impl Connection for ExaConnection
type Database = Exasol
type Options = ExaConnectOptions
Source§fn close(self) -> BoxFuture<'static, Result<()>>
fn close(self) -> BoxFuture<'static, Result<()>>
Explicitly close this database connection. Read more
Source§fn ping(&mut self) -> BoxFuture<'_, Result<()>>
fn ping(&mut self) -> BoxFuture<'_, Result<()>>
Checks if a connection to the database is still valid.
Source§fn begin(&mut self) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>>>where
Self: Sized,
fn begin(&mut self) -> BoxFuture<'_, Result<Transaction<'_, Self::Database>>>where
Self: Sized,
Begin a new transaction or establish a savepoint within the active transaction. Read more
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 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§fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<()>>where
Self::Database: HasStatementCache,
fn clear_cached_statements(&mut self) -> BoxFuture<'_, Result<()>>where
Self::Database: HasStatementCache,
Removes all statements from the cache, closing them on the server if
needed.
Source§fn begin_with(
&mut self,
statement: impl Into<Cow<'static, str>>,
) -> Pin<Box<dyn Future<Output = Result<Transaction<'_, Self::Database>, Error>> + Send + '_>>where
Self: Sized,
fn begin_with(
&mut self,
statement: impl Into<Cow<'static, str>>,
) -> Pin<Box<dyn Future<Output = Result<Transaction<'_, Self::Database>, Error>> + Send + '_>>where
Self: Sized,
Begin a new transaction with a custom statement. 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,
) -> 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§impl Debug for ExaConnection
impl Debug for ExaConnection
Source§impl<'c> Executor<'c> for &'c mut ExaConnection
impl<'c> Executor<'c> for &'c mut ExaConnection
type Database = Exasol
Source§fn execute<'e, 'q, E>(
self,
query: E,
) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult>>
fn execute<'e, 'q, E>( self, query: E, ) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult>>
Execute the query and return the total number of rows affected.
Source§fn execute_many<'e, 'q, E>(
self,
query: E,
) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult>>
fn execute_many<'e, 'q, E>( self, query: E, ) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult>>
Execute multiple queries and return the rows affected from each query, in a stream.
Source§fn fetch<'e, 'q, E>(
self,
query: E,
) -> BoxStream<'e, Result<<Self::Database as Database>::Row>>
fn fetch<'e, 'q, E>( self, query: E, ) -> BoxStream<'e, Result<<Self::Database as Database>::Row>>
Execute the query and return the generated results as a stream.
Source§fn fetch_many<'e, 'q, E>(
self,
query: E,
) -> BoxStream<'e, Result<Either<<Self::Database as Database>::QueryResult, <Self::Database as Database>::Row>>>
fn fetch_many<'e, 'q, E>( self, query: E, ) -> BoxStream<'e, Result<Either<<Self::Database as Database>::QueryResult, <Self::Database as Database>::Row>>>
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,
) -> BoxFuture<'e, Result<Option<<Self::Database as Database>::Row>>>
fn fetch_optional<'e, 'q, E>( self, query: E, ) -> BoxFuture<'e, Result<Option<<Self::Database as Database>::Row>>>
Execute the query and returns at most one row.
Source§fn prepare_with<'e, 'q>(
self,
sql: &'q str,
_parameters: &'e [<Self::Database as Database>::TypeInfo],
) -> BoxFuture<'e, Result<<Self::Database as Database>::Statement<'q>>>where
'q: 'e,
'c: 'e,
fn prepare_with<'e, 'q>(
self,
sql: &'q str,
_parameters: &'e [<Self::Database as Database>::TypeInfo],
) -> BoxFuture<'e, Result<<Self::Database as Database>::Statement<'q>>>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 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 ExaConnection
impl Migrate for ExaConnection
fn ensure_migrations_table(&mut self) -> BoxFuture<'_, Result<(), MigrateError>>
fn dirty_version(&mut self) -> BoxFuture<'_, Result<Option<i64>, MigrateError>>
fn list_applied_migrations( &mut self, ) -> BoxFuture<'_, Result<Vec<AppliedMigration>, MigrateError>>
fn lock(&mut self) -> BoxFuture<'_, Result<(), MigrateError>>
fn unlock(&mut self) -> BoxFuture<'_, Result<(), MigrateError>>
fn apply<'e: 'm, 'm>( &'e mut self, migration: &'m Migration, ) -> BoxFuture<'m, Result<Duration, MigrateError>>
fn revert<'e: 'm, 'm>( &'e mut self, migration: &'m Migration, ) -> BoxFuture<'m, Result<Duration, MigrateError>>
Auto Trait Implementations§
impl !Freeze for ExaConnection
impl !RefUnwindSafe for ExaConnection
impl Send for ExaConnection
impl Sync for ExaConnection
impl Unpin for ExaConnection
impl !UnwindSafe for ExaConnection
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