# sqlite/begin-async Async twin of `sqlite/begin` — start a transaction off-thread. Returns a Future resolving to `true`. ## Syntax
[sqlite/begin-async $db]
## Parameters - `$db` — database handle ## Examples
def db [sqlite/open ":memory:"]
[await [sqlite/begin-async $db]]                              # → true
[await [sqlite/exec-async $db "CREATE TABLE t (id INTEGER)"]]
[await [sqlite/commit-async $db]]                             # → true
## Returns Future; `[await ...]` yields `true`, the same value as `sqlite/begin`. BEGIN/exec/COMMIT jobs run FIFO on the handle's executor, so transaction sequences are preserved. Errors (e.g. a transaction already active) resolve as `%Err{:message}`; submit-time errors return `%Err` directly. The first async call switches the handle to async-only, so later sync `sqlite/*` calls on it return `%Err`. ## See Also `sqlite/begin`, `sqlite/commit-async`, `sqlite/rollback-async`