Add getters for options to the C API (#7094)

Summary:
Along with https://github.com/facebook/rocksdb/issues/6925 and https://github.com/facebook/rocksdb/issues/6998, this should add getters for all Options fields except several ones with non-trivial interface (for example rocksdb_options_set_min_level_to_compress).

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7094

Reviewed By: riversand963

Differential Revision: D22479800

Pulled By: pdillinger

fbshipit-source-id: d14f305e12cfe268d07e0fe229d55cef299c792a
main
Stanislav Tkach 4 years ago committed by Facebook GitHub Bot
parent 1a8ca6688a
commit 393e486e3e
  1. 120
      db/c.cc
  2. 238
      db/c_test.c
  3. 54
      include/rocksdb/c.h

@ -2459,6 +2459,10 @@ void rocksdb_options_set_max_compaction_bytes(rocksdb_options_t* opt,
opt->rep.max_compaction_bytes = n; opt->rep.max_compaction_bytes = n;
} }
uint64_t rocksdb_options_get_max_compaction_bytes(rocksdb_options_t* opt) {
return opt->rep.max_compaction_bytes;
}
void rocksdb_options_set_max_bytes_for_level_multiplier_additional( void rocksdb_options_set_max_bytes_for_level_multiplier_additional(
rocksdb_options_t* opt, int* level_values, size_t num_levels) { rocksdb_options_t* opt, int* level_values, size_t num_levels) {
opt->rep.max_bytes_for_level_multiplier_additional.resize(num_levels); opt->rep.max_bytes_for_level_multiplier_additional.resize(num_levels);
@ -2534,14 +2538,26 @@ void rocksdb_options_set_wal_recovery_mode(rocksdb_options_t* opt,int mode) {
opt->rep.wal_recovery_mode = static_cast<WALRecoveryMode>(mode); opt->rep.wal_recovery_mode = static_cast<WALRecoveryMode>(mode);
} }
int rocksdb_options_get_wal_recovery_mode(rocksdb_options_t* opt) {
return static_cast<int>(opt->rep.wal_recovery_mode);
}
void rocksdb_options_set_compression(rocksdb_options_t* opt, int t) { void rocksdb_options_set_compression(rocksdb_options_t* opt, int t) {
opt->rep.compression = static_cast<CompressionType>(t); opt->rep.compression = static_cast<CompressionType>(t);
} }
int rocksdb_options_get_compression(rocksdb_options_t* opt) {
return opt->rep.compression;
}
void rocksdb_options_set_bottommost_compression(rocksdb_options_t* opt, int t) { void rocksdb_options_set_bottommost_compression(rocksdb_options_t* opt, int t) {
opt->rep.bottommost_compression = static_cast<CompressionType>(t); opt->rep.bottommost_compression = static_cast<CompressionType>(t);
} }
int rocksdb_options_get_bottommost_compression(rocksdb_options_t* opt) {
return opt->rep.bottommost_compression;
}
void rocksdb_options_set_compression_per_level(rocksdb_options_t* opt, void rocksdb_options_set_compression_per_level(rocksdb_options_t* opt,
int* level_values, int* level_values,
size_t num_levels) { size_t num_levels) {
@ -2690,16 +2706,30 @@ void rocksdb_options_set_skip_log_error_on_recovery(
opt->rep.skip_log_error_on_recovery = v; opt->rep.skip_log_error_on_recovery = v;
} }
unsigned char rocksdb_options_get_skip_log_error_on_recovery(
rocksdb_options_t* opt) {
return opt->rep.skip_log_error_on_recovery;
}
void rocksdb_options_set_stats_dump_period_sec( void rocksdb_options_set_stats_dump_period_sec(
rocksdb_options_t* opt, unsigned int v) { rocksdb_options_t* opt, unsigned int v) {
opt->rep.stats_dump_period_sec = v; opt->rep.stats_dump_period_sec = v;
} }
unsigned int rocksdb_options_get_stats_dump_period_sec(rocksdb_options_t* opt) {
return opt->rep.stats_dump_period_sec;
}
void rocksdb_options_set_advise_random_on_open( void rocksdb_options_set_advise_random_on_open(
rocksdb_options_t* opt, unsigned char v) { rocksdb_options_t* opt, unsigned char v) {
opt->rep.advise_random_on_open = v; opt->rep.advise_random_on_open = v;
} }
unsigned char rocksdb_options_get_advise_random_on_open(
rocksdb_options_t* opt) {
return opt->rep.advise_random_on_open;
}
void rocksdb_options_set_access_hint_on_compaction_start( void rocksdb_options_set_access_hint_on_compaction_start(
rocksdb_options_t* opt, int v) { rocksdb_options_t* opt, int v) {
switch(v) { switch(v) {
@ -2722,41 +2752,78 @@ void rocksdb_options_set_access_hint_on_compaction_start(
} }
} }
int rocksdb_options_get_access_hint_on_compaction_start(
rocksdb_options_t* opt) {
return opt->rep.access_hint_on_compaction_start;
}
void rocksdb_options_set_use_adaptive_mutex( void rocksdb_options_set_use_adaptive_mutex(
rocksdb_options_t* opt, unsigned char v) { rocksdb_options_t* opt, unsigned char v) {
opt->rep.use_adaptive_mutex = v; opt->rep.use_adaptive_mutex = v;
} }
unsigned char rocksdb_options_get_use_adaptive_mutex(rocksdb_options_t* opt) {
return opt->rep.use_adaptive_mutex;
}
void rocksdb_options_set_wal_bytes_per_sync( void rocksdb_options_set_wal_bytes_per_sync(
rocksdb_options_t* opt, uint64_t v) { rocksdb_options_t* opt, uint64_t v) {
opt->rep.wal_bytes_per_sync = v; opt->rep.wal_bytes_per_sync = v;
} }
uint64_t rocksdb_options_get_wal_bytes_per_sync(rocksdb_options_t* opt) {
return opt->rep.wal_bytes_per_sync;
}
void rocksdb_options_set_bytes_per_sync( void rocksdb_options_set_bytes_per_sync(
rocksdb_options_t* opt, uint64_t v) { rocksdb_options_t* opt, uint64_t v) {
opt->rep.bytes_per_sync = v; opt->rep.bytes_per_sync = v;
} }
uint64_t rocksdb_options_get_bytes_per_sync(rocksdb_options_t* opt) {
return opt->rep.bytes_per_sync;
}
void rocksdb_options_set_writable_file_max_buffer_size(rocksdb_options_t* opt, void rocksdb_options_set_writable_file_max_buffer_size(rocksdb_options_t* opt,
uint64_t v) { uint64_t v) {
opt->rep.writable_file_max_buffer_size = static_cast<size_t>(v); opt->rep.writable_file_max_buffer_size = static_cast<size_t>(v);
} }
uint64_t rocksdb_options_get_writable_file_max_buffer_size(
rocksdb_options_t* opt) {
return opt->rep.writable_file_max_buffer_size;
}
void rocksdb_options_set_allow_concurrent_memtable_write(rocksdb_options_t* opt, void rocksdb_options_set_allow_concurrent_memtable_write(rocksdb_options_t* opt,
unsigned char v) { unsigned char v) {
opt->rep.allow_concurrent_memtable_write = v; opt->rep.allow_concurrent_memtable_write = v;
} }
unsigned char rocksdb_options_get_allow_concurrent_memtable_write(
rocksdb_options_t* opt) {
return opt->rep.allow_concurrent_memtable_write;
}
void rocksdb_options_set_enable_write_thread_adaptive_yield( void rocksdb_options_set_enable_write_thread_adaptive_yield(
rocksdb_options_t* opt, unsigned char v) { rocksdb_options_t* opt, unsigned char v) {
opt->rep.enable_write_thread_adaptive_yield = v; opt->rep.enable_write_thread_adaptive_yield = v;
} }
unsigned char rocksdb_options_get_enable_write_thread_adaptive_yield(
rocksdb_options_t* opt) {
return opt->rep.enable_write_thread_adaptive_yield;
}
void rocksdb_options_set_max_sequential_skip_in_iterations( void rocksdb_options_set_max_sequential_skip_in_iterations(
rocksdb_options_t* opt, uint64_t v) { rocksdb_options_t* opt, uint64_t v) {
opt->rep.max_sequential_skip_in_iterations = v; opt->rep.max_sequential_skip_in_iterations = v;
} }
uint64_t rocksdb_options_get_max_sequential_skip_in_iterations(
rocksdb_options_t* opt) {
return opt->rep.max_sequential_skip_in_iterations;
}
void rocksdb_options_set_max_write_buffer_number(rocksdb_options_t* opt, int n) { void rocksdb_options_set_max_write_buffer_number(rocksdb_options_t* opt, int n) {
opt->rep.max_write_buffer_number = n; opt->rep.max_write_buffer_number = n;
} }
@ -2968,15 +3035,30 @@ void rocksdb_options_set_disable_auto_compactions(rocksdb_options_t* opt, int di
opt->rep.disable_auto_compactions = disable; opt->rep.disable_auto_compactions = disable;
} }
unsigned char rocksdb_options_get_disable_auto_compactions(
rocksdb_options_t* opt) {
return opt->rep.disable_auto_compactions;
}
void rocksdb_options_set_optimize_filters_for_hits(rocksdb_options_t* opt, int v) { void rocksdb_options_set_optimize_filters_for_hits(rocksdb_options_t* opt, int v) {
opt->rep.optimize_filters_for_hits = v; opt->rep.optimize_filters_for_hits = v;
} }
unsigned char rocksdb_options_get_optimize_filters_for_hits(
rocksdb_options_t* opt) {
return opt->rep.optimize_filters_for_hits;
}
void rocksdb_options_set_delete_obsolete_files_period_micros( void rocksdb_options_set_delete_obsolete_files_period_micros(
rocksdb_options_t* opt, uint64_t v) { rocksdb_options_t* opt, uint64_t v) {
opt->rep.delete_obsolete_files_period_micros = v; opt->rep.delete_obsolete_files_period_micros = v;
} }
uint64_t rocksdb_options_get_delete_obsolete_files_period_micros(
rocksdb_options_t* opt) {
return opt->rep.delete_obsolete_files_period_micros;
}
void rocksdb_options_prepare_for_bulk_load(rocksdb_options_t* opt) { void rocksdb_options_prepare_for_bulk_load(rocksdb_options_t* opt) {
opt->rep.PrepareForBulkLoad(); opt->rep.PrepareForBulkLoad();
} }
@ -2990,11 +3072,20 @@ void rocksdb_options_set_memtable_prefix_bloom_size_ratio(
opt->rep.memtable_prefix_bloom_size_ratio = v; opt->rep.memtable_prefix_bloom_size_ratio = v;
} }
double rocksdb_options_get_memtable_prefix_bloom_size_ratio(
rocksdb_options_t* opt) {
return opt->rep.memtable_prefix_bloom_size_ratio;
}
void rocksdb_options_set_memtable_huge_page_size(rocksdb_options_t* opt, void rocksdb_options_set_memtable_huge_page_size(rocksdb_options_t* opt,
size_t v) { size_t v) {
opt->rep.memtable_huge_page_size = v; opt->rep.memtable_huge_page_size = v;
} }
size_t rocksdb_options_get_memtable_huge_page_size(rocksdb_options_t* opt) {
return opt->rep.memtable_huge_page_size;
}
void rocksdb_options_set_hash_skip_list_rep( void rocksdb_options_set_hash_skip_list_rep(
rocksdb_options_t *opt, size_t bucket_count, rocksdb_options_t *opt, size_t bucket_count,
int32_t skiplist_height, int32_t skiplist_branching_factor) { int32_t skiplist_height, int32_t skiplist_branching_factor) {
@ -3029,31 +3120,56 @@ void rocksdb_options_set_max_successive_merges(
opt->rep.max_successive_merges = v; opt->rep.max_successive_merges = v;
} }
size_t rocksdb_options_get_max_successive_merges(rocksdb_options_t* opt) {
return opt->rep.max_successive_merges;
}
void rocksdb_options_set_bloom_locality( void rocksdb_options_set_bloom_locality(
rocksdb_options_t* opt, uint32_t v) { rocksdb_options_t* opt, uint32_t v) {
opt->rep.bloom_locality = v; opt->rep.bloom_locality = v;
} }
uint32_t rocksdb_options_get_bloom_locality(rocksdb_options_t* opt) {
return opt->rep.bloom_locality;
}
void rocksdb_options_set_inplace_update_support( void rocksdb_options_set_inplace_update_support(
rocksdb_options_t* opt, unsigned char v) { rocksdb_options_t* opt, unsigned char v) {
opt->rep.inplace_update_support = v; opt->rep.inplace_update_support = v;
} }
unsigned char rocksdb_options_get_inplace_update_support(
rocksdb_options_t* opt) {
return opt->rep.inplace_update_support;
}
void rocksdb_options_set_inplace_update_num_locks( void rocksdb_options_set_inplace_update_num_locks(
rocksdb_options_t* opt, size_t v) { rocksdb_options_t* opt, size_t v) {
opt->rep.inplace_update_num_locks = v; opt->rep.inplace_update_num_locks = v;
} }
size_t rocksdb_options_get_inplace_update_num_locks(rocksdb_options_t* opt) {
return opt->rep.inplace_update_num_locks;
}
void rocksdb_options_set_report_bg_io_stats( void rocksdb_options_set_report_bg_io_stats(
rocksdb_options_t* opt, int v) { rocksdb_options_t* opt, int v) {
opt->rep.report_bg_io_stats = v; opt->rep.report_bg_io_stats = v;
} }
unsigned char rocksdb_options_get_report_bg_io_stats(rocksdb_options_t* opt) {
return opt->rep.report_bg_io_stats;
}
void rocksdb_options_set_compaction_style(rocksdb_options_t *opt, int style) { void rocksdb_options_set_compaction_style(rocksdb_options_t *opt, int style) {
opt->rep.compaction_style = opt->rep.compaction_style =
static_cast<ROCKSDB_NAMESPACE::CompactionStyle>(style); static_cast<ROCKSDB_NAMESPACE::CompactionStyle>(style);
} }
int rocksdb_options_get_compaction_style(rocksdb_options_t* opt) {
return opt->rep.compaction_style;
}
void rocksdb_options_set_universal_compaction_options(rocksdb_options_t *opt, rocksdb_universal_compaction_options_t *uco) { void rocksdb_options_set_universal_compaction_options(rocksdb_options_t *opt, rocksdb_universal_compaction_options_t *uco) {
opt->rep.compaction_options_universal = *(uco->rep); opt->rep.compaction_options_universal = *(uco->rep);
} }
@ -3083,6 +3199,10 @@ void rocksdb_options_set_atomic_flush(rocksdb_options_t* opt,
opt->rep.atomic_flush = atomic_flush; opt->rep.atomic_flush = atomic_flush;
} }
unsigned char rocksdb_options_get_atomic_flush(rocksdb_options_t* opt) {
return opt->rep.atomic_flush;
}
rocksdb_ratelimiter_t* rocksdb_ratelimiter_create( rocksdb_ratelimiter_t* rocksdb_ratelimiter_create(
int64_t rate_bytes_per_sec, int64_t rate_bytes_per_sec,
int64_t refill_period_us, int64_t refill_period_us,

@ -1666,6 +1666,91 @@ int main(int argc, char** argv) {
rocksdb_options_set_is_fd_close_on_exec(o, 1); rocksdb_options_set_is_fd_close_on_exec(o, 1);
CheckCondition(1 == rocksdb_options_get_is_fd_close_on_exec(o)); CheckCondition(1 == rocksdb_options_get_is_fd_close_on_exec(o));
rocksdb_options_set_skip_log_error_on_recovery(o, 1);
CheckCondition(1 == rocksdb_options_get_skip_log_error_on_recovery(o));
rocksdb_options_set_stats_dump_period_sec(o, 18);
CheckCondition(18 == rocksdb_options_get_stats_dump_period_sec(o));
rocksdb_options_set_advise_random_on_open(o, 1);
CheckCondition(1 == rocksdb_options_get_advise_random_on_open(o));
rocksdb_options_set_access_hint_on_compaction_start(o, 3);
CheckCondition(3 == rocksdb_options_get_access_hint_on_compaction_start(o));
rocksdb_options_set_use_adaptive_mutex(o, 1);
CheckCondition(1 == rocksdb_options_get_use_adaptive_mutex(o));
rocksdb_options_set_bytes_per_sync(o, 19);
CheckCondition(19 == rocksdb_options_get_bytes_per_sync(o));
rocksdb_options_set_wal_bytes_per_sync(o, 20);
CheckCondition(20 == rocksdb_options_get_wal_bytes_per_sync(o));
rocksdb_options_set_writable_file_max_buffer_size(o, 21);
CheckCondition(21 == rocksdb_options_get_writable_file_max_buffer_size(o));
rocksdb_options_set_allow_concurrent_memtable_write(o, 1);
CheckCondition(1 == rocksdb_options_get_allow_concurrent_memtable_write(o));
rocksdb_options_set_enable_write_thread_adaptive_yield(o, 1);
CheckCondition(1 ==
rocksdb_options_get_enable_write_thread_adaptive_yield(o));
rocksdb_options_set_max_sequential_skip_in_iterations(o, 22);
CheckCondition(22 ==
rocksdb_options_get_max_sequential_skip_in_iterations(o));
rocksdb_options_set_disable_auto_compactions(o, 1);
CheckCondition(1 == rocksdb_options_get_disable_auto_compactions(o));
rocksdb_options_set_optimize_filters_for_hits(o, 1);
CheckCondition(1 == rocksdb_options_get_optimize_filters_for_hits(o));
rocksdb_options_set_delete_obsolete_files_period_micros(o, 23);
CheckCondition(23 ==
rocksdb_options_get_delete_obsolete_files_period_micros(o));
rocksdb_options_set_memtable_prefix_bloom_size_ratio(o, 2.0);
CheckCondition(2.0 ==
rocksdb_options_get_memtable_prefix_bloom_size_ratio(o));
rocksdb_options_set_max_compaction_bytes(o, 24);
CheckCondition(24 == rocksdb_options_get_max_compaction_bytes(o));
rocksdb_options_set_memtable_huge_page_size(o, 25);
CheckCondition(25 == rocksdb_options_get_memtable_huge_page_size(o));
rocksdb_options_set_max_successive_merges(o, 26);
CheckCondition(26 == rocksdb_options_get_max_successive_merges(o));
rocksdb_options_set_bloom_locality(o, 27);
CheckCondition(27 == rocksdb_options_get_bloom_locality(o));
rocksdb_options_set_inplace_update_support(o, 1);
CheckCondition(1 == rocksdb_options_get_inplace_update_support(o));
rocksdb_options_set_inplace_update_num_locks(o, 28);
CheckCondition(28 == rocksdb_options_get_inplace_update_num_locks(o));
rocksdb_options_set_report_bg_io_stats(o, 1);
CheckCondition(1 == rocksdb_options_get_report_bg_io_stats(o));
rocksdb_options_set_wal_recovery_mode(o, 2);
CheckCondition(2 == rocksdb_options_get_wal_recovery_mode(o));
rocksdb_options_set_compression(o, 5);
CheckCondition(5 == rocksdb_options_get_compression(o));
rocksdb_options_set_bottommost_compression(o, 4);
CheckCondition(4 == rocksdb_options_get_bottommost_compression(o));
rocksdb_options_set_compaction_style(o, 2);
CheckCondition(2 == rocksdb_options_get_compaction_style(o));
rocksdb_options_set_atomic_flush(o, 1);
CheckCondition(1 == rocksdb_options_get_atomic_flush(o));
// Create a copy that should be equal to the original. // Create a copy that should be equal to the original.
rocksdb_options_t* copy; rocksdb_options_t* copy;
copy = rocksdb_options_create_copy(o); copy = rocksdb_options_create_copy(o);
@ -1738,6 +1823,40 @@ int main(int argc, char** argv) {
CheckCondition( CheckCondition(
1 == rocksdb_options_get_use_direct_io_for_flush_and_compaction(copy)); 1 == rocksdb_options_get_use_direct_io_for_flush_and_compaction(copy));
CheckCondition(1 == rocksdb_options_get_is_fd_close_on_exec(copy)); CheckCondition(1 == rocksdb_options_get_is_fd_close_on_exec(copy));
CheckCondition(1 == rocksdb_options_get_skip_log_error_on_recovery(copy));
CheckCondition(18 == rocksdb_options_get_stats_dump_period_sec(copy));
CheckCondition(1 == rocksdb_options_get_advise_random_on_open(copy));
CheckCondition(3 ==
rocksdb_options_get_access_hint_on_compaction_start(copy));
CheckCondition(1 == rocksdb_options_get_use_adaptive_mutex(copy));
CheckCondition(19 == rocksdb_options_get_bytes_per_sync(copy));
CheckCondition(20 == rocksdb_options_get_wal_bytes_per_sync(copy));
CheckCondition(21 ==
rocksdb_options_get_writable_file_max_buffer_size(copy));
CheckCondition(1 ==
rocksdb_options_get_allow_concurrent_memtable_write(copy));
CheckCondition(
1 == rocksdb_options_get_enable_write_thread_adaptive_yield(copy));
CheckCondition(22 ==
rocksdb_options_get_max_sequential_skip_in_iterations(copy));
CheckCondition(1 == rocksdb_options_get_disable_auto_compactions(copy));
CheckCondition(1 == rocksdb_options_get_optimize_filters_for_hits(copy));
CheckCondition(
23 == rocksdb_options_get_delete_obsolete_files_period_micros(copy));
CheckCondition(2.0 ==
rocksdb_options_get_memtable_prefix_bloom_size_ratio(copy));
CheckCondition(24 == rocksdb_options_get_max_compaction_bytes(copy));
CheckCondition(25 == rocksdb_options_get_memtable_huge_page_size(copy));
CheckCondition(26 == rocksdb_options_get_max_successive_merges(copy));
CheckCondition(27 == rocksdb_options_get_bloom_locality(copy));
CheckCondition(1 == rocksdb_options_get_inplace_update_support(copy));
CheckCondition(28 == rocksdb_options_get_inplace_update_num_locks(copy));
CheckCondition(1 == rocksdb_options_get_report_bg_io_stats(copy));
CheckCondition(2 == rocksdb_options_get_wal_recovery_mode(copy));
CheckCondition(5 == rocksdb_options_get_compression(copy));
CheckCondition(4 == rocksdb_options_get_bottommost_compression(copy));
CheckCondition(2 == rocksdb_options_get_compaction_style(copy));
CheckCondition(1 == rocksdb_options_get_atomic_flush(copy));
// Copies should be independent. // Copies should be independent.
rocksdb_options_set_allow_ingest_behind(copy, 0); rocksdb_options_set_allow_ingest_behind(copy, 0);
@ -1985,6 +2104,125 @@ int main(int argc, char** argv) {
CheckCondition(0 == rocksdb_options_get_is_fd_close_on_exec(copy)); CheckCondition(0 == rocksdb_options_get_is_fd_close_on_exec(copy));
CheckCondition(1 == rocksdb_options_get_is_fd_close_on_exec(o)); CheckCondition(1 == rocksdb_options_get_is_fd_close_on_exec(o));
rocksdb_options_set_skip_log_error_on_recovery(copy, 0);
CheckCondition(0 == rocksdb_options_get_skip_log_error_on_recovery(copy));
CheckCondition(1 == rocksdb_options_get_skip_log_error_on_recovery(o));
rocksdb_options_set_stats_dump_period_sec(copy, 218);
CheckCondition(218 == rocksdb_options_get_stats_dump_period_sec(copy));
CheckCondition(18 == rocksdb_options_get_stats_dump_period_sec(o));
rocksdb_options_set_advise_random_on_open(copy, 0);
CheckCondition(0 == rocksdb_options_get_advise_random_on_open(copy));
CheckCondition(1 == rocksdb_options_get_advise_random_on_open(o));
rocksdb_options_set_access_hint_on_compaction_start(copy, 2);
CheckCondition(2 ==
rocksdb_options_get_access_hint_on_compaction_start(copy));
CheckCondition(3 == rocksdb_options_get_access_hint_on_compaction_start(o));
rocksdb_options_set_use_adaptive_mutex(copy, 0);
CheckCondition(0 == rocksdb_options_get_use_adaptive_mutex(copy));
CheckCondition(1 == rocksdb_options_get_use_adaptive_mutex(o));
rocksdb_options_set_bytes_per_sync(copy, 219);
CheckCondition(219 == rocksdb_options_get_bytes_per_sync(copy));
CheckCondition(19 == rocksdb_options_get_bytes_per_sync(o));
rocksdb_options_set_wal_bytes_per_sync(copy, 120);
CheckCondition(120 == rocksdb_options_get_wal_bytes_per_sync(copy));
CheckCondition(20 == rocksdb_options_get_wal_bytes_per_sync(o));
rocksdb_options_set_writable_file_max_buffer_size(copy, 121);
CheckCondition(121 ==
rocksdb_options_get_writable_file_max_buffer_size(copy));
CheckCondition(21 == rocksdb_options_get_writable_file_max_buffer_size(o));
rocksdb_options_set_allow_concurrent_memtable_write(copy, 0);
CheckCondition(0 ==
rocksdb_options_get_allow_concurrent_memtable_write(copy));
CheckCondition(1 == rocksdb_options_get_allow_concurrent_memtable_write(o));
rocksdb_options_set_enable_write_thread_adaptive_yield(copy, 0);
CheckCondition(
0 == rocksdb_options_get_enable_write_thread_adaptive_yield(copy));
CheckCondition(1 ==
rocksdb_options_get_enable_write_thread_adaptive_yield(o));
rocksdb_options_set_max_sequential_skip_in_iterations(copy, 122);
CheckCondition(122 ==
rocksdb_options_get_max_sequential_skip_in_iterations(copy));
CheckCondition(22 ==
rocksdb_options_get_max_sequential_skip_in_iterations(o));
rocksdb_options_set_disable_auto_compactions(copy, 0);
CheckCondition(0 == rocksdb_options_get_disable_auto_compactions(copy));
CheckCondition(1 == rocksdb_options_get_disable_auto_compactions(o));
rocksdb_options_set_optimize_filters_for_hits(copy, 0);
CheckCondition(0 == rocksdb_options_get_optimize_filters_for_hits(copy));
CheckCondition(1 == rocksdb_options_get_optimize_filters_for_hits(o));
rocksdb_options_set_delete_obsolete_files_period_micros(copy, 123);
CheckCondition(
123 == rocksdb_options_get_delete_obsolete_files_period_micros(copy));
CheckCondition(23 ==
rocksdb_options_get_delete_obsolete_files_period_micros(o));
rocksdb_options_set_memtable_prefix_bloom_size_ratio(copy, 4.0);
CheckCondition(4.0 ==
rocksdb_options_get_memtable_prefix_bloom_size_ratio(copy));
CheckCondition(2.0 ==
rocksdb_options_get_memtable_prefix_bloom_size_ratio(o));
rocksdb_options_set_max_compaction_bytes(copy, 124);
CheckCondition(124 == rocksdb_options_get_max_compaction_bytes(copy));
CheckCondition(24 == rocksdb_options_get_max_compaction_bytes(o));
rocksdb_options_set_memtable_huge_page_size(copy, 125);
CheckCondition(125 == rocksdb_options_get_memtable_huge_page_size(copy));
CheckCondition(25 == rocksdb_options_get_memtable_huge_page_size(o));
rocksdb_options_set_max_successive_merges(copy, 126);
CheckCondition(126 == rocksdb_options_get_max_successive_merges(copy));
CheckCondition(26 == rocksdb_options_get_max_successive_merges(o));
rocksdb_options_set_bloom_locality(copy, 127);
CheckCondition(127 == rocksdb_options_get_bloom_locality(copy));
CheckCondition(27 == rocksdb_options_get_bloom_locality(o));
rocksdb_options_set_inplace_update_support(copy, 0);
CheckCondition(0 == rocksdb_options_get_inplace_update_support(copy));
CheckCondition(1 == rocksdb_options_get_inplace_update_support(o));
rocksdb_options_set_inplace_update_num_locks(copy, 128);
CheckCondition(128 == rocksdb_options_get_inplace_update_num_locks(copy));
CheckCondition(28 == rocksdb_options_get_inplace_update_num_locks(o));
rocksdb_options_set_report_bg_io_stats(copy, 0);
CheckCondition(0 == rocksdb_options_get_report_bg_io_stats(copy));
CheckCondition(1 == rocksdb_options_get_report_bg_io_stats(o));
rocksdb_options_set_wal_recovery_mode(copy, 1);
CheckCondition(1 == rocksdb_options_get_wal_recovery_mode(copy));
CheckCondition(2 == rocksdb_options_get_wal_recovery_mode(o));
rocksdb_options_set_compression(copy, 4);
CheckCondition(4 == rocksdb_options_get_compression(copy));
CheckCondition(5 == rocksdb_options_get_compression(o));
rocksdb_options_set_bottommost_compression(copy, 3);
CheckCondition(3 == rocksdb_options_get_bottommost_compression(copy));
CheckCondition(4 == rocksdb_options_get_bottommost_compression(o));
rocksdb_options_set_compaction_style(copy, 1);
CheckCondition(1 == rocksdb_options_get_compaction_style(copy));
CheckCondition(2 == rocksdb_options_get_compaction_style(o));
rocksdb_options_set_atomic_flush(copy, 0);
CheckCondition(0 == rocksdb_options_get_atomic_flush(copy));
CheckCondition(1 == rocksdb_options_get_atomic_flush(o));
rocksdb_options_destroy(copy); rocksdb_options_destroy(copy);
rocksdb_options_destroy(o); rocksdb_options_destroy(o);
} }

@ -1098,44 +1098,76 @@ extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_is_fd_close_on_exec(rocksdb_options_t*); rocksdb_options_get_is_fd_close_on_exec(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_skip_log_error_on_recovery( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_skip_log_error_on_recovery(
rocksdb_options_t*, unsigned char); rocksdb_options_t*, unsigned char);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_skip_log_error_on_recovery(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_stats_dump_period_sec( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_stats_dump_period_sec(
rocksdb_options_t*, unsigned int); rocksdb_options_t*, unsigned int);
extern ROCKSDB_LIBRARY_API unsigned int
rocksdb_options_get_stats_dump_period_sec(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_advise_random_on_open( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_advise_random_on_open(
rocksdb_options_t*, unsigned char); rocksdb_options_t*, unsigned char);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_advise_random_on_open(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_access_hint_on_compaction_start(rocksdb_options_t*, int); rocksdb_options_set_access_hint_on_compaction_start(rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API int
rocksdb_options_get_access_hint_on_compaction_start(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_use_adaptive_mutex( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_use_adaptive_mutex(
rocksdb_options_t*, unsigned char); rocksdb_options_t*, unsigned char);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_use_adaptive_mutex(
rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_bytes_per_sync( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_bytes_per_sync(
rocksdb_options_t*, uint64_t); rocksdb_options_t*, uint64_t);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_bytes_per_sync(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_bytes_per_sync( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_bytes_per_sync(
rocksdb_options_t*, uint64_t); rocksdb_options_t*, uint64_t);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_wal_bytes_per_sync(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_writable_file_max_buffer_size(rocksdb_options_t*, uint64_t); rocksdb_options_set_writable_file_max_buffer_size(rocksdb_options_t*, uint64_t);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_writable_file_max_buffer_size(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_allow_concurrent_memtable_write(rocksdb_options_t*, rocksdb_options_set_allow_concurrent_memtable_write(rocksdb_options_t*,
unsigned char); unsigned char);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_allow_concurrent_memtable_write(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_enable_write_thread_adaptive_yield(rocksdb_options_t*, rocksdb_options_set_enable_write_thread_adaptive_yield(rocksdb_options_t*,
unsigned char); unsigned char);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enable_write_thread_adaptive_yield(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_max_sequential_skip_in_iterations(rocksdb_options_t*, rocksdb_options_set_max_sequential_skip_in_iterations(rocksdb_options_t*,
uint64_t); uint64_t);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_max_sequential_skip_in_iterations(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_disable_auto_compactions( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_disable_auto_compactions(
rocksdb_options_t*, int); rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_disable_auto_compactions(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_optimize_filters_for_hits( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_optimize_filters_for_hits(
rocksdb_options_t*, int); rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_optimize_filters_for_hits(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_delete_obsolete_files_period_micros(rocksdb_options_t*, rocksdb_options_set_delete_obsolete_files_period_micros(rocksdb_options_t*,
uint64_t); uint64_t);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_delete_obsolete_files_period_micros(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_prepare_for_bulk_load( extern ROCKSDB_LIBRARY_API void rocksdb_options_prepare_for_bulk_load(
rocksdb_options_t*); rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_memtable_vector_rep( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_memtable_vector_rep(
rocksdb_options_t*); rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_memtable_prefix_bloom_size_ratio( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_memtable_prefix_bloom_size_ratio(
rocksdb_options_t*, double); rocksdb_options_t*, double);
extern ROCKSDB_LIBRARY_API double
rocksdb_options_get_memtable_prefix_bloom_size_ratio(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_compaction_bytes( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_compaction_bytes(
rocksdb_options_t*, uint64_t); rocksdb_options_t*, uint64_t);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_max_compaction_bytes(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_hash_skip_list_rep( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_hash_skip_list_rep(
rocksdb_options_t*, size_t, int32_t, int32_t); rocksdb_options_t*, size_t, int32_t, int32_t);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_hash_link_list_rep( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_hash_link_list_rep(
@ -1148,17 +1180,29 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_min_level_to_compress(
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_memtable_huge_page_size( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_memtable_huge_page_size(
rocksdb_options_t*, size_t); rocksdb_options_t*, size_t);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_options_get_memtable_huge_page_size(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_successive_merges( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_successive_merges(
rocksdb_options_t*, size_t); rocksdb_options_t*, size_t);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_options_get_max_successive_merges(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_bloom_locality( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_bloom_locality(
rocksdb_options_t*, uint32_t); rocksdb_options_t*, uint32_t);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_bloom_locality(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_inplace_update_support( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_inplace_update_support(
rocksdb_options_t*, unsigned char); rocksdb_options_t*, unsigned char);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_inplace_update_support(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_inplace_update_num_locks( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_inplace_update_num_locks(
rocksdb_options_t*, size_t); rocksdb_options_t*, size_t);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_options_get_inplace_update_num_locks(rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_report_bg_io_stats( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_report_bg_io_stats(
rocksdb_options_t*, int); rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_report_bg_io_stats(
rocksdb_options_t*);
enum { enum {
rocksdb_tolerate_corrupted_tail_records_recovery = 0, rocksdb_tolerate_corrupted_tail_records_recovery = 0,
@ -1168,6 +1212,8 @@ enum {
}; };
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_recovery_mode( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_recovery_mode(
rocksdb_options_t*, int); rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_wal_recovery_mode(
rocksdb_options_t*);
enum { enum {
rocksdb_no_compression = 0, rocksdb_no_compression = 0,
@ -1181,8 +1227,12 @@ enum {
}; };
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_compression( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_compression(
rocksdb_options_t*, int); rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_compression(
rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_bottommost_compression( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_bottommost_compression(
rocksdb_options_t*, int); rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_bottommost_compression(
rocksdb_options_t*);
enum { enum {
rocksdb_level_compaction = 0, rocksdb_level_compaction = 0,
@ -1191,6 +1241,8 @@ enum {
}; };
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_compaction_style( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_compaction_style(
rocksdb_options_t*, int); rocksdb_options_t*, int);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_compaction_style(
rocksdb_options_t*);
extern ROCKSDB_LIBRARY_API void extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_universal_compaction_options( rocksdb_options_set_universal_compaction_options(
rocksdb_options_t*, rocksdb_universal_compaction_options_t*); rocksdb_options_t*, rocksdb_universal_compaction_options_t*);
@ -1200,6 +1252,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_ratelimiter(
rocksdb_options_t* opt, rocksdb_ratelimiter_t* limiter); rocksdb_options_t* opt, rocksdb_ratelimiter_t* limiter);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_atomic_flush( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_atomic_flush(
rocksdb_options_t* opt, unsigned char); rocksdb_options_t* opt, unsigned char);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_atomic_flush(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_row_cache( extern ROCKSDB_LIBRARY_API void rocksdb_options_set_row_cache(
rocksdb_options_t* opt, rocksdb_cache_t* cache rocksdb_options_t* opt, rocksdb_cache_t* cache

Loading…
Cancel
Save