Package-level declarations

Types

Link copied to clipboard
class StepHandle<T>

Type-safe, unique identifier for a step in a transaction.

Link copied to clipboard

Mutable container for building a sequence of database operations to be executed atomically.

Link copied to clipboard
class TransactionPlanResult(results: Map<StepHandle<*>, Any?>)

Stores the results of an executed transaction plan in a safe manner. Allows retrieving results using StepHandle instead of indices.

Link copied to clipboard

Defines transaction behavior when it is launched in the context of an already existing transaction. Reflects key propagation strategies from Spring Framework.

Link copied to clipboard
class TransactionStep<T>(val builder: QueryBuilder<*>, val executionLogic: (builder: QueryBuilder<*>, params: Map<String, Any?>) -> DataResult<T>, val params: Map<String, Any?>)

Encapsulates a single, deferred database operation within a TransactionPlan.

Link copied to clipboard
sealed class TransactionValue<T>

Represents a value in a transaction step. Enables passing both constant values and dynamic references to results of previous steps in the same transaction.

Functions

Link copied to clipboard
fun <IN, OUT> TransactionValue<IN>.map(transformation: (IN) -> OUT): TransactionValue<OUT>

Applies a transformation to a TransactionValue, creating a new, transformed value. This function is type-safe.

Link copied to clipboard

Converts any value to a type-safe instance of TransactionValue.Value.