beginTransaction method

  1. @override
Future<Transaction> beginTransaction()
override

Starts a new transaction manually.

Consider using TransactionManager.runInTransaction instead for better nested transaction support and automatic commit/rollback.

Implementation

@override
Future<Transaction> beginTransaction() async {
  await execute('BEGIN TRANSACTION');
  return SqliteTransaction(
    () => execute('COMMIT'),
    () => execute('ROLLBACK'),
    (name) => execute('SAVEPOINT "$name"'),
    (name) => execute('ROLLBACK TO SAVEPOINT "$name"'),
    (name) => execute('RELEASE SAVEPOINT "$name"'),
  );
}