@nxtedition/rocksdb 5.2.21 → 5.2.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (909) hide show
  1. package/binding.cc +216 -252
  2. package/binding.gyp +78 -72
  3. package/deps/rocksdb/build_version.cc +70 -4
  4. package/deps/rocksdb/rocksdb/CMakeLists.txt +281 -149
  5. package/deps/rocksdb/rocksdb/Makefile +459 -469
  6. package/deps/rocksdb/rocksdb/README.md +4 -4
  7. package/deps/rocksdb/rocksdb/TARGETS +5244 -1500
  8. package/deps/rocksdb/rocksdb/cache/cache.cc +12 -3
  9. package/deps/rocksdb/rocksdb/cache/cache_bench.cc +7 -368
  10. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +924 -0
  11. package/deps/rocksdb/rocksdb/cache/cache_entry_roles.cc +128 -0
  12. package/deps/rocksdb/rocksdb/cache/cache_entry_roles.h +103 -0
  13. package/deps/rocksdb/rocksdb/cache/cache_entry_stats.h +183 -0
  14. package/deps/rocksdb/rocksdb/cache/cache_helpers.h +11 -0
  15. package/deps/rocksdb/rocksdb/cache/cache_key.cc +344 -0
  16. package/deps/rocksdb/rocksdb/cache/cache_key.h +132 -0
  17. package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.cc +183 -0
  18. package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +288 -0
  19. package/deps/rocksdb/rocksdb/cache/cache_reservation_manager_test.cc +468 -0
  20. package/deps/rocksdb/rocksdb/cache/cache_test.cc +85 -8
  21. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +121 -51
  22. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +171 -0
  23. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +86 -0
  24. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +607 -0
  25. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +381 -154
  26. package/deps/rocksdb/rocksdb/cache/lru_cache.h +176 -33
  27. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +1659 -3
  28. package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +94 -23
  29. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +49 -28
  30. package/deps/rocksdb/rocksdb/crash_test.mk +93 -0
  31. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +54 -31
  32. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +10 -6
  33. package/deps/rocksdb/rocksdb/db/blob/blob_counting_iterator.h +146 -0
  34. package/deps/rocksdb/rocksdb/db/blob/blob_counting_iterator_test.cc +326 -0
  35. package/deps/rocksdb/rocksdb/db/blob/blob_fetcher.cc +34 -0
  36. package/deps/rocksdb/rocksdb/db/blob/blob_fetcher.h +37 -0
  37. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition.cc +4 -2
  38. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition_test.cc +8 -4
  39. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +99 -40
  40. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +20 -8
  41. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +95 -83
  42. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +13 -10
  43. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +7 -4
  44. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +37 -37
  45. package/deps/rocksdb/rocksdb/db/blob/blob_file_completion_callback.h +101 -0
  46. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.cc +8 -1
  47. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +6 -0
  48. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +209 -44
  49. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +37 -11
  50. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +382 -179
  51. package/deps/rocksdb/rocksdb/db/blob/blob_garbage_meter.cc +100 -0
  52. package/deps/rocksdb/rocksdb/db/blob/blob_garbage_meter.h +102 -0
  53. package/deps/rocksdb/rocksdb/db/blob/blob_garbage_meter_test.cc +196 -0
  54. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -0
  55. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +2 -1
  56. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +7 -5
  57. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.h +10 -3
  58. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +12 -8
  59. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.h +5 -5
  60. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +772 -9
  61. package/deps/rocksdb/rocksdb/db/blob/db_blob_compaction_test.cc +730 -0
  62. package/deps/rocksdb/rocksdb/db/blob/db_blob_corruption_test.cc +82 -0
  63. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +155 -17
  64. package/deps/rocksdb/rocksdb/db/blob/prefetch_buffer_collection.cc +21 -0
  65. package/deps/rocksdb/rocksdb/db/blob/prefetch_buffer_collection.h +38 -0
  66. package/deps/rocksdb/rocksdb/db/builder.cc +137 -89
  67. package/deps/rocksdb/rocksdb/db/builder.h +16 -37
  68. package/deps/rocksdb/rocksdb/db/c.cc +413 -208
  69. package/deps/rocksdb/rocksdb/db/c_test.c +227 -138
  70. package/deps/rocksdb/rocksdb/db/column_family.cc +118 -103
  71. package/deps/rocksdb/rocksdb/db/column_family.h +86 -44
  72. package/deps/rocksdb/rocksdb/db/column_family_test.cc +38 -24
  73. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +81 -0
  74. package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator.h +275 -0
  75. package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator_test.cc +258 -0
  76. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +81 -28
  77. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +43 -12
  78. package/deps/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +12 -0
  79. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +406 -215
  80. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +147 -50
  81. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +167 -61
  82. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +1321 -156
  83. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +197 -28
  84. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -3
  85. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +246 -43
  86. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +65 -26
  87. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +7 -7
  88. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +122 -9
  89. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +8 -2
  90. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +18 -6
  91. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -1
  92. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +536 -44
  93. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +311 -30
  94. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +1 -1
  95. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +849 -0
  96. package/deps/rocksdb/rocksdb/db/compaction/file_pri.h +92 -0
  97. package/deps/rocksdb/rocksdb/db/compaction/sst_partitioner.cc +46 -0
  98. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
  99. package/deps/rocksdb/rocksdb/db/convenience.cc +6 -3
  100. package/deps/rocksdb/rocksdb/db/corruption_test.cc +383 -28
  101. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +7 -2
  102. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +154 -45
  103. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +1095 -33
  104. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +1249 -203
  105. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +135 -9
  106. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +1348 -166
  107. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +3 -5
  108. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +1 -1
  109. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +312 -45
  110. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1734 -48
  111. package/deps/rocksdb/rocksdb/db/{compacted_db_impl.cc → db_impl/compacted_db_impl.cc} +24 -7
  112. package/deps/rocksdb/rocksdb/db/{compacted_db_impl.h → db_impl/compacted_db_impl.h} +1 -1
  113. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +644 -333
  114. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +365 -92
  115. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +578 -210
  116. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +38 -16
  117. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +17 -10
  118. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +75 -74
  119. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +450 -183
  120. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +42 -9
  121. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +232 -15
  122. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +42 -4
  123. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +297 -100
  124. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +16 -15
  125. package/deps/rocksdb/rocksdb/db/db_inplace_update_test.cc +31 -1
  126. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +6 -5
  127. package/deps/rocksdb/rocksdb/db/db_iter.cc +218 -153
  128. package/deps/rocksdb/rocksdb/db/db_iter.h +14 -12
  129. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +1 -1
  130. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +84 -160
  131. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +47 -6
  132. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +204 -0
  133. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +21 -13
  134. package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +17 -10
  135. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +38 -24
  136. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +184 -19
  137. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +1 -1
  138. package/deps/rocksdb/rocksdb/db/db_options_test.cc +183 -3
  139. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +409 -9
  140. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +92 -23
  141. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +446 -0
  142. package/deps/rocksdb/rocksdb/db/{db_impl/db_secondary_test.cc → db_secondary_test.cc} +363 -35
  143. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +520 -15
  144. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +50 -1
  145. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +139 -4
  146. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +1 -1
  147. package/deps/rocksdb/rocksdb/db/db_test.cc +669 -359
  148. package/deps/rocksdb/rocksdb/db/db_test2.cc +2110 -304
  149. package/deps/rocksdb/rocksdb/db/db_test_util.cc +76 -43
  150. package/deps/rocksdb/rocksdb/db/db_test_util.h +231 -103
  151. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +19 -11
  152. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +490 -71
  153. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +980 -349
  154. package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +11 -12
  155. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +793 -0
  156. package/deps/rocksdb/rocksdb/db/db_write_test.cc +2 -1
  157. package/deps/rocksdb/rocksdb/db/dbformat.cc +4 -12
  158. package/deps/rocksdb/rocksdb/db/dbformat.h +28 -18
  159. package/deps/rocksdb/rocksdb/db/dbformat_test.cc +3 -0
  160. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +50 -15
  161. package/deps/rocksdb/rocksdb/db/error_handler.cc +127 -41
  162. package/deps/rocksdb/rocksdb/db/error_handler.h +12 -5
  163. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +524 -255
  164. package/deps/rocksdb/rocksdb/db/event_helpers.cc +136 -11
  165. package/deps/rocksdb/rocksdb/db/event_helpers.h +27 -2
  166. package/deps/rocksdb/rocksdb/db/experimental.cc +100 -0
  167. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +307 -4
  168. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +137 -60
  169. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +12 -8
  170. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +86 -55
  171. package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +86 -5
  172. package/deps/rocksdb/rocksdb/db/filename_test.cc +63 -0
  173. package/deps/rocksdb/rocksdb/db/flush_job.cc +619 -64
  174. package/deps/rocksdb/rocksdb/db/flush_job.h +30 -7
  175. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +33 -16
  176. package/deps/rocksdb/rocksdb/db/flush_scheduler.h +2 -1
  177. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +18 -17
  178. package/deps/rocksdb/rocksdb/db/forward_iterator.h +5 -4
  179. package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +0 -1
  180. package/deps/rocksdb/rocksdb/db/history_trimming_iterator.h +91 -0
  181. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +25 -14
  182. package/deps/rocksdb/rocksdb/db/import_column_family_job.h +6 -5
  183. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +1 -1
  184. package/deps/rocksdb/rocksdb/db/internal_stats.cc +471 -50
  185. package/deps/rocksdb/rocksdb/db/internal_stats.h +129 -25
  186. package/deps/rocksdb/rocksdb/db/job_context.h +22 -9
  187. package/deps/rocksdb/rocksdb/db/kv_checksum.h +394 -0
  188. package/deps/rocksdb/rocksdb/db/listener_test.cc +518 -41
  189. package/deps/rocksdb/rocksdb/db/log_format.h +4 -1
  190. package/deps/rocksdb/rocksdb/db/log_reader.cc +129 -6
  191. package/deps/rocksdb/rocksdb/db/log_reader.h +17 -1
  192. package/deps/rocksdb/rocksdb/db/log_test.cc +161 -11
  193. package/deps/rocksdb/rocksdb/db/log_writer.cc +92 -13
  194. package/deps/rocksdb/rocksdb/db/log_writer.h +18 -5
  195. package/deps/rocksdb/rocksdb/db/logs_with_prep_tracker.h +1 -1
  196. package/deps/rocksdb/rocksdb/db/lookup_key.h +0 -1
  197. package/deps/rocksdb/rocksdb/db/malloc_stats.cc +2 -2
  198. package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +21 -8
  199. package/deps/rocksdb/rocksdb/db/memtable.cc +144 -54
  200. package/deps/rocksdb/rocksdb/db/memtable.h +72 -15
  201. package/deps/rocksdb/rocksdb/db/memtable_list.cc +95 -47
  202. package/deps/rocksdb/rocksdb/db/memtable_list.h +33 -13
  203. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +61 -31
  204. package/deps/rocksdb/rocksdb/db/merge_context.h +20 -8
  205. package/deps/rocksdb/rocksdb/db/merge_helper.cc +54 -11
  206. package/deps/rocksdb/rocksdb/db/merge_helper.h +17 -6
  207. package/deps/rocksdb/rocksdb/db/merge_helper_test.cc +13 -7
  208. package/deps/rocksdb/rocksdb/db/merge_test.cc +40 -19
  209. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +14 -25
  210. package/deps/rocksdb/rocksdb/db/output_validator.cc +3 -0
  211. package/deps/rocksdb/rocksdb/db/output_validator.h +5 -4
  212. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +32 -28
  213. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.cc +43 -29
  214. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.h +9 -7
  215. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler_test.cc +21 -16
  216. package/deps/rocksdb/rocksdb/db/pinned_iterators_manager.h +1 -1
  217. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +29 -36
  218. package/deps/rocksdb/rocksdb/db/pre_release_callback.h +1 -2
  219. package/deps/rocksdb/rocksdb/db/prefix_test.cc +4 -4
  220. package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +2 -2
  221. package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +11 -11
  222. package/deps/rocksdb/rocksdb/db/range_del_aggregator_test.cc +3 -2
  223. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +14 -8
  224. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +17 -0
  225. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter_test.cc +4 -2
  226. package/deps/rocksdb/rocksdb/db/read_callback.h +1 -0
  227. package/deps/rocksdb/rocksdb/db/repair.cc +87 -58
  228. package/deps/rocksdb/rocksdb/db/repair_test.cc +35 -5
  229. package/deps/rocksdb/rocksdb/db/snapshot_impl.h +2 -1
  230. package/deps/rocksdb/rocksdb/db/table_cache.cc +95 -69
  231. package/deps/rocksdb/rocksdb/db/table_cache.h +63 -53
  232. package/deps/rocksdb/rocksdb/db/table_properties_collector.cc +4 -4
  233. package/deps/rocksdb/rocksdb/db/table_properties_collector.h +78 -10
  234. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +28 -33
  235. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +30 -51
  236. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +12 -8
  237. package/deps/rocksdb/rocksdb/db/version_builder.cc +564 -341
  238. package/deps/rocksdb/rocksdb/db/version_builder.h +8 -8
  239. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +327 -155
  240. package/deps/rocksdb/rocksdb/db/version_edit.cc +89 -27
  241. package/deps/rocksdb/rocksdb/db/version_edit.h +42 -17
  242. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +324 -43
  243. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +79 -22
  244. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +165 -20
  245. package/deps/rocksdb/rocksdb/db/version_set.cc +935 -1034
  246. package/deps/rocksdb/rocksdb/db/version_set.h +183 -122
  247. package/deps/rocksdb/rocksdb/db/version_set_test.cc +556 -138
  248. package/deps/rocksdb/rocksdb/db/version_util.h +68 -0
  249. package/deps/rocksdb/rocksdb/db/wal_manager.cc +23 -21
  250. package/deps/rocksdb/rocksdb/db/wal_manager.h +5 -2
  251. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +30 -27
  252. package/deps/rocksdb/rocksdb/db/write_batch.cc +704 -209
  253. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +135 -2
  254. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +209 -5
  255. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +2 -0
  256. package/deps/rocksdb/rocksdb/db/write_controller.cc +47 -54
  257. package/deps/rocksdb/rocksdb/db/write_controller.h +12 -9
  258. package/deps/rocksdb/rocksdb/db/write_controller_test.cc +215 -103
  259. package/deps/rocksdb/rocksdb/db/write_thread.cc +11 -0
  260. package/deps/rocksdb/rocksdb/db/write_thread.h +14 -8
  261. package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +7 -4
  262. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +10 -3
  263. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +6 -0
  264. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress.cc +1 -1
  265. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +19 -2
  266. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +78 -25
  267. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +13 -2
  268. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +29 -12
  269. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +5 -1
  270. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +199 -32
  271. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +188 -0
  272. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +59 -10
  273. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +77 -109
  274. package/deps/rocksdb/rocksdb/{third-party/folly/folly/synchronization/WaitOptions.cpp → db_stress_tool/db_stress_stat.cc} +9 -4
  275. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_stat.h +7 -6
  276. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +1 -0
  277. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +699 -143
  278. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +20 -2
  279. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +49 -39
  280. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +631 -0
  281. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +287 -0
  282. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +1565 -0
  283. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +374 -0
  284. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +149 -18
  285. package/deps/rocksdb/rocksdb/env/composite_env.cc +464 -0
  286. package/deps/rocksdb/rocksdb/env/composite_env_wrapper.h +98 -646
  287. package/deps/rocksdb/rocksdb/env/emulated_clock.h +114 -0
  288. package/deps/rocksdb/rocksdb/env/env.cc +632 -42
  289. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +84 -36
  290. package/deps/rocksdb/rocksdb/env/env_chroot.cc +88 -286
  291. package/deps/rocksdb/rocksdb/env/env_chroot.h +34 -1
  292. package/deps/rocksdb/rocksdb/env/env_encryption.cc +469 -277
  293. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +9 -30
  294. package/deps/rocksdb/rocksdb/env/env_posix.cc +110 -119
  295. package/deps/rocksdb/rocksdb/env/env_test.cc +1128 -39
  296. package/deps/rocksdb/rocksdb/env/file_system.cc +147 -8
  297. package/deps/rocksdb/rocksdb/env/file_system_tracer.cc +207 -136
  298. package/deps/rocksdb/rocksdb/env/file_system_tracer.h +86 -54
  299. package/deps/rocksdb/rocksdb/env/fs_posix.cc +192 -64
  300. package/deps/rocksdb/rocksdb/env/fs_readonly.h +107 -0
  301. package/deps/rocksdb/rocksdb/env/fs_remap.cc +339 -0
  302. package/deps/rocksdb/rocksdb/env/fs_remap.h +139 -0
  303. package/deps/rocksdb/rocksdb/env/io_posix.cc +245 -41
  304. package/deps/rocksdb/rocksdb/env/io_posix.h +66 -1
  305. package/deps/rocksdb/rocksdb/env/mock_env.cc +147 -149
  306. package/deps/rocksdb/rocksdb/env/mock_env.h +113 -11
  307. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +2 -4
  308. package/deps/rocksdb/rocksdb/env/unique_id_gen.cc +164 -0
  309. package/deps/rocksdb/rocksdb/env/unique_id_gen.h +71 -0
  310. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +9 -5
  311. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +6 -4
  312. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +19 -12
  313. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +459 -70
  314. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +205 -28
  315. package/deps/rocksdb/rocksdb/file/file_util.cc +39 -28
  316. package/deps/rocksdb/rocksdb/file/file_util.h +18 -27
  317. package/deps/rocksdb/rocksdb/file/filename.cc +59 -22
  318. package/deps/rocksdb/rocksdb/file/filename.h +13 -8
  319. package/deps/rocksdb/rocksdb/file/line_file_reader.cc +68 -0
  320. package/deps/rocksdb/rocksdb/file/line_file_reader.h +59 -0
  321. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +1130 -6
  322. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +220 -36
  323. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +69 -17
  324. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +13 -12
  325. package/deps/rocksdb/rocksdb/file/read_write_util.cc +3 -38
  326. package/deps/rocksdb/rocksdb/file/read_write_util.h +0 -4
  327. package/deps/rocksdb/rocksdb/file/readahead_file_info.h +33 -0
  328. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +57 -9
  329. package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +58 -6
  330. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +29 -54
  331. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +22 -29
  332. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +424 -50
  333. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +66 -19
  334. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +157 -66
  335. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +224 -121
  336. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +333 -30
  337. package/deps/rocksdb/rocksdb/include/rocksdb/cache_bench_tool.h +14 -0
  338. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +1 -1
  339. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +90 -50
  340. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +13 -5
  341. package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +20 -4
  342. package/deps/rocksdb/rocksdb/include/rocksdb/concurrent_task_limiter.h +8 -3
  343. package/deps/rocksdb/rocksdb/include/rocksdb/configurable.h +53 -12
  344. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +31 -6
  345. package/deps/rocksdb/rocksdb/include/rocksdb/customizable.h +102 -7
  346. package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +51 -0
  347. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +370 -262
  348. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +286 -87
  349. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +124 -64
  350. package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +27 -0
  351. package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +21 -4
  352. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +384 -41
  353. package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +111 -143
  354. package/deps/rocksdb/rocksdb/include/rocksdb/flush_block_policy.h +20 -6
  355. package/deps/rocksdb/rocksdb/include/rocksdb/functor_wrapper.h +56 -0
  356. package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +15 -33
  357. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +37 -1
  358. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +1 -3
  359. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +314 -26
  360. package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +11 -7
  361. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +50 -15
  362. package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +10 -3
  363. package/deps/rocksdb/rocksdb/include/rocksdb/metadata.h +186 -96
  364. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +373 -103
  365. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +13 -3
  366. package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +2 -2
  367. package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +37 -7
  368. package/deps/rocksdb/rocksdb/include/rocksdb/rocksdb_namespace.h +6 -0
  369. package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +87 -0
  370. package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +5 -12
  371. package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +59 -30
  372. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +11 -11
  373. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +22 -0
  374. package/deps/rocksdb/rocksdb/include/rocksdb/sst_partitioner.h +17 -10
  375. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +121 -41
  376. package/deps/rocksdb/rocksdb/include/rocksdb/stats_history.h +1 -0
  377. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +114 -136
  378. package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +116 -0
  379. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +160 -18
  380. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +57 -15
  381. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +3 -1
  382. package/deps/rocksdb/rocksdb/include/rocksdb/trace_reader_writer.h +10 -6
  383. package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +247 -0
  384. package/deps/rocksdb/rocksdb/include/rocksdb/trace_record_result.h +187 -0
  385. package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +1 -1
  386. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +14 -24
  387. package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +46 -0
  388. package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +14 -4
  389. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/agg_merge.h +138 -0
  390. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +631 -0
  391. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/cache_dump_load.h +142 -0
  392. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +12 -9
  393. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +368 -0
  394. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +24 -0
  395. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +4 -0
  396. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +418 -63
  397. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +143 -73
  398. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +2 -2
  399. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/replayer.h +87 -0
  400. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +2 -2
  401. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +43 -5
  402. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +18 -23
  403. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +26 -0
  404. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +32 -6
  405. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +1 -2
  406. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +20 -1
  407. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +30 -3
  408. package/deps/rocksdb/rocksdb/include/rocksdb/wal_filter.h +11 -2
  409. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +89 -11
  410. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch_base.h +11 -0
  411. package/deps/rocksdb/rocksdb/include/rocksdb/write_buffer_manager.h +108 -38
  412. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +40 -23
  413. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +12 -5
  414. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +100 -49
  415. package/deps/rocksdb/rocksdb/logging/env_logger.h +7 -5
  416. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +0 -1
  417. package/deps/rocksdb/rocksdb/logging/posix_logger.h +3 -9
  418. package/deps/rocksdb/rocksdb/memory/arena.cc +3 -1
  419. package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
  420. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +171 -106
  421. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +31 -15
  422. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.cc +15 -4
  423. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.h +24 -8
  424. package/deps/rocksdb/rocksdb/memory/memory_allocator.cc +91 -0
  425. package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +239 -0
  426. package/deps/rocksdb/rocksdb/memory/memory_usage.h +14 -1
  427. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +72 -9
  428. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +52 -6
  429. package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +53 -0
  430. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +5 -5
  431. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +17 -5
  432. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -1
  433. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +87 -0
  434. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +20 -10
  435. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +148 -94
  436. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +160 -62
  437. package/deps/rocksdb/rocksdb/microbench/CMakeLists.txt +17 -0
  438. package/deps/rocksdb/rocksdb/microbench/README.md +60 -0
  439. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +1360 -0
  440. package/deps/rocksdb/rocksdb/microbench/ribbon_bench.cc +153 -0
  441. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +8 -15
  442. package/deps/rocksdb/rocksdb/monitoring/histogram.h +0 -1
  443. package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +18 -16
  444. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +9 -7
  445. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +5 -3
  446. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.cc +7 -5
  447. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +37 -12
  448. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +26 -6
  449. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +6 -10
  450. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +14 -13
  451. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +19 -20
  452. package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +18 -18
  453. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +84 -2
  454. package/deps/rocksdb/rocksdb/monitoring/statistics.h +6 -0
  455. package/deps/rocksdb/rocksdb/monitoring/statistics_test.cc +47 -2
  456. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +67 -54
  457. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +4 -1
  458. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +2 -1
  459. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +2 -2
  460. package/deps/rocksdb/rocksdb/options/cf_options.cc +280 -212
  461. package/deps/rocksdb/rocksdb/options/cf_options.h +51 -57
  462. package/deps/rocksdb/rocksdb/options/configurable.cc +242 -138
  463. package/deps/rocksdb/rocksdb/options/configurable_helper.h +4 -68
  464. package/deps/rocksdb/rocksdb/options/configurable_test.cc +144 -21
  465. package/deps/rocksdb/rocksdb/options/configurable_test.h +2 -3
  466. package/deps/rocksdb/rocksdb/options/customizable.cc +67 -7
  467. package/deps/rocksdb/rocksdb/options/customizable_test.cc +1773 -151
  468. package/deps/rocksdb/rocksdb/options/db_options.cc +275 -47
  469. package/deps/rocksdb/rocksdb/options/db_options.h +36 -7
  470. package/deps/rocksdb/rocksdb/options/options.cc +49 -17
  471. package/deps/rocksdb/rocksdb/options/options_helper.cc +369 -352
  472. package/deps/rocksdb/rocksdb/options/options_helper.h +23 -23
  473. package/deps/rocksdb/rocksdb/options/options_parser.cc +18 -13
  474. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +67 -54
  475. package/deps/rocksdb/rocksdb/options/options_test.cc +1162 -187
  476. package/deps/rocksdb/rocksdb/plugin/README.md +43 -0
  477. package/deps/rocksdb/rocksdb/port/jemalloc_helper.h +1 -1
  478. package/deps/rocksdb/rocksdb/port/lang.h +52 -0
  479. package/deps/rocksdb/rocksdb/port/port_example.h +1 -1
  480. package/deps/rocksdb/rocksdb/port/port_posix.cc +31 -2
  481. package/deps/rocksdb/rocksdb/port/port_posix.h +20 -2
  482. package/deps/rocksdb/rocksdb/port/stack_trace.cc +20 -4
  483. package/deps/rocksdb/rocksdb/port/sys_time.h +2 -2
  484. package/deps/rocksdb/rocksdb/port/win/env_default.cc +7 -7
  485. package/deps/rocksdb/rocksdb/port/win/env_win.cc +44 -74
  486. package/deps/rocksdb/rocksdb/port/win/env_win.h +25 -23
  487. package/deps/rocksdb/rocksdb/port/win/io_win.cc +32 -34
  488. package/deps/rocksdb/rocksdb/port/win/io_win.h +12 -6
  489. package/deps/rocksdb/rocksdb/port/win/port_win.cc +55 -35
  490. package/deps/rocksdb/rocksdb/port/win/port_win.h +22 -5
  491. package/deps/rocksdb/rocksdb/port/win/win_logger.cc +3 -3
  492. package/deps/rocksdb/rocksdb/port/win/win_logger.h +3 -5
  493. package/deps/rocksdb/rocksdb/port/win/win_thread.cc +7 -1
  494. package/deps/rocksdb/rocksdb/port/win/win_thread.h +12 -17
  495. package/deps/rocksdb/rocksdb/python.mk +9 -0
  496. package/deps/rocksdb/rocksdb/src.mk +82 -34
  497. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +3 -4
  498. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +1 -1
  499. package/deps/rocksdb/rocksdb/table/block_based/block.cc +158 -80
  500. package/deps/rocksdb/rocksdb/table/block_based/block.h +64 -36
  501. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +23 -14
  502. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.h +13 -5
  503. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block_test.cc +3 -218
  504. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +603 -328
  505. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +28 -22
  506. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +220 -82
  507. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +8 -2
  508. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +3 -4
  509. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +28 -4
  510. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +598 -492
  511. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +151 -96
  512. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +31 -58
  513. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +330 -92
  514. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +50 -19
  515. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +23 -0
  516. package/deps/rocksdb/rocksdb/table/block_based/block_like_traits.h +226 -0
  517. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +56 -22
  518. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +42 -4
  519. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +5 -2
  520. package/deps/rocksdb/rocksdb/table/block_based/block_type.h +2 -0
  521. package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +34 -20
  522. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +9 -10
  523. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +26 -3
  524. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +2 -1
  525. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +844 -202
  526. package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +281 -81
  527. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +62 -2
  528. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.h +2 -3
  529. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +28 -7
  530. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +22 -6
  531. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +28 -26
  532. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +1 -1
  533. package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +1 -2
  534. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +2 -1
  535. package/deps/rocksdb/rocksdb/table/block_based/mock_block_based_table.h +11 -4
  536. package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.cc +2 -1
  537. package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.h +2 -0
  538. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +68 -26
  539. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +44 -9
  540. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +12 -10
  541. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +3 -4
  542. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +23 -4
  543. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +44 -19
  544. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.h +5 -1
  545. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +16 -28
  546. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +7 -4
  547. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +2 -2
  548. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +77 -57
  549. package/deps/rocksdb/rocksdb/table/block_fetcher.h +23 -12
  550. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +43 -56
  551. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +8 -8
  552. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +2 -1
  553. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +52 -70
  554. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.cc +5 -8
  555. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +1 -1
  556. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +17 -11
  557. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +2 -3
  558. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +42 -51
  559. package/deps/rocksdb/rocksdb/table/format.cc +258 -104
  560. package/deps/rocksdb/rocksdb/table/format.h +120 -109
  561. package/deps/rocksdb/rocksdb/table/get_context.cc +97 -65
  562. package/deps/rocksdb/rocksdb/table/get_context.h +19 -12
  563. package/deps/rocksdb/rocksdb/table/internal_iterator.h +14 -0
  564. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
  565. package/deps/rocksdb/rocksdb/table/merger_test.cc +3 -2
  566. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +11 -21
  567. package/deps/rocksdb/rocksdb/table/merging_iterator.h +3 -3
  568. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +176 -171
  569. package/deps/rocksdb/rocksdb/table/meta_blocks.h +47 -33
  570. package/deps/rocksdb/rocksdb/table/mock_table.cc +7 -9
  571. package/deps/rocksdb/rocksdb/table/mock_table.h +3 -2
  572. package/deps/rocksdb/rocksdb/table/multiget_context.h +15 -8
  573. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +22 -29
  574. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +6 -3
  575. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.h +5 -8
  576. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +29 -26
  577. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +12 -16
  578. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +145 -69
  579. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +1 -1
  580. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +7 -6
  581. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +3 -4
  582. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +3 -1
  583. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +1 -1
  584. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +13 -18
  585. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +4 -9
  586. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +55 -37
  587. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +10 -5
  588. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +11 -8
  589. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +222 -16
  590. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +106 -58
  591. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +6 -5
  592. package/deps/rocksdb/rocksdb/table/table_builder.h +68 -44
  593. package/deps/rocksdb/rocksdb/table/table_factory.cc +37 -10
  594. package/deps/rocksdb/rocksdb/table/table_properties.cc +109 -54
  595. package/deps/rocksdb/rocksdb/table/table_properties_internal.h +4 -20
  596. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +33 -32
  597. package/deps/rocksdb/rocksdb/table/table_reader_caller.h +2 -0
  598. package/deps/rocksdb/rocksdb/table/table_test.cc +989 -326
  599. package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +4 -0
  600. package/deps/rocksdb/rocksdb/table/unique_id.cc +166 -0
  601. package/deps/rocksdb/rocksdb/table/unique_id_impl.h +59 -0
  602. package/deps/rocksdb/rocksdb/test_util/mock_time_env.cc +1 -1
  603. package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +13 -10
  604. package/deps/rocksdb/rocksdb/test_util/sync_point.cc +1 -2
  605. package/deps/rocksdb/rocksdb/test_util/sync_point.h +35 -16
  606. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +32 -10
  607. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +31 -4
  608. package/deps/rocksdb/rocksdb/test_util/testharness.cc +53 -1
  609. package/deps/rocksdb/rocksdb/test_util/testharness.h +67 -3
  610. package/deps/rocksdb/rocksdb/test_util/testutil.cc +236 -66
  611. package/deps/rocksdb/rocksdb/test_util/testutil.h +63 -100
  612. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +12 -1
  613. package/deps/rocksdb/rocksdb/tools/blob_dump.cc +2 -2
  614. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +6 -3
  615. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +1 -0
  616. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +9 -3
  617. package/deps/rocksdb/rocksdb/tools/db_bench.cc +1 -1
  618. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +1420 -611
  619. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +11 -8
  620. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +11 -1
  621. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +4 -2
  622. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.cc +46 -22
  623. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +655 -179
  624. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +58 -6
  625. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +472 -29
  626. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +23 -2
  627. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  628. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +246 -0
  629. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +126 -0
  630. package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +83 -29
  631. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +38 -17
  632. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +191 -55
  633. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +219 -296
  634. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +87 -53
  635. package/deps/rocksdb/rocksdb/tools/write_stress.cc +8 -7
  636. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.cc +6 -5
  637. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +5 -4
  638. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer_test.cc +14 -9
  639. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +134 -60
  640. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.h +49 -38
  641. package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +152 -15
  642. package/deps/rocksdb/rocksdb/trace_replay/trace_record.cc +206 -0
  643. package/deps/rocksdb/rocksdb/trace_replay/trace_record_handler.cc +190 -0
  644. package/deps/rocksdb/rocksdb/trace_replay/trace_record_handler.h +46 -0
  645. package/deps/rocksdb/rocksdb/trace_replay/trace_record_result.cc +146 -0
  646. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +475 -344
  647. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.h +83 -95
  648. package/deps/rocksdb/rocksdb/util/autovector.h +38 -18
  649. package/deps/rocksdb/rocksdb/util/autovector_test.cc +1 -1
  650. package/deps/rocksdb/rocksdb/util/bloom_impl.h +4 -0
  651. package/deps/rocksdb/rocksdb/util/bloom_test.cc +276 -94
  652. package/deps/rocksdb/rocksdb/util/build_version.cc.in +81 -4
  653. package/deps/rocksdb/rocksdb/util/cast_util.h +22 -0
  654. package/deps/rocksdb/rocksdb/util/channel.h +2 -0
  655. package/deps/rocksdb/rocksdb/util/coding.h +1 -33
  656. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +8 -0
  657. package/deps/rocksdb/rocksdb/util/comparator.cc +163 -3
  658. package/deps/rocksdb/rocksdb/util/compression.cc +122 -0
  659. package/deps/rocksdb/rocksdb/util/compression.h +212 -7
  660. package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +1 -3
  661. package/deps/rocksdb/rocksdb/util/crc32c.cc +165 -2
  662. package/deps/rocksdb/rocksdb/util/crc32c.h +6 -0
  663. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +14 -0
  664. package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +3 -0
  665. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +47 -0
  666. package/deps/rocksdb/rocksdb/util/defer.h +30 -1
  667. package/deps/rocksdb/rocksdb/util/defer_test.cc +11 -0
  668. package/deps/rocksdb/rocksdb/util/duplicate_detector.h +3 -1
  669. package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +3 -3
  670. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +5 -4
  671. package/deps/rocksdb/rocksdb/util/fastrange.h +2 -0
  672. package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +36 -0
  673. package/deps/rocksdb/rocksdb/util/file_checksum_helper.h +3 -1
  674. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +512 -52
  675. package/deps/rocksdb/rocksdb/util/filter_bench.cc +65 -10
  676. package/deps/rocksdb/rocksdb/util/gflags_compat.h +6 -1
  677. package/deps/rocksdb/rocksdb/util/hash.cc +121 -3
  678. package/deps/rocksdb/rocksdb/util/hash.h +31 -1
  679. package/deps/rocksdb/rocksdb/util/hash128.h +26 -0
  680. package/deps/rocksdb/rocksdb/util/hash_containers.h +51 -0
  681. package/deps/rocksdb/rocksdb/util/hash_test.cc +194 -2
  682. package/deps/rocksdb/rocksdb/util/heap.h +6 -1
  683. package/deps/rocksdb/rocksdb/util/kv_map.h +1 -1
  684. package/deps/rocksdb/rocksdb/util/log_write_bench.cc +8 -6
  685. package/deps/rocksdb/rocksdb/util/math.h +74 -7
  686. package/deps/rocksdb/rocksdb/util/math128.h +13 -1
  687. package/deps/rocksdb/rocksdb/util/murmurhash.h +3 -3
  688. package/deps/rocksdb/rocksdb/util/random.cc +9 -0
  689. package/deps/rocksdb/rocksdb/util/random.h +6 -0
  690. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +298 -144
  691. package/deps/rocksdb/rocksdb/util/rate_limiter.h +68 -19
  692. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +335 -23
  693. package/deps/rocksdb/rocksdb/util/repeatable_thread.h +10 -12
  694. package/deps/rocksdb/rocksdb/util/repeatable_thread_test.cc +18 -15
  695. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +98 -74
  696. package/deps/rocksdb/rocksdb/util/ribbon_config.cc +506 -0
  697. package/deps/rocksdb/rocksdb/util/ribbon_config.h +182 -0
  698. package/deps/rocksdb/rocksdb/util/ribbon_impl.h +154 -79
  699. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +742 -365
  700. package/deps/rocksdb/rocksdb/util/set_comparator.h +2 -0
  701. package/deps/rocksdb/rocksdb/util/slice.cc +198 -35
  702. package/deps/rocksdb/rocksdb/util/slice_test.cc +30 -1
  703. package/deps/rocksdb/rocksdb/util/status.cc +32 -29
  704. package/deps/rocksdb/rocksdb/util/stop_watch.h +18 -18
  705. package/deps/rocksdb/rocksdb/util/string_util.cc +85 -6
  706. package/deps/rocksdb/rocksdb/util/string_util.h +47 -2
  707. package/deps/rocksdb/rocksdb/util/thread_guard.h +41 -0
  708. package/deps/rocksdb/rocksdb/util/thread_local.h +2 -2
  709. package/deps/rocksdb/rocksdb/util/thread_local_test.cc +22 -24
  710. package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +7 -6
  711. package/deps/rocksdb/rocksdb/util/timer.h +55 -46
  712. package/deps/rocksdb/rocksdb/util/timer_test.cc +50 -48
  713. package/deps/rocksdb/rocksdb/util/user_comparator_wrapper.h +4 -0
  714. package/deps/rocksdb/rocksdb/util/vector_iterator.h +31 -15
  715. package/deps/rocksdb/rocksdb/util/work_queue.h +2 -0
  716. package/deps/rocksdb/rocksdb/util/xxhash.cc +35 -1144
  717. package/deps/rocksdb/rocksdb/util/xxhash.h +5117 -373
  718. package/deps/rocksdb/rocksdb/util/xxph3.h +1762 -0
  719. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.cc +238 -0
  720. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.h +49 -0
  721. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_test.cc +134 -0
  722. package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.cc +104 -0
  723. package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.h +47 -0
  724. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +3164 -0
  725. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +29 -0
  726. package/deps/rocksdb/rocksdb/utilities/{backupable/backupable_db_test.cc → backup/backup_engine_test.cc} +1679 -485
  727. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +6 -4
  728. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +14 -9
  729. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +2 -0
  730. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +1 -0
  731. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +4 -0
  732. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +37 -27
  733. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +8 -4
  734. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +1 -1
  735. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_iterator.h +13 -10
  736. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +5 -0
  737. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +44 -25
  738. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -4
  739. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +27 -19
  740. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +4 -2
  741. package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +69 -0
  742. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +489 -0
  743. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +366 -0
  744. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +67 -4
  745. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +21 -6
  746. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +107 -7
  747. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_options.h +43 -0
  748. package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +1 -1
  749. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +24 -8
  750. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +7 -7
  751. package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +5 -0
  752. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +99 -218
  753. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +8 -24
  754. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +114 -1
  755. package/deps/rocksdb/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +6 -2
  756. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -4
  757. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +7 -6
  758. package/deps/rocksdb/rocksdb/utilities/compaction_filters.cc +56 -0
  759. package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +2 -2
  760. package/deps/rocksdb/rocksdb/utilities/counted_fs.cc +355 -0
  761. package/deps/rocksdb/rocksdb/utilities/counted_fs.h +152 -0
  762. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +13 -0
  763. package/deps/rocksdb/rocksdb/utilities/env_timed.cc +164 -122
  764. package/deps/rocksdb/rocksdb/utilities/env_timed.h +97 -0
  765. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.cc +75 -17
  766. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +19 -3
  767. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +539 -126
  768. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +162 -17
  769. package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +110 -0
  770. package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +94 -0
  771. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +5 -2
  772. package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +104 -0
  773. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +5 -3
  774. package/deps/rocksdb/rocksdb/utilities/merge_operators/max.cc +4 -1
  775. package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +11 -3
  776. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +0 -2
  777. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.h +5 -1
  778. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +29 -10
  779. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +6 -3
  780. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +29 -14
  781. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +6 -3
  782. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +71 -18
  783. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +15 -9
  784. package/deps/rocksdb/rocksdb/utilities/merge_operators.cc +120 -0
  785. package/deps/rocksdb/rocksdb/utilities/merge_operators.h +3 -23
  786. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +267 -42
  787. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +702 -76
  788. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +1 -1
  789. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +26 -5
  790. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +1 -1
  791. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +124 -1
  792. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +2 -3
  793. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +8 -9
  794. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +15 -13
  795. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +1 -1
  796. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +4 -4
  797. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +2 -2
  798. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +8 -9
  799. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +1 -1
  800. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +6 -3
  801. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +2 -2
  802. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator.cc +3 -0
  803. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator_test.cc +2 -0
  804. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +43 -35
  805. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +20 -18
  806. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +107 -2
  807. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +23 -15
  808. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.h +2 -2
  809. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +316 -0
  810. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.h +86 -0
  811. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +4 -5
  812. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +4 -3
  813. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +1 -1
  814. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +119 -3
  815. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +20 -3
  816. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +20 -0
  817. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +3 -2
  818. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +4 -0
  819. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +38 -14
  820. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +17 -10
  821. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +1 -0
  822. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +1 -2
  823. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +423 -34
  824. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +82 -2
  825. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +72 -40
  826. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +32 -1
  827. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +13 -5
  828. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +7 -3
  829. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +207 -43
  830. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +50 -7
  831. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +28 -10
  832. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +11 -6
  833. package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +516 -0
  834. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +506 -15
  835. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +27 -13
  836. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +14 -14
  837. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +3 -0
  838. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +2 -2
  839. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +14 -5
  840. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +305 -27
  841. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +55 -159
  842. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +209 -2
  843. package/deps/rocksdb/rocksdb/utilities/wal_filter.cc +23 -0
  844. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +157 -88
  845. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +501 -114
  846. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +91 -316
  847. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +1212 -672
  848. package/deps/rocksdb/rocksdb.gyp +425 -446
  849. package/package.json +8 -8
  850. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  851. package/prebuilds/darwin-x86/node.napi.node +0 -0
  852. package/prebuilds/{darwin-x64+arm64 → linux-x64}/node.napi.node +0 -0
  853. package/deps/rocksdb/rocksdb/env/env_hdfs.cc +0 -648
  854. package/deps/rocksdb/rocksdb/hdfs/README +0 -23
  855. package/deps/rocksdb/rocksdb/hdfs/env_hdfs.h +0 -386
  856. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backupable_db.h +0 -535
  857. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_librados.h +0 -175
  858. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/utility_db.h +0 -34
  859. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator_test.cc +0 -102
  860. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.h +0 -49
  861. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.h +0 -44
  862. package/deps/rocksdb/rocksdb/options/customizable_helper.h +0 -216
  863. package/deps/rocksdb/rocksdb/third-party/folly/folly/CPortability.h +0 -27
  864. package/deps/rocksdb/rocksdb/third-party/folly/folly/ConstexprMath.h +0 -45
  865. package/deps/rocksdb/rocksdb/third-party/folly/folly/Indestructible.h +0 -166
  866. package/deps/rocksdb/rocksdb/third-party/folly/folly/Optional.h +0 -570
  867. package/deps/rocksdb/rocksdb/third-party/folly/folly/Portability.h +0 -92
  868. package/deps/rocksdb/rocksdb/third-party/folly/folly/ScopeGuard.h +0 -54
  869. package/deps/rocksdb/rocksdb/third-party/folly/folly/Traits.h +0 -152
  870. package/deps/rocksdb/rocksdb/third-party/folly/folly/Unit.h +0 -59
  871. package/deps/rocksdb/rocksdb/third-party/folly/folly/Utility.h +0 -141
  872. package/deps/rocksdb/rocksdb/third-party/folly/folly/chrono/Hardware.h +0 -33
  873. package/deps/rocksdb/rocksdb/third-party/folly/folly/container/Array.h +0 -74
  874. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex-inl.h +0 -117
  875. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.cpp +0 -263
  876. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.h +0 -96
  877. package/deps/rocksdb/rocksdb/third-party/folly/folly/functional/Invoke.h +0 -40
  878. package/deps/rocksdb/rocksdb/third-party/folly/folly/hash/Hash.h +0 -29
  879. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Align.h +0 -144
  880. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Bits.h +0 -30
  881. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Launder.h +0 -51
  882. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/Asm.h +0 -28
  883. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysSyscall.h +0 -10
  884. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysTypes.h +0 -26
  885. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification-inl.h +0 -138
  886. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.cpp +0 -23
  887. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.h +0 -57
  888. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil-inl.h +0 -260
  889. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil.h +0 -52
  890. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/Baton.h +0 -328
  891. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex-inl.h +0 -1703
  892. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.cpp +0 -16
  893. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.h +0 -304
  894. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutexSpecializations.h +0 -39
  895. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.cpp +0 -26
  896. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.h +0 -318
  897. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/WaitOptions.h +0 -57
  898. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/InlineFunctionRef.h +0 -219
  899. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h +0 -207
  900. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable.h +0 -164
  901. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Sleeper.h +0 -57
  902. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Spin.h +0 -77
  903. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/test/DistributedMutexTest.cpp +0 -1145
  904. package/deps/rocksdb/rocksdb/util/build_version.h +0 -15
  905. package/deps/rocksdb/rocksdb/util/xxh3p.h +0 -1392
  906. package/deps/rocksdb/rocksdb/utilities/backupable/backupable_db.cc +0 -2354
  907. package/deps/rocksdb/rocksdb/utilities/env_librados.cc +0 -1497
  908. package/deps/rocksdb/rocksdb/utilities/env_librados_test.cc +0 -1146
  909. package/prebuilds/linux-x64/node.napi.glibc.node +0 -0
@@ -71,9 +71,11 @@ extern "C" {
71
71
  typedef struct rocksdb_t rocksdb_t;
72
72
  typedef struct rocksdb_backup_engine_t rocksdb_backup_engine_t;
73
73
  typedef struct rocksdb_backup_engine_info_t rocksdb_backup_engine_info_t;
74
- typedef struct rocksdb_backupable_db_options_t rocksdb_backupable_db_options_t;
74
+ typedef struct rocksdb_backup_engine_options_t rocksdb_backup_engine_options_t;
75
75
  typedef struct rocksdb_restore_options_t rocksdb_restore_options_t;
76
- typedef struct rocksdb_cache_t rocksdb_cache_t;
76
+ typedef struct rocksdb_memory_allocator_t rocksdb_memory_allocator_t;
77
+ typedef struct rocksdb_lru_cache_options_t rocksdb_lru_cache_options_t;
78
+ typedef struct rocksdb_cache_t rocksdb_cache_t;
77
79
  typedef struct rocksdb_compactionfilter_t rocksdb_compactionfilter_t;
78
80
  typedef struct rocksdb_compactionfiltercontext_t
79
81
  rocksdb_compactionfiltercontext_t;
@@ -147,7 +149,7 @@ extern ROCKSDB_LIBRARY_API rocksdb_backup_engine_t* rocksdb_backup_engine_open(
147
149
  const rocksdb_options_t* options, const char* path, char** errptr);
148
150
 
149
151
  extern ROCKSDB_LIBRARY_API rocksdb_backup_engine_t*
150
- rocksdb_backup_engine_open_opts(const rocksdb_backupable_db_options_t* options,
152
+ rocksdb_backup_engine_open_opts(const rocksdb_backup_engine_options_t* options,
151
153
  rocksdb_env_t* env, char** errptr);
152
154
 
153
155
  extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_create_new_backup(
@@ -161,7 +163,7 @@ extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_purge_old_backups(
161
163
  rocksdb_backup_engine_t* be, uint32_t num_backups_to_keep, char** errptr);
162
164
 
163
165
  extern ROCKSDB_LIBRARY_API rocksdb_restore_options_t*
164
- rocksdb_restore_options_create();
166
+ rocksdb_restore_options_create(void);
165
167
  extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_destroy(
166
168
  rocksdb_restore_options_t* opt);
167
169
  extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_set_keep_log_files(
@@ -208,97 +210,97 @@ extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_info_destroy(
208
210
  extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_close(
209
211
  rocksdb_backup_engine_t* be);
210
212
 
211
- /* BackupableDBOptions */
213
+ /* BackupEngineOptions */
212
214
 
213
- extern ROCKSDB_LIBRARY_API rocksdb_backupable_db_options_t*
214
- rocksdb_backupable_db_options_create(const char* backup_dir);
215
+ extern ROCKSDB_LIBRARY_API rocksdb_backup_engine_options_t*
216
+ rocksdb_backup_engine_options_create(const char* backup_dir);
215
217
 
216
- extern ROCKSDB_LIBRARY_API void rocksdb_backupable_db_options_set_backup_dir(
217
- rocksdb_backupable_db_options_t* options, const char* backup_dir);
218
+ extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_set_backup_dir(
219
+ rocksdb_backup_engine_options_t* options, const char* backup_dir);
218
220
 
219
- extern ROCKSDB_LIBRARY_API void rocksdb_backupable_db_options_set_env(
220
- rocksdb_backupable_db_options_t* options, rocksdb_env_t* env);
221
+ extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_set_env(
222
+ rocksdb_backup_engine_options_t* options, rocksdb_env_t* env);
221
223
 
222
224
  extern ROCKSDB_LIBRARY_API void
223
- rocksdb_backupable_db_options_set_share_table_files(
224
- rocksdb_backupable_db_options_t* options, unsigned char val);
225
+ rocksdb_backup_engine_options_set_share_table_files(
226
+ rocksdb_backup_engine_options_t* options, unsigned char val);
225
227
 
226
228
  extern ROCKSDB_LIBRARY_API unsigned char
227
- rocksdb_backupable_db_options_get_share_table_files(
228
- rocksdb_backupable_db_options_t* options);
229
+ rocksdb_backup_engine_options_get_share_table_files(
230
+ rocksdb_backup_engine_options_t* options);
229
231
 
230
- extern ROCKSDB_LIBRARY_API void rocksdb_backupable_db_options_set_sync(
231
- rocksdb_backupable_db_options_t* options, unsigned char val);
232
+ extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_set_sync(
233
+ rocksdb_backup_engine_options_t* options, unsigned char val);
232
234
 
233
- extern ROCKSDB_LIBRARY_API unsigned char rocksdb_backupable_db_options_get_sync(
234
- rocksdb_backupable_db_options_t* options);
235
+ extern ROCKSDB_LIBRARY_API unsigned char rocksdb_backup_engine_options_get_sync(
236
+ rocksdb_backup_engine_options_t* options);
235
237
 
236
238
  extern ROCKSDB_LIBRARY_API void
237
- rocksdb_backupable_db_options_set_destroy_old_data(
238
- rocksdb_backupable_db_options_t* options, unsigned char val);
239
+ rocksdb_backup_engine_options_set_destroy_old_data(
240
+ rocksdb_backup_engine_options_t* options, unsigned char val);
239
241
 
240
242
  extern ROCKSDB_LIBRARY_API unsigned char
241
- rocksdb_backupable_db_options_get_destroy_old_data(
242
- rocksdb_backupable_db_options_t* options);
243
+ rocksdb_backup_engine_options_get_destroy_old_data(
244
+ rocksdb_backup_engine_options_t* options);
243
245
 
244
246
  extern ROCKSDB_LIBRARY_API void
245
- rocksdb_backupable_db_options_set_backup_log_files(
246
- rocksdb_backupable_db_options_t* options, unsigned char val);
247
+ rocksdb_backup_engine_options_set_backup_log_files(
248
+ rocksdb_backup_engine_options_t* options, unsigned char val);
247
249
 
248
250
  extern ROCKSDB_LIBRARY_API unsigned char
249
- rocksdb_backupable_db_options_get_backup_log_files(
250
- rocksdb_backupable_db_options_t* options);
251
+ rocksdb_backup_engine_options_get_backup_log_files(
252
+ rocksdb_backup_engine_options_t* options);
251
253
 
252
254
  extern ROCKSDB_LIBRARY_API void
253
- rocksdb_backupable_db_options_set_backup_rate_limit(
254
- rocksdb_backupable_db_options_t* options, uint64_t limit);
255
+ rocksdb_backup_engine_options_set_backup_rate_limit(
256
+ rocksdb_backup_engine_options_t* options, uint64_t limit);
255
257
 
256
258
  extern ROCKSDB_LIBRARY_API uint64_t
257
- rocksdb_backupable_db_options_get_backup_rate_limit(
258
- rocksdb_backupable_db_options_t* options);
259
+ rocksdb_backup_engine_options_get_backup_rate_limit(
260
+ rocksdb_backup_engine_options_t* options);
259
261
 
260
262
  extern ROCKSDB_LIBRARY_API void
261
- rocksdb_backupable_db_options_set_restore_rate_limit(
262
- rocksdb_backupable_db_options_t* options, uint64_t limit);
263
+ rocksdb_backup_engine_options_set_restore_rate_limit(
264
+ rocksdb_backup_engine_options_t* options, uint64_t limit);
263
265
 
264
266
  extern ROCKSDB_LIBRARY_API uint64_t
265
- rocksdb_backupable_db_options_get_restore_rate_limit(
266
- rocksdb_backupable_db_options_t* options);
267
+ rocksdb_backup_engine_options_get_restore_rate_limit(
268
+ rocksdb_backup_engine_options_t* options);
267
269
 
268
270
  extern ROCKSDB_LIBRARY_API void
269
- rocksdb_backupable_db_options_set_max_background_operations(
270
- rocksdb_backupable_db_options_t* options, int val);
271
+ rocksdb_backup_engine_options_set_max_background_operations(
272
+ rocksdb_backup_engine_options_t* options, int val);
271
273
 
272
274
  extern ROCKSDB_LIBRARY_API int
273
- rocksdb_backupable_db_options_get_max_background_operations(
274
- rocksdb_backupable_db_options_t* options);
275
+ rocksdb_backup_engine_options_get_max_background_operations(
276
+ rocksdb_backup_engine_options_t* options);
275
277
 
276
278
  extern ROCKSDB_LIBRARY_API void
277
- rocksdb_backupable_db_options_set_callback_trigger_interval_size(
278
- rocksdb_backupable_db_options_t* options, uint64_t size);
279
+ rocksdb_backup_engine_options_set_callback_trigger_interval_size(
280
+ rocksdb_backup_engine_options_t* options, uint64_t size);
279
281
 
280
282
  extern ROCKSDB_LIBRARY_API uint64_t
281
- rocksdb_backupable_db_options_get_callback_trigger_interval_size(
282
- rocksdb_backupable_db_options_t* options);
283
+ rocksdb_backup_engine_options_get_callback_trigger_interval_size(
284
+ rocksdb_backup_engine_options_t* options);
283
285
 
284
286
  extern ROCKSDB_LIBRARY_API void
285
- rocksdb_backupable_db_options_set_max_valid_backups_to_open(
286
- rocksdb_backupable_db_options_t* options, int val);
287
+ rocksdb_backup_engine_options_set_max_valid_backups_to_open(
288
+ rocksdb_backup_engine_options_t* options, int val);
287
289
 
288
290
  extern ROCKSDB_LIBRARY_API int
289
- rocksdb_backupable_db_options_get_max_valid_backups_to_open(
290
- rocksdb_backupable_db_options_t* options);
291
+ rocksdb_backup_engine_options_get_max_valid_backups_to_open(
292
+ rocksdb_backup_engine_options_t* options);
291
293
 
292
294
  extern ROCKSDB_LIBRARY_API void
293
- rocksdb_backupable_db_options_set_share_files_with_checksum_naming(
294
- rocksdb_backupable_db_options_t* options, int val);
295
+ rocksdb_backup_engine_options_set_share_files_with_checksum_naming(
296
+ rocksdb_backup_engine_options_t* options, int val);
295
297
 
296
298
  extern ROCKSDB_LIBRARY_API int
297
- rocksdb_backupable_db_options_get_share_files_with_checksum_naming(
298
- rocksdb_backupable_db_options_t* options);
299
+ rocksdb_backup_engine_options_get_share_files_with_checksum_naming(
300
+ rocksdb_backup_engine_options_t* options);
299
301
 
300
- extern ROCKSDB_LIBRARY_API void rocksdb_backupable_db_options_destroy(
301
- rocksdb_backupable_db_options_t*);
302
+ extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_destroy(
303
+ rocksdb_backup_engine_options_t*);
302
304
 
303
305
  /* Checkpoint */
304
306
 
@@ -338,7 +340,7 @@ extern ROCKSDB_LIBRARY_API rocksdb_t* rocksdb_open_as_secondary_column_families(
338
340
  const char* secondary_path, int num_column_families,
339
341
  const char* const* column_family_names,
340
342
  const rocksdb_options_t* const* column_family_options,
341
- rocksdb_column_family_handle_t** colummn_family_handles, char** errptr);
343
+ rocksdb_column_family_handle_t** column_family_handles, char** errptr);
342
344
 
343
345
  extern ROCKSDB_LIBRARY_API char** rocksdb_list_column_families(
344
346
  const rocksdb_options_t* options, const char* name, size_t* lencf,
@@ -537,6 +539,10 @@ extern ROCKSDB_LIBRARY_API void rocksdb_flush_cf(
537
539
  rocksdb_t* db, const rocksdb_flushoptions_t* options,
538
540
  rocksdb_column_family_handle_t* column_family, char** errptr);
539
541
 
542
+ extern ROCKSDB_LIBRARY_API void rocksdb_flush_wal(rocksdb_t* db,
543
+ unsigned char sync,
544
+ char** errptr);
545
+
540
546
  extern ROCKSDB_LIBRARY_API void rocksdb_disable_file_deletions(rocksdb_t* db,
541
547
  char** errptr);
542
548
 
@@ -582,7 +588,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_wal_iter_destroy (const rocksdb_wal_iter
582
588
 
583
589
  /* Write batch */
584
590
 
585
- extern ROCKSDB_LIBRARY_API rocksdb_writebatch_t* rocksdb_writebatch_create();
591
+ extern ROCKSDB_LIBRARY_API rocksdb_writebatch_t* rocksdb_writebatch_create(
592
+ void);
586
593
  extern ROCKSDB_LIBRARY_API rocksdb_writebatch_t* rocksdb_writebatch_create_from(
587
594
  const char* rep, size_t size);
588
595
  extern ROCKSDB_LIBRARY_API void rocksdb_writebatch_destroy(
@@ -811,7 +818,7 @@ extern ROCKSDB_LIBRARY_API rocksdb_iterator_t* rocksdb_writebatch_wi_create_iter
811
818
  /* Block based table options */
812
819
 
813
820
  extern ROCKSDB_LIBRARY_API rocksdb_block_based_table_options_t*
814
- rocksdb_block_based_options_create();
821
+ rocksdb_block_based_options_create(void);
815
822
  extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_destroy(
816
823
  rocksdb_block_based_table_options_t* options);
817
824
  extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_block_size(
@@ -865,9 +872,9 @@ extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_data_block_index
865
872
  rocksdb_block_based_table_options_t*, int); // uses one of the above enums
866
873
  extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_data_block_hash_ratio(
867
874
  rocksdb_block_based_table_options_t* options, double v);
868
- extern ROCKSDB_LIBRARY_API void
869
- rocksdb_block_based_options_set_hash_index_allow_collision(
870
- rocksdb_block_based_table_options_t*, unsigned char);
875
+ // rocksdb_block_based_options_set_hash_index_allow_collision()
876
+ // is removed since BlockBasedTableOptions.hash_index_allow_collision()
877
+ // is removed
871
878
  extern ROCKSDB_LIBRARY_API void
872
879
  rocksdb_block_based_options_set_cache_index_and_filter_blocks(
873
880
  rocksdb_block_based_table_options_t*, unsigned char);
@@ -886,7 +893,7 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_block_based_table_factory(
886
893
  /* Cuckoo table options */
887
894
 
888
895
  extern ROCKSDB_LIBRARY_API rocksdb_cuckoo_table_options_t*
889
- rocksdb_cuckoo_options_create();
896
+ rocksdb_cuckoo_options_create(void);
890
897
  extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_destroy(
891
898
  rocksdb_cuckoo_table_options_t* options);
892
899
  extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_hash_ratio(
@@ -910,7 +917,7 @@ extern ROCKSDB_LIBRARY_API void rocksdb_set_options(
910
917
  extern ROCKSDB_LIBRARY_API void rocksdb_set_options_cf(
911
918
  rocksdb_t* db, rocksdb_column_family_handle_t* handle, int count, const char* const keys[], const char* const values[], char** errptr);
912
919
 
913
- extern ROCKSDB_LIBRARY_API rocksdb_options_t* rocksdb_options_create();
920
+ extern ROCKSDB_LIBRARY_API rocksdb_options_t* rocksdb_options_create(void);
914
921
  extern ROCKSDB_LIBRARY_API void rocksdb_options_destroy(rocksdb_options_t*);
915
922
  extern ROCKSDB_LIBRARY_API rocksdb_options_t* rocksdb_options_create_copy(
916
923
  rocksdb_options_t*);
@@ -943,7 +950,7 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_merge_operator(
943
950
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_uint64add_merge_operator(
944
951
  rocksdb_options_t*);
945
952
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_compression_per_level(
946
- rocksdb_options_t* opt, int* level_values, size_t num_levels);
953
+ rocksdb_options_t* opt, const int* level_values, size_t num_levels);
947
954
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_create_if_missing(
948
955
  rocksdb_options_t*, unsigned char);
949
956
  extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_create_if_missing(
@@ -997,12 +1004,30 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_compression_options(
997
1004
  extern ROCKSDB_LIBRARY_API void
998
1005
  rocksdb_options_set_compression_options_zstd_max_train_bytes(rocksdb_options_t*,
999
1006
  int);
1007
+ extern ROCKSDB_LIBRARY_API int
1008
+ rocksdb_options_get_compression_options_zstd_max_train_bytes(
1009
+ rocksdb_options_t* opt);
1010
+ extern ROCKSDB_LIBRARY_API void
1011
+ rocksdb_options_set_compression_options_parallel_threads(rocksdb_options_t*,
1012
+ int);
1013
+ extern ROCKSDB_LIBRARY_API int
1014
+ rocksdb_options_get_compression_options_parallel_threads(
1015
+ rocksdb_options_t* opt);
1016
+ extern ROCKSDB_LIBRARY_API void
1017
+ rocksdb_options_set_compression_options_max_dict_buffer_bytes(
1018
+ rocksdb_options_t*, uint64_t);
1019
+ extern ROCKSDB_LIBRARY_API uint64_t
1020
+ rocksdb_options_get_compression_options_max_dict_buffer_bytes(
1021
+ rocksdb_options_t* opt);
1000
1022
  extern ROCKSDB_LIBRARY_API void
1001
1023
  rocksdb_options_set_bottommost_compression_options(rocksdb_options_t*, int, int,
1002
1024
  int, int, unsigned char);
1003
1025
  extern ROCKSDB_LIBRARY_API void
1004
1026
  rocksdb_options_set_bottommost_compression_options_zstd_max_train_bytes(
1005
1027
  rocksdb_options_t*, int, unsigned char);
1028
+ extern ROCKSDB_LIBRARY_API void
1029
+ rocksdb_options_set_bottommost_compression_options_max_dict_buffer_bytes(
1030
+ rocksdb_options_t*, uint64_t, unsigned char);
1006
1031
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_prefix_extractor(
1007
1032
  rocksdb_options_t*, rocksdb_slicetransform_t*);
1008
1033
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_num_levels(
@@ -1021,8 +1046,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_level0_stop_writes_trigger(
1021
1046
  rocksdb_options_t*, int);
1022
1047
  extern ROCKSDB_LIBRARY_API int rocksdb_options_get_level0_stop_writes_trigger(
1023
1048
  rocksdb_options_t*);
1024
- extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_mem_compaction_level(
1025
- rocksdb_options_t*, int);
1026
1049
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_target_file_size_base(
1027
1050
  rocksdb_options_t*, uint64_t);
1028
1051
  extern ROCKSDB_LIBRARY_API uint64_t
@@ -1061,6 +1084,48 @@ extern ROCKSDB_LIBRARY_API unsigned char
1061
1084
  rocksdb_options_get_skip_checking_sst_file_sizes_on_db_open(
1062
1085
  rocksdb_options_t* opt);
1063
1086
 
1087
+ /* Blob Options Settings */
1088
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_enable_blob_files(
1089
+ rocksdb_options_t* opt, unsigned char val);
1090
+ extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_enable_blob_files(
1091
+ rocksdb_options_t* opt);
1092
+
1093
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_min_blob_size(
1094
+ rocksdb_options_t* opt, uint64_t val);
1095
+ extern ROCKSDB_LIBRARY_API uint64_t
1096
+ rocksdb_options_get_min_blob_size(rocksdb_options_t* opt);
1097
+
1098
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_blob_file_size(
1099
+ rocksdb_options_t* opt, uint64_t val);
1100
+ extern ROCKSDB_LIBRARY_API uint64_t
1101
+ rocksdb_options_get_blob_file_size(rocksdb_options_t* opt);
1102
+
1103
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_blob_compression_type(
1104
+ rocksdb_options_t* opt, int val);
1105
+ extern ROCKSDB_LIBRARY_API int rocksdb_options_get_blob_compression_type(
1106
+ rocksdb_options_t* opt);
1107
+
1108
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_enable_blob_gc(
1109
+ rocksdb_options_t* opt, unsigned char val);
1110
+ extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_enable_blob_gc(
1111
+ rocksdb_options_t* opt);
1112
+
1113
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_blob_gc_age_cutoff(
1114
+ rocksdb_options_t* opt, double val);
1115
+ extern ROCKSDB_LIBRARY_API double rocksdb_options_get_blob_gc_age_cutoff(
1116
+ rocksdb_options_t* opt);
1117
+
1118
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_blob_gc_force_threshold(
1119
+ rocksdb_options_t* opt, double val);
1120
+ extern ROCKSDB_LIBRARY_API double rocksdb_options_get_blob_gc_force_threshold(
1121
+ rocksdb_options_t* opt);
1122
+
1123
+ extern ROCKSDB_LIBRARY_API void
1124
+ rocksdb_options_set_blob_compaction_readahead_size(rocksdb_options_t* opt,
1125
+ uint64_t val);
1126
+ extern ROCKSDB_LIBRARY_API uint64_t
1127
+ rocksdb_options_get_blob_compaction_readahead_size(rocksdb_options_t* opt);
1128
+
1064
1129
  /* returns a pointer to a malloc()-ed, null terminated string */
1065
1130
  extern ROCKSDB_LIBRARY_API char* rocksdb_options_statistics_get_string(
1066
1131
  rocksdb_options_t* opt);
@@ -1103,10 +1168,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_background_compactions(
1103
1168
  rocksdb_options_t*, int);
1104
1169
  extern ROCKSDB_LIBRARY_API int rocksdb_options_get_max_background_compactions(
1105
1170
  rocksdb_options_t*);
1106
- extern ROCKSDB_LIBRARY_API void rocksdb_options_set_base_background_compactions(
1107
- rocksdb_options_t*, int);
1108
- extern ROCKSDB_LIBRARY_API int rocksdb_options_get_base_background_compactions(
1109
- rocksdb_options_t*);
1110
1171
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_background_flushes(
1111
1172
  rocksdb_options_t*, int);
1112
1173
  extern ROCKSDB_LIBRARY_API int rocksdb_options_get_max_background_flushes(
@@ -1127,14 +1188,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_recycle_log_file_num(
1127
1188
  rocksdb_options_t*, size_t);
1128
1189
  extern ROCKSDB_LIBRARY_API size_t
1129
1190
  rocksdb_options_get_recycle_log_file_num(rocksdb_options_t*);
1130
- extern ROCKSDB_LIBRARY_API void rocksdb_options_set_soft_rate_limit(
1131
- rocksdb_options_t*, double);
1132
- extern ROCKSDB_LIBRARY_API double rocksdb_options_get_soft_rate_limit(
1133
- rocksdb_options_t*);
1134
- extern ROCKSDB_LIBRARY_API void rocksdb_options_set_hard_rate_limit(
1135
- rocksdb_options_t*, double);
1136
- extern ROCKSDB_LIBRARY_API double rocksdb_options_get_hard_rate_limit(
1137
- rocksdb_options_t*);
1138
1191
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_soft_pending_compaction_bytes_limit(
1139
1192
  rocksdb_options_t* opt, size_t v);
1140
1193
  extern ROCKSDB_LIBRARY_API size_t
@@ -1143,11 +1196,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_hard_pending_compaction_byte
1143
1196
  rocksdb_options_t* opt, size_t v);
1144
1197
  extern ROCKSDB_LIBRARY_API size_t
1145
1198
  rocksdb_options_get_hard_pending_compaction_bytes_limit(rocksdb_options_t* opt);
1146
- extern ROCKSDB_LIBRARY_API void
1147
- rocksdb_options_set_rate_limit_delay_max_milliseconds(rocksdb_options_t*,
1148
- unsigned int);
1149
- extern ROCKSDB_LIBRARY_API unsigned int
1150
- rocksdb_options_get_rate_limit_delay_max_milliseconds(rocksdb_options_t*);
1151
1199
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_manifest_file_size(
1152
1200
  rocksdb_options_t*, size_t);
1153
1201
  extern ROCKSDB_LIBRARY_API size_t
@@ -1156,9 +1204,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_table_cache_numshardbits(
1156
1204
  rocksdb_options_t*, int);
1157
1205
  extern ROCKSDB_LIBRARY_API int rocksdb_options_get_table_cache_numshardbits(
1158
1206
  rocksdb_options_t*);
1159
- extern ROCKSDB_LIBRARY_API void
1160
- rocksdb_options_set_table_cache_remove_scan_count_limit(rocksdb_options_t*,
1161
- int);
1162
1207
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_arena_block_size(
1163
1208
  rocksdb_options_t*, size_t);
1164
1209
  extern ROCKSDB_LIBRARY_API size_t
@@ -1183,9 +1228,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_manifest_preallocation_size(
1183
1228
  rocksdb_options_t*, size_t);
1184
1229
  extern ROCKSDB_LIBRARY_API size_t
1185
1230
  rocksdb_options_get_manifest_preallocation_size(rocksdb_options_t*);
1186
- extern ROCKSDB_LIBRARY_API void
1187
- rocksdb_options_set_purge_redundant_kvs_while_flush(rocksdb_options_t*,
1188
- unsigned char);
1189
1231
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_allow_mmap_reads(
1190
1232
  rocksdb_options_t*, unsigned char);
1191
1233
  extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_allow_mmap_reads(
@@ -1207,10 +1249,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_is_fd_close_on_exec(
1207
1249
  rocksdb_options_t*, unsigned char);
1208
1250
  extern ROCKSDB_LIBRARY_API unsigned char
1209
1251
  rocksdb_options_get_is_fd_close_on_exec(rocksdb_options_t*);
1210
- extern ROCKSDB_LIBRARY_API void rocksdb_options_set_skip_log_error_on_recovery(
1211
- rocksdb_options_t*, unsigned char);
1212
- extern ROCKSDB_LIBRARY_API unsigned char
1213
- rocksdb_options_get_skip_log_error_on_recovery(rocksdb_options_t*);
1214
1252
  extern ROCKSDB_LIBRARY_API void rocksdb_options_set_stats_dump_period_sec(
1215
1253
  rocksdb_options_t*, unsigned int);
1216
1254
  extern ROCKSDB_LIBRARY_API unsigned int
@@ -1374,6 +1412,18 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_row_cache(
1374
1412
  rocksdb_options_t* opt, rocksdb_cache_t* cache
1375
1413
  );
1376
1414
 
1415
+ extern ROCKSDB_LIBRARY_API void
1416
+ rocksdb_options_add_compact_on_deletion_collector_factory(
1417
+ rocksdb_options_t*, size_t window_size, size_t num_dels_trigger);
1418
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_manual_wal_flush(
1419
+ rocksdb_options_t* opt, unsigned char);
1420
+ extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_manual_wal_flush(
1421
+ rocksdb_options_t* opt);
1422
+ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_compression(
1423
+ rocksdb_options_t* opt, int);
1424
+ extern ROCKSDB_LIBRARY_API int rocksdb_options_get_wal_compression(
1425
+ rocksdb_options_t* opt);
1426
+
1377
1427
  /* RateLimiter */
1378
1428
  extern ROCKSDB_LIBRARY_API rocksdb_ratelimiter_t* rocksdb_ratelimiter_create(
1379
1429
  int64_t rate_bytes_per_sec, int64_t refill_period_us, int32_t fairness);
@@ -1462,7 +1512,8 @@ enum {
1462
1512
  };
1463
1513
 
1464
1514
  extern ROCKSDB_LIBRARY_API void rocksdb_set_perf_level(int);
1465
- extern ROCKSDB_LIBRARY_API rocksdb_perfcontext_t* rocksdb_perfcontext_create();
1515
+ extern ROCKSDB_LIBRARY_API rocksdb_perfcontext_t* rocksdb_perfcontext_create(
1516
+ void);
1466
1517
  extern ROCKSDB_LIBRARY_API void rocksdb_perfcontext_reset(
1467
1518
  rocksdb_perfcontext_t* context);
1468
1519
  extern ROCKSDB_LIBRARY_API char* rocksdb_perfcontext_report(
@@ -1521,22 +1572,18 @@ extern ROCKSDB_LIBRARY_API void rocksdb_comparator_destroy(
1521
1572
 
1522
1573
  /* Filter policy */
1523
1574
 
1524
- extern ROCKSDB_LIBRARY_API rocksdb_filterpolicy_t* rocksdb_filterpolicy_create(
1525
- void* state, void (*destructor)(void*),
1526
- char* (*create_filter)(void*, const char* const* key_array,
1527
- const size_t* key_length_array, int num_keys,
1528
- size_t* filter_length),
1529
- unsigned char (*key_may_match)(void*, const char* key, size_t length,
1530
- const char* filter, size_t filter_length),
1531
- void (*delete_filter)(void*, const char* filter, size_t filter_length),
1532
- const char* (*name)(void*));
1533
1575
  extern ROCKSDB_LIBRARY_API void rocksdb_filterpolicy_destroy(
1534
1576
  rocksdb_filterpolicy_t*);
1535
1577
 
1536
1578
  extern ROCKSDB_LIBRARY_API rocksdb_filterpolicy_t*
1537
- rocksdb_filterpolicy_create_bloom(int bits_per_key);
1579
+ rocksdb_filterpolicy_create_bloom(double bits_per_key);
1580
+ extern ROCKSDB_LIBRARY_API rocksdb_filterpolicy_t*
1581
+ rocksdb_filterpolicy_create_bloom_full(double bits_per_key);
1582
+ extern ROCKSDB_LIBRARY_API rocksdb_filterpolicy_t*
1583
+ rocksdb_filterpolicy_create_ribbon(double bloom_equivalent_bits_per_key);
1538
1584
  extern ROCKSDB_LIBRARY_API rocksdb_filterpolicy_t*
1539
- rocksdb_filterpolicy_create_bloom_full(int bits_per_key);
1585
+ rocksdb_filterpolicy_create_ribbon_hybrid(double bloom_equivalent_bits_per_key,
1586
+ int bloom_before_level);
1540
1587
 
1541
1588
  /* Merge Operator */
1542
1589
 
@@ -1560,7 +1607,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_mergeoperator_destroy(
1560
1607
 
1561
1608
  /* Read options */
1562
1609
 
1563
- extern ROCKSDB_LIBRARY_API rocksdb_readoptions_t* rocksdb_readoptions_create();
1610
+ extern ROCKSDB_LIBRARY_API rocksdb_readoptions_t* rocksdb_readoptions_create(
1611
+ void);
1564
1612
  extern ROCKSDB_LIBRARY_API void rocksdb_readoptions_destroy(
1565
1613
  rocksdb_readoptions_t*);
1566
1614
  extern ROCKSDB_LIBRARY_API void rocksdb_readoptions_set_verify_checksums(
@@ -1617,11 +1665,19 @@ extern ROCKSDB_LIBRARY_API void rocksdb_readoptions_set_ignore_range_deletions(
1617
1665
  rocksdb_readoptions_t*, unsigned char);
1618
1666
  extern ROCKSDB_LIBRARY_API unsigned char
1619
1667
  rocksdb_readoptions_get_ignore_range_deletions(rocksdb_readoptions_t*);
1668
+ extern ROCKSDB_LIBRARY_API void rocksdb_readoptions_set_deadline(
1669
+ rocksdb_readoptions_t*, uint64_t microseconds);
1670
+ extern ROCKSDB_LIBRARY_API uint64_t
1671
+ rocksdb_readoptions_get_deadline(rocksdb_readoptions_t*);
1672
+ extern ROCKSDB_LIBRARY_API void rocksdb_readoptions_set_io_timeout(
1673
+ rocksdb_readoptions_t*, uint64_t microseconds);
1674
+ extern ROCKSDB_LIBRARY_API uint64_t
1675
+ rocksdb_readoptions_get_io_timeout(rocksdb_readoptions_t*);
1620
1676
 
1621
1677
  /* Write options */
1622
1678
 
1623
- extern ROCKSDB_LIBRARY_API rocksdb_writeoptions_t*
1624
- rocksdb_writeoptions_create();
1679
+ extern ROCKSDB_LIBRARY_API rocksdb_writeoptions_t* rocksdb_writeoptions_create(
1680
+ void);
1625
1681
  extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_destroy(
1626
1682
  rocksdb_writeoptions_t*);
1627
1683
  extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_sync(
@@ -1655,7 +1711,7 @@ rocksdb_writeoptions_get_memtable_insert_hint_per_batch(
1655
1711
  /* Compact range options */
1656
1712
 
1657
1713
  extern ROCKSDB_LIBRARY_API rocksdb_compactoptions_t*
1658
- rocksdb_compactoptions_create();
1714
+ rocksdb_compactoptions_create(void);
1659
1715
  extern ROCKSDB_LIBRARY_API void rocksdb_compactoptions_destroy(
1660
1716
  rocksdb_compactoptions_t*);
1661
1717
  extern ROCKSDB_LIBRARY_API void
@@ -1681,8 +1737,8 @@ extern ROCKSDB_LIBRARY_API int rocksdb_compactoptions_get_target_level(
1681
1737
 
1682
1738
  /* Flush options */
1683
1739
 
1684
- extern ROCKSDB_LIBRARY_API rocksdb_flushoptions_t*
1685
- rocksdb_flushoptions_create();
1740
+ extern ROCKSDB_LIBRARY_API rocksdb_flushoptions_t* rocksdb_flushoptions_create(
1741
+ void);
1686
1742
  extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_destroy(
1687
1743
  rocksdb_flushoptions_t*);
1688
1744
  extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_wait(
@@ -1690,11 +1746,31 @@ extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_wait(
1690
1746
  extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushoptions_get_wait(
1691
1747
  rocksdb_flushoptions_t*);
1692
1748
 
1749
+ /* Memory allocator */
1750
+
1751
+ extern ROCKSDB_LIBRARY_API rocksdb_memory_allocator_t*
1752
+ rocksdb_jemalloc_nodump_allocator_create(char** errptr);
1753
+ extern ROCKSDB_LIBRARY_API void rocksdb_memory_allocator_destroy(
1754
+ rocksdb_memory_allocator_t*);
1755
+
1693
1756
  /* Cache */
1694
1757
 
1758
+ extern ROCKSDB_LIBRARY_API rocksdb_lru_cache_options_t*
1759
+ rocksdb_lru_cache_options_create(void);
1760
+ extern ROCKSDB_LIBRARY_API void rocksdb_lru_cache_options_destroy(
1761
+ rocksdb_lru_cache_options_t*);
1762
+ extern ROCKSDB_LIBRARY_API void rocksdb_lru_cache_options_set_capacity(
1763
+ rocksdb_lru_cache_options_t*, size_t);
1764
+ extern ROCKSDB_LIBRARY_API void rocksdb_lru_cache_options_set_memory_allocator(
1765
+ rocksdb_lru_cache_options_t*, rocksdb_memory_allocator_t*);
1766
+
1695
1767
  extern ROCKSDB_LIBRARY_API rocksdb_cache_t* rocksdb_cache_create_lru(
1696
1768
  size_t capacity);
1769
+ extern ROCKSDB_LIBRARY_API rocksdb_cache_t* rocksdb_cache_create_lru_opts(
1770
+ rocksdb_lru_cache_options_t*);
1697
1771
  extern ROCKSDB_LIBRARY_API void rocksdb_cache_destroy(rocksdb_cache_t* cache);
1772
+ extern ROCKSDB_LIBRARY_API void rocksdb_cache_disown_data(
1773
+ rocksdb_cache_t* cache);
1698
1774
  extern ROCKSDB_LIBRARY_API void rocksdb_cache_set_capacity(
1699
1775
  rocksdb_cache_t* cache, size_t capacity);
1700
1776
  extern ROCKSDB_LIBRARY_API size_t
@@ -1711,8 +1787,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_dbpath_destroy(rocksdb_dbpath_t*);
1711
1787
 
1712
1788
  /* Env */
1713
1789
 
1714
- extern ROCKSDB_LIBRARY_API rocksdb_env_t* rocksdb_create_default_env();
1715
- extern ROCKSDB_LIBRARY_API rocksdb_env_t* rocksdb_create_mem_env();
1790
+ extern ROCKSDB_LIBRARY_API rocksdb_env_t* rocksdb_create_default_env(void);
1791
+ extern ROCKSDB_LIBRARY_API rocksdb_env_t* rocksdb_create_mem_env(void);
1716
1792
  extern ROCKSDB_LIBRARY_API void rocksdb_env_set_background_threads(
1717
1793
  rocksdb_env_t* env, int n);
1718
1794
  extern ROCKSDB_LIBRARY_API int rocksdb_env_get_background_threads(
@@ -1738,9 +1814,12 @@ extern ROCKSDB_LIBRARY_API void rocksdb_env_lower_high_priority_thread_pool_cpu_
1738
1814
 
1739
1815
  extern ROCKSDB_LIBRARY_API void rocksdb_env_destroy(rocksdb_env_t*);
1740
1816
 
1741
- extern ROCKSDB_LIBRARY_API rocksdb_envoptions_t* rocksdb_envoptions_create();
1817
+ extern ROCKSDB_LIBRARY_API rocksdb_envoptions_t* rocksdb_envoptions_create(
1818
+ void);
1742
1819
  extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_destroy(
1743
1820
  rocksdb_envoptions_t* opt);
1821
+ extern ROCKSDB_LIBRARY_API void rocksdb_create_dir_if_missing(
1822
+ rocksdb_env_t* env, const char* path, char** errptr);
1744
1823
 
1745
1824
  /* SstFile */
1746
1825
 
@@ -1773,7 +1852,7 @@ extern ROCKSDB_LIBRARY_API void rocksdb_sstfilewriter_destroy(
1773
1852
  rocksdb_sstfilewriter_t* writer);
1774
1853
 
1775
1854
  extern ROCKSDB_LIBRARY_API rocksdb_ingestexternalfileoptions_t*
1776
- rocksdb_ingestexternalfileoptions_create();
1855
+ rocksdb_ingestexternalfileoptions_create(void);
1777
1856
  extern ROCKSDB_LIBRARY_API void
1778
1857
  rocksdb_ingestexternalfileoptions_set_move_files(
1779
1858
  rocksdb_ingestexternalfileoptions_t* opt, unsigned char move_files);
@@ -1819,7 +1898,7 @@ rocksdb_slicetransform_create(
1819
1898
  extern ROCKSDB_LIBRARY_API rocksdb_slicetransform_t*
1820
1899
  rocksdb_slicetransform_create_fixed_prefix(size_t);
1821
1900
  extern ROCKSDB_LIBRARY_API rocksdb_slicetransform_t*
1822
- rocksdb_slicetransform_create_noop();
1901
+ rocksdb_slicetransform_create_noop(void);
1823
1902
  extern ROCKSDB_LIBRARY_API void rocksdb_slicetransform_destroy(
1824
1903
  rocksdb_slicetransform_t*);
1825
1904
 
@@ -1831,7 +1910,7 @@ enum {
1831
1910
  };
1832
1911
 
1833
1912
  extern ROCKSDB_LIBRARY_API rocksdb_universal_compaction_options_t*
1834
- rocksdb_universal_compaction_options_create();
1913
+ rocksdb_universal_compaction_options_create(void);
1835
1914
  extern ROCKSDB_LIBRARY_API void
1836
1915
  rocksdb_universal_compaction_options_set_size_ratio(
1837
1916
  rocksdb_universal_compaction_options_t*, int);
@@ -1872,7 +1951,7 @@ extern ROCKSDB_LIBRARY_API void rocksdb_universal_compaction_options_destroy(
1872
1951
  rocksdb_universal_compaction_options_t*);
1873
1952
 
1874
1953
  extern ROCKSDB_LIBRARY_API rocksdb_fifo_compaction_options_t*
1875
- rocksdb_fifo_compaction_options_create();
1954
+ rocksdb_fifo_compaction_options_create(void);
1876
1955
  extern ROCKSDB_LIBRARY_API void
1877
1956
  rocksdb_fifo_compaction_options_set_max_table_files_size(
1878
1957
  rocksdb_fifo_compaction_options_t* fifo_opts, uint64_t size);
@@ -1884,6 +1963,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_fifo_compaction_options_destroy(
1884
1963
 
1885
1964
  extern ROCKSDB_LIBRARY_API int rocksdb_livefiles_count(
1886
1965
  const rocksdb_livefiles_t*);
1966
+ extern ROCKSDB_LIBRARY_API const char* rocksdb_livefiles_column_family_name(
1967
+ const rocksdb_livefiles_t*, int index);
1887
1968
  extern ROCKSDB_LIBRARY_API const char* rocksdb_livefiles_name(
1888
1969
  const rocksdb_livefiles_t*, int index);
1889
1970
  extern ROCKSDB_LIBRARY_API int rocksdb_livefiles_level(
@@ -1929,7 +2010,7 @@ extern ROCKSDB_LIBRARY_API rocksdb_transactiondb_t* rocksdb_transactiondb_open(
1929
2010
  const rocksdb_transactiondb_options_t* txn_db_options, const char* name,
1930
2011
  char** errptr);
1931
2012
 
1932
- rocksdb_transactiondb_t* rocksdb_transactiondb_open_column_families(
2013
+ extern ROCKSDB_LIBRARY_API rocksdb_transactiondb_t* rocksdb_transactiondb_open_column_families(
1933
2014
  const rocksdb_options_t* options,
1934
2015
  const rocksdb_transactiondb_options_t* txn_db_options, const char* name,
1935
2016
  int num_column_families, const char* const* column_family_names,
@@ -1942,6 +2023,12 @@ rocksdb_transactiondb_create_snapshot(rocksdb_transactiondb_t* txn_db);
1942
2023
  extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_release_snapshot(
1943
2024
  rocksdb_transactiondb_t* txn_db, const rocksdb_snapshot_t* snapshot);
1944
2025
 
2026
+ extern ROCKSDB_LIBRARY_API char* rocksdb_transactiondb_property_value(
2027
+ rocksdb_transactiondb_t* db, const char* propname);
2028
+
2029
+ extern ROCKSDB_LIBRARY_API int rocksdb_transactiondb_property_int(
2030
+ rocksdb_transactiondb_t* db, const char* propname, uint64_t* out_val);
2031
+
1945
2032
  extern ROCKSDB_LIBRARY_API rocksdb_transaction_t* rocksdb_transaction_begin(
1946
2033
  rocksdb_transactiondb_t* txn_db,
1947
2034
  const rocksdb_writeoptions_t* write_options,
@@ -2099,13 +2186,22 @@ rocksdb_optimistictransaction_begin(
2099
2186
  const rocksdb_optimistictransaction_options_t* otxn_options,
2100
2187
  rocksdb_transaction_t* old_txn);
2101
2188
 
2189
+ extern ROCKSDB_LIBRARY_API void rocksdb_optimistictransactiondb_write(
2190
+ rocksdb_optimistictransactiondb_t* otxn_db,
2191
+ const rocksdb_writeoptions_t* options, rocksdb_writebatch_t* batch,
2192
+ char** errptr);
2193
+
2102
2194
  extern ROCKSDB_LIBRARY_API void rocksdb_optimistictransactiondb_close(
2103
2195
  rocksdb_optimistictransactiondb_t* otxn_db);
2104
2196
 
2197
+ extern ROCKSDB_LIBRARY_API rocksdb_checkpoint_t*
2198
+ rocksdb_optimistictransactiondb_checkpoint_object_create(
2199
+ rocksdb_optimistictransactiondb_t* otxn_db, char** errptr);
2200
+
2105
2201
  /* Transaction Options */
2106
2202
 
2107
2203
  extern ROCKSDB_LIBRARY_API rocksdb_transactiondb_options_t*
2108
- rocksdb_transactiondb_options_create();
2204
+ rocksdb_transactiondb_options_create(void);
2109
2205
 
2110
2206
  extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_options_destroy(
2111
2207
  rocksdb_transactiondb_options_t* opt);
@@ -2125,7 +2221,7 @@ rocksdb_transactiondb_options_set_default_lock_timeout(
2125
2221
  rocksdb_transactiondb_options_t* opt, int64_t default_lock_timeout);
2126
2222
 
2127
2223
  extern ROCKSDB_LIBRARY_API rocksdb_transaction_options_t*
2128
- rocksdb_transaction_options_create();
2224
+ rocksdb_transaction_options_create(void);
2129
2225
 
2130
2226
  extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_destroy(
2131
2227
  rocksdb_transaction_options_t* opt);
@@ -2151,7 +2247,7 @@ rocksdb_transaction_options_set_max_write_batch_size(
2151
2247
  rocksdb_transaction_options_t* opt, size_t size);
2152
2248
 
2153
2249
  extern ROCKSDB_LIBRARY_API rocksdb_optimistictransaction_options_t*
2154
- rocksdb_optimistictransaction_options_create();
2250
+ rocksdb_optimistictransaction_options_create(void);
2155
2251
 
2156
2252
  extern ROCKSDB_LIBRARY_API void rocksdb_optimistictransaction_options_destroy(
2157
2253
  rocksdb_optimistictransaction_options_t* opt);
@@ -2160,6 +2256,13 @@ extern ROCKSDB_LIBRARY_API void
2160
2256
  rocksdb_optimistictransaction_options_set_set_snapshot(
2161
2257
  rocksdb_optimistictransaction_options_t* opt, unsigned char v);
2162
2258
 
2259
+ extern ROCKSDB_LIBRARY_API char* rocksdb_optimistictransactiondb_property_value(
2260
+ rocksdb_optimistictransactiondb_t* db, const char* propname);
2261
+
2262
+ extern ROCKSDB_LIBRARY_API int rocksdb_optimistictransactiondb_property_int(
2263
+ rocksdb_optimistictransactiondb_t* db, const char* propname,
2264
+ uint64_t* out_val);
2265
+
2163
2266
  // referring to convention (3), this should be used by client
2164
2267
  // to free memory that was malloc()ed
2165
2268
  extern ROCKSDB_LIBRARY_API void rocksdb_free(void* ptr);
@@ -2177,7 +2280,7 @@ extern ROCKSDB_LIBRARY_API const char* rocksdb_pinnableslice_value(
2177
2280
  const rocksdb_pinnableslice_t* t, size_t* vlen);
2178
2281
 
2179
2282
  extern ROCKSDB_LIBRARY_API rocksdb_memory_consumers_t*
2180
- rocksdb_memory_consumers_create();
2283
+ rocksdb_memory_consumers_create(void);
2181
2284
  extern ROCKSDB_LIBRARY_API void rocksdb_memory_consumers_add_db(
2182
2285
  rocksdb_memory_consumers_t* consumers, rocksdb_t* db);
2183
2286
  extern ROCKSDB_LIBRARY_API void rocksdb_memory_consumers_add_cache(