hamsterdb Embedded Database
2.1.7
|
Macros | |
#define | HAM_TXN_READ_ONLY 1 |
#define | HAM_TXN_TEMPORARY 2 |
Typedefs | |
typedef struct ham_txn_t | ham_txn_t |
Functions | |
HAM_EXPORT ham_status_t | ham_txn_begin (ham_txn_t **txn, ham_env_t *env, const char *name, void *reserved, ham_u32_t flags) |
HAM_EXPORT const char * | ham_txn_get_name (ham_txn_t *txn) |
HAM_EXPORT ham_status_t | ham_txn_commit (ham_txn_t *txn, ham_u32_t flags) |
HAM_EXPORT ham_status_t | ham_txn_abort (ham_txn_t *txn, ham_u32_t flags) |
#define HAM_TXN_READ_ONLY 1 |
Flag for ham_txn_begin
Definition at line 1058 of file hamsterdb.h.
#define HAM_TXN_TEMPORARY 2 |
Definition at line 1061 of file hamsterdb.h.
Definition at line 1023 of file hamsterdb.h.
HAM_EXPORT ham_status_t ham_txn_abort | ( | ham_txn_t * | txn, |
ham_u32_t | flags | ||
) |
Aborts a Transaction
This function aborts (= cancels) the sequence of Database operations.
Note that the function will fail with HAM_CURSOR_STILL_OPEN if a Cursor was attached to this Transaction (with ham_cursor_create or ham_cursor_clone), and the Cursor was not closed.
txn | Pointer to a Transaction structure |
flags | Optional flags for aborting the Transaction, combined with bitwise OR. Unused, set to 0. |
Referenced by hamsterdb::txn::abort().
HAM_EXPORT ham_status_t ham_txn_begin | ( | ham_txn_t ** | txn, |
ham_env_t * | env, | ||
const char * | name, | ||
void * | reserved, | ||
ham_u32_t | flags | ||
) |
Begins a new Transaction
A Transaction is an atomic sequence of Database operations. With ham_txn_begin such a new sequence is started. To write all operations of this sequence to the Database use ham_txn_commit. To abort and cancel this sequence use ham_txn_abort.
In order to use Transactions, the Environment has to be created or opened with the flag HAM_ENABLE_TRANSACTIONS.
You can create as many Transactions as you want (older versions of hamsterdb did not allow to create more than one Transaction in parallel).
txn | Pointer to a pointer of a Transaction structure |
env | A valid Environment handle |
name | An optional Transaction name |
reserved | A reserved pointer; always set to NULL |
flags | Optional flags for beginning the Transaction, combined with bitwise OR. Possible flags are:
|
Referenced by hamsterdb::env::begin().
HAM_EXPORT ham_status_t ham_txn_commit | ( | ham_txn_t * | txn, |
ham_u32_t | flags | ||
) |
Commits a Transaction
This function applies the sequence of Database operations.
Note that the function will fail with HAM_CURSOR_STILL_OPEN if a Cursor was attached to this Transaction (with ham_cursor_create or ham_cursor_clone), and the Cursor was not closed.
txn | Pointer to a Transaction structure |
flags | Optional flags for committing the Transaction, combined with bitwise OR. Unused, set to 0. |
Referenced by hamsterdb::txn::commit().
HAM_EXPORT const char* ham_txn_get_name | ( | ham_txn_t * | txn) |
Retrieves the Transaction name
Referenced by hamsterdb::txn::get_name().