SuspendStatementInterceptor

Represents the processes that should be performed during a statement's lifecycle events in a suspend 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 suspend fun afterCommit(transaction: R2dbcTransaction)

Performs steps after a transaction is committed.

Link copied to clipboard
open suspend fun afterExecution(transaction: R2dbcTransaction, contexts: List<StatementContext>, executedStatement: R2dbcPreparedStatementApi)

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

Link copied to clipboard
open suspend fun afterRollback(transaction: R2dbcTransaction)

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

Link copied to clipboard
open suspend fun afterStatementPrepared(transaction: R2dbcTransaction, preparedStatement: R2dbcPreparedStatementApi)

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

Link copied to clipboard
open suspend fun beforeCommit(transaction: R2dbcTransaction)

Performs steps before a transaction is committed.

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

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

Link copied to clipboard
open suspend fun beforeRollback(transaction: R2dbcTransaction)

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.