Trait Connection

Source
pub trait Connection: Send {
Show 15 methods // Required methods fn begin_transaction(&mut self) -> Result<()>; fn close(&mut self) -> Result<()>; fn commit_transaction(&mut self); fn create_batch(&mut self) -> Result<Box<dyn Batch>>; fn create_savepoint(&mut self, name: &str); fn create_statement( &mut self, sql: &str, ) -> Result<Box<dyn Statement<'_> + '_>>; fn is_auto_commit(&mut self) -> bool; fn metadata(&mut self) -> Result<Box<dyn ConnectionMetadata>>; fn transaction_isolation_level(&mut self) -> IsolationLevel; fn release_savepoint(&mut self, name: &str); fn rollback_transaction(&mut self); fn rollback_transaction_to_savepoint(&mut self, name: String); fn auto_commit(&mut self, commit: bool); fn set_transaction_isolation_level( &mut self, isolation_level: IsolationLevel, ); fn validate(&mut self, depth: ValidationDepth) -> bool;
}
Expand description

Represents a connection to a database

Required Methods§

Source

fn begin_transaction(&mut self) -> Result<()>

Begins a new transaction.

Source

fn close(&mut self) -> Result<()>

Releases this Connection object’s database and resources immediately instead of waiting for them to be automatically released.

Source

fn commit_transaction(&mut self)

Commits the current transaction.

Source

fn create_batch(&mut self) -> Result<Box<dyn Batch>>

Creates a new Batch instance for building a batched request.

Source

fn create_savepoint(&mut self, name: &str)

Creates a savepoint in the current transaction. Arguments:

  • name: name the name of the savepoint to create.

UnsupportedOperationException if savepoints are not supported

Source

fn create_statement(&mut self, sql: &str) -> Result<Box<dyn Statement<'_> + '_>>

Creates a new statement for building a statement-based request. Arguments:

  • name: the SQL of the statement
Source

fn is_auto_commit(&mut self) -> bool

Returns the auto-commit mode for this connection.

@return true if the connection is in auto-commit mode; false otherwise.

Source

fn metadata(&mut self) -> Result<Box<dyn ConnectionMetadata>>

Returns the ConnectionMetadata about the product this Connection is connected to.

Source

fn transaction_isolation_level(&mut self) -> IsolationLevel

Returns the IsolationLevel for this connection.

Isolation level is typically one of the following constants:

  • READ_UNCOMMITTED
  • READ_COMMITTED
  • REPEATABLE_READ
  • SERIALIZABLE

IsolationLevel is extensible so drivers can return a vendor-specific IsolationLevel.

Source

fn release_savepoint(&mut self, name: &str)

Releases a savepoint in the current transaction. Calling this for drivers not supporting savepoint release results in a no-op. Arguments:

  • name: the name of the savepoint to release
Source

fn rollback_transaction(&mut self)

Rolls back the current transaction.

Source

fn rollback_transaction_to_savepoint(&mut self, name: String)

Rolls back to a savepoint in the current transaction. Arguments:

  • name: the name of the savepoint to rollback to

@throws UnsupportedOperationException if savepoints are not supported

Source

fn auto_commit(&mut self, commit: bool)

Configures the auto-commit mode for the current transaction. If a connection is in auto-commit mode, then all Statements will be executed and committed as individual transactions. Otherwise, in explicit transaction mode, transactions have to be [beginTransaction()] started explicitly. A transaction needs to be either [commitTransaction()] committed or [rollbackTransaction()] rolled back to clean up the transaction state.

Calling this method during an active transaction and the auto-commit mode is changed, the transaction is committed. Calling this method without changing auto-commit mode this invocation results in a no-op.

Arguments:

  • name: the isolation level for this transaction
Source

fn set_transaction_isolation_level(&mut self, isolation_level: IsolationLevel)

Configures the isolation level for the current transaction. Isolation level is typically one of the following constants:

  • READ_UNCOMMITTED
  • READ_COMMITTED
  • REPEATABLE_READ
  • SERIALIZABLE IsolationLevel is extensible so drivers can accept a vendor-specific IsolationLevel. isolationLevel the isolation level for this transaction
Source

fn validate(&mut self, depth: ValidationDepth) -> bool

Validates the connection according to the given ValidationDepth. Emits true if the validation was successful or false if the validation failed. Does not emit errors and does not complete empty. Arguments:

  • depth: the validation depth

Implementors§