UnQLite C/C++ API Reference - Transaction Manager.
Manually begin a write-transaction on the specified database handle.
Begin a write-transaction on the specified database handle. If a write-transaction has already been opened, this function is a no-op.
Tip: For maximum concurrency, it is preferable to let UnQLite start the transaction for you automatically. An automatic transaction is started each time upper-layers or client code request a store, delete or an append operation.
A pointer to a unQLite Database Handle.
UNQLITE_READ_ONLY: Read-only database.
UNQLITE_BUSY: Another thread or process have an exclusive lock on the database. In this case, the caller should wait until the lock holder relinquish it.
UNQLITE_IOERR: OS specific error.
UNQLITE_NOMEM: Out of memory (Unlikely scenario).
UNQLITE_ABORT: Another thread have released the database handle.
For a human-readable error message, you can extract the database error log via unqlite_config() with a configuration verb set to UNQLITE_CONFIG_ERR_LOG.