Database transaction with Task semantics.
commit(): Task<void, TransactionFailed>
execute(sql: string,params?: unknown[]): Task<number, QueryFailed | ConstraintViolation>
executeBatch(sql: string,paramsArray: unknown[][]): Task<number[], QueryFailed | ConstraintViolation>
query<T>(sql: string,params?: unknown[]): Task<T[], QueryFailed | ConstraintViolation>
rollback(): Task<void, TransactionFailed>
withTransaction<R>(fn: (tx: DBTransaction) => Promisable<R>): Task<R, TransactionFailed | QueryFailed | ConstraintViolation>
Execute a callback within a nested transaction (savepoint).