Symisc UnQLite

An Embeddable NoSQL Database Engine



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

Syntax

int unqlite_begin(unqlite *pDb);


Manually begin a write-transaction on the specified database handle.


Description


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.


Parameters


pDb

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