An Embeddable Datastore Engine |
Tweet |
Follow @Vedis |
Vedis C/C++ API Reference - Transaction Manager.
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_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