Symisc UnQLite

An Embeddable NoSQL Database Engine

UnQLite C/C++ API Reference - Transaction Manager.


int unqlite_begin(unqlite *pDb);

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.

Return value

UNQLITE_OK is returned on success. Any other return value indicates failure such as:

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.

See also

unqlite_commit, unqlite_rollback, unqlite_open, unqlite_close, unqlite_config.

Symisc Systems
Copyright © Symisc Systems