Add getters to the C API for flush, write, cache and compact options (#7321)
Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/7321 Reviewed By: ajkr Differential Revision: D23590160 fbshipit-source-id: 35d106e732ac37f674222759cdb1dbb31e005ca7
This commit is contained in:
parent
e3149358a5
commit
5c39d8df69
55
db/c.cc
55
db/c.cc
@ -3809,33 +3809,61 @@ void rocksdb_writeoptions_set_sync(
|
||||
opt->rep.sync = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_writeoptions_get_sync(rocksdb_writeoptions_t* opt) {
|
||||
return opt->rep.sync;
|
||||
}
|
||||
|
||||
void rocksdb_writeoptions_disable_WAL(rocksdb_writeoptions_t* opt, int disable) {
|
||||
opt->rep.disableWAL = disable;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_writeoptions_get_disable_WAL(
|
||||
rocksdb_writeoptions_t* opt) {
|
||||
return opt->rep.disableWAL;
|
||||
}
|
||||
|
||||
void rocksdb_writeoptions_set_ignore_missing_column_families(
|
||||
rocksdb_writeoptions_t* opt,
|
||||
unsigned char v) {
|
||||
opt->rep.ignore_missing_column_families = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_writeoptions_get_ignore_missing_column_families(
|
||||
rocksdb_writeoptions_t* opt) {
|
||||
return opt->rep.ignore_missing_column_families;
|
||||
}
|
||||
|
||||
void rocksdb_writeoptions_set_no_slowdown(
|
||||
rocksdb_writeoptions_t* opt,
|
||||
unsigned char v) {
|
||||
opt->rep.no_slowdown = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_writeoptions_get_no_slowdown(
|
||||
rocksdb_writeoptions_t* opt) {
|
||||
return opt->rep.no_slowdown;
|
||||
}
|
||||
|
||||
void rocksdb_writeoptions_set_low_pri(
|
||||
rocksdb_writeoptions_t* opt,
|
||||
unsigned char v) {
|
||||
opt->rep.low_pri = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_writeoptions_get_low_pri(rocksdb_writeoptions_t* opt) {
|
||||
return opt->rep.low_pri;
|
||||
}
|
||||
|
||||
void rocksdb_writeoptions_set_memtable_insert_hint_per_batch(
|
||||
rocksdb_writeoptions_t* opt, unsigned char v) {
|
||||
opt->rep.memtable_insert_hint_per_batch = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_writeoptions_get_memtable_insert_hint_per_batch(
|
||||
rocksdb_writeoptions_t* opt) {
|
||||
return opt->rep.memtable_insert_hint_per_batch;
|
||||
}
|
||||
|
||||
rocksdb_compactoptions_t* rocksdb_compactoptions_create() {
|
||||
return new rocksdb_compactoptions_t;
|
||||
}
|
||||
@ -3849,21 +3877,40 @@ void rocksdb_compactoptions_set_bottommost_level_compaction(
|
||||
opt->rep.bottommost_level_compaction = static_cast<BottommostLevelCompaction>(v);
|
||||
}
|
||||
|
||||
unsigned char rocksdb_compactoptions_get_bottommost_level_compaction(
|
||||
rocksdb_compactoptions_t* opt) {
|
||||
return static_cast<unsigned char>(opt->rep.bottommost_level_compaction);
|
||||
}
|
||||
|
||||
void rocksdb_compactoptions_set_exclusive_manual_compaction(
|
||||
rocksdb_compactoptions_t* opt, unsigned char v) {
|
||||
opt->rep.exclusive_manual_compaction = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_compactoptions_get_exclusive_manual_compaction(
|
||||
rocksdb_compactoptions_t* opt) {
|
||||
return opt->rep.exclusive_manual_compaction;
|
||||
}
|
||||
|
||||
void rocksdb_compactoptions_set_change_level(rocksdb_compactoptions_t* opt,
|
||||
unsigned char v) {
|
||||
opt->rep.change_level = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_compactoptions_get_change_level(
|
||||
rocksdb_compactoptions_t* opt) {
|
||||
return opt->rep.change_level;
|
||||
}
|
||||
|
||||
void rocksdb_compactoptions_set_target_level(rocksdb_compactoptions_t* opt,
|
||||
int n) {
|
||||
opt->rep.target_level = n;
|
||||
}
|
||||
|
||||
int rocksdb_compactoptions_get_target_level(rocksdb_compactoptions_t* opt) {
|
||||
return opt->rep.target_level;
|
||||
}
|
||||
|
||||
rocksdb_flushoptions_t* rocksdb_flushoptions_create() {
|
||||
return new rocksdb_flushoptions_t;
|
||||
}
|
||||
@ -3877,6 +3924,10 @@ void rocksdb_flushoptions_set_wait(
|
||||
opt->rep.wait = v;
|
||||
}
|
||||
|
||||
unsigned char rocksdb_flushoptions_get_wait(rocksdb_flushoptions_t* opt) {
|
||||
return opt->rep.wait;
|
||||
}
|
||||
|
||||
rocksdb_cache_t* rocksdb_cache_create_lru(size_t capacity) {
|
||||
rocksdb_cache_t* c = new rocksdb_cache_t;
|
||||
c->rep = NewLRUCache(capacity);
|
||||
@ -3891,6 +3942,10 @@ void rocksdb_cache_set_capacity(rocksdb_cache_t* cache, size_t capacity) {
|
||||
cache->rep->SetCapacity(capacity);
|
||||
}
|
||||
|
||||
size_t rocksdb_cache_get_capacity(rocksdb_cache_t* cache) {
|
||||
return cache->rep->GetCapacity();
|
||||
}
|
||||
|
||||
size_t rocksdb_cache_get_usage(rocksdb_cache_t* cache) {
|
||||
return cache->rep->GetUsage();
|
||||
}
|
||||
|
73
db/c_test.c
73
db/c_test.c
@ -2278,6 +2278,79 @@ int main(int argc, char** argv) {
|
||||
rocksdb_readoptions_destroy(ro);
|
||||
}
|
||||
|
||||
StartPhase("write_options");
|
||||
{
|
||||
rocksdb_writeoptions_t* wo;
|
||||
wo = rocksdb_writeoptions_create();
|
||||
|
||||
rocksdb_writeoptions_set_sync(wo, 1);
|
||||
CheckCondition(1 == rocksdb_writeoptions_get_sync(wo));
|
||||
|
||||
rocksdb_writeoptions_disable_WAL(wo, 1);
|
||||
CheckCondition(1 == rocksdb_writeoptions_get_disable_WAL(wo));
|
||||
|
||||
rocksdb_writeoptions_set_ignore_missing_column_families(wo, 1);
|
||||
CheckCondition(1 ==
|
||||
rocksdb_writeoptions_get_ignore_missing_column_families(wo));
|
||||
|
||||
rocksdb_writeoptions_set_no_slowdown(wo, 1);
|
||||
CheckCondition(1 == rocksdb_writeoptions_get_no_slowdown(wo));
|
||||
|
||||
rocksdb_writeoptions_set_low_pri(wo, 1);
|
||||
CheckCondition(1 == rocksdb_writeoptions_get_low_pri(wo));
|
||||
|
||||
rocksdb_writeoptions_set_memtable_insert_hint_per_batch(wo, 1);
|
||||
CheckCondition(1 ==
|
||||
rocksdb_writeoptions_get_memtable_insert_hint_per_batch(wo));
|
||||
|
||||
rocksdb_writeoptions_destroy(wo);
|
||||
}
|
||||
|
||||
StartPhase("compact_options");
|
||||
{
|
||||
rocksdb_compactoptions_t* co;
|
||||
co = rocksdb_compactoptions_create();
|
||||
|
||||
rocksdb_compactoptions_set_exclusive_manual_compaction(co, 1);
|
||||
CheckCondition(1 ==
|
||||
rocksdb_compactoptions_get_exclusive_manual_compaction(co));
|
||||
|
||||
rocksdb_compactoptions_set_bottommost_level_compaction(co, 1);
|
||||
CheckCondition(1 ==
|
||||
rocksdb_compactoptions_get_bottommost_level_compaction(co));
|
||||
|
||||
rocksdb_compactoptions_set_change_level(co, 1);
|
||||
CheckCondition(1 == rocksdb_compactoptions_get_change_level(co));
|
||||
|
||||
rocksdb_compactoptions_set_target_level(co, 1);
|
||||
CheckCondition(1 == rocksdb_compactoptions_get_target_level(co));
|
||||
|
||||
rocksdb_compactoptions_destroy(co);
|
||||
}
|
||||
|
||||
StartPhase("flush_options");
|
||||
{
|
||||
rocksdb_flushoptions_t* fo;
|
||||
fo = rocksdb_flushoptions_create();
|
||||
|
||||
rocksdb_flushoptions_set_wait(fo, 1);
|
||||
CheckCondition(1 == rocksdb_flushoptions_get_wait(fo));
|
||||
|
||||
rocksdb_flushoptions_destroy(fo);
|
||||
}
|
||||
|
||||
StartPhase("cache_options");
|
||||
{
|
||||
rocksdb_cache_t* co;
|
||||
co = rocksdb_cache_create_lru(100);
|
||||
CheckCondition(100 == rocksdb_cache_get_capacity(co));
|
||||
|
||||
rocksdb_cache_set_capacity(co, 200);
|
||||
CheckCondition(200 == rocksdb_cache_get_capacity(co));
|
||||
|
||||
rocksdb_cache_destroy(co);
|
||||
}
|
||||
|
||||
StartPhase("iterate_upper_bound");
|
||||
{
|
||||
// Create new empty database
|
||||
|
@ -1527,17 +1527,31 @@ extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_destroy(
|
||||
rocksdb_writeoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_sync(
|
||||
rocksdb_writeoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_sync(
|
||||
rocksdb_writeoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_disable_WAL(
|
||||
rocksdb_writeoptions_t* opt, int disable);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_disable_WAL(
|
||||
rocksdb_writeoptions_t* opt);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_ignore_missing_column_families(
|
||||
rocksdb_writeoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char
|
||||
rocksdb_writeoptions_get_ignore_missing_column_families(
|
||||
rocksdb_writeoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_no_slowdown(
|
||||
rocksdb_writeoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_no_slowdown(
|
||||
rocksdb_writeoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_low_pri(
|
||||
rocksdb_writeoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_low_pri(
|
||||
rocksdb_writeoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_writeoptions_set_memtable_insert_hint_per_batch(rocksdb_writeoptions_t*,
|
||||
unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char
|
||||
rocksdb_writeoptions_get_memtable_insert_hint_per_batch(
|
||||
rocksdb_writeoptions_t*);
|
||||
|
||||
/* Compact range options */
|
||||
|
||||
@ -1548,13 +1562,23 @@ extern ROCKSDB_LIBRARY_API void rocksdb_compactoptions_destroy(
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_compactoptions_set_exclusive_manual_compaction(
|
||||
rocksdb_compactoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char
|
||||
rocksdb_compactoptions_get_exclusive_manual_compaction(
|
||||
rocksdb_compactoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_compactoptions_set_bottommost_level_compaction(
|
||||
rocksdb_compactoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char
|
||||
rocksdb_compactoptions_get_bottommost_level_compaction(
|
||||
rocksdb_compactoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_compactoptions_set_change_level(
|
||||
rocksdb_compactoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char
|
||||
rocksdb_compactoptions_get_change_level(rocksdb_compactoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_compactoptions_set_target_level(
|
||||
rocksdb_compactoptions_t*, int);
|
||||
extern ROCKSDB_LIBRARY_API int rocksdb_compactoptions_get_target_level(
|
||||
rocksdb_compactoptions_t*);
|
||||
|
||||
/* Flush options */
|
||||
|
||||
@ -1564,6 +1588,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_destroy(
|
||||
rocksdb_flushoptions_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_wait(
|
||||
rocksdb_flushoptions_t*, unsigned char);
|
||||
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushoptions_get_wait(
|
||||
rocksdb_flushoptions_t*);
|
||||
|
||||
/* Cache */
|
||||
|
||||
@ -1573,6 +1599,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_cache_destroy(rocksdb_cache_t* cache);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_cache_set_capacity(
|
||||
rocksdb_cache_t* cache, size_t capacity);
|
||||
extern ROCKSDB_LIBRARY_API size_t
|
||||
rocksdb_cache_get_capacity(rocksdb_cache_t* cache);
|
||||
extern ROCKSDB_LIBRARY_API size_t
|
||||
rocksdb_cache_get_usage(rocksdb_cache_t* cache);
|
||||
extern ROCKSDB_LIBRARY_API size_t
|
||||
rocksdb_cache_get_pinned_usage(rocksdb_cache_t* cache);
|
||||
|
Loading…
x
Reference in New Issue
Block a user