StatementInterceptor

Represents the processes that should be performed during a statement's lifecycle events in a transaction.

In general, statement execution flow works in the following way:

  1. beforeExecution of the statement

  2. Creation of the prepared statement

  3. afterStatementPrepared using the prepared statement from step 2

  4. Execution of the SQL query

  5. afterExecution

Inheritors

Functions

Link copied to clipboard
open fun afterCommit(transaction: Transaction)

Performs steps after a transaction is committed.

Link copied to clipboard
open fun afterExecution(transaction: Transaction, contexts: List<StatementContext>, executedStatement: PreparedStatementApi)

Performs steps after an executedStatement, from the provided contexts, is complete in transaction.

Link copied to clipboard
open fun afterRollback(transaction: Transaction)

Performs steps after a rollback operation is issued on a transaction.

Link copied to clipboard
open fun afterStatementPrepared(transaction: Transaction, preparedStatement: PreparedStatementApi)

Performs steps after preparedStatement has been created in a transaction, but before the statement has been executed.

Link copied to clipboard
open fun beforeCommit(transaction: Transaction)

Performs steps before a transaction is committed.

Link copied to clipboard
open fun beforeExecution(transaction: Transaction, context: StatementContext)

Performs steps before a statement, from the provided context, is executed in a transaction.

Link copied to clipboard
open fun beforeRollback(transaction: Transaction)

Performs steps before a rollback operation is issued on a transaction.

Link copied to clipboard
open fun keepUserDataInTransactionStoreOnCommit(userData: Map<Key<*>, Any?>): Map<Key<*>, Any?>

Returns a mapping of userData that ensures required information is not lost from the transaction scope once the transaction is committed.