Commit 21516f6f authored by siddontang's avatar siddontang Committed by GitHub

format code (#74)

parent 65a06684
...@@ -138,9 +138,9 @@ extern "C" { ...@@ -138,9 +138,9 @@ extern "C" {
block_options: *mut DBBlockBasedTableOptions); block_options: *mut DBBlockBasedTableOptions);
pub fn crocksdb_options_increase_parallelism(options: *mut DBOptions, threads: c_int); pub fn crocksdb_options_increase_parallelism(options: *mut DBOptions, threads: c_int);
pub fn crocksdb_options_optimize_level_style_compaction(options: *mut DBOptions, pub fn crocksdb_options_optimize_level_style_compaction(options: *mut DBOptions,
memtable_memory_budget: c_int); memtable_memory_budget: c_int);
pub fn crocksdb_options_set_compaction_filter(options: *mut DBOptions, pub fn crocksdb_options_set_compaction_filter(options: *mut DBOptions,
filter: *mut DBCompactionFilter); filter: *mut DBCompactionFilter);
pub fn crocksdb_options_set_create_if_missing(options: *mut DBOptions, v: bool); pub fn crocksdb_options_set_create_if_missing(options: *mut DBOptions, v: bool);
pub fn crocksdb_options_set_max_open_files(options: *mut DBOptions, files: c_int); pub fn crocksdb_options_set_max_open_files(options: *mut DBOptions, files: c_int);
pub fn crocksdb_options_set_max_total_wal_size(options: *mut DBOptions, size: u64); pub fn crocksdb_options_set_max_total_wal_size(options: *mut DBOptions, size: u64);
...@@ -148,38 +148,39 @@ extern "C" { ...@@ -148,38 +148,39 @@ extern "C" {
pub fn crocksdb_options_set_bytes_per_sync(options: *mut DBOptions, bytes: u64); pub fn crocksdb_options_set_bytes_per_sync(options: *mut DBOptions, bytes: u64);
pub fn crocksdb_options_set_disable_data_sync(options: *mut DBOptions, v: c_int); pub fn crocksdb_options_set_disable_data_sync(options: *mut DBOptions, v: c_int);
pub fn crocksdb_options_optimize_for_point_lookup(options: *mut DBOptions, pub fn crocksdb_options_optimize_for_point_lookup(options: *mut DBOptions,
block_cache_size_mb: u64); block_cache_size_mb: u64);
pub fn crocksdb_options_set_table_cache_numshardbits(options: *mut DBOptions, bits: c_int); pub fn crocksdb_options_set_table_cache_numshardbits(options: *mut DBOptions, bits: c_int);
pub fn crocksdb_options_set_max_write_buffer_number(options: *mut DBOptions, bufno: c_int); pub fn crocksdb_options_set_max_write_buffer_number(options: *mut DBOptions, bufno: c_int);
pub fn crocksdb_options_set_min_write_buffer_number_to_merge(options: *mut DBOptions, pub fn crocksdb_options_set_min_write_buffer_number_to_merge(options: *mut DBOptions,
bufno: c_int); bufno: c_int);
pub fn crocksdb_options_set_level0_file_num_compaction_trigger(options: *mut DBOptions, pub fn crocksdb_options_set_level0_file_num_compaction_trigger(options: *mut DBOptions,
no: c_int); no: c_int);
pub fn crocksdb_options_set_level0_slowdown_writes_trigger(options: *mut DBOptions, no: c_int); pub fn crocksdb_options_set_level0_slowdown_writes_trigger(options: *mut DBOptions,
no: c_int);
pub fn crocksdb_options_set_level0_stop_writes_trigger(options: *mut DBOptions, no: c_int); pub fn crocksdb_options_set_level0_stop_writes_trigger(options: *mut DBOptions, no: c_int);
pub fn crocksdb_options_set_write_buffer_size(options: *mut DBOptions, bytes: u64); pub fn crocksdb_options_set_write_buffer_size(options: *mut DBOptions, bytes: u64);
pub fn crocksdb_options_set_target_file_size_base(options: *mut DBOptions, bytes: u64); pub fn crocksdb_options_set_target_file_size_base(options: *mut DBOptions, bytes: u64);
pub fn crocksdb_options_set_target_file_size_multiplier(options: *mut DBOptions, mul: c_int); pub fn crocksdb_options_set_target_file_size_multiplier(options: *mut DBOptions, mul: c_int);
pub fn crocksdb_options_set_max_bytes_for_level_base(options: *mut DBOptions, bytes: u64); pub fn crocksdb_options_set_max_bytes_for_level_base(options: *mut DBOptions, bytes: u64);
pub fn crocksdb_options_set_max_bytes_for_level_multiplier(options: *mut DBOptions, pub fn crocksdb_options_set_max_bytes_for_level_multiplier(options: *mut DBOptions,
mul: c_int); mul: c_int);
pub fn crocksdb_options_set_max_log_file_size(options: *mut DBOptions, bytes: size_t); pub fn crocksdb_options_set_max_log_file_size(options: *mut DBOptions, bytes: size_t);
pub fn crocksdb_options_set_keep_log_file_num(options: *mut DBOptions, num: size_t); pub fn crocksdb_options_set_keep_log_file_num(options: *mut DBOptions, num: size_t);
pub fn crocksdb_options_set_max_manifest_file_size(options: *mut DBOptions, bytes: u64); pub fn crocksdb_options_set_max_manifest_file_size(options: *mut DBOptions, bytes: u64);
pub fn crocksdb_options_set_hash_skip_list_rep(options: *mut DBOptions, pub fn crocksdb_options_set_hash_skip_list_rep(options: *mut DBOptions,
bytes: u64, bytes: u64,
a1: i32, a1: i32,
a2: i32); a2: i32);
pub fn crocksdb_options_set_compaction_style(options: *mut DBOptions, cs: DBCompactionStyle); pub fn crocksdb_options_set_compaction_style(options: *mut DBOptions, cs: DBCompactionStyle);
pub fn crocksdb_options_set_compression(options: *mut DBOptions, pub fn crocksdb_options_set_compression(options: *mut DBOptions,
compression_style_no: DBCompressionType); compression_style_no: DBCompressionType);
pub fn crocksdb_options_set_compression_per_level(options: *mut DBOptions, pub fn crocksdb_options_set_compression_per_level(options: *mut DBOptions,
level_values: *const DBCompressionType, level_values: *const DBCompressionType,
num_levels: size_t); num_levels: size_t);
pub fn crocksdb_options_set_max_background_compactions(options: *mut DBOptions, pub fn crocksdb_options_set_max_background_compactions(options: *mut DBOptions,
max_bg_compactions: c_int); max_bg_compactions: c_int);
pub fn crocksdb_options_set_max_background_flushes(options: *mut DBOptions, pub fn crocksdb_options_set_max_background_flushes(options: *mut DBOptions,
max_bg_flushes: c_int); max_bg_flushes: c_int);
pub fn crocksdb_options_set_filter_deletes(options: *mut DBOptions, v: bool); pub fn crocksdb_options_set_filter_deletes(options: *mut DBOptions, v: bool);
pub fn crocksdb_options_set_disable_auto_compactions(options: *mut DBOptions, v: c_int); pub fn crocksdb_options_set_disable_auto_compactions(options: *mut DBOptions, v: c_int);
pub fn crocksdb_options_set_report_bg_io_stats(options: *mut DBOptions, v: c_int); pub fn crocksdb_options_set_report_bg_io_stats(options: *mut DBOptions, v: c_int);
...@@ -192,99 +193,99 @@ extern "C" { ...@@ -192,99 +193,99 @@ extern "C" {
pub fn crocksdb_filterpolicy_create_bloom_full(bits_per_key: c_int) -> *mut DBFilterPolicy; pub fn crocksdb_filterpolicy_create_bloom_full(bits_per_key: c_int) -> *mut DBFilterPolicy;
pub fn crocksdb_filterpolicy_create_bloom(bits_per_key: c_int) -> *mut DBFilterPolicy; pub fn crocksdb_filterpolicy_create_bloom(bits_per_key: c_int) -> *mut DBFilterPolicy;
pub fn crocksdb_open(options: *mut DBOptions, pub fn crocksdb_open(options: *mut DBOptions,
path: *const c_char, path: *const c_char,
err: *mut *mut c_char) err: *mut *mut c_char)
-> *mut DBInstance; -> *mut DBInstance;
pub fn crocksdb_writeoptions_create() -> *mut DBWriteOptions; pub fn crocksdb_writeoptions_create() -> *mut DBWriteOptions;
pub fn crocksdb_writeoptions_destroy(writeopts: *mut DBWriteOptions); pub fn crocksdb_writeoptions_destroy(writeopts: *mut DBWriteOptions);
pub fn crocksdb_writeoptions_set_sync(writeopts: *mut DBWriteOptions, v: bool); pub fn crocksdb_writeoptions_set_sync(writeopts: *mut DBWriteOptions, v: bool);
pub fn crocksdb_writeoptions_disable_WAL(writeopts: *mut DBWriteOptions, v: c_int); pub fn crocksdb_writeoptions_disable_WAL(writeopts: *mut DBWriteOptions, v: c_int);
pub fn crocksdb_put(db: *mut DBInstance, pub fn crocksdb_put(db: *mut DBInstance,
writeopts: *mut DBWriteOptions, writeopts: *mut DBWriteOptions,
k: *const u8, k: *const u8,
kLen: size_t, kLen: size_t,
v: *const u8, v: *const u8,
vLen: size_t, vLen: size_t,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_put_cf(db: *mut DBInstance, pub fn crocksdb_put_cf(db: *mut DBInstance,
writeopts: *mut DBWriteOptions, writeopts: *mut DBWriteOptions,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
k: *const u8, k: *const u8,
kLen: size_t, kLen: size_t,
v: *const u8, v: *const u8,
vLen: size_t, vLen: size_t,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_readoptions_create() -> *mut DBReadOptions; pub fn crocksdb_readoptions_create() -> *mut DBReadOptions;
pub fn crocksdb_readoptions_destroy(readopts: *mut DBReadOptions); pub fn crocksdb_readoptions_destroy(readopts: *mut DBReadOptions);
pub fn crocksdb_readoptions_set_verify_checksums(readopts: *mut DBReadOptions, v: bool); pub fn crocksdb_readoptions_set_verify_checksums(readopts: *mut DBReadOptions, v: bool);
pub fn crocksdb_readoptions_set_fill_cache(readopts: *mut DBReadOptions, v: bool); pub fn crocksdb_readoptions_set_fill_cache(readopts: *mut DBReadOptions, v: bool);
pub fn crocksdb_readoptions_set_snapshot(readopts: *mut DBReadOptions, pub fn crocksdb_readoptions_set_snapshot(readopts: *mut DBReadOptions,
snapshot: *const DBSnapshot); snapshot: *const DBSnapshot);
pub fn crocksdb_readoptions_set_iterate_upper_bound(readopts: *mut DBReadOptions, pub fn crocksdb_readoptions_set_iterate_upper_bound(readopts: *mut DBReadOptions,
k: *const u8, k: *const u8,
kLen: size_t); kLen: size_t);
pub fn crocksdb_readoptions_set_read_tier(readopts: *mut DBReadOptions, tier: c_int); pub fn crocksdb_readoptions_set_read_tier(readopts: *mut DBReadOptions, tier: c_int);
pub fn crocksdb_readoptions_set_tailing(readopts: *mut DBReadOptions, v: bool); pub fn crocksdb_readoptions_set_tailing(readopts: *mut DBReadOptions, v: bool);
pub fn crocksdb_get(db: *const DBInstance, pub fn crocksdb_get(db: *const DBInstance,
readopts: *const DBReadOptions, readopts: *const DBReadOptions,
k: *const u8, k: *const u8,
kLen: size_t, kLen: size_t,
valLen: *const size_t, valLen: *const size_t,
err: *mut *mut c_char) err: *mut *mut c_char)
-> *mut u8; -> *mut u8;
pub fn crocksdb_get_cf(db: *const DBInstance, pub fn crocksdb_get_cf(db: *const DBInstance,
readopts: *const DBReadOptions, readopts: *const DBReadOptions,
cf_handle: *mut DBCFHandle, cf_handle: *mut DBCFHandle,
k: *const u8, k: *const u8,
kLen: size_t, kLen: size_t,
valLen: *const size_t, valLen: *const size_t,
err: *mut *mut c_char) err: *mut *mut c_char)
-> *mut u8; -> *mut u8;
pub fn crocksdb_create_iterator(db: *mut DBInstance, pub fn crocksdb_create_iterator(db: *mut DBInstance,
readopts: *const DBReadOptions) readopts: *const DBReadOptions)
-> *mut DBIterator; -> *mut DBIterator;
pub fn crocksdb_create_iterator_cf(db: *mut DBInstance, pub fn crocksdb_create_iterator_cf(db: *mut DBInstance,
readopts: *const DBReadOptions, readopts: *const DBReadOptions,
cf_handle: *mut DBCFHandle) cf_handle: *mut DBCFHandle)
-> *mut DBIterator; -> *mut DBIterator;
pub fn crocksdb_create_snapshot(db: *mut DBInstance) -> *const DBSnapshot; pub fn crocksdb_create_snapshot(db: *mut DBInstance) -> *const DBSnapshot;
pub fn crocksdb_release_snapshot(db: *mut DBInstance, snapshot: *const DBSnapshot); pub fn crocksdb_release_snapshot(db: *mut DBInstance, snapshot: *const DBSnapshot);
pub fn crocksdb_delete(db: *mut DBInstance, pub fn crocksdb_delete(db: *mut DBInstance,
writeopts: *const DBWriteOptions,
k: *const u8,
kLen: size_t,
err: *mut *mut c_char);
pub fn crocksdb_delete_cf(db: *mut DBInstance,
writeopts: *const DBWriteOptions,
cf: *mut DBCFHandle,
k: *const u8,
kLen: size_t,
err: *mut *mut c_char);
pub fn crocksdb_close(db: *mut DBInstance);
pub fn crocksdb_destroy_db(options: *const DBOptions,
path: *const c_char,
err: *mut *mut c_char);
pub fn crocksdb_repair_db(options: *const DBOptions,
path: *const c_char,
err: *mut *mut c_char);
// Merge
pub fn crocksdb_merge(db: *mut DBInstance,
writeopts: *const DBWriteOptions, writeopts: *const DBWriteOptions,
k: *const u8, k: *const u8,
kLen: size_t, kLen: size_t,
v: *const u8,
vLen: size_t,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_delete_cf(db: *mut DBInstance, pub fn crocksdb_merge_cf(db: *mut DBInstance,
writeopts: *const DBWriteOptions, writeopts: *const DBWriteOptions,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
k: *const u8, k: *const u8,
kLen: size_t, kLen: size_t,
v: *const u8,
vLen: size_t,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_close(db: *mut DBInstance);
pub fn crocksdb_destroy_db(options: *const DBOptions,
path: *const c_char,
err: *mut *mut c_char);
pub fn crocksdb_repair_db(options: *const DBOptions,
path: *const c_char,
err: *mut *mut c_char);
// Merge
pub fn crocksdb_merge(db: *mut DBInstance,
writeopts: *const DBWriteOptions,
k: *const u8,
kLen: size_t,
v: *const u8,
vLen: size_t,
err: *mut *mut c_char);
pub fn crocksdb_merge_cf(db: *mut DBInstance,
writeopts: *const DBWriteOptions,
cf: *mut DBCFHandle,
k: *const u8,
kLen: size_t,
v: *const u8,
vLen: size_t,
err: *mut *mut c_char);
pub fn crocksdb_mergeoperator_create( pub fn crocksdb_mergeoperator_create(
state: *mut c_void, state: *mut c_void,
destroy: extern fn(*mut c_void) -> (), destroy: extern fn(*mut c_void) -> (),
...@@ -326,90 +327,90 @@ extern "C" { ...@@ -326,90 +327,90 @@ extern "C" {
pub fn crocksdb_iter_get_error(iter: *const DBIterator, err: *mut *mut c_char); pub fn crocksdb_iter_get_error(iter: *const DBIterator, err: *mut *mut c_char);
// Write batch // Write batch
pub fn crocksdb_write(db: *mut DBInstance, pub fn crocksdb_write(db: *mut DBInstance,
writeopts: *const DBWriteOptions, writeopts: *const DBWriteOptions,
batch: *mut DBWriteBatch, batch: *mut DBWriteBatch,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_writebatch_create() -> *mut DBWriteBatch; pub fn crocksdb_writebatch_create() -> *mut DBWriteBatch;
pub fn crocksdb_writebatch_create_from(rep: *const u8, size: size_t) -> *mut DBWriteBatch; pub fn crocksdb_writebatch_create_from(rep: *const u8, size: size_t) -> *mut DBWriteBatch;
pub fn crocksdb_writebatch_destroy(batch: *mut DBWriteBatch); pub fn crocksdb_writebatch_destroy(batch: *mut DBWriteBatch);
pub fn crocksdb_writebatch_clear(batch: *mut DBWriteBatch); pub fn crocksdb_writebatch_clear(batch: *mut DBWriteBatch);
pub fn crocksdb_writebatch_count(batch: *mut DBWriteBatch) -> c_int; pub fn crocksdb_writebatch_count(batch: *mut DBWriteBatch) -> c_int;
pub fn crocksdb_writebatch_put(batch: *mut DBWriteBatch, pub fn crocksdb_writebatch_put(batch: *mut DBWriteBatch,
key: *const u8, key: *const u8,
klen: size_t, klen: size_t,
val: *const u8, val: *const u8,
vlen: size_t); vlen: size_t);
pub fn crocksdb_writebatch_put_cf(batch: *mut DBWriteBatch, pub fn crocksdb_writebatch_put_cf(batch: *mut DBWriteBatch,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
key: *const u8,
klen: size_t,
val: *const u8,
vlen: size_t);
pub fn crocksdb_writebatch_merge(batch: *mut DBWriteBatch,
key: *const u8, key: *const u8,
klen: size_t, klen: size_t,
val: *const u8, val: *const u8,
vlen: size_t); vlen: size_t);
pub fn crocksdb_writebatch_merge(batch: *mut DBWriteBatch,
key: *const u8,
klen: size_t,
val: *const u8,
vlen: size_t);
pub fn crocksdb_writebatch_merge_cf(batch: *mut DBWriteBatch, pub fn crocksdb_writebatch_merge_cf(batch: *mut DBWriteBatch,
cf: *mut DBCFHandle,
key: *const u8,
klen: size_t,
val: *const u8,
vlen: size_t);
pub fn crocksdb_writebatch_delete(batch: *mut DBWriteBatch, key: *const u8, klen: size_t);
pub fn crocksdb_writebatch_delete_cf(batch: *mut DBWriteBatch,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
key: *const u8, key: *const u8,
klen: size_t); klen: size_t,
val: *const u8,
vlen: size_t);
pub fn crocksdb_writebatch_delete(batch: *mut DBWriteBatch, key: *const u8, klen: size_t);
pub fn crocksdb_writebatch_delete_cf(batch: *mut DBWriteBatch,
cf: *mut DBCFHandle,
key: *const u8,
klen: size_t);
pub fn crocksdb_writebatch_iterate(batch: *mut DBWriteBatch, pub fn crocksdb_writebatch_iterate(batch: *mut DBWriteBatch,
state: *mut c_void, state: *mut c_void,
put_fn: extern "C" fn(state: *mut c_void, put_fn: extern "C" fn(state: *mut c_void,
k: *const u8, k: *const u8,
klen: size_t, klen: size_t,
v: *const u8, v: *const u8,
vlen: size_t), vlen: size_t),
deleted_fn: extern "C" fn(state: *mut c_void, deleted_fn: extern "C" fn(state: *mut c_void,
k: *const u8, k: *const u8,
klen: size_t)); klen: size_t));
pub fn crocksdb_writebatch_data(batch: *mut DBWriteBatch, size: *mut size_t) -> *const u8; pub fn crocksdb_writebatch_data(batch: *mut DBWriteBatch, size: *mut size_t) -> *const u8;
// Comparator // Comparator
pub fn crocksdb_options_set_comparator(options: *mut DBOptions, cb: *mut DBComparator); pub fn crocksdb_options_set_comparator(options: *mut DBOptions, cb: *mut DBComparator);
pub fn crocksdb_comparator_create(state: *mut c_void, pub fn crocksdb_comparator_create(state: *mut c_void,
destroy: extern "C" fn(*mut c_void) -> (), destroy: extern "C" fn(*mut c_void) -> (),
compare: extern "C" fn(arg: *mut c_void, compare: extern "C" fn(arg: *mut c_void,
a: *const c_char, a: *const c_char,
alen: size_t, alen: size_t,
b: *const c_char, b: *const c_char,
blen: size_t) blen: size_t)
-> c_int, -> c_int,
name_fn: extern "C" fn(*mut c_void) -> *const c_char) name_fn: extern "C" fn(*mut c_void) -> *const c_char)
-> *mut DBComparator; -> *mut DBComparator;
pub fn crocksdb_comparator_destroy(cmp: *mut DBComparator); pub fn crocksdb_comparator_destroy(cmp: *mut DBComparator);
// Column Family // Column Family
pub fn crocksdb_open_column_families(options: *const DBOptions, pub fn crocksdb_open_column_families(options: *const DBOptions,
path: *const c_char, path: *const c_char,
num_column_families: c_int, num_column_families: c_int,
column_family_names: *const *const c_char, column_family_names: *const *const c_char,
column_family_options: *const *const DBOptions, column_family_options: *const *const DBOptions,
column_family_handles: *const *mut DBCFHandle, column_family_handles: *const *mut DBCFHandle,
err: *mut *mut c_char) err: *mut *mut c_char)
-> *mut DBInstance; -> *mut DBInstance;
pub fn crocksdb_create_column_family(db: *mut DBInstance, pub fn crocksdb_create_column_family(db: *mut DBInstance,
column_family_options: *const DBOptions, column_family_options: *const DBOptions,
column_family_name: *const c_char, column_family_name: *const c_char,
err: *mut *mut c_char) err: *mut *mut c_char)
-> *mut DBCFHandle; -> *mut DBCFHandle;
pub fn crocksdb_drop_column_family(db: *mut DBInstance, pub fn crocksdb_drop_column_family(db: *mut DBInstance,
column_family_handle: *mut DBCFHandle, column_family_handle: *mut DBCFHandle,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_column_family_handle_destroy(column_family_handle: *mut DBCFHandle); pub fn crocksdb_column_family_handle_destroy(column_family_handle: *mut DBCFHandle);
pub fn crocksdb_list_column_families(db: *const DBOptions, pub fn crocksdb_list_column_families(db: *const DBOptions,
path: *const c_char, path: *const c_char,
lencf: *mut size_t, lencf: *mut size_t,
err: *mut *mut c_char) err: *mut *mut c_char)
-> *mut *mut c_char; -> *mut *mut c_char;
pub fn crocksdb_list_column_families_destroy(list: *mut *mut c_char, len: size_t); pub fn crocksdb_list_column_families_destroy(list: *mut *mut c_char, len: size_t);
// Flush options // Flush options
...@@ -418,70 +419,70 @@ extern "C" { ...@@ -418,70 +419,70 @@ extern "C" {
pub fn crocksdb_flushoptions_set_wait(opt: *mut DBFlushOptions, whether_wait: bool); pub fn crocksdb_flushoptions_set_wait(opt: *mut DBFlushOptions, whether_wait: bool);
pub fn crocksdb_flush(db: *mut DBInstance, pub fn crocksdb_flush(db: *mut DBInstance,
options: *const DBFlushOptions, options: *const DBFlushOptions,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_approximate_sizes(db: *mut DBInstance, pub fn crocksdb_approximate_sizes(db: *mut DBInstance,
num_ranges: c_int, num_ranges: c_int,
range_start_key: *const *const u8, range_start_key: *const *const u8,
range_start_key_len: *const size_t, range_start_key_len: *const size_t,
range_limit_key: *const *const u8, range_limit_key: *const *const u8,
range_limit_key_len: *const size_t, range_limit_key_len: *const size_t,
sizes: *mut uint64_t); sizes: *mut uint64_t);
pub fn crocksdb_approximate_sizes_cf(db: *mut DBInstance, pub fn crocksdb_approximate_sizes_cf(db: *mut DBInstance,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
num_ranges: c_int, num_ranges: c_int,
range_start_key: *const *const u8, range_start_key: *const *const u8,
range_start_key_len: *const size_t, range_start_key_len: *const size_t,
range_limit_key: *const *const u8, range_limit_key: *const *const u8,
range_limit_key_len: *const size_t, range_limit_key_len: *const size_t,
sizes: *mut uint64_t); sizes: *mut uint64_t);
pub fn crocksdb_compact_range(db: *mut DBInstance, pub fn crocksdb_compact_range(db: *mut DBInstance,
start_key: *const u8, start_key: *const u8,
start_key_len: size_t, start_key_len: size_t,
limit_key: *const u8, limit_key: *const u8,
limit_key_len: size_t); limit_key_len: size_t);
pub fn crocksdb_compact_range_cf(db: *mut DBInstance, pub fn crocksdb_compact_range_cf(db: *mut DBInstance,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
start_key: *const u8, start_key: *const u8,
start_key_len: size_t, start_key_len: size_t,
limit_key: *const u8, limit_key: *const u8,
limit_key_len: size_t); limit_key_len: size_t);
pub fn crocksdb_delete_file_in_range(db: *mut DBInstance, pub fn crocksdb_delete_file_in_range(db: *mut DBInstance,
range_start_key: *const u8, range_start_key: *const u8,
range_start_key_len: size_t, range_start_key_len: size_t,
range_limit_key: *const u8, range_limit_key: *const u8,
range_limit_key_len: size_t, range_limit_key_len: size_t,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_delete_file_in_range_cf(db: *mut DBInstance, pub fn crocksdb_delete_file_in_range_cf(db: *mut DBInstance,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
range_start_key: *const u8, range_start_key: *const u8,
range_start_key_len: size_t, range_start_key_len: size_t,
range_limit_key: *const u8, range_limit_key: *const u8,
range_limit_key_len: size_t, range_limit_key_len: size_t,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_property_value(db: *mut DBInstance, propname: *const c_char) -> *mut c_char; pub fn crocksdb_property_value(db: *mut DBInstance, propname: *const c_char) -> *mut c_char;
pub fn crocksdb_property_value_cf(db: *mut DBInstance, pub fn crocksdb_property_value_cf(db: *mut DBInstance,
cf: *mut DBCFHandle, cf: *mut DBCFHandle,
propname: *const c_char) propname: *const c_char)
-> *mut c_char; -> *mut c_char;
// Compaction filter // Compaction filter
pub fn crocksdb_compactionfilter_create(state: *mut c_void, pub fn crocksdb_compactionfilter_create(state: *mut c_void,
destructor: extern "C" fn(*mut c_void), destructor: extern "C" fn(*mut c_void),
filter: extern "C" fn(*mut c_void, filter: extern "C" fn(*mut c_void,
c_int, c_int,
*const u8, *const u8,
size_t, size_t,
*const u8, *const u8,
size_t, size_t,
*mut *mut u8, *mut *mut u8,
*mut size_t, *mut size_t,
*mut bool) *mut bool)
-> bool, -> bool,
name: extern "C" fn(*mut c_void) -> *const c_char) name: extern "C" fn(*mut c_void) -> *const c_char)
-> *mut DBCompactionFilter; -> *mut DBCompactionFilter;
pub fn crocksdb_compactionfilter_set_ignore_snapshots(filter: *mut DBCompactionFilter, pub fn crocksdb_compactionfilter_set_ignore_snapshots(filter: *mut DBCompactionFilter,
ignore_snapshot: bool); ignore_snapshot: bool);
pub fn crocksdb_compactionfilter_destroy(filter: *mut DBCompactionFilter); pub fn crocksdb_compactionfilter_destroy(filter: *mut DBCompactionFilter);
// Restore Option // Restore Option
...@@ -492,18 +493,18 @@ extern "C" { ...@@ -492,18 +493,18 @@ extern "C" {
// Backup engine // Backup engine
// TODO: add more ffis about backup engine. // TODO: add more ffis about backup engine.
pub fn crocksdb_backup_engine_open(options: *const DBOptions, pub fn crocksdb_backup_engine_open(options: *const DBOptions,
path: *const c_char, path: *const c_char,
err: *mut *mut c_char) err: *mut *mut c_char)
-> *mut DBBackupEngine; -> *mut DBBackupEngine;
pub fn crocksdb_backup_engine_create_new_backup(be: *mut DBBackupEngine, pub fn crocksdb_backup_engine_create_new_backup(be: *mut DBBackupEngine,
db: *mut DBInstance, db: *mut DBInstance,
err: *mut *mut c_char); err: *mut *mut c_char);
pub fn crocksdb_backup_engine_close(be: *mut DBBackupEngine); pub fn crocksdb_backup_engine_close(be: *mut DBBackupEngine);
pub fn crocksdb_backup_engine_restore_db_from_latest_backup(be: *mut DBBackupEngine, pub fn crocksdb_backup_engine_restore_db_from_latest_backup(be: *mut DBBackupEngine,
db_path: *const c_char, db_path: *const c_char,
wal_path: *const c_char, wal_path: *const c_char,
ropts: *const DBRestoreOptions, ropts: *const DBRestoreOptions,
err: *mut *mut c_char); err: *mut *mut c_char);
} }
#[cfg(test)] #[cfg(test)]
...@@ -558,21 +559,21 @@ mod test { ...@@ -558,21 +559,21 @@ mod test {
let mut sizes = vec![0; 1]; let mut sizes = vec![0; 1];
crocksdb_approximate_sizes(db, crocksdb_approximate_sizes(db,
1, 1,
vec![b"\x00\x00".as_ptr()].as_ptr(), vec![b"\x00\x00".as_ptr()].as_ptr(),
vec![1].as_ptr(), vec![1].as_ptr(),
vec![b"\xff\x00".as_ptr()].as_ptr(), vec![b"\xff\x00".as_ptr()].as_ptr(),
vec![1].as_ptr(), vec![1].as_ptr(),
sizes.as_mut_ptr()); sizes.as_mut_ptr());
assert_eq!(sizes.len(), 1); assert_eq!(sizes.len(), 1);
assert!(sizes[0] > 0); assert!(sizes[0] > 0);
crocksdb_delete_file_in_range(db, crocksdb_delete_file_in_range(db,
b"\x00\x00".as_ptr(), b"\x00\x00".as_ptr(),
2, 2,
b"\xff\x00".as_ptr(), b"\xff\x00".as_ptr(),
2, 2,
&mut err); &mut err);
assert!(err.is_null(), error_message(err)); assert!(err.is_null(), error_message(err));
let propname = CString::new("rocksdb.total-sst-files-size").unwrap(); let propname = CString::new("rocksdb.total-sst-files-size").unwrap();
......
use libc::{c_void, c_char, c_int, size_t};
use crocksdb_ffi::{self, DBCompactionFilter}; use crocksdb_ffi::{self, DBCompactionFilter};
use libc::{c_void, c_char, c_int, size_t};
use std::ffi::CString; use std::ffi::CString;
use std::slice; use std::slice;
...@@ -75,9 +74,9 @@ pub unsafe fn new_compaction_filter(c_name: CString, ...@@ -75,9 +74,9 @@ pub unsafe fn new_compaction_filter(c_name: CString,
filter: f, filter: f,
})); }));
let filter = crocksdb_ffi::crocksdb_compactionfilter_create(proxy as *mut c_void, let filter = crocksdb_ffi::crocksdb_compactionfilter_create(proxy as *mut c_void,
destructor, destructor,
filter, filter,
name); name);
crocksdb_ffi::crocksdb_compactionfilter_set_ignore_snapshots(filter, ignore_snapshots); crocksdb_ffi::crocksdb_compactionfilter_set_ignore_snapshots(filter, ignore_snapshots);
Ok(CompactionFilterHandle { inner: filter }) Ok(CompactionFilterHandle { inner: filter })
} }
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
// //
extern crate rocksdb; extern crate rocksdb;
use rocksdb::{DB, MergeOperands, Options, Writable}; use rocksdb::{DB, MergeOperands, Options, Writable};
......
...@@ -13,10 +13,8 @@ ...@@ -13,10 +13,8 @@
// limitations under the License. // limitations under the License.
// //
use libc::{self, c_int, c_void, size_t};
use crocksdb_ffi::{self, DBWriteBatch, DBCFHandle, DBInstance, DBBackupEngine}; use crocksdb_ffi::{self, DBWriteBatch, DBCFHandle, DBInstance, DBBackupEngine};
use libc::{self, c_int, c_void, size_t};
use rocksdb_options::{Options, ReadOptions, UnsafeSnap, WriteOptions, FlushOptions, RestoreOptions}; use rocksdb_options::{Options, ReadOptions, UnsafeSnap, WriteOptions, FlushOptions, RestoreOptions};
use std::collections::BTreeMap; use std::collections::BTreeMap;
use std::collections::btree_map::Entry; use std::collections::btree_map::Entry;
...@@ -115,7 +113,9 @@ impl<'a> DBIterator<'a> { ...@@ -115,7 +113,9 @@ impl<'a> DBIterator<'a> {
SeekKey::Start => crocksdb_ffi::crocksdb_iter_seek_to_first(self.inner), SeekKey::Start => crocksdb_ffi::crocksdb_iter_seek_to_first(self.inner),
SeekKey::End => crocksdb_ffi::crocksdb_iter_seek_to_last(self.inner), SeekKey::End => crocksdb_ffi::crocksdb_iter_seek_to_last(self.inner),
SeekKey::Key(key) => { SeekKey::Key(key) => {
crocksdb_ffi::crocksdb_iter_seek_for_prev(self.inner, key.as_ptr(), key.len() as size_t) crocksdb_ffi::crocksdb_iter_seek_for_prev(self.inner,
key.as_ptr(),
key.len() as size_t)
} }
} }
} }
...@@ -171,8 +171,8 @@ impl<'a> DBIterator<'a> { ...@@ -171,8 +171,8 @@ impl<'a> DBIterator<'a> {
pub fn new_cf(db: &'a DB, cf_handle: &CFHandle, readopts: ReadOptions) -> DBIterator<'a> { pub fn new_cf(db: &'a DB, cf_handle: &CFHandle, readopts: ReadOptions) -> DBIterator<'a> {
unsafe { unsafe {
let iterator = crocksdb_ffi::crocksdb_create_iterator_cf(db.inner, let iterator = crocksdb_ffi::crocksdb_create_iterator_cf(db.inner,
readopts.get_inner(), readopts.get_inner(),
cf_handle.inner); cf_handle.inner);
DBIterator { DBIterator {
db: db, db: db,
readopts: readopts, readopts: readopts,
...@@ -340,11 +340,11 @@ impl DB { ...@@ -340,11 +340,11 @@ impl DB {
let db = unsafe { let db = unsafe {
ffi_try!(crocksdb_open_column_families(opts.inner, ffi_try!(crocksdb_open_column_families(opts.inner,
cpath.as_ptr(), cpath.as_ptr(),
cfs_v.len() as c_int, cfs_v.len() as c_int,
cfnames.as_ptr(), cfnames.as_ptr(),
cfopts.as_ptr(), cfopts.as_ptr(),
cfhandles.as_ptr())) cfhandles.as_ptr()))
}; };
for handle in &cfhandles { for handle in &cfhandles {
...@@ -444,10 +444,10 @@ impl DB { ...@@ -444,10 +444,10 @@ impl DB {
let val_len: size_t = 0; let val_len: size_t = 0;
let val_len_ptr = &val_len as *const size_t; let val_len_ptr = &val_len as *const size_t;
let val = ffi_try!(crocksdb_get(self.inner, let val = ffi_try!(crocksdb_get(self.inner,
readopts.get_inner(), readopts.get_inner(),
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
val_len_ptr)); val_len_ptr));
if val.is_null() { if val.is_null() {
Ok(None) Ok(None)
} else { } else {
...@@ -469,11 +469,11 @@ impl DB { ...@@ -469,11 +469,11 @@ impl DB {
let val_len: size_t = 0; let val_len: size_t = 0;
let val_len_ptr = &val_len as *const size_t; let val_len_ptr = &val_len as *const size_t;
let val = ffi_try!(crocksdb_get_cf(self.inner, let val = ffi_try!(crocksdb_get_cf(self.inner,
readopts.get_inner(), readopts.get_inner(),
cf.inner, cf.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
val_len_ptr)); val_len_ptr));
if val.is_null() { if val.is_null() {
Ok(None) Ok(None)
} else { } else {
...@@ -563,11 +563,11 @@ impl DB { ...@@ -563,11 +563,11 @@ impl DB {
-> Result<(), String> { -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_put(self.inner, ffi_try!(crocksdb_put(self.inner,
writeopts.inner, writeopts.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t)); value.len() as size_t));
Ok(()) Ok(())
} }
} }
...@@ -580,12 +580,12 @@ impl DB { ...@@ -580,12 +580,12 @@ impl DB {
-> Result<(), String> { -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_put_cf(self.inner, ffi_try!(crocksdb_put_cf(self.inner,
writeopts.inner, writeopts.inner,
cf.inner, cf.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t)); value.len() as size_t));
Ok(()) Ok(())
} }
} }
...@@ -596,11 +596,11 @@ impl DB { ...@@ -596,11 +596,11 @@ impl DB {
-> Result<(), String> { -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_merge(self.inner, ffi_try!(crocksdb_merge(self.inner,
writeopts.inner, writeopts.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t)); value.len() as size_t));
Ok(()) Ok(())
} }
} }
...@@ -612,21 +612,21 @@ impl DB { ...@@ -612,21 +612,21 @@ impl DB {
-> Result<(), String> { -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_merge_cf(self.inner, ffi_try!(crocksdb_merge_cf(self.inner,
writeopts.inner, writeopts.inner,
cf.inner, cf.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t)); value.len() as size_t));
Ok(()) Ok(())
} }
} }
fn delete_opt(&self, key: &[u8], writeopts: &WriteOptions) -> Result<(), String> { fn delete_opt(&self, key: &[u8], writeopts: &WriteOptions) -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_delete(self.inner, ffi_try!(crocksdb_delete(self.inner,
writeopts.inner, writeopts.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t)); key.len() as size_t));
Ok(()) Ok(())
} }
} }
...@@ -638,10 +638,10 @@ impl DB { ...@@ -638,10 +638,10 @@ impl DB {
-> Result<(), String> { -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_delete_cf(self.inner, ffi_try!(crocksdb_delete_cf(self.inner,
writeopts.inner, writeopts.inner,
cf.inner, cf.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t)); key.len() as size_t));
Ok(()) Ok(())
} }
} }
...@@ -699,22 +699,22 @@ impl DB { ...@@ -699,22 +699,22 @@ impl DB {
match cf { match cf {
None => unsafe { None => unsafe {
crocksdb_ffi::crocksdb_approximate_sizes(self.inner, crocksdb_ffi::crocksdb_approximate_sizes(self.inner,
n, n,
start_key_ptr, start_key_ptr,
start_key_len_ptr, start_key_len_ptr,
end_key_ptr, end_key_ptr,
end_key_len_ptr, end_key_len_ptr,
size_ptr) size_ptr)
}, },
Some(cf) => unsafe { Some(cf) => unsafe {
crocksdb_ffi::crocksdb_approximate_sizes_cf(self.inner, crocksdb_ffi::crocksdb_approximate_sizes_cf(self.inner,
cf.inner, cf.inner,
n, n,
start_key_ptr, start_key_ptr,
start_key_len_ptr, start_key_len_ptr,
end_key_ptr, end_key_ptr,
end_key_len_ptr, end_key_len_ptr,
size_ptr) size_ptr)
}, },
} }
sizes sizes
...@@ -742,10 +742,10 @@ impl DB { ...@@ -742,10 +742,10 @@ impl DB {
pub fn delete_file_in_range(&self, start_key: &[u8], end_key: &[u8]) -> Result<(), String> { pub fn delete_file_in_range(&self, start_key: &[u8], end_key: &[u8]) -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_delete_file_in_range(self.inner, ffi_try!(crocksdb_delete_file_in_range(self.inner,
start_key.as_ptr(), start_key.as_ptr(),
start_key.len() as size_t, start_key.len() as size_t,
end_key.as_ptr(), end_key.as_ptr(),
end_key.len() as size_t)); end_key.len() as size_t));
Ok(()) Ok(())
} }
} }
...@@ -757,11 +757,11 @@ impl DB { ...@@ -757,11 +757,11 @@ impl DB {
-> Result<(), String> { -> Result<(), String> {
unsafe { unsafe {
ffi_try!(crocksdb_delete_file_in_range_cf(self.inner, ffi_try!(crocksdb_delete_file_in_range_cf(self.inner,
cf.inner, cf.inner,
start_key.as_ptr(), start_key.as_ptr(),
start_key.len() as size_t, start_key.len() as size_t,
end_key.as_ptr(), end_key.as_ptr(),
end_key.len() as size_t)); end_key.len() as size_t));
Ok(()) Ok(())
} }
} }
...@@ -791,7 +791,9 @@ impl DB { ...@@ -791,7 +791,9 @@ impl DB {
let value = match cf { let value = match cf {
None => crocksdb_ffi::crocksdb_property_value(self.inner, prop_name.as_ptr()), None => crocksdb_ffi::crocksdb_property_value(self.inner, prop_name.as_ptr()),
Some(cf) => { Some(cf) => {
crocksdb_ffi::crocksdb_property_value_cf(self.inner, cf.inner, prop_name.as_ptr()) crocksdb_ffi::crocksdb_property_value_cf(self.inner,
cf.inner,
prop_name.as_ptr())
} }
}; };
...@@ -853,9 +855,9 @@ impl DB { ...@@ -853,9 +855,9 @@ impl DB {
unsafe { unsafe {
ffi_try!(crocksdb_backup_engine_restore_db_from_latest_backup(backup_engine.inner, ffi_try!(crocksdb_backup_engine_restore_db_from_latest_backup(backup_engine.inner,
c_db_path.as_ptr(), c_db_path.as_ptr(),
c_wal_path.as_ptr(), c_wal_path.as_ptr(),
ropts.inner)) ropts.inner))
}; };
DB::open_default(restore_db_path) DB::open_default(restore_db_path)
...@@ -941,10 +943,10 @@ impl Writable for WriteBatch { ...@@ -941,10 +943,10 @@ impl Writable for WriteBatch {
fn put(&self, key: &[u8], value: &[u8]) -> Result<(), String> { fn put(&self, key: &[u8], value: &[u8]) -> Result<(), String> {
unsafe { unsafe {
crocksdb_ffi::crocksdb_writebatch_put(self.inner, crocksdb_ffi::crocksdb_writebatch_put(self.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t); value.len() as size_t);
Ok(()) Ok(())
} }
} }
...@@ -952,11 +954,11 @@ impl Writable for WriteBatch { ...@@ -952,11 +954,11 @@ impl Writable for WriteBatch {
fn put_cf(&self, cf: &CFHandle, key: &[u8], value: &[u8]) -> Result<(), String> { fn put_cf(&self, cf: &CFHandle, key: &[u8], value: &[u8]) -> Result<(), String> {
unsafe { unsafe {
crocksdb_ffi::crocksdb_writebatch_put_cf(self.inner, crocksdb_ffi::crocksdb_writebatch_put_cf(self.inner,
cf.inner, cf.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t); value.len() as size_t);
Ok(()) Ok(())
} }
} }
...@@ -964,10 +966,10 @@ impl Writable for WriteBatch { ...@@ -964,10 +966,10 @@ impl Writable for WriteBatch {
fn merge(&self, key: &[u8], value: &[u8]) -> Result<(), String> { fn merge(&self, key: &[u8], value: &[u8]) -> Result<(), String> {
unsafe { unsafe {
crocksdb_ffi::crocksdb_writebatch_merge(self.inner, crocksdb_ffi::crocksdb_writebatch_merge(self.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t); value.len() as size_t);
Ok(()) Ok(())
} }
} }
...@@ -975,11 +977,11 @@ impl Writable for WriteBatch { ...@@ -975,11 +977,11 @@ impl Writable for WriteBatch {
fn merge_cf(&self, cf: &CFHandle, key: &[u8], value: &[u8]) -> Result<(), String> { fn merge_cf(&self, cf: &CFHandle, key: &[u8], value: &[u8]) -> Result<(), String> {
unsafe { unsafe {
crocksdb_ffi::crocksdb_writebatch_merge_cf(self.inner, crocksdb_ffi::crocksdb_writebatch_merge_cf(self.inner,
cf.inner, cf.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t, key.len() as size_t,
value.as_ptr(), value.as_ptr(),
value.len() as size_t); value.len() as size_t);
Ok(()) Ok(())
} }
} }
...@@ -994,9 +996,9 @@ impl Writable for WriteBatch { ...@@ -994,9 +996,9 @@ impl Writable for WriteBatch {
fn delete_cf(&self, cf: &CFHandle, key: &[u8]) -> Result<(), String> { fn delete_cf(&self, cf: &CFHandle, key: &[u8]) -> Result<(), String> {
unsafe { unsafe {
crocksdb_ffi::crocksdb_writebatch_delete_cf(self.inner, crocksdb_ffi::crocksdb_writebatch_delete_cf(self.inner,
cf.inner, cf.inner,
key.as_ptr(), key.as_ptr(),
key.len() as size_t); key.len() as size_t);
Ok(()) Ok(())
} }
} }
......
...@@ -15,13 +15,13 @@ ...@@ -15,13 +15,13 @@
use compaction_filter::{CompactionFilter, new_compaction_filter, CompactionFilterHandle}; use compaction_filter::{CompactionFilter, new_compaction_filter, CompactionFilterHandle};
use comparator::{self, ComparatorCallback, compare_callback}; use comparator::{self, ComparatorCallback, compare_callback};
use crocksdb_ffi::{self, DBOptions, DBWriteOptions, DBBlockBasedTableOptions, DBReadOptions,
DBRestoreOptions, DBCompressionType, DBRecoveryMode, DBSnapshot, DBInstance,
DBFlushOptions};
use libc::{self, c_int, size_t, c_void}; use libc::{self, c_int, size_t, c_void};
use merge_operator::{self, MergeOperatorCallback, full_merge_callback, partial_merge_callback}; use merge_operator::{self, MergeOperatorCallback, full_merge_callback, partial_merge_callback};
use merge_operator::MergeFn; use merge_operator::MergeFn;
use crocksdb_ffi::{self, DBOptions, DBWriteOptions, DBBlockBasedTableOptions, DBReadOptions,
DBRestoreOptions, DBCompressionType, DBRecoveryMode, DBSnapshot, DBInstance,
DBFlushOptions};
use std::ffi::{CStr, CString}; use std::ffi::{CStr, CString};
use std::mem; use std::mem;
...@@ -154,8 +154,8 @@ impl ReadOptions { ...@@ -154,8 +154,8 @@ impl ReadOptions {
self.upper_bound = Vec::from(key); self.upper_bound = Vec::from(key);
unsafe { unsafe {
crocksdb_ffi::crocksdb_readoptions_set_iterate_upper_bound(self.inner, crocksdb_ffi::crocksdb_readoptions_set_iterate_upper_bound(self.inner,
self.upper_bound.as_ptr(), self.upper_bound.as_ptr(),
self.upper_bound.len()); self.upper_bound.len());
} }
} }
...@@ -247,7 +247,7 @@ impl Options { ...@@ -247,7 +247,7 @@ impl Options {
pub fn optimize_level_style_compaction(&mut self, memtable_memory_budget: i32) { pub fn optimize_level_style_compaction(&mut self, memtable_memory_budget: i32) {
unsafe { unsafe {
crocksdb_ffi::crocksdb_options_optimize_level_style_compaction(self.inner, crocksdb_ffi::crocksdb_options_optimize_level_style_compaction(self.inner,
memtable_memory_budget); memtable_memory_budget);
} }
} }
...@@ -277,10 +277,10 @@ impl Options { ...@@ -277,10 +277,10 @@ impl Options {
}; };
self.filter = Some(try!(new_compaction_filter(c_name, ignore_snapshots, filter))); self.filter = Some(try!(new_compaction_filter(c_name, ignore_snapshots, filter)));
crocksdb_ffi::crocksdb_options_set_compaction_filter(self.inner, crocksdb_ffi::crocksdb_options_set_compaction_filter(self.inner,
self.filter self.filter
.as_ref() .as_ref()
.unwrap() .unwrap()
.inner); .inner);
Ok(()) Ok(())
} }
} }
...@@ -300,8 +300,8 @@ impl Options { ...@@ -300,8 +300,8 @@ impl Options {
pub fn compression_per_level(&mut self, level_types: &[DBCompressionType]) { pub fn compression_per_level(&mut self, level_types: &[DBCompressionType]) {
unsafe { unsafe {
crocksdb_ffi::crocksdb_options_set_compression_per_level(self.inner, crocksdb_ffi::crocksdb_options_set_compression_per_level(self.inner,
level_types.as_ptr(), level_types.as_ptr(),
level_types.len() as size_t) level_types.len() as size_t)
} }
} }
...@@ -312,12 +312,13 @@ impl Options { ...@@ -312,12 +312,13 @@ impl Options {
}); });
unsafe { unsafe {
let mo = crocksdb_ffi::crocksdb_mergeoperator_create(mem::transmute(cb), let mo =
merge_operator::destructor_callback, crocksdb_ffi::crocksdb_mergeoperator_create(mem::transmute(cb),
full_merge_callback, merge_operator::destructor_callback,
partial_merge_callback, full_merge_callback,
None, partial_merge_callback,
merge_operator::name_callback); None,
merge_operator::name_callback);
crocksdb_ffi::crocksdb_options_set_merge_operator(self.inner, mo); crocksdb_ffi::crocksdb_options_set_merge_operator(self.inner, mo);
} }
} }
...@@ -330,9 +331,9 @@ impl Options { ...@@ -330,9 +331,9 @@ impl Options {
unsafe { unsafe {
let cmp = crocksdb_ffi::crocksdb_comparator_create(mem::transmute(cb), let cmp = crocksdb_ffi::crocksdb_comparator_create(mem::transmute(cb),
comparator::destructor_callback, comparator::destructor_callback,
compare_callback, compare_callback,
comparator::name_callback); comparator::name_callback);
crocksdb_ffi::crocksdb_options_set_comparator(self.inner, cmp); crocksdb_ffi::crocksdb_options_set_comparator(self.inner, cmp);
} }
} }
...@@ -432,7 +433,8 @@ impl Options { ...@@ -432,7 +433,8 @@ impl Options {
pub fn set_min_write_buffer_number_to_merge(&mut self, to_merge: c_int) { pub fn set_min_write_buffer_number_to_merge(&mut self, to_merge: c_int) {
unsafe { unsafe {
crocksdb_ffi::crocksdb_options_set_min_write_buffer_number_to_merge(self.inner, to_merge); crocksdb_ffi::crocksdb_options_set_min_write_buffer_number_to_merge(self.inner,
to_merge);
} }
} }
...@@ -600,7 +602,7 @@ impl RestoreOptions { ...@@ -600,7 +602,7 @@ impl RestoreOptions {
pub fn set_keep_log_files(&mut self, flag: bool) { pub fn set_keep_log_files(&mut self, flag: bool) {
unsafe { unsafe {
crocksdb_ffi::crocksdb_restore_options_set_keep_log_files(self.inner, crocksdb_ffi::crocksdb_restore_options_set_keep_log_files(self.inner,
if flag { 1 } else { 0 }) if flag { 1 } else { 0 })
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment