hamsterdb API Documentation
hamsterdb Transaction Functions
Defines | |
| #define | HAM_TXN_READ_ONLY 1 |
Typedefs | |
| typedef struct ham_txn_t | ham_txn_t |
Functions | |
| ham_status_t | ham_txn_begin (ham_txn_t **txn, ham_db_t *db, ham_u32_t flags) |
| ham_status_t | ham_txn_commit (ham_txn_t *txn, ham_u32_t flags) |
| ham_status_t | ham_txn_abort (ham_txn_t *txn, ham_u32_t flags) |
Define Documentation
| #define HAM_TXN_READ_ONLY 1 |
Flag for ham_txn_begin
Definition at line 819 of file hamsterdb.h.
Typedef Documentation
Definition at line 792 of file hamsterdb.h.
Function Documentation
| ham_status_t ham_txn_abort | ( | ham_txn_t * | txn, | |
| ham_u32_t | flags | |||
| ) |
Aborts a Transaction
- Remarks:
- 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.
- Parameters:
-
db Pointer to a Transaction structure flags Optional flags for aborting the Transaction, combined with bitwise OR. Unused, set to 0.
- Returns:
- HAM_SUCCESS upon success
HAM_IO_ERROR if writing to the Database file or logfile failed
HAM_CURSOR_STILL_OPEN if there are Cursors attached to this Transaction
Referenced by ham::txn::abort().
| ham_status_t ham_txn_begin | ( | ham_txn_t ** | txn, | |
| ham_db_t * | db, | |||
| ham_u32_t | flags | |||
| ) |
Begins a new Transaction
- Parameters:
-
db Pointer to a pointer of a Transaction structure flags Optional flags for beginning the Transaction, combined with bitwise OR. Possible flags are: - HAM_TXN_READ_ONLY This Transaction is read-only and will not modify the Database.
- Note:
- Note that as of hamsterdb 1.0.4, it is not possible to create multiple Transactions in parallel. This limitation will be removed in further versions.
- Returns:
- HAM_SUCCESS upon success
HAM_OUT_OF_MEMORY if memory allocation failed
HAM_LIMITS_REACHED if there's already an open Transaction (see above)
Referenced by ham::db::begin().
| ham_status_t ham_txn_commit | ( | ham_txn_t * | txn, | |
| ham_u32_t | flags | |||
| ) |
Commits a Transaction
- Remarks:
- 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.
- Parameters:
-
db Pointer to a Transaction structure flags Optional flags for committing the Transaction, combined with bitwise OR. Unused, set to 0.
- Returns:
- HAM_SUCCESS upon success
HAM_IO_ERROR if writing to the file failed
HAM_CURSOR_STILL_OPEN if there are Cursors attached to this Transaction
Referenced by ham::txn::commit().