transaction<T> abstract method
Runs action inside one database transaction.
The transaction commits when action completes and rolls back when it
throws. Drivers invalidate the callback executor after action returns.
Callback SqlExecutor.query calls require
SqlStatementKind.rowReturning, while SqlExecutor.execute calls require
SqlStatementKind.write.
The callback must not issue transaction-control SQL or statements whose dialect implicitly commits, such as MySQL DDL.
Implementation
Future<T> transaction<T>(Future<T> Function(SqlExecutor transaction) action);