25
25
#include " rocksdb/universal_compaction.h"
26
26
#include " rocksdb/statistics.h"
27
27
#include " rocksdb/slice_transform.h"
28
+ #include " rocksdb/table.h"
28
29
29
30
using rocksdb::Cache;
30
31
using rocksdb::Comparator;
31
32
using rocksdb::CompressionType;
32
33
using rocksdb::DB;
33
34
using rocksdb::Env;
35
+ using rocksdb::InfoLogLevel;
34
36
using rocksdb::FileLock;
35
37
using rocksdb::FilterPolicy;
36
38
using rocksdb::FlushOptions;
@@ -656,6 +658,11 @@ void rocksdb_options_set_info_log(rocksdb_options_t* opt, rocksdb_logger_t* l) {
656
658
}
657
659
}
658
660
661
+ void rocksdb_options_set_info_log_level (
662
+ rocksdb_options_t * opt, int v) {
663
+ opt->rep .info_log_level = static_cast <InfoLogLevel>(v);
664
+ }
665
+
659
666
void rocksdb_options_set_write_buffer_size (rocksdb_options_t * opt, size_t s) {
660
667
opt->rep .write_buffer_size = s;
661
668
}
@@ -714,6 +721,14 @@ void rocksdb_options_set_max_grandparent_overlap_factor(
714
721
opt->rep .max_grandparent_overlap_factor = n;
715
722
}
716
723
724
+ void rocksdb_options_set_max_bytes_for_level_multiplier_additional (
725
+ rocksdb_options_t * opt, int * level_values, size_t num_levels) {
726
+ opt->rep .max_bytes_for_level_multiplier_additional .resize (num_levels);
727
+ for (size_t i = 0 ; i < num_levels; ++i) {
728
+ opt->rep .max_bytes_for_level_multiplier_additional [i] = level_values[i];
729
+ }
730
+ }
731
+
717
732
void rocksdb_options_enable_statistics (rocksdb_options_t * opt) {
718
733
opt->rep .statistics = rocksdb::CreateDBStatistics ();
719
734
}
@@ -857,6 +872,24 @@ void rocksdb_options_set_advise_random_on_open(
857
872
opt->rep .advise_random_on_open = v;
858
873
}
859
874
875
+ void rocksdb_options_set_access_hint_on_compaction_start (
876
+ rocksdb_options_t * opt, int v) {
877
+ switch (v) {
878
+ case 0 :
879
+ opt->rep .access_hint_on_compaction_start = rocksdb::Options::NONE;
880
+ break ;
881
+ case 1 :
882
+ opt->rep .access_hint_on_compaction_start = rocksdb::Options::NORMAL;
883
+ break ;
884
+ case 2 :
885
+ opt->rep .access_hint_on_compaction_start = rocksdb::Options::SEQUENTIAL;
886
+ break ;
887
+ case 3 :
888
+ opt->rep .access_hint_on_compaction_start = rocksdb::Options::WILLNEED;
889
+ break ;
890
+ }
891
+ }
892
+
860
893
void rocksdb_options_set_use_adaptive_mutex (
861
894
rocksdb_options_t * opt, unsigned char v) {
862
895
opt->rep .use_adaptive_mutex = v;
@@ -867,6 +900,11 @@ void rocksdb_options_set_bytes_per_sync(
867
900
opt->rep .bytes_per_sync = v;
868
901
}
869
902
903
+ void rocksdb_options_set_verify_checksums_in_compaction (
904
+ rocksdb_options_t * opt, unsigned char v) {
905
+ opt->rep .verify_checksums_in_compaction = v;
906
+ }
907
+
870
908
void rocksdb_options_set_filter_deletes (
871
909
rocksdb_options_t * opt, unsigned char v) {
872
910
opt->rep .filter_deletes = v;
@@ -1003,11 +1041,48 @@ void rocksdb_options_set_hash_link_list_rep(
1003
1041
opt->rep .memtable_factory .reset (factory);
1004
1042
}
1005
1043
1044
+ void rocksdb_options_set_plain_table_factory (
1045
+ rocksdb_options_t *opt, uint32_t user_key_len, int bloom_bits_per_key,
1046
+ double hash_table_ratio, size_t index_sparseness) {
1047
+ static rocksdb::TableFactory* factory = 0 ;
1048
+ if (!factory) {
1049
+ factory = rocksdb::NewPlainTableFactory (
1050
+ user_key_len, bloom_bits_per_key,
1051
+ hash_table_ratio, index_sparseness);
1052
+ }
1053
+ opt->rep .table_factory .reset (factory);
1054
+ }
1055
+
1006
1056
void rocksdb_options_set_max_successive_merges (
1007
1057
rocksdb_options_t * opt, size_t v) {
1008
1058
opt->rep .max_successive_merges = v;
1009
1059
}
1010
1060
1061
+ void rocksdb_options_set_min_partial_merge_operands (
1062
+ rocksdb_options_t * opt, uint32_t v) {
1063
+ opt->rep .min_partial_merge_operands = v;
1064
+ }
1065
+
1066
+ void rocksdb_options_set_bloom_locality (
1067
+ rocksdb_options_t * opt, uint32_t v) {
1068
+ opt->rep .bloom_locality = v;
1069
+ }
1070
+
1071
+ void rocksdb_options_set_allow_thread_local (
1072
+ rocksdb_options_t * opt, unsigned char v) {
1073
+ opt->rep .allow_thread_local = v;
1074
+ }
1075
+
1076
+ void rocksdb_options_set_inplace_update_support (
1077
+ rocksdb_options_t * opt, unsigned char v) {
1078
+ opt->rep .inplace_update_support = v;
1079
+ }
1080
+
1081
+ void rocksdb_options_set_inplace_update_num_locks (
1082
+ rocksdb_options_t * opt, size_t v) {
1083
+ opt->rep .inplace_update_num_locks = v;
1084
+ }
1085
+
1011
1086
void rocksdb_options_set_compaction_style (rocksdb_options_t *opt, int style) {
1012
1087
opt->rep .compaction_style = static_cast <rocksdb::CompactionStyle>(style);
1013
1088
}
@@ -1022,21 +1097,14 @@ DB::OpenForReadOnly
1022
1097
DB::MultiGet
1023
1098
DB::KeyMayExist
1024
1099
DB::GetOptions
1025
- DB::GetLiveFiles
1026
1100
DB::GetSortedWalFiles
1027
1101
DB::GetLatestSequenceNumber
1028
1102
DB::GetUpdatesSince
1029
- DB::DeleteFile
1030
1103
DB::GetDbIdentity
1031
1104
DB::RunManualCompaction
1032
1105
custom cache
1033
1106
compaction_filter
1034
- max_bytes_for_level_multiplier_additional
1035
- access_hint_on_compaction_start
1036
- table_factory
1037
1107
table_properties_collectors
1038
- inplace_update_support
1039
- inplace_update_num_locks
1040
1108
*/
1041
1109
1042
1110
rocksdb_comparator_t * rocksdb_comparator_create (
0 commit comments