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§
Sourcefn begin_transaction(&mut self) -> Result<()>
fn begin_transaction(&mut self) -> Result<()>
Begins a new transaction.
Sourcefn close(&mut self) -> Result<()>
fn close(&mut self) -> Result<()>
Releases this Connection object’s database and resources immediately instead of waiting for them to be automatically released.
Sourcefn commit_transaction(&mut self)
fn commit_transaction(&mut self)
Commits the current transaction.
Sourcefn create_batch(&mut self) -> Result<Box<dyn Batch>>
fn create_batch(&mut self) -> Result<Box<dyn Batch>>
Creates a new Batch instance for building a batched request.
Sourcefn create_savepoint(&mut self, name: &str)
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
Sourcefn create_statement(&mut self, sql: &str) -> Result<Box<dyn Statement<'_> + '_>>
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
Sourcefn is_auto_commit(&mut self) -> bool
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.
Sourcefn metadata(&mut self) -> Result<Box<dyn ConnectionMetadata>>
fn metadata(&mut self) -> Result<Box<dyn ConnectionMetadata>>
Returns the ConnectionMetadata about the product this Connection is connected to.
Sourcefn transaction_isolation_level(&mut self) -> IsolationLevel
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.
Sourcefn release_savepoint(&mut self, name: &str)
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
Sourcefn rollback_transaction(&mut self)
fn rollback_transaction(&mut self)
Rolls back the current transaction.
Sourcefn rollback_transaction_to_savepoint(&mut self, name: String)
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
Sourcefn auto_commit(&mut self, commit: bool)
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
Sourcefn set_transaction_isolation_level(&mut self, isolation_level: IsolationLevel)
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
Sourcefn validate(&mut self, depth: ValidationDepth) -> bool
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