Symisc Vedis

An Embeddable Datastore Engine



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

Syntax

int vedis_commit(vedis *pStore);


Commit all changes to the on-disk datastore.


Description


Commit all changes to the database and release the exclusive lock. In other words, make sure that all changes reaches the disk surface.


Note: Normally, a call to this routine is not necessary since transactions are committed automatically by the engine when the database is closed via vedis_close() unless the VEDIS_CONFIG_DISABLE_AUTO_COMMIT option is set. In which case, you should manually call vedis_commit(). Otherwise, the database is rolled back.


Tip: For maximum concurrency, it is recommended that you commit your transaction manually as soon as you have no more insertions. Also, for very large insertions (More than 20000), you should call vedis_commit() periodically to free some memory (A new transaction is started automatically in the next insertion).


Parameters


pStore

Vedis datastore handle.


Return value


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


VEDIS_READ_ONLY: Read-only database.


VEDIS_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.


VEDIS_IOERR: OS specific error.


VEDIS_NOMEM: Out of memory (Unlikely scenario).


VEDIS_ABORT: Another thread have released the database handle.


For a human-readable error message, you can extract the database error log via vedis_config() with a configuration verb set to VEDIS_CONFIG_ERR_LOG.


See also


vedis_begin, vedis_rollback, vedis_open, vedis_close, vedis_config.



Symisc Systems
Copyright © Symisc Systems