pub struct ExaConnection { /* private fields */ }Expand description
A connection to the Exasol database. Implementor of Connection.
Implementations§
Source§impl ExaConnection
impl ExaConnection
Sourcepub fn server(&self) -> SocketAddr
pub fn server(&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§async fn begin(&mut self) -> Result<Transaction<'_, Self::Database>>where
Self: Sized,
async fn begin(&mut self) -> 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§async fn clear_cached_statements(&mut self) -> Result<()>where
Self::Database: HasStatementCache,
async fn clear_cached_statements(&mut self) -> 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 SqlSafeStr,
) -> impl Future<Output = Result<Transaction<'_, Self::Database>, Error>> + Sendwhere
Self: Sized,
fn begin_with(
&mut self,
statement: impl SqlSafeStr,
) -> impl Future<Output = Result<Transaction<'_, Self::Database>, Error>> + Sendwhere
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,
) -> 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 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<ExaQueryResult>>
fn execute<'e, 'q, E>(self, query: E) -> BoxFuture<'e, Result<ExaQueryResult>>
Execute the query and return the total number of rows affected.
Source§fn execute_many<'e, 'q, E>(
self,
query: E,
) -> BoxStream<'e, Result<ExaQueryResult>>
fn execute_many<'e, 'q, E>( self, query: E, ) -> BoxStream<'e, Result<ExaQueryResult>>
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<ExaRow>>
fn fetch<'e, 'q, E>(self, query: E) -> BoxStream<'e, Result<ExaRow>>
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<ExaQueryResult, ExaRow>>>
fn fetch_many<'e, 'q, E>( self, query: E, ) -> BoxStream<'e, Result<Either<ExaQueryResult, ExaRow>>>
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
Source§fn fetch_all<'e, 'q: 'e, E>(
self,
query: E,
) -> BoxFuture<'e, Result<Vec<ExaRow>>>
fn fetch_all<'e, 'q: 'e, E>( self, query: E, ) -> BoxFuture<'e, Result<Vec<ExaRow>>>
Execute the query and return all the generated results, collected into a
Vec.Source§fn fetch_one<'e, 'q: 'e, E>(self, query: E) -> BoxFuture<'e, Result<ExaRow>>
fn fetch_one<'e, 'q: 'e, E>(self, query: E) -> BoxFuture<'e, Result<ExaRow>>
Execute the query and returns exactly one row.
Source§fn fetch_optional<'e, 'q, E>(
self,
query: E,
) -> BoxFuture<'e, Result<Option<ExaRow>>>
fn fetch_optional<'e, 'q, E>( self, query: E, ) -> BoxFuture<'e, Result<Option<ExaRow>>>
Execute the query and returns at most one row.
Source§fn prepare_with<'e>(
self,
sql: SqlStr,
_parameters: &'e [ExaTypeInfo],
) -> BoxFuture<'e, Result<ExaStatement>>where
'c: 'e,
fn prepare_with<'e>(
self,
sql: SqlStr,
_parameters: &'e [ExaTypeInfo],
) -> BoxFuture<'e, Result<ExaStatement>>where
'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
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