int db_txn_commit(DB_txn *const txn) { int rc = mdberr(lsmdb_autocompact((LSMDB_txn *)txn)); if(rc < 0) { lsmdb_txn_abort((LSMDB_txn *)txn); return rc; } return mdberr(lsmdb_txn_commit((LSMDB_txn *)txn)); }
static void test_read(LSMDB_env *const env) { LSMDB_txn *txn; chk( lsmdb_txn_begin(env, NULL, MDB_RDONLY, &txn) ); LSMDB_cursor *cursor; chk( lsmdb_cursor_open(txn, &cursor) ); for(int i = 0; i < WRITES; ++i) { MDB_val key, data; chk( lsmdb_cursor_next(cursor, &key, &data, +1) ); assert(KEY_SIZE == key.mv_size); chkkey(key.mv_data); assert(DATA_SIZE == data.mv_size); } lsmdb_txn_abort(txn); }
void db_txn_abort(DB_txn *const txn) { lsmdb_txn_abort((LSMDB_txn *)txn); }