Next: , Previous: Index Cursor API, Up: User API Reference


5.8 Transactions

— Macro: elephant:with-transaction &rest &body body

Execute a body with a transaction in place. On success, the transaction is committed. Otherwise, the transaction is aborted. If the body deadlocks, the body is re-executed in a new transaction, retrying a fixed number of iterations. If nested, the backend must support nested transactions.

The following functions are an advanced use of the transaction system. They may be useful if, or example, you want to integrate Elephant transactions with non-Elephant side-effects that you explicitely make transactional.

— Generic Function: elephant:controller-start-transaction store-controller &key &allow-other-keys

Start an elephant transaction

— Generic Function: elephant:controller-abort-transaction store-controller transaction &key &allow-other-keys

Abort an elephant transaction

— Generic Function: elephant:controller-commit-transaction store-controller transaction &key &allow-other-keys

Commit an elephant transaction