コード例 #1
0
ファイル: test_lsmdb.c プロジェクト: btrask/lsmdb
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);
}
コード例 #2
0
int db_cursor_renew(DB_txn *const txn, DB_cursor **const out) {
	if(!out) return DB_EINVAL;
	if(*out) return mdberr(lsmdb_cursor_renew((LSMDB_txn *)txn, (LSMDB_cursor *)*out));
	return mdberr(lsmdb_cursor_open((LSMDB_txn *)txn, (LSMDB_cursor **)out));
}
コード例 #3
0
int db_cursor_open(DB_txn *const txn, DB_cursor **const out) {
	return mdberr(lsmdb_cursor_open((LSMDB_txn *)txn, (LSMDB_cursor **)out));
}