executeTransactionPlan

open fun executeTransactionPlan(plan: TransactionPlan, propagation: TransactionPropagation = TransactionPropagation.REQUIRED, isolation: TransactionIsolationLevel? = null, readOnly: Boolean = false, statementTimeout: Duration? = null, transactionTimeout: Duration? = null): TransactionPlanResult

Runs every step of plan in one transaction, in order, and returns what each produced. A step's TransactionValues are resolved just before it runs.

Whatever a step raises is the driver's own exception with step N on its path, N being the step's place in this plan; describe shows which step that is. A step can only throw, so dbResult { db.executeTransactionPlan(plan) } is the result style here.

The other parameters are as on transaction.

Throws

INVALID_ARGUMENT, before any step runs, where a step's query cannot be rendered or a step binds a handle whose step is not ahead of it in this plan.