rocksdb-native 0.0.0

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 (1951) hide show
  1. package/.clang-format +15 -0
  2. package/.github/workflows/test-node.yml +23 -0
  3. package/.gitmodules +4 -0
  4. package/CMakeLists.txt +33 -0
  5. package/LICENSE +201 -0
  6. package/NOTICE +13 -0
  7. package/README.md +15 -0
  8. package/binding.c +470 -0
  9. package/binding.js +1 -0
  10. package/index.js +276 -0
  11. package/package.json +19 -0
  12. package/vendor/rocksdb/.circleci/config.yml +892 -0
  13. package/vendor/rocksdb/.circleci/ubsan_suppression_list.txt +6 -0
  14. package/vendor/rocksdb/.clang-format +5 -0
  15. package/vendor/rocksdb/.github/workflows/sanity_check.yml +47 -0
  16. package/vendor/rocksdb/.lgtm.yml +4 -0
  17. package/vendor/rocksdb/AUTHORS +12 -0
  18. package/vendor/rocksdb/CMakeLists.txt +1591 -0
  19. package/vendor/rocksdb/CODE_OF_CONDUCT.md +77 -0
  20. package/vendor/rocksdb/CONTRIBUTING.md +17 -0
  21. package/vendor/rocksdb/COPYING +339 -0
  22. package/vendor/rocksdb/DEFAULT_OPTIONS_HISTORY.md +24 -0
  23. package/vendor/rocksdb/DUMP_FORMAT.md +16 -0
  24. package/vendor/rocksdb/HISTORY.md +2399 -0
  25. package/vendor/rocksdb/INSTALL.md +220 -0
  26. package/vendor/rocksdb/LANGUAGE-BINDINGS.md +26 -0
  27. package/vendor/rocksdb/LICENSE.Apache +202 -0
  28. package/vendor/rocksdb/LICENSE.leveldb +29 -0
  29. package/vendor/rocksdb/Makefile +2579 -0
  30. package/vendor/rocksdb/PLUGINS.md +8 -0
  31. package/vendor/rocksdb/README.md +29 -0
  32. package/vendor/rocksdb/TARGETS +5599 -0
  33. package/vendor/rocksdb/USERS.md +165 -0
  34. package/vendor/rocksdb/Vagrantfile +39 -0
  35. package/vendor/rocksdb/WINDOWS_PORT.md +228 -0
  36. package/vendor/rocksdb/buckifier/bench-slow.json +6163 -0
  37. package/vendor/rocksdb/buckifier/bench.json +1594 -0
  38. package/vendor/rocksdb/buckifier/buckify_rocksdb.py +333 -0
  39. package/vendor/rocksdb/buckifier/check_buck_targets.sh +32 -0
  40. package/vendor/rocksdb/buckifier/rocks_test_runner.sh +6 -0
  41. package/vendor/rocksdb/buckifier/targets_builder.py +150 -0
  42. package/vendor/rocksdb/buckifier/targets_cfg.py +41 -0
  43. package/vendor/rocksdb/buckifier/util.py +118 -0
  44. package/vendor/rocksdb/build_tools/amalgamate.py +168 -0
  45. package/vendor/rocksdb/build_tools/benchmark_log_tool.py +238 -0
  46. package/vendor/rocksdb/build_tools/build_detect_platform +804 -0
  47. package/vendor/rocksdb/build_tools/check-sources.sh +48 -0
  48. package/vendor/rocksdb/build_tools/dependencies_platform010.sh +22 -0
  49. package/vendor/rocksdb/build_tools/dockerbuild.sh +3 -0
  50. package/vendor/rocksdb/build_tools/error_filter.py +181 -0
  51. package/vendor/rocksdb/build_tools/fb_compile_mongo.sh +55 -0
  52. package/vendor/rocksdb/build_tools/fbcode_config.sh +175 -0
  53. package/vendor/rocksdb/build_tools/fbcode_config_platform010.sh +175 -0
  54. package/vendor/rocksdb/build_tools/format-diff.sh +203 -0
  55. package/vendor/rocksdb/build_tools/gnu_parallel +7971 -0
  56. package/vendor/rocksdb/build_tools/make_package.sh +129 -0
  57. package/vendor/rocksdb/build_tools/ps_with_stack +38 -0
  58. package/vendor/rocksdb/build_tools/regression_build_test.sh +396 -0
  59. package/vendor/rocksdb/build_tools/run_ci_db_test.ps1 +493 -0
  60. package/vendor/rocksdb/build_tools/setup_centos7.sh +45 -0
  61. package/vendor/rocksdb/build_tools/ubuntu20_image/Dockerfile +57 -0
  62. package/vendor/rocksdb/build_tools/update_dependencies.sh +106 -0
  63. package/vendor/rocksdb/build_tools/version.sh +23 -0
  64. package/vendor/rocksdb/cache/cache.cc +158 -0
  65. package/vendor/rocksdb/cache/cache_bench.cc +20 -0
  66. package/vendor/rocksdb/cache/cache_bench_tool.cc +969 -0
  67. package/vendor/rocksdb/cache/cache_entry_roles.cc +104 -0
  68. package/vendor/rocksdb/cache/cache_entry_roles.h +20 -0
  69. package/vendor/rocksdb/cache/cache_entry_stats.h +182 -0
  70. package/vendor/rocksdb/cache/cache_helpers.cc +40 -0
  71. package/vendor/rocksdb/cache/cache_helpers.h +139 -0
  72. package/vendor/rocksdb/cache/cache_key.cc +364 -0
  73. package/vendor/rocksdb/cache/cache_key.h +143 -0
  74. package/vendor/rocksdb/cache/cache_reservation_manager.cc +184 -0
  75. package/vendor/rocksdb/cache/cache_reservation_manager.h +317 -0
  76. package/vendor/rocksdb/cache/cache_reservation_manager_test.cc +469 -0
  77. package/vendor/rocksdb/cache/cache_test.cc +1061 -0
  78. package/vendor/rocksdb/cache/charged_cache.cc +109 -0
  79. package/vendor/rocksdb/cache/charged_cache.h +59 -0
  80. package/vendor/rocksdb/cache/clock_cache.cc +1482 -0
  81. package/vendor/rocksdb/cache/clock_cache.h +707 -0
  82. package/vendor/rocksdb/cache/compressed_secondary_cache.cc +304 -0
  83. package/vendor/rocksdb/cache/compressed_secondary_cache.h +132 -0
  84. package/vendor/rocksdb/cache/compressed_secondary_cache_test.cc +983 -0
  85. package/vendor/rocksdb/cache/lru_cache.cc +723 -0
  86. package/vendor/rocksdb/cache/lru_cache.h +467 -0
  87. package/vendor/rocksdb/cache/lru_cache_test.cc +2559 -0
  88. package/vendor/rocksdb/cache/secondary_cache.cc +44 -0
  89. package/vendor/rocksdb/cache/secondary_cache_adapter.cc +295 -0
  90. package/vendor/rocksdb/cache/secondary_cache_adapter.h +52 -0
  91. package/vendor/rocksdb/cache/sharded_cache.cc +137 -0
  92. package/vendor/rocksdb/cache/sharded_cache.h +309 -0
  93. package/vendor/rocksdb/cache/typed_cache.h +375 -0
  94. package/vendor/rocksdb/cmake/RocksDBConfig.cmake.in +54 -0
  95. package/vendor/rocksdb/common.mk +30 -0
  96. package/vendor/rocksdb/crash_test.mk +107 -0
  97. package/vendor/rocksdb/db/arena_wrapped_db_iter.cc +163 -0
  98. package/vendor/rocksdb/db/arena_wrapped_db_iter.h +127 -0
  99. package/vendor/rocksdb/db/blob/blob_constants.h +16 -0
  100. package/vendor/rocksdb/db/blob/blob_contents.cc +42 -0
  101. package/vendor/rocksdb/db/blob/blob_contents.h +59 -0
  102. package/vendor/rocksdb/db/blob/blob_counting_iterator.h +150 -0
  103. package/vendor/rocksdb/db/blob/blob_counting_iterator_test.cc +327 -0
  104. package/vendor/rocksdb/db/blob/blob_fetcher.cc +34 -0
  105. package/vendor/rocksdb/db/blob/blob_fetcher.h +37 -0
  106. package/vendor/rocksdb/db/blob/blob_file_addition.cc +156 -0
  107. package/vendor/rocksdb/db/blob/blob_file_addition.h +67 -0
  108. package/vendor/rocksdb/db/blob/blob_file_addition_test.cc +211 -0
  109. package/vendor/rocksdb/db/blob/blob_file_builder.cc +426 -0
  110. package/vendor/rocksdb/db/blob/blob_file_builder.h +112 -0
  111. package/vendor/rocksdb/db/blob/blob_file_builder_test.cc +680 -0
  112. package/vendor/rocksdb/db/blob/blob_file_cache.cc +101 -0
  113. package/vendor/rocksdb/db/blob/blob_file_cache.h +56 -0
  114. package/vendor/rocksdb/db/blob/blob_file_cache_test.cc +278 -0
  115. package/vendor/rocksdb/db/blob/blob_file_completion_callback.h +84 -0
  116. package/vendor/rocksdb/db/blob/blob_file_garbage.cc +134 -0
  117. package/vendor/rocksdb/db/blob/blob_file_garbage.h +57 -0
  118. package/vendor/rocksdb/db/blob/blob_file_garbage_test.cc +174 -0
  119. package/vendor/rocksdb/db/blob/blob_file_meta.cc +62 -0
  120. package/vendor/rocksdb/db/blob/blob_file_meta.h +170 -0
  121. package/vendor/rocksdb/db/blob/blob_file_reader.cc +624 -0
  122. package/vendor/rocksdb/db/blob/blob_file_reader.h +112 -0
  123. package/vendor/rocksdb/db/blob/blob_file_reader_test.cc +1023 -0
  124. package/vendor/rocksdb/db/blob/blob_garbage_meter.cc +100 -0
  125. package/vendor/rocksdb/db/blob/blob_garbage_meter.h +102 -0
  126. package/vendor/rocksdb/db/blob/blob_garbage_meter_test.cc +197 -0
  127. package/vendor/rocksdb/db/blob/blob_index.h +187 -0
  128. package/vendor/rocksdb/db/blob/blob_log_format.cc +143 -0
  129. package/vendor/rocksdb/db/blob/blob_log_format.h +164 -0
  130. package/vendor/rocksdb/db/blob/blob_log_sequential_reader.cc +134 -0
  131. package/vendor/rocksdb/db/blob/blob_log_sequential_reader.h +83 -0
  132. package/vendor/rocksdb/db/blob/blob_log_writer.cc +178 -0
  133. package/vendor/rocksdb/db/blob/blob_log_writer.h +83 -0
  134. package/vendor/rocksdb/db/blob/blob_read_request.h +58 -0
  135. package/vendor/rocksdb/db/blob/blob_source.cc +459 -0
  136. package/vendor/rocksdb/db/blob/blob_source.h +161 -0
  137. package/vendor/rocksdb/db/blob/blob_source_test.cc +1611 -0
  138. package/vendor/rocksdb/db/blob/db_blob_basic_test.cc +2237 -0
  139. package/vendor/rocksdb/db/blob/db_blob_compaction_test.cc +899 -0
  140. package/vendor/rocksdb/db/blob/db_blob_corruption_test.cc +80 -0
  141. package/vendor/rocksdb/db/blob/db_blob_index_test.cc +596 -0
  142. package/vendor/rocksdb/db/blob/prefetch_buffer_collection.cc +21 -0
  143. package/vendor/rocksdb/db/blob/prefetch_buffer_collection.h +38 -0
  144. package/vendor/rocksdb/db/builder.cc +447 -0
  145. package/vendor/rocksdb/db/builder.h +78 -0
  146. package/vendor/rocksdb/db/c.cc +6559 -0
  147. package/vendor/rocksdb/db/c_test.c +3609 -0
  148. package/vendor/rocksdb/db/column_family.cc +1708 -0
  149. package/vendor/rocksdb/db/column_family.h +851 -0
  150. package/vendor/rocksdb/db/column_family_test.cc +3382 -0
  151. package/vendor/rocksdb/db/compact_files_test.cc +492 -0
  152. package/vendor/rocksdb/db/compaction/clipping_iterator.h +281 -0
  153. package/vendor/rocksdb/db/compaction/clipping_iterator_test.cc +259 -0
  154. package/vendor/rocksdb/db/compaction/compaction.cc +857 -0
  155. package/vendor/rocksdb/db/compaction/compaction.h +565 -0
  156. package/vendor/rocksdb/db/compaction/compaction_iteration_stats.h +49 -0
  157. package/vendor/rocksdb/db/compaction/compaction_iterator.cc +1445 -0
  158. package/vendor/rocksdb/db/compaction/compaction_iterator.h +530 -0
  159. package/vendor/rocksdb/db/compaction/compaction_iterator_test.cc +1618 -0
  160. package/vendor/rocksdb/db/compaction/compaction_job.cc +2054 -0
  161. package/vendor/rocksdb/db/compaction/compaction_job.h +504 -0
  162. package/vendor/rocksdb/db/compaction/compaction_job_stats_test.cc +965 -0
  163. package/vendor/rocksdb/db/compaction/compaction_job_test.cc +2444 -0
  164. package/vendor/rocksdb/db/compaction/compaction_outputs.cc +784 -0
  165. package/vendor/rocksdb/db/compaction/compaction_outputs.h +403 -0
  166. package/vendor/rocksdb/db/compaction/compaction_picker.cc +1225 -0
  167. package/vendor/rocksdb/db/compaction/compaction_picker.h +318 -0
  168. package/vendor/rocksdb/db/compaction/compaction_picker_fifo.cc +471 -0
  169. package/vendor/rocksdb/db/compaction/compaction_picker_fifo.h +60 -0
  170. package/vendor/rocksdb/db/compaction/compaction_picker_level.cc +888 -0
  171. package/vendor/rocksdb/db/compaction/compaction_picker_level.h +33 -0
  172. package/vendor/rocksdb/db/compaction/compaction_picker_test.cc +4074 -0
  173. package/vendor/rocksdb/db/compaction/compaction_picker_universal.cc +1452 -0
  174. package/vendor/rocksdb/db/compaction/compaction_picker_universal.h +30 -0
  175. package/vendor/rocksdb/db/compaction/compaction_service_job.cc +833 -0
  176. package/vendor/rocksdb/db/compaction/compaction_service_test.cc +954 -0
  177. package/vendor/rocksdb/db/compaction/compaction_state.cc +46 -0
  178. package/vendor/rocksdb/db/compaction/compaction_state.h +42 -0
  179. package/vendor/rocksdb/db/compaction/file_pri.h +92 -0
  180. package/vendor/rocksdb/db/compaction/sst_partitioner.cc +83 -0
  181. package/vendor/rocksdb/db/compaction/subcompaction_state.cc +106 -0
  182. package/vendor/rocksdb/db/compaction/subcompaction_state.h +220 -0
  183. package/vendor/rocksdb/db/compaction/tiered_compaction_test.cc +2149 -0
  184. package/vendor/rocksdb/db/comparator_db_test.cc +678 -0
  185. package/vendor/rocksdb/db/convenience.cc +81 -0
  186. package/vendor/rocksdb/db/corruption_test.cc +1670 -0
  187. package/vendor/rocksdb/db/cuckoo_table_db_test.cc +351 -0
  188. package/vendor/rocksdb/db/db_basic_test.cc +4777 -0
  189. package/vendor/rocksdb/db/db_block_cache_test.cc +1972 -0
  190. package/vendor/rocksdb/db/db_bloom_filter_test.cc +3513 -0
  191. package/vendor/rocksdb/db/db_clip_test.cc +142 -0
  192. package/vendor/rocksdb/db/db_compaction_filter_test.cc +1030 -0
  193. package/vendor/rocksdb/db/db_compaction_test.cc +9424 -0
  194. package/vendor/rocksdb/db/db_dynamic_level_test.cc +499 -0
  195. package/vendor/rocksdb/db/db_encryption_test.cc +126 -0
  196. package/vendor/rocksdb/db/db_filesnapshot.cc +436 -0
  197. package/vendor/rocksdb/db/db_flush_test.cc +3202 -0
  198. package/vendor/rocksdb/db/db_impl/compacted_db_impl.cc +260 -0
  199. package/vendor/rocksdb/db/db_impl/compacted_db_impl.h +157 -0
  200. package/vendor/rocksdb/db/db_impl/db_impl.cc +6132 -0
  201. package/vendor/rocksdb/db/db_impl/db_impl.h +2841 -0
  202. package/vendor/rocksdb/db/db_impl/db_impl_compaction_flush.cc +3980 -0
  203. package/vendor/rocksdb/db/db_impl/db_impl_debug.cc +314 -0
  204. package/vendor/rocksdb/db/db_impl/db_impl_experimental.cc +159 -0
  205. package/vendor/rocksdb/db/db_impl/db_impl_files.cc +1014 -0
  206. package/vendor/rocksdb/db/db_impl/db_impl_open.cc +2202 -0
  207. package/vendor/rocksdb/db/db_impl/db_impl_readonly.cc +334 -0
  208. package/vendor/rocksdb/db/db_impl/db_impl_readonly.h +173 -0
  209. package/vendor/rocksdb/db/db_impl/db_impl_secondary.cc +964 -0
  210. package/vendor/rocksdb/db/db_impl/db_impl_secondary.h +406 -0
  211. package/vendor/rocksdb/db/db_impl/db_impl_write.cc +2487 -0
  212. package/vendor/rocksdb/db/db_info_dumper.cc +147 -0
  213. package/vendor/rocksdb/db/db_info_dumper.h +15 -0
  214. package/vendor/rocksdb/db/db_inplace_update_test.cc +262 -0
  215. package/vendor/rocksdb/db/db_io_failure_test.cc +589 -0
  216. package/vendor/rocksdb/db/db_iter.cc +1708 -0
  217. package/vendor/rocksdb/db/db_iter.h +411 -0
  218. package/vendor/rocksdb/db/db_iter_stress_test.cc +658 -0
  219. package/vendor/rocksdb/db/db_iter_test.cc +3195 -0
  220. package/vendor/rocksdb/db/db_iterator_test.cc +3304 -0
  221. package/vendor/rocksdb/db/db_kv_checksum_test.cc +885 -0
  222. package/vendor/rocksdb/db/db_log_iter_test.cc +297 -0
  223. package/vendor/rocksdb/db/db_logical_block_size_cache_test.cc +505 -0
  224. package/vendor/rocksdb/db/db_memtable_test.cc +344 -0
  225. package/vendor/rocksdb/db/db_merge_operand_test.cc +488 -0
  226. package/vendor/rocksdb/db/db_merge_operator_test.cc +866 -0
  227. package/vendor/rocksdb/db/db_options_test.cc +1330 -0
  228. package/vendor/rocksdb/db/db_properties_test.cc +2377 -0
  229. package/vendor/rocksdb/db/db_range_del_test.cc +3414 -0
  230. package/vendor/rocksdb/db/db_rate_limiter_test.cc +437 -0
  231. package/vendor/rocksdb/db/db_readonly_with_timestamp_test.cc +956 -0
  232. package/vendor/rocksdb/db/db_secondary_test.cc +1691 -0
  233. package/vendor/rocksdb/db/db_sst_test.cc +1865 -0
  234. package/vendor/rocksdb/db/db_statistics_test.cc +292 -0
  235. package/vendor/rocksdb/db/db_table_properties_test.cc +623 -0
  236. package/vendor/rocksdb/db/db_tailing_iter_test.cc +595 -0
  237. package/vendor/rocksdb/db/db_test.cc +7359 -0
  238. package/vendor/rocksdb/db/db_test2.cc +7679 -0
  239. package/vendor/rocksdb/db/db_test_util.cc +1759 -0
  240. package/vendor/rocksdb/db/db_test_util.h +1340 -0
  241. package/vendor/rocksdb/db/db_universal_compaction_test.cc +2227 -0
  242. package/vendor/rocksdb/db/db_wal_test.cc +2433 -0
  243. package/vendor/rocksdb/db/db_with_timestamp_basic_test.cc +4016 -0
  244. package/vendor/rocksdb/db/db_with_timestamp_compaction_test.cc +353 -0
  245. package/vendor/rocksdb/db/db_with_timestamp_test_util.cc +96 -0
  246. package/vendor/rocksdb/db/db_with_timestamp_test_util.h +126 -0
  247. package/vendor/rocksdb/db/db_write_buffer_manager_test.cc +927 -0
  248. package/vendor/rocksdb/db/db_write_test.cc +795 -0
  249. package/vendor/rocksdb/db/dbformat.cc +213 -0
  250. package/vendor/rocksdb/db/dbformat.h +869 -0
  251. package/vendor/rocksdb/db/dbformat_test.cc +214 -0
  252. package/vendor/rocksdb/db/deletefile_test.cc +603 -0
  253. package/vendor/rocksdb/db/error_handler.cc +792 -0
  254. package/vendor/rocksdb/db/error_handler.h +124 -0
  255. package/vendor/rocksdb/db/error_handler_fs_test.cc +2862 -0
  256. package/vendor/rocksdb/db/event_helpers.cc +323 -0
  257. package/vendor/rocksdb/db/event_helpers.h +78 -0
  258. package/vendor/rocksdb/db/experimental.cc +144 -0
  259. package/vendor/rocksdb/db/external_sst_file_basic_test.cc +2084 -0
  260. package/vendor/rocksdb/db/external_sst_file_ingestion_job.cc +1104 -0
  261. package/vendor/rocksdb/db/external_sst_file_ingestion_job.h +238 -0
  262. package/vendor/rocksdb/db/external_sst_file_test.cc +2859 -0
  263. package/vendor/rocksdb/db/fault_injection_test.cc +637 -0
  264. package/vendor/rocksdb/db/file_indexer.cc +218 -0
  265. package/vendor/rocksdb/db/file_indexer.h +140 -0
  266. package/vendor/rocksdb/db/file_indexer_test.cc +352 -0
  267. package/vendor/rocksdb/db/filename_test.cc +241 -0
  268. package/vendor/rocksdb/db/flush_job.cc +1097 -0
  269. package/vendor/rocksdb/db/flush_job.h +200 -0
  270. package/vendor/rocksdb/db/flush_job_test.cc +743 -0
  271. package/vendor/rocksdb/db/flush_scheduler.cc +86 -0
  272. package/vendor/rocksdb/db/flush_scheduler.h +55 -0
  273. package/vendor/rocksdb/db/forward_iterator.cc +1070 -0
  274. package/vendor/rocksdb/db/forward_iterator.h +166 -0
  275. package/vendor/rocksdb/db/forward_iterator_bench.cc +378 -0
  276. package/vendor/rocksdb/db/history_trimming_iterator.h +95 -0
  277. package/vendor/rocksdb/db/import_column_family_job.cc +364 -0
  278. package/vendor/rocksdb/db/import_column_family_job.h +82 -0
  279. package/vendor/rocksdb/db/import_column_family_test.cc +748 -0
  280. package/vendor/rocksdb/db/internal_stats.cc +2121 -0
  281. package/vendor/rocksdb/db/internal_stats.h +875 -0
  282. package/vendor/rocksdb/db/job_context.h +237 -0
  283. package/vendor/rocksdb/db/kv_checksum.h +484 -0
  284. package/vendor/rocksdb/db/listener_test.cc +1598 -0
  285. package/vendor/rocksdb/db/log_format.h +55 -0
  286. package/vendor/rocksdb/db/log_reader.cc +934 -0
  287. package/vendor/rocksdb/db/log_reader.h +241 -0
  288. package/vendor/rocksdb/db/log_test.cc +1216 -0
  289. package/vendor/rocksdb/db/log_writer.cc +279 -0
  290. package/vendor/rocksdb/db/log_writer.h +144 -0
  291. package/vendor/rocksdb/db/logs_with_prep_tracker.cc +67 -0
  292. package/vendor/rocksdb/db/logs_with_prep_tracker.h +62 -0
  293. package/vendor/rocksdb/db/lookup_key.h +68 -0
  294. package/vendor/rocksdb/db/malloc_stats.cc +53 -0
  295. package/vendor/rocksdb/db/malloc_stats.h +22 -0
  296. package/vendor/rocksdb/db/manual_compaction_test.cc +308 -0
  297. package/vendor/rocksdb/db/memtable.cc +1675 -0
  298. package/vendor/rocksdb/db/memtable.h +660 -0
  299. package/vendor/rocksdb/db/memtable_list.cc +987 -0
  300. package/vendor/rocksdb/db/memtable_list.h +471 -0
  301. package/vendor/rocksdb/db/memtable_list_test.cc +1037 -0
  302. package/vendor/rocksdb/db/merge_context.h +147 -0
  303. package/vendor/rocksdb/db/merge_helper.cc +606 -0
  304. package/vendor/rocksdb/db/merge_helper.h +224 -0
  305. package/vendor/rocksdb/db/merge_helper_test.cc +298 -0
  306. package/vendor/rocksdb/db/merge_operator.cc +85 -0
  307. package/vendor/rocksdb/db/merge_test.cc +621 -0
  308. package/vendor/rocksdb/db/obsolete_files_test.cc +317 -0
  309. package/vendor/rocksdb/db/options_file_test.cc +110 -0
  310. package/vendor/rocksdb/db/output_validator.cc +33 -0
  311. package/vendor/rocksdb/db/output_validator.h +48 -0
  312. package/vendor/rocksdb/db/perf_context_test.cc +1158 -0
  313. package/vendor/rocksdb/db/periodic_task_scheduler.cc +111 -0
  314. package/vendor/rocksdb/db/periodic_task_scheduler.h +108 -0
  315. package/vendor/rocksdb/db/periodic_task_scheduler_test.cc +229 -0
  316. package/vendor/rocksdb/db/pinned_iterators_manager.h +92 -0
  317. package/vendor/rocksdb/db/plain_table_db_test.cc +1348 -0
  318. package/vendor/rocksdb/db/post_memtable_callback.h +25 -0
  319. package/vendor/rocksdb/db/pre_release_callback.h +37 -0
  320. package/vendor/rocksdb/db/prefix_test.cc +894 -0
  321. package/vendor/rocksdb/db/range_del_aggregator.cc +555 -0
  322. package/vendor/rocksdb/db/range_del_aggregator.h +478 -0
  323. package/vendor/rocksdb/db/range_del_aggregator_bench.cc +280 -0
  324. package/vendor/rocksdb/db/range_del_aggregator_test.cc +713 -0
  325. package/vendor/rocksdb/db/range_tombstone_fragmenter.cc +502 -0
  326. package/vendor/rocksdb/db/range_tombstone_fragmenter.h +356 -0
  327. package/vendor/rocksdb/db/range_tombstone_fragmenter_test.cc +555 -0
  328. package/vendor/rocksdb/db/read_callback.h +54 -0
  329. package/vendor/rocksdb/db/repair.cc +839 -0
  330. package/vendor/rocksdb/db/repair_test.cc +484 -0
  331. package/vendor/rocksdb/db/seqno_time_test.cc +994 -0
  332. package/vendor/rocksdb/db/seqno_to_time_mapping.cc +341 -0
  333. package/vendor/rocksdb/db/seqno_to_time_mapping.h +189 -0
  334. package/vendor/rocksdb/db/snapshot_checker.h +58 -0
  335. package/vendor/rocksdb/db/snapshot_impl.cc +25 -0
  336. package/vendor/rocksdb/db/snapshot_impl.h +239 -0
  337. package/vendor/rocksdb/db/table_cache.cc +710 -0
  338. package/vendor/rocksdb/db/table_cache.h +283 -0
  339. package/vendor/rocksdb/db/table_cache_sync_and_async.h +130 -0
  340. package/vendor/rocksdb/db/table_properties_collector.cc +74 -0
  341. package/vendor/rocksdb/db/table_properties_collector.h +177 -0
  342. package/vendor/rocksdb/db/table_properties_collector_test.cc +512 -0
  343. package/vendor/rocksdb/db/transaction_log_impl.cc +296 -0
  344. package/vendor/rocksdb/db/transaction_log_impl.h +128 -0
  345. package/vendor/rocksdb/db/trim_history_scheduler.cc +54 -0
  346. package/vendor/rocksdb/db/trim_history_scheduler.h +46 -0
  347. package/vendor/rocksdb/db/version_builder.cc +1426 -0
  348. package/vendor/rocksdb/db/version_builder.h +93 -0
  349. package/vendor/rocksdb/db/version_builder_test.cc +1840 -0
  350. package/vendor/rocksdb/db/version_edit.cc +1059 -0
  351. package/vendor/rocksdb/db/version_edit.h +702 -0
  352. package/vendor/rocksdb/db/version_edit_handler.cc +1017 -0
  353. package/vendor/rocksdb/db/version_edit_handler.h +334 -0
  354. package/vendor/rocksdb/db/version_edit_test.cc +732 -0
  355. package/vendor/rocksdb/db/version_set.cc +7286 -0
  356. package/vendor/rocksdb/db/version_set.h +1714 -0
  357. package/vendor/rocksdb/db/version_set_sync_and_async.h +172 -0
  358. package/vendor/rocksdb/db/version_set_test.cc +3659 -0
  359. package/vendor/rocksdb/db/version_util.h +72 -0
  360. package/vendor/rocksdb/db/wal_edit.cc +211 -0
  361. package/vendor/rocksdb/db/wal_edit.h +177 -0
  362. package/vendor/rocksdb/db/wal_edit_test.cc +213 -0
  363. package/vendor/rocksdb/db/wal_manager.cc +527 -0
  364. package/vendor/rocksdb/db/wal_manager.h +136 -0
  365. package/vendor/rocksdb/db/wal_manager_test.cc +336 -0
  366. package/vendor/rocksdb/db/wide/db_wide_basic_test.cc +1042 -0
  367. package/vendor/rocksdb/db/wide/wide_column_serialization.cc +182 -0
  368. package/vendor/rocksdb/db/wide/wide_column_serialization.h +77 -0
  369. package/vendor/rocksdb/db/wide/wide_column_serialization_test.cc +338 -0
  370. package/vendor/rocksdb/db/wide/wide_columns.cc +22 -0
  371. package/vendor/rocksdb/db/write_batch.cc +3142 -0
  372. package/vendor/rocksdb/db/write_batch_base.cc +94 -0
  373. package/vendor/rocksdb/db/write_batch_internal.h +401 -0
  374. package/vendor/rocksdb/db/write_batch_test.cc +1112 -0
  375. package/vendor/rocksdb/db/write_callback.h +27 -0
  376. package/vendor/rocksdb/db/write_callback_test.cc +454 -0
  377. package/vendor/rocksdb/db/write_controller.cc +121 -0
  378. package/vendor/rocksdb/db/write_controller.h +148 -0
  379. package/vendor/rocksdb/db/write_controller_test.cc +248 -0
  380. package/vendor/rocksdb/db/write_stall_stats.cc +179 -0
  381. package/vendor/rocksdb/db/write_stall_stats.h +47 -0
  382. package/vendor/rocksdb/db/write_thread.cc +844 -0
  383. package/vendor/rocksdb/db/write_thread.h +464 -0
  384. package/vendor/rocksdb/db_stress_tool/CMakeLists.txt +18 -0
  385. package/vendor/rocksdb/db_stress_tool/batched_ops_stress.cc +593 -0
  386. package/vendor/rocksdb/db_stress_tool/cf_consistency_stress.cc +892 -0
  387. package/vendor/rocksdb/db_stress_tool/db_stress.cc +25 -0
  388. package/vendor/rocksdb/db_stress_tool/db_stress_common.cc +491 -0
  389. package/vendor/rocksdb/db_stress_tool/db_stress_common.h +674 -0
  390. package/vendor/rocksdb/db_stress_tool/db_stress_compaction_filter.h +96 -0
  391. package/vendor/rocksdb/db_stress_tool/db_stress_driver.cc +216 -0
  392. package/vendor/rocksdb/db_stress_tool/db_stress_driver.h +18 -0
  393. package/vendor/rocksdb/db_stress_tool/db_stress_env_wrapper.h +78 -0
  394. package/vendor/rocksdb/db_stress_tool/db_stress_gflags.cc +1094 -0
  395. package/vendor/rocksdb/db_stress_tool/db_stress_listener.cc +189 -0
  396. package/vendor/rocksdb/db_stress_tool/db_stress_listener.h +269 -0
  397. package/vendor/rocksdb/db_stress_tool/db_stress_shared_state.cc +17 -0
  398. package/vendor/rocksdb/db_stress_tool/db_stress_shared_state.h +437 -0
  399. package/vendor/rocksdb/db_stress_tool/db_stress_stat.cc +17 -0
  400. package/vendor/rocksdb/db_stress_tool/db_stress_stat.h +219 -0
  401. package/vendor/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +65 -0
  402. package/vendor/rocksdb/db_stress_tool/db_stress_test_base.cc +3294 -0
  403. package/vendor/rocksdb/db_stress_tool/db_stress_test_base.h +327 -0
  404. package/vendor/rocksdb/db_stress_tool/db_stress_tool.cc +371 -0
  405. package/vendor/rocksdb/db_stress_tool/expected_state.cc +780 -0
  406. package/vendor/rocksdb/db_stress_tool/expected_state.h +329 -0
  407. package/vendor/rocksdb/db_stress_tool/expected_value.cc +122 -0
  408. package/vendor/rocksdb/db_stress_tool/expected_value.h +206 -0
  409. package/vendor/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +1761 -0
  410. package/vendor/rocksdb/db_stress_tool/multi_ops_txns_stress.h +446 -0
  411. package/vendor/rocksdb/db_stress_tool/no_batched_ops_stress.cc +1906 -0
  412. package/vendor/rocksdb/docs/CNAME +1 -0
  413. package/vendor/rocksdb/docs/CONTRIBUTING.md +115 -0
  414. package/vendor/rocksdb/docs/Gemfile +4 -0
  415. package/vendor/rocksdb/docs/LICENSE-DOCUMENTATION +385 -0
  416. package/vendor/rocksdb/docs/README.md +80 -0
  417. package/vendor/rocksdb/docs/TEMPLATE-INFORMATION.md +17 -0
  418. package/vendor/rocksdb/docs/_config.yml +85 -0
  419. package/vendor/rocksdb/docs/_data/authors.yml +81 -0
  420. package/vendor/rocksdb/docs/_data/features.yml +19 -0
  421. package/vendor/rocksdb/docs/_data/nav.yml +30 -0
  422. package/vendor/rocksdb/docs/_data/nav_docs.yml +3 -0
  423. package/vendor/rocksdb/docs/_data/powered_by.yml +1 -0
  424. package/vendor/rocksdb/docs/_data/powered_by_highlight.yml +1 -0
  425. package/vendor/rocksdb/docs/_data/promo.yml +6 -0
  426. package/vendor/rocksdb/docs/_docs/faq.md +48 -0
  427. package/vendor/rocksdb/docs/_docs/getting-started.md +78 -0
  428. package/vendor/rocksdb/docs/_includes/blog_pagination.html +28 -0
  429. package/vendor/rocksdb/docs/_includes/content/gridblocks.html +5 -0
  430. package/vendor/rocksdb/docs/_includes/content/items/gridblock.html +37 -0
  431. package/vendor/rocksdb/docs/_includes/doc.html +25 -0
  432. package/vendor/rocksdb/docs/_includes/doc_paging.html +0 -0
  433. package/vendor/rocksdb/docs/_includes/footer.html +34 -0
  434. package/vendor/rocksdb/docs/_includes/head.html +23 -0
  435. package/vendor/rocksdb/docs/_includes/header.html +19 -0
  436. package/vendor/rocksdb/docs/_includes/hero.html +0 -0
  437. package/vendor/rocksdb/docs/_includes/home_header.html +22 -0
  438. package/vendor/rocksdb/docs/_includes/katex_import.html +3 -0
  439. package/vendor/rocksdb/docs/_includes/katex_render.html +210 -0
  440. package/vendor/rocksdb/docs/_includes/nav/collection_nav.html +64 -0
  441. package/vendor/rocksdb/docs/_includes/nav/collection_nav_group.html +19 -0
  442. package/vendor/rocksdb/docs/_includes/nav/collection_nav_group_item.html +1 -0
  443. package/vendor/rocksdb/docs/_includes/nav/header_nav.html +30 -0
  444. package/vendor/rocksdb/docs/_includes/nav.html +37 -0
  445. package/vendor/rocksdb/docs/_includes/nav_search.html +15 -0
  446. package/vendor/rocksdb/docs/_includes/plugins/all_share.html +3 -0
  447. package/vendor/rocksdb/docs/_includes/plugins/ascii_cinema.html +2 -0
  448. package/vendor/rocksdb/docs/_includes/plugins/button.html +6 -0
  449. package/vendor/rocksdb/docs/_includes/plugins/github_star.html +4 -0
  450. package/vendor/rocksdb/docs/_includes/plugins/github_watch.html +4 -0
  451. package/vendor/rocksdb/docs/_includes/plugins/google_share.html +5 -0
  452. package/vendor/rocksdb/docs/_includes/plugins/iframe.html +6 -0
  453. package/vendor/rocksdb/docs/_includes/plugins/like_button.html +18 -0
  454. package/vendor/rocksdb/docs/_includes/plugins/plugin_row.html +5 -0
  455. package/vendor/rocksdb/docs/_includes/plugins/post_social_plugins.html +41 -0
  456. package/vendor/rocksdb/docs/_includes/plugins/slideshow.html +88 -0
  457. package/vendor/rocksdb/docs/_includes/plugins/twitter_follow.html +12 -0
  458. package/vendor/rocksdb/docs/_includes/plugins/twitter_share.html +11 -0
  459. package/vendor/rocksdb/docs/_includes/post.html +40 -0
  460. package/vendor/rocksdb/docs/_includes/powered_by.html +28 -0
  461. package/vendor/rocksdb/docs/_includes/social_plugins.html +31 -0
  462. package/vendor/rocksdb/docs/_includes/ui/button.html +1 -0
  463. package/vendor/rocksdb/docs/_layouts/basic.html +12 -0
  464. package/vendor/rocksdb/docs/_layouts/blog.html +11 -0
  465. package/vendor/rocksdb/docs/_layouts/blog_default.html +14 -0
  466. package/vendor/rocksdb/docs/_layouts/default.html +12 -0
  467. package/vendor/rocksdb/docs/_layouts/doc_default.html +14 -0
  468. package/vendor/rocksdb/docs/_layouts/doc_page.html +10 -0
  469. package/vendor/rocksdb/docs/_layouts/docs.html +5 -0
  470. package/vendor/rocksdb/docs/_layouts/home.html +26 -0
  471. package/vendor/rocksdb/docs/_layouts/page.html +3 -0
  472. package/vendor/rocksdb/docs/_layouts/plain.html +10 -0
  473. package/vendor/rocksdb/docs/_layouts/post.html +8 -0
  474. package/vendor/rocksdb/docs/_layouts/redirect.html +6 -0
  475. package/vendor/rocksdb/docs/_layouts/top-level.html +10 -0
  476. package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-backup-rocksdb.markdown +135 -0
  477. package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-persist-in-memory-rocksdb-database.markdown +54 -0
  478. package/vendor/rocksdb/docs/_posts/2014-04-02-the-1st-rocksdb-local-meetup-held-on-march-27-2014.markdown +53 -0
  479. package/vendor/rocksdb/docs/_posts/2014-04-07-rocksdb-2-8-release.markdown +40 -0
  480. package/vendor/rocksdb/docs/_posts/2014-04-21-indexing-sst-files-for-better-lookup-performance.markdown +28 -0
  481. package/vendor/rocksdb/docs/_posts/2014-05-14-lock.markdown +88 -0
  482. package/vendor/rocksdb/docs/_posts/2014-05-19-rocksdb-3-0-release.markdown +24 -0
  483. package/vendor/rocksdb/docs/_posts/2014-05-22-rocksdb-3-1-release.markdown +20 -0
  484. package/vendor/rocksdb/docs/_posts/2014-06-23-plaintable-a-new-file-format.markdown +47 -0
  485. package/vendor/rocksdb/docs/_posts/2014-06-27-avoid-expensive-locks-in-get.markdown +89 -0
  486. package/vendor/rocksdb/docs/_posts/2014-06-27-rocksdb-3-2-release.markdown +30 -0
  487. package/vendor/rocksdb/docs/_posts/2014-07-29-rocksdb-3-3-release.markdown +34 -0
  488. package/vendor/rocksdb/docs/_posts/2014-09-12-cuckoo.markdown +74 -0
  489. package/vendor/rocksdb/docs/_posts/2014-09-12-new-bloom-filter-format.markdown +52 -0
  490. package/vendor/rocksdb/docs/_posts/2014-09-15-rocksdb-3-5-release.markdown +38 -0
  491. package/vendor/rocksdb/docs/_posts/2015-01-16-migrating-from-leveldb-to-rocksdb-2.markdown +112 -0
  492. package/vendor/rocksdb/docs/_posts/2015-02-24-reading-rocksdb-options-from-a-file.markdown +41 -0
  493. package/vendor/rocksdb/docs/_posts/2015-02-27-write-batch-with-index.markdown +20 -0
  494. package/vendor/rocksdb/docs/_posts/2015-04-22-integrating-rocksdb-with-mongodb-2.markdown +16 -0
  495. package/vendor/rocksdb/docs/_posts/2015-06-12-rocksdb-in-osquery.markdown +10 -0
  496. package/vendor/rocksdb/docs/_posts/2015-07-15-rocksdb-2015-h2-roadmap.markdown +92 -0
  497. package/vendor/rocksdb/docs/_posts/2015-07-17-spatial-indexing-in-rocksdb.markdown +78 -0
  498. package/vendor/rocksdb/docs/_posts/2015-07-22-rocksdb-is-now-available-in-windows-platform.markdown +30 -0
  499. package/vendor/rocksdb/docs/_posts/2015-07-23-dynamic-level.markdown +29 -0
  500. package/vendor/rocksdb/docs/_posts/2015-10-27-getthreadlist.markdown +193 -0
  501. package/vendor/rocksdb/docs/_posts/2015-11-10-use-checkpoints-for-efficient-snapshots.markdown +45 -0
  502. package/vendor/rocksdb/docs/_posts/2015-11-16-analysis-file-read-latency-by-level.markdown +244 -0
  503. package/vendor/rocksdb/docs/_posts/2016-01-29-compaction_pri.markdown +51 -0
  504. package/vendor/rocksdb/docs/_posts/2016-02-24-rocksdb-4-2-release.markdown +41 -0
  505. package/vendor/rocksdb/docs/_posts/2016-02-25-rocksdb-ama.markdown +20 -0
  506. package/vendor/rocksdb/docs/_posts/2016-03-07-rocksdb-options-file.markdown +24 -0
  507. package/vendor/rocksdb/docs/_posts/2016-04-26-rocksdb-4-5-1-released.markdown +60 -0
  508. package/vendor/rocksdb/docs/_posts/2016-07-26-rocksdb-4-8-released.markdown +48 -0
  509. package/vendor/rocksdb/docs/_posts/2016-09-28-rocksdb-4-11-2-released.markdown +49 -0
  510. package/vendor/rocksdb/docs/_posts/2017-01-06-rocksdb-5-0-1-released.markdown +26 -0
  511. package/vendor/rocksdb/docs/_posts/2017-02-07-rocksdb-5-1-2-released.markdown +15 -0
  512. package/vendor/rocksdb/docs/_posts/2017-02-17-bulkoad-ingest-sst-file.markdown +50 -0
  513. package/vendor/rocksdb/docs/_posts/2017-03-02-rocksdb-5-2-1-released.markdown +22 -0
  514. package/vendor/rocksdb/docs/_posts/2017-05-12-partitioned-index-filter.markdown +34 -0
  515. package/vendor/rocksdb/docs/_posts/2017-05-14-core-local-stats.markdown +106 -0
  516. package/vendor/rocksdb/docs/_posts/2017-05-26-rocksdb-5-4-5-released.markdown +39 -0
  517. package/vendor/rocksdb/docs/_posts/2017-06-26-17-level-based-changes.markdown +60 -0
  518. package/vendor/rocksdb/docs/_posts/2017-06-29-rocksdb-5-5-1-released.markdown +22 -0
  519. package/vendor/rocksdb/docs/_posts/2017-07-25-rocksdb-5-6-1-released.markdown +22 -0
  520. package/vendor/rocksdb/docs/_posts/2017-08-24-pinnableslice.markdown +37 -0
  521. package/vendor/rocksdb/docs/_posts/2017-08-25-flushwal.markdown +26 -0
  522. package/vendor/rocksdb/docs/_posts/2017-09-28-rocksdb-5-8-released.markdown +25 -0
  523. package/vendor/rocksdb/docs/_posts/2017-12-18-17-auto-tuned-rate-limiter.markdown +28 -0
  524. package/vendor/rocksdb/docs/_posts/2017-12-19-write-prepared-txn.markdown +41 -0
  525. package/vendor/rocksdb/docs/_posts/2018-02-05-rocksdb-5-10-2-released.markdown +22 -0
  526. package/vendor/rocksdb/docs/_posts/2018-08-01-rocksdb-tuning-advisor.markdown +58 -0
  527. package/vendor/rocksdb/docs/_posts/2018-08-23-data-block-hash-index.markdown +118 -0
  528. package/vendor/rocksdb/docs/_posts/2018-11-21-delete-range.markdown +292 -0
  529. package/vendor/rocksdb/docs/_posts/2019-03-08-format-version-4.markdown +36 -0
  530. package/vendor/rocksdb/docs/_posts/2019-08-15-unordered-write.markdown +56 -0
  531. package/vendor/rocksdb/docs/_posts/2021-04-12-universal-improvements.markdown +46 -0
  532. package/vendor/rocksdb/docs/_posts/2021-05-26-integrated-blob-db.markdown +101 -0
  533. package/vendor/rocksdb/docs/_posts/2021-05-26-online-validation.markdown +17 -0
  534. package/vendor/rocksdb/docs/_posts/2021-05-27-rocksdb-secondary-cache.markdown +195 -0
  535. package/vendor/rocksdb/docs/_posts/2021-05-31-dictionary-compression.markdown +157 -0
  536. package/vendor/rocksdb/docs/_posts/2021-12-29-ribbon-filter.markdown +281 -0
  537. package/vendor/rocksdb/docs/_posts/2022-07-18-per-key-value-checksum.markdown +142 -0
  538. package/vendor/rocksdb/docs/_posts/2022-10-05-lost-buffered-write-recovery.markdown +123 -0
  539. package/vendor/rocksdb/docs/_posts/2022-10-07-asynchronous-io-in-rocksdb.markdown +133 -0
  540. package/vendor/rocksdb/docs/_posts/2022-10-31-align-compaction-output-file.markdown +107 -0
  541. package/vendor/rocksdb/docs/_posts/2022-11-09-time-aware-tiered-storage.markdown +121 -0
  542. package/vendor/rocksdb/docs/_sass/_base.scss +492 -0
  543. package/vendor/rocksdb/docs/_sass/_blog.scss +47 -0
  544. package/vendor/rocksdb/docs/_sass/_buttons.scss +47 -0
  545. package/vendor/rocksdb/docs/_sass/_footer.scss +82 -0
  546. package/vendor/rocksdb/docs/_sass/_gridBlock.scss +115 -0
  547. package/vendor/rocksdb/docs/_sass/_header.scss +139 -0
  548. package/vendor/rocksdb/docs/_sass/_poweredby.scss +69 -0
  549. package/vendor/rocksdb/docs/_sass/_promo.scss +55 -0
  550. package/vendor/rocksdb/docs/_sass/_react_docs_nav.scss +332 -0
  551. package/vendor/rocksdb/docs/_sass/_react_header_nav.scss +141 -0
  552. package/vendor/rocksdb/docs/_sass/_reset.scss +43 -0
  553. package/vendor/rocksdb/docs/_sass/_search.scss +142 -0
  554. package/vendor/rocksdb/docs/_sass/_slideshow.scss +48 -0
  555. package/vendor/rocksdb/docs/_sass/_syntax-highlighting.scss +129 -0
  556. package/vendor/rocksdb/docs/_sass/_tables.scss +47 -0
  557. package/vendor/rocksdb/docs/_top-level/support.md +22 -0
  558. package/vendor/rocksdb/docs/blog/all.html +20 -0
  559. package/vendor/rocksdb/docs/blog/index.html +12 -0
  560. package/vendor/rocksdb/docs/css/main.scss +159 -0
  561. package/vendor/rocksdb/docs/doc-type-examples/2016-04-07-blog-post-example.md +21 -0
  562. package/vendor/rocksdb/docs/doc-type-examples/docs-hello-world.md +12 -0
  563. package/vendor/rocksdb/docs/doc-type-examples/top-level-example.md +8 -0
  564. package/vendor/rocksdb/docs/docs/index.html +6 -0
  565. package/vendor/rocksdb/docs/feed.xml +30 -0
  566. package/vendor/rocksdb/docs/index.md +9 -0
  567. package/vendor/rocksdb/docs/static/favicon.png +0 -0
  568. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff +0 -0
  569. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff2 +0 -0
  570. package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff +0 -0
  571. package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff2 +0 -0
  572. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff +0 -0
  573. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff2 +0 -0
  574. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff +0 -0
  575. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff2 +0 -0
  576. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff +0 -0
  577. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff2 +0 -0
  578. package/vendor/rocksdb/docs/static/images/Resize-of-20140327_200754-300x225.jpg +0 -0
  579. package/vendor/rocksdb/docs/static/images/align-compaction-output/compaction_output_file_size_compare.png +0 -0
  580. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_align.png +0 -0
  581. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_normal.png +0 -0
  582. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_trival_move.png +0 -0
  583. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_size_compare.png +0 -0
  584. package/vendor/rocksdb/docs/static/images/align-compaction-output/write_amp_compare.png +0 -0
  585. package/vendor/rocksdb/docs/static/images/asynchronous-io/mget_async.png +0 -0
  586. package/vendor/rocksdb/docs/static/images/asynchronous-io/scan_async.png +0 -0
  587. package/vendor/rocksdb/docs/static/images/binaryseek.png +0 -0
  588. package/vendor/rocksdb/docs/static/images/bloom_fp_vs_bpk.png +0 -0
  589. package/vendor/rocksdb/docs/static/images/compaction/full-range.png +0 -0
  590. package/vendor/rocksdb/docs/static/images/compaction/l0-l1-contend.png +0 -0
  591. package/vendor/rocksdb/docs/static/images/compaction/l1-l2-contend.png +0 -0
  592. package/vendor/rocksdb/docs/static/images/compaction/part-range-old.png +0 -0
  593. package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-binary-seek.png +0 -0
  594. package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-hash-index.png +0 -0
  595. package/vendor/rocksdb/docs/static/images/data-block-hash-index/hash-index-data-structure.png +0 -0
  596. package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-cache-miss.png +0 -0
  597. package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-throughput.png +0 -0
  598. package/vendor/rocksdb/docs/static/images/delrange/delrange_collapsed.png +0 -0
  599. package/vendor/rocksdb/docs/static/images/delrange/delrange_key_schema.png +0 -0
  600. package/vendor/rocksdb/docs/static/images/delrange/delrange_sst_blocks.png +0 -0
  601. package/vendor/rocksdb/docs/static/images/delrange/delrange_uncollapsed.png +0 -0
  602. package/vendor/rocksdb/docs/static/images/delrange/delrange_write_path.png +0 -0
  603. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_raw_sampled.png +0 -0
  604. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_sst_blocks.png +0 -0
  605. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_zstd_trained.png +0 -0
  606. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Legacy_Vs_Integrated.png +0 -0
  607. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_RW_RO_Perf.png +0 -0
  608. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Amp.png +0 -0
  609. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Perf.png +0 -0
  610. package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-entry.png +0 -0
  611. package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-write.png +0 -0
  612. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Memtable.png +0 -0
  613. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch-to-Memtable.png +0 -0
  614. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch.png +0 -0
  615. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-fragment.png +0 -0
  616. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-read.png +0 -0
  617. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-write.png +0 -0
  618. package/vendor/rocksdb/docs/static/images/kv-checksum/Write-batch.png +0 -0
  619. package/vendor/rocksdb/docs/static/images/kv-checksum/Writebatch-write.png +0 -0
  620. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/angry-cat.png +0 -0
  621. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/basic-setup.png +0 -0
  622. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/happy-cat.png +0 -0
  623. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/replay-extension.png +0 -0
  624. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/test-fs-writable-file.png +0 -0
  625. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/trace-extension.png +0 -0
  626. package/vendor/rocksdb/docs/static/images/pcache-blockindex.jpg +0 -0
  627. package/vendor/rocksdb/docs/static/images/pcache-fileindex.jpg +0 -0
  628. package/vendor/rocksdb/docs/static/images/pcache-filelayout.jpg +0 -0
  629. package/vendor/rocksdb/docs/static/images/pcache-readiopath.jpg +0 -0
  630. package/vendor/rocksdb/docs/static/images/pcache-tieredstorage.jpg +0 -0
  631. package/vendor/rocksdb/docs/static/images/pcache-writeiopath.jpg +0 -0
  632. package/vendor/rocksdb/docs/static/images/promo-adapt.svg +8 -0
  633. package/vendor/rocksdb/docs/static/images/promo-flash.svg +28 -0
  634. package/vendor/rocksdb/docs/static/images/promo-operations.svg +6 -0
  635. package/vendor/rocksdb/docs/static/images/promo-performance.svg +134 -0
  636. package/vendor/rocksdb/docs/static/images/rate-limiter/auto-tuned-write-KBps-series.png +0 -0
  637. package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-cdf.png +0 -0
  638. package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-series.png +0 -0
  639. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_hit_rate.png +0 -0
  640. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_throughput.png +0 -0
  641. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/arch_diagram.png +0 -0
  642. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/insert_flow.png +0 -0
  643. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/lookup_flow.png +0 -0
  644. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/compaction_moving_up_conflict.png +0 -0
  645. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/per_key_placement_compaction.png +0 -0
  646. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_design.png +0 -0
  647. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_overview.png +0 -0
  648. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_problem.png +0 -0
  649. package/vendor/rocksdb/docs/static/images/tree_example1.png +0 -0
  650. package/vendor/rocksdb/docs/static/logo.svg +76 -0
  651. package/vendor/rocksdb/docs/static/og_image.png +0 -0
  652. package/vendor/rocksdb/env/composite_env.cc +534 -0
  653. package/vendor/rocksdb/env/composite_env_wrapper.h +378 -0
  654. package/vendor/rocksdb/env/emulated_clock.h +114 -0
  655. package/vendor/rocksdb/env/env.cc +1233 -0
  656. package/vendor/rocksdb/env/env_basic_test.cc +397 -0
  657. package/vendor/rocksdb/env/env_chroot.cc +148 -0
  658. package/vendor/rocksdb/env/env_chroot.h +55 -0
  659. package/vendor/rocksdb/env/env_encryption.cc +1346 -0
  660. package/vendor/rocksdb/env/env_encryption_ctr.h +114 -0
  661. package/vendor/rocksdb/env/env_posix.cc +524 -0
  662. package/vendor/rocksdb/env/env_test.cc +3577 -0
  663. package/vendor/rocksdb/env/file_system.cc +277 -0
  664. package/vendor/rocksdb/env/file_system_tracer.cc +564 -0
  665. package/vendor/rocksdb/env/file_system_tracer.h +461 -0
  666. package/vendor/rocksdb/env/fs_posix.cc +1284 -0
  667. package/vendor/rocksdb/env/fs_readonly.h +105 -0
  668. package/vendor/rocksdb/env/fs_remap.cc +341 -0
  669. package/vendor/rocksdb/env/fs_remap.h +137 -0
  670. package/vendor/rocksdb/env/io_posix.cc +1733 -0
  671. package/vendor/rocksdb/env/io_posix.h +523 -0
  672. package/vendor/rocksdb/env/io_posix_test.cc +141 -0
  673. package/vendor/rocksdb/env/mock_env.cc +1058 -0
  674. package/vendor/rocksdb/env/mock_env.h +144 -0
  675. package/vendor/rocksdb/env/mock_env_test.cc +84 -0
  676. package/vendor/rocksdb/env/unique_id_gen.cc +164 -0
  677. package/vendor/rocksdb/env/unique_id_gen.h +85 -0
  678. package/vendor/rocksdb/examples/CMakeLists.txt +45 -0
  679. package/vendor/rocksdb/examples/Makefile +58 -0
  680. package/vendor/rocksdb/examples/README.md +2 -0
  681. package/vendor/rocksdb/examples/c_simple_example.c +96 -0
  682. package/vendor/rocksdb/examples/column_families_example.cc +88 -0
  683. package/vendor/rocksdb/examples/compact_files_example.cc +177 -0
  684. package/vendor/rocksdb/examples/compaction_filter_example.cc +96 -0
  685. package/vendor/rocksdb/examples/multi_processes_example.cc +393 -0
  686. package/vendor/rocksdb/examples/optimistic_transaction_example.cc +190 -0
  687. package/vendor/rocksdb/examples/options_file_example.cc +132 -0
  688. package/vendor/rocksdb/examples/rocksdb_backup_restore_example.cc +99 -0
  689. package/vendor/rocksdb/examples/rocksdb_option_file_example.ini +142 -0
  690. package/vendor/rocksdb/examples/simple_example.cc +93 -0
  691. package/vendor/rocksdb/examples/transaction_example.cc +196 -0
  692. package/vendor/rocksdb/file/delete_scheduler.cc +409 -0
  693. package/vendor/rocksdb/file/delete_scheduler.h +147 -0
  694. package/vendor/rocksdb/file/delete_scheduler_test.cc +717 -0
  695. package/vendor/rocksdb/file/file_prefetch_buffer.cc +955 -0
  696. package/vendor/rocksdb/file/file_prefetch_buffer.h +471 -0
  697. package/vendor/rocksdb/file/file_util.cc +277 -0
  698. package/vendor/rocksdb/file/file_util.h +91 -0
  699. package/vendor/rocksdb/file/filename.cc +523 -0
  700. package/vendor/rocksdb/file/filename.h +188 -0
  701. package/vendor/rocksdb/file/line_file_reader.cc +73 -0
  702. package/vendor/rocksdb/file/line_file_reader.h +60 -0
  703. package/vendor/rocksdb/file/prefetch_test.cc +2374 -0
  704. package/vendor/rocksdb/file/random_access_file_reader.cc +599 -0
  705. package/vendor/rocksdb/file/random_access_file_reader.h +210 -0
  706. package/vendor/rocksdb/file/random_access_file_reader_test.cc +479 -0
  707. package/vendor/rocksdb/file/read_write_util.cc +33 -0
  708. package/vendor/rocksdb/file/read_write_util.h +31 -0
  709. package/vendor/rocksdb/file/readahead_file_info.h +33 -0
  710. package/vendor/rocksdb/file/readahead_raf.cc +169 -0
  711. package/vendor/rocksdb/file/readahead_raf.h +29 -0
  712. package/vendor/rocksdb/file/sequence_file_reader.cc +320 -0
  713. package/vendor/rocksdb/file/sequence_file_reader.h +119 -0
  714. package/vendor/rocksdb/file/sst_file_manager_impl.cc +507 -0
  715. package/vendor/rocksdb/file/sst_file_manager_impl.h +193 -0
  716. package/vendor/rocksdb/file/writable_file_writer.cc +989 -0
  717. package/vendor/rocksdb/file/writable_file_writer.h +320 -0
  718. package/vendor/rocksdb/fuzz/Makefile +67 -0
  719. package/vendor/rocksdb/fuzz/README.md +165 -0
  720. package/vendor/rocksdb/fuzz/db_fuzzer.cc +172 -0
  721. package/vendor/rocksdb/fuzz/db_map_fuzzer.cc +107 -0
  722. package/vendor/rocksdb/fuzz/proto/db_operation.proto +28 -0
  723. package/vendor/rocksdb/fuzz/sst_file_writer_fuzzer.cc +210 -0
  724. package/vendor/rocksdb/fuzz/util.h +29 -0
  725. package/vendor/rocksdb/include/rocksdb/advanced_cache.h +623 -0
  726. package/vendor/rocksdb/include/rocksdb/advanced_options.h +1177 -0
  727. package/vendor/rocksdb/include/rocksdb/block_cache_trace_writer.h +149 -0
  728. package/vendor/rocksdb/include/rocksdb/c.h +2864 -0
  729. package/vendor/rocksdb/include/rocksdb/cache.h +442 -0
  730. package/vendor/rocksdb/include/rocksdb/cache_bench_tool.h +14 -0
  731. package/vendor/rocksdb/include/rocksdb/cleanable.h +128 -0
  732. package/vendor/rocksdb/include/rocksdb/compaction_filter.h +363 -0
  733. package/vendor/rocksdb/include/rocksdb/compaction_job_stats.h +109 -0
  734. package/vendor/rocksdb/include/rocksdb/comparator.h +164 -0
  735. package/vendor/rocksdb/include/rocksdb/compression_type.h +40 -0
  736. package/vendor/rocksdb/include/rocksdb/concurrent_task_limiter.h +51 -0
  737. package/vendor/rocksdb/include/rocksdb/configurable.h +390 -0
  738. package/vendor/rocksdb/include/rocksdb/convenience.h +466 -0
  739. package/vendor/rocksdb/include/rocksdb/customizable.h +229 -0
  740. package/vendor/rocksdb/include/rocksdb/data_structure.h +186 -0
  741. package/vendor/rocksdb/include/rocksdb/db.h +1980 -0
  742. package/vendor/rocksdb/include/rocksdb/db_bench_tool.h +11 -0
  743. package/vendor/rocksdb/include/rocksdb/db_dump_tool.h +43 -0
  744. package/vendor/rocksdb/include/rocksdb/db_stress_tool.h +11 -0
  745. package/vendor/rocksdb/include/rocksdb/env.h +1882 -0
  746. package/vendor/rocksdb/include/rocksdb/env_encryption.h +463 -0
  747. package/vendor/rocksdb/include/rocksdb/experimental.h +56 -0
  748. package/vendor/rocksdb/include/rocksdb/file_checksum.h +146 -0
  749. package/vendor/rocksdb/include/rocksdb/file_system.h +1849 -0
  750. package/vendor/rocksdb/include/rocksdb/filter_policy.h +206 -0
  751. package/vendor/rocksdb/include/rocksdb/flush_block_policy.h +75 -0
  752. package/vendor/rocksdb/include/rocksdb/functor_wrapper.h +56 -0
  753. package/vendor/rocksdb/include/rocksdb/io_status.h +244 -0
  754. package/vendor/rocksdb/include/rocksdb/iostats_context.h +98 -0
  755. package/vendor/rocksdb/include/rocksdb/iterator.h +144 -0
  756. package/vendor/rocksdb/include/rocksdb/ldb_tool.h +42 -0
  757. package/vendor/rocksdb/include/rocksdb/listener.h +840 -0
  758. package/vendor/rocksdb/include/rocksdb/memory_allocator.h +87 -0
  759. package/vendor/rocksdb/include/rocksdb/memtablerep.h +421 -0
  760. package/vendor/rocksdb/include/rocksdb/merge_operator.h +286 -0
  761. package/vendor/rocksdb/include/rocksdb/metadata.h +258 -0
  762. package/vendor/rocksdb/include/rocksdb/options.h +2083 -0
  763. package/vendor/rocksdb/include/rocksdb/perf_context.h +314 -0
  764. package/vendor/rocksdb/include/rocksdb/perf_level.h +36 -0
  765. package/vendor/rocksdb/include/rocksdb/persistent_cache.h +74 -0
  766. package/vendor/rocksdb/include/rocksdb/port_defs.h +22 -0
  767. package/vendor/rocksdb/include/rocksdb/rate_limiter.h +159 -0
  768. package/vendor/rocksdb/include/rocksdb/rocksdb_namespace.h +16 -0
  769. package/vendor/rocksdb/include/rocksdb/secondary_cache.h +139 -0
  770. package/vendor/rocksdb/include/rocksdb/slice.h +264 -0
  771. package/vendor/rocksdb/include/rocksdb/slice_transform.h +135 -0
  772. package/vendor/rocksdb/include/rocksdb/snapshot.h +53 -0
  773. package/vendor/rocksdb/include/rocksdb/sst_dump_tool.h +17 -0
  774. package/vendor/rocksdb/include/rocksdb/sst_file_manager.h +136 -0
  775. package/vendor/rocksdb/include/rocksdb/sst_file_reader.h +45 -0
  776. package/vendor/rocksdb/include/rocksdb/sst_file_writer.h +189 -0
  777. package/vendor/rocksdb/include/rocksdb/sst_partitioner.h +142 -0
  778. package/vendor/rocksdb/include/rocksdb/statistics.h +757 -0
  779. package/vendor/rocksdb/include/rocksdb/stats_history.h +70 -0
  780. package/vendor/rocksdb/include/rocksdb/status.h +574 -0
  781. package/vendor/rocksdb/include/rocksdb/system_clock.h +114 -0
  782. package/vendor/rocksdb/include/rocksdb/table.h +927 -0
  783. package/vendor/rocksdb/include/rocksdb/table_properties.h +332 -0
  784. package/vendor/rocksdb/include/rocksdb/table_reader_caller.h +41 -0
  785. package/vendor/rocksdb/include/rocksdb/thread_status.h +190 -0
  786. package/vendor/rocksdb/include/rocksdb/threadpool.h +67 -0
  787. package/vendor/rocksdb/include/rocksdb/trace_reader_writer.h +52 -0
  788. package/vendor/rocksdb/include/rocksdb/trace_record.h +248 -0
  789. package/vendor/rocksdb/include/rocksdb/trace_record_result.h +187 -0
  790. package/vendor/rocksdb/include/rocksdb/transaction_log.h +122 -0
  791. package/vendor/rocksdb/include/rocksdb/types.h +94 -0
  792. package/vendor/rocksdb/include/rocksdb/unique_id.h +55 -0
  793. package/vendor/rocksdb/include/rocksdb/universal_compaction.h +96 -0
  794. package/vendor/rocksdb/include/rocksdb/utilities/agg_merge.h +138 -0
  795. package/vendor/rocksdb/include/rocksdb/utilities/backup_engine.h +689 -0
  796. package/vendor/rocksdb/include/rocksdb/utilities/cache_dump_load.h +140 -0
  797. package/vendor/rocksdb/include/rocksdb/utilities/checkpoint.h +63 -0
  798. package/vendor/rocksdb/include/rocksdb/utilities/convenience.h +10 -0
  799. package/vendor/rocksdb/include/rocksdb/utilities/customizable_util.h +322 -0
  800. package/vendor/rocksdb/include/rocksdb/utilities/db_ttl.h +70 -0
  801. package/vendor/rocksdb/include/rocksdb/utilities/debug.h +46 -0
  802. package/vendor/rocksdb/include/rocksdb/utilities/env_mirror.h +179 -0
  803. package/vendor/rocksdb/include/rocksdb/utilities/info_log_finder.h +19 -0
  804. package/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd.h +316 -0
  805. package/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +75 -0
  806. package/vendor/rocksdb/include/rocksdb/utilities/leveldb_options.h +145 -0
  807. package/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +43 -0
  808. package/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +55 -0
  809. package/vendor/rocksdb/include/rocksdb/utilities/memory_util.h +48 -0
  810. package/vendor/rocksdb/include/rocksdb/utilities/object_registry.h +583 -0
  811. package/vendor/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +98 -0
  812. package/vendor/rocksdb/include/rocksdb/utilities/option_change_migration.h +24 -0
  813. package/vendor/rocksdb/include/rocksdb/utilities/options_type.h +1221 -0
  814. package/vendor/rocksdb/include/rocksdb/utilities/options_util.h +105 -0
  815. package/vendor/rocksdb/include/rocksdb/utilities/replayer.h +85 -0
  816. package/vendor/rocksdb/include/rocksdb/utilities/sim_cache.h +93 -0
  817. package/vendor/rocksdb/include/rocksdb/utilities/stackable_db.h +587 -0
  818. package/vendor/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +88 -0
  819. package/vendor/rocksdb/include/rocksdb/utilities/transaction.h +683 -0
  820. package/vendor/rocksdb/include/rocksdb/utilities/transaction_db.h +506 -0
  821. package/vendor/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +89 -0
  822. package/vendor/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +307 -0
  823. package/vendor/rocksdb/include/rocksdb/version.h +43 -0
  824. package/vendor/rocksdb/include/rocksdb/wal_filter.h +111 -0
  825. package/vendor/rocksdb/include/rocksdb/wide_columns.h +210 -0
  826. package/vendor/rocksdb/include/rocksdb/write_batch.h +494 -0
  827. package/vendor/rocksdb/include/rocksdb/write_batch_base.h +144 -0
  828. package/vendor/rocksdb/include/rocksdb/write_buffer_manager.h +183 -0
  829. package/vendor/rocksdb/issue_template.md +7 -0
  830. package/vendor/rocksdb/java/CMakeLists.txt +549 -0
  831. package/vendor/rocksdb/java/GetBenchmarks.md +161 -0
  832. package/vendor/rocksdb/java/HISTORY-JAVA.md +86 -0
  833. package/vendor/rocksdb/java/Makefile +453 -0
  834. package/vendor/rocksdb/java/RELEASE.md +59 -0
  835. package/vendor/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java +1640 -0
  836. package/vendor/rocksdb/java/crossbuild/Vagrantfile +51 -0
  837. package/vendor/rocksdb/java/crossbuild/build-linux-alpine.sh +70 -0
  838. package/vendor/rocksdb/java/crossbuild/build-linux-centos.sh +38 -0
  839. package/vendor/rocksdb/java/crossbuild/build-linux.sh +15 -0
  840. package/vendor/rocksdb/java/crossbuild/docker-build-linux-alpine.sh +17 -0
  841. package/vendor/rocksdb/java/crossbuild/docker-build-linux-centos.sh +38 -0
  842. package/vendor/rocksdb/java/jdb_bench.sh +13 -0
  843. package/vendor/rocksdb/java/jmh/LICENSE-HEADER.txt +5 -0
  844. package/vendor/rocksdb/java/jmh/README.md +24 -0
  845. package/vendor/rocksdb/java/jmh/pom.xml +138 -0
  846. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/ComparatorBenchmarks.java +139 -0
  847. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/GetBenchmarks.java +215 -0
  848. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/MultiGetBenchmarks.java +214 -0
  849. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/PutBenchmarks.java +112 -0
  850. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/FileUtils.java +59 -0
  851. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/KVUtils.java +72 -0
  852. package/vendor/rocksdb/java/pom.xml.template +178 -0
  853. package/vendor/rocksdb/java/rocksjni/backup_engine_options.cc +365 -0
  854. package/vendor/rocksdb/java/rocksjni/backupenginejni.cc +279 -0
  855. package/vendor/rocksdb/java/rocksjni/cache.cc +34 -0
  856. package/vendor/rocksdb/java/rocksjni/cassandra_compactionfilterjni.cc +25 -0
  857. package/vendor/rocksdb/java/rocksjni/cassandra_value_operator.cc +50 -0
  858. package/vendor/rocksdb/java/rocksjni/checkpoint.cc +71 -0
  859. package/vendor/rocksdb/java/rocksjni/clock_cache.cc +42 -0
  860. package/vendor/rocksdb/java/rocksjni/columnfamilyhandle.cc +72 -0
  861. package/vendor/rocksdb/java/rocksjni/compact_range_options.cc +222 -0
  862. package/vendor/rocksdb/java/rocksjni/compaction_filter.cc +29 -0
  863. package/vendor/rocksdb/java/rocksjni/compaction_filter_factory.cc +42 -0
  864. package/vendor/rocksdb/java/rocksjni/compaction_filter_factory_jnicallback.cc +79 -0
  865. package/vendor/rocksdb/java/rocksjni/compaction_filter_factory_jnicallback.h +37 -0
  866. package/vendor/rocksdb/java/rocksjni/compaction_job_info.cc +230 -0
  867. package/vendor/rocksdb/java/rocksjni/compaction_job_stats.cc +345 -0
  868. package/vendor/rocksdb/java/rocksjni/compaction_options.cc +112 -0
  869. package/vendor/rocksdb/java/rocksjni/compaction_options_fifo.cc +83 -0
  870. package/vendor/rocksdb/java/rocksjni/compaction_options_universal.cc +209 -0
  871. package/vendor/rocksdb/java/rocksjni/comparator.cc +60 -0
  872. package/vendor/rocksdb/java/rocksjni/comparatorjnicallback.cc +647 -0
  873. package/vendor/rocksdb/java/rocksjni/comparatorjnicallback.h +137 -0
  874. package/vendor/rocksdb/java/rocksjni/compression_options.cc +214 -0
  875. package/vendor/rocksdb/java/rocksjni/concurrent_task_limiter.cc +97 -0
  876. package/vendor/rocksdb/java/rocksjni/config_options.cc +103 -0
  877. package/vendor/rocksdb/java/rocksjni/cplusplus_to_java_convert.h +37 -0
  878. package/vendor/rocksdb/java/rocksjni/env.cc +205 -0
  879. package/vendor/rocksdb/java/rocksjni/env_options.cc +305 -0
  880. package/vendor/rocksdb/java/rocksjni/event_listener.cc +44 -0
  881. package/vendor/rocksdb/java/rocksjni/event_listener_jnicallback.cc +502 -0
  882. package/vendor/rocksdb/java/rocksjni/event_listener_jnicallback.h +122 -0
  883. package/vendor/rocksdb/java/rocksjni/filter.cc +46 -0
  884. package/vendor/rocksdb/java/rocksjni/ingest_external_file_options.cc +199 -0
  885. package/vendor/rocksdb/java/rocksjni/iterator.cc +340 -0
  886. package/vendor/rocksdb/java/rocksjni/jnicallback.cc +54 -0
  887. package/vendor/rocksdb/java/rocksjni/jnicallback.h +32 -0
  888. package/vendor/rocksdb/java/rocksjni/loggerjnicallback.cc +299 -0
  889. package/vendor/rocksdb/java/rocksjni/loggerjnicallback.h +51 -0
  890. package/vendor/rocksdb/java/rocksjni/lru_cache.cc +49 -0
  891. package/vendor/rocksdb/java/rocksjni/memory_util.cc +100 -0
  892. package/vendor/rocksdb/java/rocksjni/memtablejni.cc +94 -0
  893. package/vendor/rocksdb/java/rocksjni/merge_operator.cc +98 -0
  894. package/vendor/rocksdb/java/rocksjni/native_comparator_wrapper_test.cc +45 -0
  895. package/vendor/rocksdb/java/rocksjni/optimistic_transaction_db.cc +270 -0
  896. package/vendor/rocksdb/java/rocksjni/optimistic_transaction_options.cc +78 -0
  897. package/vendor/rocksdb/java/rocksjni/options.cc +8695 -0
  898. package/vendor/rocksdb/java/rocksjni/options_util.cc +139 -0
  899. package/vendor/rocksdb/java/rocksjni/persistent_cache.cc +60 -0
  900. package/vendor/rocksdb/java/rocksjni/portal.h +8706 -0
  901. package/vendor/rocksdb/java/rocksjni/ratelimiterjni.cc +128 -0
  902. package/vendor/rocksdb/java/rocksjni/remove_emptyvalue_compactionfilterjni.cc +24 -0
  903. package/vendor/rocksdb/java/rocksjni/restorejni.cc +42 -0
  904. package/vendor/rocksdb/java/rocksjni/rocks_callback_object.cc +30 -0
  905. package/vendor/rocksdb/java/rocksjni/rocksdb_exception_test.cc +81 -0
  906. package/vendor/rocksdb/java/rocksjni/rocksjni.cc +3957 -0
  907. package/vendor/rocksdb/java/rocksjni/slice.cc +374 -0
  908. package/vendor/rocksdb/java/rocksjni/snapshot.cc +27 -0
  909. package/vendor/rocksdb/java/rocksjni/sst_file_manager.cc +250 -0
  910. package/vendor/rocksdb/java/rocksjni/sst_file_reader_iterator.cc +373 -0
  911. package/vendor/rocksdb/java/rocksjni/sst_file_readerjni.cc +118 -0
  912. package/vendor/rocksdb/java/rocksjni/sst_file_writerjni.cc +310 -0
  913. package/vendor/rocksdb/java/rocksjni/sst_partitioner.cc +43 -0
  914. package/vendor/rocksdb/java/rocksjni/statistics.cc +268 -0
  915. package/vendor/rocksdb/java/rocksjni/statisticsjni.cc +31 -0
  916. package/vendor/rocksdb/java/rocksjni/statisticsjni.h +34 -0
  917. package/vendor/rocksdb/java/rocksjni/table.cc +145 -0
  918. package/vendor/rocksdb/java/rocksjni/table_filter.cc +27 -0
  919. package/vendor/rocksdb/java/rocksjni/table_filter_jnicallback.cc +66 -0
  920. package/vendor/rocksdb/java/rocksjni/table_filter_jnicallback.h +36 -0
  921. package/vendor/rocksdb/java/rocksjni/testable_event_listener.cc +219 -0
  922. package/vendor/rocksdb/java/rocksjni/thread_status.cc +125 -0
  923. package/vendor/rocksdb/java/rocksjni/trace_writer.cc +24 -0
  924. package/vendor/rocksdb/java/rocksjni/trace_writer_jnicallback.cc +118 -0
  925. package/vendor/rocksdb/java/rocksjni/trace_writer_jnicallback.h +36 -0
  926. package/vendor/rocksdb/java/rocksjni/transaction.cc +1655 -0
  927. package/vendor/rocksdb/java/rocksjni/transaction_db.cc +451 -0
  928. package/vendor/rocksdb/java/rocksjni/transaction_db_options.cc +169 -0
  929. package/vendor/rocksdb/java/rocksjni/transaction_log.cc +80 -0
  930. package/vendor/rocksdb/java/rocksjni/transaction_notifier.cc +44 -0
  931. package/vendor/rocksdb/java/rocksjni/transaction_notifier_jnicallback.cc +42 -0
  932. package/vendor/rocksdb/java/rocksjni/transaction_notifier_jnicallback.h +42 -0
  933. package/vendor/rocksdb/java/rocksjni/transaction_options.cc +191 -0
  934. package/vendor/rocksdb/java/rocksjni/ttl.cc +212 -0
  935. package/vendor/rocksdb/java/rocksjni/wal_filter.cc +24 -0
  936. package/vendor/rocksdb/java/rocksjni/wal_filter_jnicallback.cc +139 -0
  937. package/vendor/rocksdb/java/rocksjni/wal_filter_jnicallback.h +42 -0
  938. package/vendor/rocksdb/java/rocksjni/write_batch.cc +676 -0
  939. package/vendor/rocksdb/java/rocksjni/write_batch_test.cc +199 -0
  940. package/vendor/rocksdb/java/rocksjni/write_batch_with_index.cc +953 -0
  941. package/vendor/rocksdb/java/rocksjni/write_buffer_manager.cc +47 -0
  942. package/vendor/rocksdb/java/rocksjni/writebatchhandlerjnicallback.cc +519 -0
  943. package/vendor/rocksdb/java/rocksjni/writebatchhandlerjnicallback.h +92 -0
  944. package/vendor/rocksdb/java/samples/src/main/java/OptimisticTransactionSample.java +184 -0
  945. package/vendor/rocksdb/java/samples/src/main/java/RocksDBColumnFamilySample.java +78 -0
  946. package/vendor/rocksdb/java/samples/src/main/java/RocksDBSample.java +295 -0
  947. package/vendor/rocksdb/java/samples/src/main/java/TransactionSample.java +183 -0
  948. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilter.java +59 -0
  949. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilterFactory.java +77 -0
  950. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparator.java +124 -0
  951. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparatorJniBridge.java +119 -0
  952. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractEventListener.java +334 -0
  953. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractImmutableNativeReference.java +65 -0
  954. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractMutableOptions.java +368 -0
  955. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractNativeReference.java +49 -0
  956. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractRocksIterator.java +146 -0
  957. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractSlice.java +191 -0
  958. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTableFilter.java +20 -0
  959. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTraceWriter.java +70 -0
  960. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTransactionNotifier.java +54 -0
  961. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWalFilter.java +49 -0
  962. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWriteBatch.java +203 -0
  963. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AccessHint.java +53 -0
  964. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedColumnFamilyOptionsInterface.java +463 -0
  965. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedMutableColumnFamilyOptionsInterface.java +830 -0
  966. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackgroundErrorReason.java +46 -0
  967. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngine.java +259 -0
  968. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngineOptions.java +458 -0
  969. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupInfo.java +76 -0
  970. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BlockBasedTableConfig.java +951 -0
  971. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BloomFilter.java +73 -0
  972. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BuiltinComparator.java +20 -0
  973. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ByteBufferGetStatus.java +50 -0
  974. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Cache.java +40 -0
  975. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraCompactionFilter.java +20 -0
  976. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraValueMergeOperator.java +25 -0
  977. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Checkpoint.java +62 -0
  978. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ChecksumType.java +45 -0
  979. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ClockCache.java +59 -0
  980. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyDescriptor.java +84 -0
  981. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java +151 -0
  982. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyMetaData.java +70 -0
  983. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptions.java +1543 -0
  984. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptionsInterface.java +536 -0
  985. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactRangeOptions.java +245 -0
  986. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobInfo.java +161 -0
  987. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobStats.java +295 -0
  988. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptions.java +121 -0
  989. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java +87 -0
  990. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsUniversal.java +273 -0
  991. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionPriority.java +81 -0
  992. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionReason.java +141 -0
  993. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStopStyle.java +55 -0
  994. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStyle.java +81 -0
  995. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorOptions.java +133 -0
  996. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorType.java +48 -0
  997. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionOptions.java +150 -0
  998. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionType.java +121 -0
  999. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiter.java +44 -0
  1000. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiterImpl.java +48 -0
  1001. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConfigOptions.java +53 -0
  1002. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java +1496 -0
  1003. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptionsInterface.java +1756 -0
  1004. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DataBlockIndexType.java +32 -0
  1005. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DbPath.java +47 -0
  1006. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DirectSlice.java +136 -0
  1007. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EncodingType.java +55 -0
  1008. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Env.java +167 -0
  1009. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EnvOptions.java +366 -0
  1010. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EventListener.java +335 -0
  1011. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Experimental.java +23 -0
  1012. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ExternalFileIngestionInfo.java +103 -0
  1013. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FileOperationInfo.java +112 -0
  1014. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Filter.java +36 -0
  1015. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushJobInfo.java +186 -0
  1016. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java +90 -0
  1017. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushReason.java +53 -0
  1018. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashLinkedListMemTableConfig.java +174 -0
  1019. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashSkipListMemTableConfig.java +106 -0
  1020. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramData.java +75 -0
  1021. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramType.java +214 -0
  1022. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Holder.java +46 -0
  1023. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexShorteningMode.java +60 -0
  1024. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexType.java +55 -0
  1025. package/vendor/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java +49 -0
  1026. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IngestExternalFileOptions.java +227 -0
  1027. package/vendor/rocksdb/java/src/main/java/org/rocksdb/KeyMayExist.java +35 -0
  1028. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LRUCache.java +106 -0
  1029. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LevelMetaData.java +56 -0
  1030. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LiveFileMetaData.java +55 -0
  1031. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LogFile.java +75 -0
  1032. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Logger.java +121 -0
  1033. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableConfig.java +29 -0
  1034. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableInfo.java +103 -0
  1035. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUsageType.java +72 -0
  1036. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUtil.java +60 -0
  1037. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MergeOperator.java +18 -0
  1038. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptions.java +621 -0
  1039. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptionsInterface.java +156 -0
  1040. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptions.java +292 -0
  1041. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptionsInterface.java +440 -0
  1042. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionKey.java +16 -0
  1043. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionValue.java +368 -0
  1044. package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeComparatorWrapper.java +59 -0
  1045. package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeLibraryLoader.java +172 -0
  1046. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationStage.java +59 -0
  1047. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationType.java +55 -0
  1048. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionDB.java +224 -0
  1049. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionOptions.java +53 -0
  1050. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionString.java +261 -0
  1051. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Options.java +2574 -0
  1052. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionsUtil.java +101 -0
  1053. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PersistentCache.java +26 -0
  1054. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PlainTableConfig.java +251 -0
  1055. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PrepopulateBlobCache.java +117 -0
  1056. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Priority.java +49 -0
  1057. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Range.java +19 -0
  1058. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiter.java +227 -0
  1059. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiterMode.java +52 -0
  1060. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadOptions.java +822 -0
  1061. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadTier.java +49 -0
  1062. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RemoveEmptyValueCompactionFilter.java +18 -0
  1063. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java +32 -0
  1064. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReusedSynchronisationType.java +65 -0
  1065. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksCallbackObject.java +73 -0
  1066. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDB.java +4688 -0
  1067. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDBException.java +44 -0
  1068. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksEnv.java +31 -0
  1069. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIterator.java +140 -0
  1070. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIteratorInterface.java +127 -0
  1071. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMemEnv.java +31 -0
  1072. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMutableObject.java +87 -0
  1073. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksObject.java +45 -0
  1074. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SanityLevel.java +47 -0
  1075. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SizeApproximationFlag.java +31 -0
  1076. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SkipListMemTableConfig.java +51 -0
  1077. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Slice.java +135 -0
  1078. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Snapshot.java +41 -0
  1079. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileManager.java +249 -0
  1080. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileMetaData.java +162 -0
  1081. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReader.java +82 -0
  1082. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReaderIterator.java +140 -0
  1083. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileWriter.java +237 -0
  1084. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFactory.java +15 -0
  1085. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFixedPrefixFactory.java +19 -0
  1086. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StateType.java +53 -0
  1087. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Statistics.java +153 -0
  1088. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollector.java +102 -0
  1089. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollectorCallback.java +32 -0
  1090. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsCollectorInput.java +35 -0
  1091. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsLevel.java +65 -0
  1092. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Status.java +155 -0
  1093. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StringAppendOperator.java +29 -0
  1094. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationBriefInfo.java +107 -0
  1095. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationInfo.java +86 -0
  1096. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationReason.java +46 -0
  1097. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileDeletionInfo.java +86 -0
  1098. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFilter.java +21 -0
  1099. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFormatConfig.java +22 -0
  1100. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableProperties.java +426 -0
  1101. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadStatus.java +224 -0
  1102. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadType.java +65 -0
  1103. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TickerType.java +802 -0
  1104. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TimedEnv.java +30 -0
  1105. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceOptions.java +32 -0
  1106. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceWriter.java +36 -0
  1107. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Transaction.java +2162 -0
  1108. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDB.java +401 -0
  1109. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDBOptions.java +216 -0
  1110. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java +112 -0
  1111. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionOptions.java +189 -0
  1112. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalDB.java +65 -0
  1113. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalOptions.java +31 -0
  1114. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TtlDB.java +242 -0
  1115. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TxnDBWritePolicy.java +62 -0
  1116. package/vendor/rocksdb/java/src/main/java/org/rocksdb/UInt64AddOperator.java +19 -0
  1117. package/vendor/rocksdb/java/src/main/java/org/rocksdb/VectorMemTableConfig.java +46 -0
  1118. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WALRecoveryMode.java +82 -0
  1119. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java +203 -0
  1120. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFileType.java +55 -0
  1121. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFilter.java +86 -0
  1122. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalProcessingOption.java +54 -0
  1123. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java +394 -0
  1124. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchInterface.java +283 -0
  1125. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchWithIndex.java +358 -0
  1126. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBufferManager.java +50 -0
  1127. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteOptions.java +255 -0
  1128. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallCondition.java +44 -0
  1129. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallInfo.java +75 -0
  1130. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ByteUtil.java +52 -0
  1131. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/BytewiseComparator.java +121 -0
  1132. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/Environment.java +245 -0
  1133. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/IntComparator.java +67 -0
  1134. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ReverseBytewiseComparator.java +88 -0
  1135. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/SizeUnit.java +16 -0
  1136. package/vendor/rocksdb/java/src/test/java/org/rocksdb/AbstractTransactionTest.java +979 -0
  1137. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineOptionsTest.java +297 -0
  1138. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineTest.java +261 -0
  1139. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlobOptionsTest.java +353 -0
  1140. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlockBasedTableConfigTest.java +415 -0
  1141. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BuiltinComparatorTest.java +145 -0
  1142. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ByteBufferUnsupportedOperationTest.java +132 -0
  1143. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BytewiseComparatorRegressionTest.java +132 -0
  1144. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CheckPointTest.java +82 -0
  1145. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ClockCacheTest.java +25 -0
  1146. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyOptionsTest.java +712 -0
  1147. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyTest.java +562 -0
  1148. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactRangeOptionsTest.java +102 -0
  1149. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionFilterFactoryTest.java +61 -0
  1150. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobInfoTest.java +114 -0
  1151. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobStatsTest.java +196 -0
  1152. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java +35 -0
  1153. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsTest.java +52 -0
  1154. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsUniversalTest.java +80 -0
  1155. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionPriorityTest.java +31 -0
  1156. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionStopStyleTest.java +31 -0
  1157. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ComparatorOptionsTest.java +58 -0
  1158. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionOptionsTest.java +71 -0
  1159. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionTypesTest.java +25 -0
  1160. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ConcurrentTaskLimiterTest.java +56 -0
  1161. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DBOptionsTest.java +902 -0
  1162. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DefaultEnvTest.java +113 -0
  1163. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DirectSliceTest.java +93 -0
  1164. package/vendor/rocksdb/java/src/test/java/org/rocksdb/EnvOptionsTest.java +145 -0
  1165. package/vendor/rocksdb/java/src/test/java/org/rocksdb/EventListenerTest.java +725 -0
  1166. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FilterTest.java +39 -0
  1167. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushOptionsTest.java +31 -0
  1168. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushTest.java +49 -0
  1169. package/vendor/rocksdb/java/src/test/java/org/rocksdb/InfoLogLevelTest.java +109 -0
  1170. package/vendor/rocksdb/java/src/test/java/org/rocksdb/IngestExternalFileOptionsTest.java +107 -0
  1171. package/vendor/rocksdb/java/src/test/java/org/rocksdb/KeyMayExistTest.java +528 -0
  1172. package/vendor/rocksdb/java/src/test/java/org/rocksdb/LRUCacheTest.java +32 -0
  1173. package/vendor/rocksdb/java/src/test/java/org/rocksdb/LoggerTest.java +235 -0
  1174. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemTableTest.java +108 -0
  1175. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemoryUtilTest.java +136 -0
  1176. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MergeTest.java +465 -0
  1177. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MixedOptionsTest.java +85 -0
  1178. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiColumnRegressionTest.java +145 -0
  1179. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetManyKeysTest.java +241 -0
  1180. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetTest.java +530 -0
  1181. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableColumnFamilyOptionsTest.java +167 -0
  1182. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableDBOptionsTest.java +85 -0
  1183. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableOptionsGetSetTest.java +429 -0
  1184. package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeComparatorWrapperTest.java +90 -0
  1185. package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeLibraryLoaderTest.java +41 -0
  1186. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionDBTest.java +131 -0
  1187. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionOptionsTest.java +38 -0
  1188. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionTest.java +446 -0
  1189. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsTest.java +1488 -0
  1190. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsUtilTest.java +129 -0
  1191. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlainTableConfigTest.java +89 -0
  1192. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlatformRandomHelper.java +58 -0
  1193. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PutMultiplePartsTest.java +164 -0
  1194. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RateLimiterTest.java +65 -0
  1195. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOnlyTest.java +222 -0
  1196. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOptionsTest.java +374 -0
  1197. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBExceptionTest.java +115 -0
  1198. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBTest.java +1692 -0
  1199. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksIteratorTest.java +289 -0
  1200. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksMemEnvTest.java +137 -0
  1201. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksNativeLibraryResource.java +18 -0
  1202. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SecondaryDBTest.java +135 -0
  1203. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java +80 -0
  1204. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SnapshotTest.java +169 -0
  1205. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileManagerTest.java +66 -0
  1206. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileReaderTest.java +222 -0
  1207. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileWriterTest.java +239 -0
  1208. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstPartitionerTest.java +72 -0
  1209. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java +55 -0
  1210. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsTest.java +168 -0
  1211. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java +19 -0
  1212. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TableFilterTest.java +106 -0
  1213. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TimedEnvTest.java +40 -0
  1214. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBOptionsTest.java +64 -0
  1215. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBTest.java +177 -0
  1216. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionLogIteratorTest.java +139 -0
  1217. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionOptionsTest.java +72 -0
  1218. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionTest.java +488 -0
  1219. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TtlDBTest.java +112 -0
  1220. package/vendor/rocksdb/java/src/test/java/org/rocksdb/Types.java +43 -0
  1221. package/vendor/rocksdb/java/src/test/java/org/rocksdb/VerifyChecksumsTest.java +213 -0
  1222. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WALRecoveryModeTest.java +22 -0
  1223. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WalFilterTest.java +165 -0
  1224. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchHandlerTest.java +76 -0
  1225. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java +528 -0
  1226. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchThreadedTest.java +101 -0
  1227. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchWithIndexTest.java +1068 -0
  1228. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteOptionsTest.java +75 -0
  1229. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java +21 -0
  1230. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RocksJunitRunner.java +174 -0
  1231. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/TestableEventListener.java +23 -0
  1232. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ByteBufferAllocator.java +16 -0
  1233. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorIntTest.java +267 -0
  1234. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java +531 -0
  1235. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java +190 -0
  1236. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/DirectByteBufferAllocator.java +18 -0
  1237. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/EnvironmentTest.java +304 -0
  1238. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/HeapByteBufferAllocator.java +18 -0
  1239. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/IntComparatorTest.java +266 -0
  1240. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/JNIComparatorTest.java +180 -0
  1241. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ReverseBytewiseComparatorIntTest.java +270 -0
  1242. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/SizeUnitTest.java +27 -0
  1243. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/TestUtil.java +72 -0
  1244. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/WriteBatchGetter.java +139 -0
  1245. package/vendor/rocksdb/java/understanding_options.md +79 -0
  1246. package/vendor/rocksdb/logging/auto_roll_logger.cc +368 -0
  1247. package/vendor/rocksdb/logging/auto_roll_logger.h +166 -0
  1248. package/vendor/rocksdb/logging/auto_roll_logger_test.cc +731 -0
  1249. package/vendor/rocksdb/logging/env_logger.h +195 -0
  1250. package/vendor/rocksdb/logging/env_logger_test.cc +163 -0
  1251. package/vendor/rocksdb/logging/event_logger.cc +68 -0
  1252. package/vendor/rocksdb/logging/event_logger.h +202 -0
  1253. package/vendor/rocksdb/logging/event_logger_test.cc +45 -0
  1254. package/vendor/rocksdb/logging/log_buffer.cc +91 -0
  1255. package/vendor/rocksdb/logging/log_buffer.h +57 -0
  1256. package/vendor/rocksdb/logging/logging.h +62 -0
  1257. package/vendor/rocksdb/memory/allocator.h +58 -0
  1258. package/vendor/rocksdb/memory/arena.cc +170 -0
  1259. package/vendor/rocksdb/memory/arena.h +135 -0
  1260. package/vendor/rocksdb/memory/arena_test.cc +295 -0
  1261. package/vendor/rocksdb/memory/concurrent_arena.cc +45 -0
  1262. package/vendor/rocksdb/memory/concurrent_arena.h +215 -0
  1263. package/vendor/rocksdb/memory/jemalloc_nodump_allocator.cc +303 -0
  1264. package/vendor/rocksdb/memory/jemalloc_nodump_allocator.h +99 -0
  1265. package/vendor/rocksdb/memory/memkind_kmem_allocator.cc +44 -0
  1266. package/vendor/rocksdb/memory/memkind_kmem_allocator.h +43 -0
  1267. package/vendor/rocksdb/memory/memory_allocator.cc +80 -0
  1268. package/vendor/rocksdb/memory/memory_allocator_impl.h +47 -0
  1269. package/vendor/rocksdb/memory/memory_allocator_test.cc +236 -0
  1270. package/vendor/rocksdb/memory/memory_usage.h +38 -0
  1271. package/vendor/rocksdb/memtable/alloc_tracker.cc +63 -0
  1272. package/vendor/rocksdb/memtable/hash_linklist_rep.cc +924 -0
  1273. package/vendor/rocksdb/memtable/hash_skiplist_rep.cc +391 -0
  1274. package/vendor/rocksdb/memtable/inlineskiplist.h +1051 -0
  1275. package/vendor/rocksdb/memtable/inlineskiplist_test.cc +665 -0
  1276. package/vendor/rocksdb/memtable/memtablerep_bench.cc +687 -0
  1277. package/vendor/rocksdb/memtable/skiplist.h +498 -0
  1278. package/vendor/rocksdb/memtable/skiplist_test.cc +388 -0
  1279. package/vendor/rocksdb/memtable/skiplistrep.cc +368 -0
  1280. package/vendor/rocksdb/memtable/stl_wrappers.h +33 -0
  1281. package/vendor/rocksdb/memtable/vectorrep.cc +307 -0
  1282. package/vendor/rocksdb/memtable/write_buffer_manager.cc +185 -0
  1283. package/vendor/rocksdb/memtable/write_buffer_manager_test.cc +304 -0
  1284. package/vendor/rocksdb/microbench/CMakeLists.txt +17 -0
  1285. package/vendor/rocksdb/microbench/README.md +60 -0
  1286. package/vendor/rocksdb/microbench/db_basic_bench.cc +1583 -0
  1287. package/vendor/rocksdb/microbench/ribbon_bench.cc +155 -0
  1288. package/vendor/rocksdb/monitoring/file_read_sample.h +23 -0
  1289. package/vendor/rocksdb/monitoring/histogram.cc +270 -0
  1290. package/vendor/rocksdb/monitoring/histogram.h +143 -0
  1291. package/vendor/rocksdb/monitoring/histogram_test.cc +254 -0
  1292. package/vendor/rocksdb/monitoring/histogram_windowing.cc +194 -0
  1293. package/vendor/rocksdb/monitoring/histogram_windowing.h +84 -0
  1294. package/vendor/rocksdb/monitoring/in_memory_stats_history.cc +50 -0
  1295. package/vendor/rocksdb/monitoring/in_memory_stats_history.h +74 -0
  1296. package/vendor/rocksdb/monitoring/instrumented_mutex.cc +90 -0
  1297. package/vendor/rocksdb/monitoring/instrumented_mutex.h +126 -0
  1298. package/vendor/rocksdb/monitoring/iostats_context.cc +78 -0
  1299. package/vendor/rocksdb/monitoring/iostats_context_imp.h +62 -0
  1300. package/vendor/rocksdb/monitoring/iostats_context_test.cc +31 -0
  1301. package/vendor/rocksdb/monitoring/perf_context.cc +313 -0
  1302. package/vendor/rocksdb/monitoring/perf_context_imp.h +96 -0
  1303. package/vendor/rocksdb/monitoring/perf_level.cc +23 -0
  1304. package/vendor/rocksdb/monitoring/perf_level_imp.h +14 -0
  1305. package/vendor/rocksdb/monitoring/perf_step_timer.h +77 -0
  1306. package/vendor/rocksdb/monitoring/persistent_stats_history.cc +170 -0
  1307. package/vendor/rocksdb/monitoring/persistent_stats_history.h +83 -0
  1308. package/vendor/rocksdb/monitoring/statistics.cc +534 -0
  1309. package/vendor/rocksdb/monitoring/statistics_impl.h +144 -0
  1310. package/vendor/rocksdb/monitoring/statistics_test.cc +88 -0
  1311. package/vendor/rocksdb/monitoring/stats_history_test.cc +662 -0
  1312. package/vendor/rocksdb/monitoring/thread_status_impl.cc +163 -0
  1313. package/vendor/rocksdb/monitoring/thread_status_updater.cc +328 -0
  1314. package/vendor/rocksdb/monitoring/thread_status_updater.h +226 -0
  1315. package/vendor/rocksdb/monitoring/thread_status_updater_debug.cc +43 -0
  1316. package/vendor/rocksdb/monitoring/thread_status_util.cc +208 -0
  1317. package/vendor/rocksdb/monitoring/thread_status_util.h +139 -0
  1318. package/vendor/rocksdb/monitoring/thread_status_util_debug.cc +46 -0
  1319. package/vendor/rocksdb/options/cf_options.cc +1196 -0
  1320. package/vendor/rocksdb/options/cf_options.h +347 -0
  1321. package/vendor/rocksdb/options/configurable.cc +712 -0
  1322. package/vendor/rocksdb/options/configurable_helper.h +185 -0
  1323. package/vendor/rocksdb/options/configurable_test.cc +861 -0
  1324. package/vendor/rocksdb/options/configurable_test.h +116 -0
  1325. package/vendor/rocksdb/options/customizable.cc +133 -0
  1326. package/vendor/rocksdb/options/customizable_test.cc +2116 -0
  1327. package/vendor/rocksdb/options/db_options.cc +1079 -0
  1328. package/vendor/rocksdb/options/db_options.h +152 -0
  1329. package/vendor/rocksdb/options/options.cc +692 -0
  1330. package/vendor/rocksdb/options/options_helper.cc +1424 -0
  1331. package/vendor/rocksdb/options/options_helper.h +116 -0
  1332. package/vendor/rocksdb/options/options_parser.cc +736 -0
  1333. package/vendor/rocksdb/options/options_parser.h +149 -0
  1334. package/vendor/rocksdb/options/options_settable_test.cc +655 -0
  1335. package/vendor/rocksdb/options/options_test.cc +5060 -0
  1336. package/vendor/rocksdb/plugin/README.md +43 -0
  1337. package/vendor/rocksdb/port/README +10 -0
  1338. package/vendor/rocksdb/port/jemalloc_helper.h +107 -0
  1339. package/vendor/rocksdb/port/lang.h +97 -0
  1340. package/vendor/rocksdb/port/likely.h +18 -0
  1341. package/vendor/rocksdb/port/malloc.h +17 -0
  1342. package/vendor/rocksdb/port/mmap.cc +98 -0
  1343. package/vendor/rocksdb/port/mmap.h +70 -0
  1344. package/vendor/rocksdb/port/port.h +21 -0
  1345. package/vendor/rocksdb/port/port_dirent.h +44 -0
  1346. package/vendor/rocksdb/port/port_example.h +101 -0
  1347. package/vendor/rocksdb/port/port_posix.cc +300 -0
  1348. package/vendor/rocksdb/port/port_posix.h +243 -0
  1349. package/vendor/rocksdb/port/stack_trace.cc +336 -0
  1350. package/vendor/rocksdb/port/stack_trace.h +31 -0
  1351. package/vendor/rocksdb/port/sys_time.h +63 -0
  1352. package/vendor/rocksdb/port/util_logger.h +18 -0
  1353. package/vendor/rocksdb/port/win/env_default.cc +45 -0
  1354. package/vendor/rocksdb/port/win/env_win.cc +1437 -0
  1355. package/vendor/rocksdb/port/win/env_win.h +305 -0
  1356. package/vendor/rocksdb/port/win/io_win.cc +1101 -0
  1357. package/vendor/rocksdb/port/win/io_win.h +508 -0
  1358. package/vendor/rocksdb/port/win/port_win.cc +303 -0
  1359. package/vendor/rocksdb/port/win/port_win.h +379 -0
  1360. package/vendor/rocksdb/port/win/win_jemalloc.cc +80 -0
  1361. package/vendor/rocksdb/port/win/win_logger.cc +192 -0
  1362. package/vendor/rocksdb/port/win/win_logger.h +64 -0
  1363. package/vendor/rocksdb/port/win/win_thread.cc +170 -0
  1364. package/vendor/rocksdb/port/win/win_thread.h +117 -0
  1365. package/vendor/rocksdb/port/win/xpress_win.cc +210 -0
  1366. package/vendor/rocksdb/port/win/xpress_win.h +26 -0
  1367. package/vendor/rocksdb/port/xpress.h +17 -0
  1368. package/vendor/rocksdb/rocksdb.pc.in +10 -0
  1369. package/vendor/rocksdb/src.mk +713 -0
  1370. package/vendor/rocksdb/table/adaptive/adaptive_table_factory.cc +125 -0
  1371. package/vendor/rocksdb/table/adaptive/adaptive_table_factory.h +56 -0
  1372. package/vendor/rocksdb/table/block_based/binary_search_index_reader.cc +73 -0
  1373. package/vendor/rocksdb/table/block_based/binary_search_index_reader.h +48 -0
  1374. package/vendor/rocksdb/table/block_based/block.cc +1291 -0
  1375. package/vendor/rocksdb/table/block_based/block.h +921 -0
  1376. package/vendor/rocksdb/table/block_based/block_based_table_builder.cc +2027 -0
  1377. package/vendor/rocksdb/table/block_based/block_based_table_builder.h +209 -0
  1378. package/vendor/rocksdb/table/block_based/block_based_table_factory.cc +962 -0
  1379. package/vendor/rocksdb/table/block_based/block_based_table_factory.h +102 -0
  1380. package/vendor/rocksdb/table/block_based/block_based_table_iterator.cc +500 -0
  1381. package/vendor/rocksdb/table/block_based/block_based_table_iterator.h +310 -0
  1382. package/vendor/rocksdb/table/block_based/block_based_table_reader.cc +3043 -0
  1383. package/vendor/rocksdb/table/block_based/block_based_table_reader.h +745 -0
  1384. package/vendor/rocksdb/table/block_based/block_based_table_reader_impl.h +203 -0
  1385. package/vendor/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +758 -0
  1386. package/vendor/rocksdb/table/block_based/block_based_table_reader_test.cc +567 -0
  1387. package/vendor/rocksdb/table/block_based/block_builder.cc +234 -0
  1388. package/vendor/rocksdb/table/block_based/block_builder.h +104 -0
  1389. package/vendor/rocksdb/table/block_based/block_cache.cc +106 -0
  1390. package/vendor/rocksdb/table/block_based/block_cache.h +140 -0
  1391. package/vendor/rocksdb/table/block_based/block_prefetcher.cc +120 -0
  1392. package/vendor/rocksdb/table/block_based/block_prefetcher.h +72 -0
  1393. package/vendor/rocksdb/table/block_based/block_prefix_index.cc +226 -0
  1394. package/vendor/rocksdb/table/block_based/block_prefix_index.h +70 -0
  1395. package/vendor/rocksdb/table/block_based/block_test.cc +1543 -0
  1396. package/vendor/rocksdb/table/block_based/block_type.h +34 -0
  1397. package/vendor/rocksdb/table/block_based/cachable_entry.h +244 -0
  1398. package/vendor/rocksdb/table/block_based/data_block_footer.cc +59 -0
  1399. package/vendor/rocksdb/table/block_based/data_block_footer.h +25 -0
  1400. package/vendor/rocksdb/table/block_based/data_block_hash_index.cc +94 -0
  1401. package/vendor/rocksdb/table/block_based/data_block_hash_index.h +137 -0
  1402. package/vendor/rocksdb/table/block_based/data_block_hash_index_test.cc +718 -0
  1403. package/vendor/rocksdb/table/block_based/filter_block.h +183 -0
  1404. package/vendor/rocksdb/table/block_based/filter_block_reader_common.cc +163 -0
  1405. package/vendor/rocksdb/table/block_based/filter_block_reader_common.h +76 -0
  1406. package/vendor/rocksdb/table/block_based/filter_policy.cc +1966 -0
  1407. package/vendor/rocksdb/table/block_based/filter_policy_internal.h +340 -0
  1408. package/vendor/rocksdb/table/block_based/flush_block_policy.cc +132 -0
  1409. package/vendor/rocksdb/table/block_based/flush_block_policy_impl.h +40 -0
  1410. package/vendor/rocksdb/table/block_based/full_filter_block.cc +290 -0
  1411. package/vendor/rocksdb/table/block_based/full_filter_block.h +147 -0
  1412. package/vendor/rocksdb/table/block_based/full_filter_block_test.cc +323 -0
  1413. package/vendor/rocksdb/table/block_based/hash_index_reader.cc +147 -0
  1414. package/vendor/rocksdb/table/block_based/hash_index_reader.h +49 -0
  1415. package/vendor/rocksdb/table/block_based/index_builder.cc +282 -0
  1416. package/vendor/rocksdb/table/block_based/index_builder.h +455 -0
  1417. package/vendor/rocksdb/table/block_based/index_reader_common.cc +57 -0
  1418. package/vendor/rocksdb/table/block_based/index_reader_common.h +85 -0
  1419. package/vendor/rocksdb/table/block_based/mock_block_based_table.h +62 -0
  1420. package/vendor/rocksdb/table/block_based/parsed_full_filter_block.cc +23 -0
  1421. package/vendor/rocksdb/table/block_based/parsed_full_filter_block.h +47 -0
  1422. package/vendor/rocksdb/table/block_based/partitioned_filter_block.cc +554 -0
  1423. package/vendor/rocksdb/table/block_based/partitioned_filter_block.h +182 -0
  1424. package/vendor/rocksdb/table/block_based/partitioned_filter_block_test.cc +436 -0
  1425. package/vendor/rocksdb/table/block_based/partitioned_index_iterator.cc +163 -0
  1426. package/vendor/rocksdb/table/block_based/partitioned_index_iterator.h +160 -0
  1427. package/vendor/rocksdb/table/block_based/partitioned_index_reader.cc +224 -0
  1428. package/vendor/rocksdb/table/block_based/partitioned_index_reader.h +56 -0
  1429. package/vendor/rocksdb/table/block_based/reader_common.cc +52 -0
  1430. package/vendor/rocksdb/table/block_based/reader_common.h +34 -0
  1431. package/vendor/rocksdb/table/block_based/uncompression_dict_reader.cc +126 -0
  1432. package/vendor/rocksdb/table/block_based/uncompression_dict_reader.h +61 -0
  1433. package/vendor/rocksdb/table/block_fetcher.cc +405 -0
  1434. package/vendor/rocksdb/table/block_fetcher.h +142 -0
  1435. package/vendor/rocksdb/table/block_fetcher_test.cc +520 -0
  1436. package/vendor/rocksdb/table/cleanable_test.cc +390 -0
  1437. package/vendor/rocksdb/table/compaction_merging_iterator.cc +370 -0
  1438. package/vendor/rocksdb/table/compaction_merging_iterator.h +44 -0
  1439. package/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.cc +551 -0
  1440. package/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.h +136 -0
  1441. package/vendor/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +631 -0
  1442. package/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.cc +100 -0
  1443. package/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.h +80 -0
  1444. package/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.cc +412 -0
  1445. package/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.h +100 -0
  1446. package/vendor/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +574 -0
  1447. package/vendor/rocksdb/table/format.cc +573 -0
  1448. package/vendor/rocksdb/table/format.h +378 -0
  1449. package/vendor/rocksdb/table/get_context.cc +616 -0
  1450. package/vendor/rocksdb/table/get_context.h +245 -0
  1451. package/vendor/rocksdb/table/internal_iterator.h +224 -0
  1452. package/vendor/rocksdb/table/iter_heap.h +44 -0
  1453. package/vendor/rocksdb/table/iterator.cc +130 -0
  1454. package/vendor/rocksdb/table/iterator_wrapper.h +190 -0
  1455. package/vendor/rocksdb/table/merger_test.cc +182 -0
  1456. package/vendor/rocksdb/table/merging_iterator.cc +1725 -0
  1457. package/vendor/rocksdb/table/merging_iterator.h +97 -0
  1458. package/vendor/rocksdb/table/meta_blocks.cc +564 -0
  1459. package/vendor/rocksdb/table/meta_blocks.h +172 -0
  1460. package/vendor/rocksdb/table/mock_table.cc +346 -0
  1461. package/vendor/rocksdb/table/mock_table.h +94 -0
  1462. package/vendor/rocksdb/table/multiget_context.h +405 -0
  1463. package/vendor/rocksdb/table/persistent_cache_helper.cc +111 -0
  1464. package/vendor/rocksdb/table/persistent_cache_helper.h +46 -0
  1465. package/vendor/rocksdb/table/persistent_cache_options.h +34 -0
  1466. package/vendor/rocksdb/table/plain/plain_table_bloom.cc +78 -0
  1467. package/vendor/rocksdb/table/plain/plain_table_bloom.h +132 -0
  1468. package/vendor/rocksdb/table/plain/plain_table_builder.cc +335 -0
  1469. package/vendor/rocksdb/table/plain/plain_table_builder.h +152 -0
  1470. package/vendor/rocksdb/table/plain/plain_table_factory.cc +296 -0
  1471. package/vendor/rocksdb/table/plain/plain_table_factory.h +180 -0
  1472. package/vendor/rocksdb/table/plain/plain_table_index.cc +211 -0
  1473. package/vendor/rocksdb/table/plain/plain_table_index.h +246 -0
  1474. package/vendor/rocksdb/table/plain/plain_table_key_coding.cc +507 -0
  1475. package/vendor/rocksdb/table/plain/plain_table_key_coding.h +199 -0
  1476. package/vendor/rocksdb/table/plain/plain_table_reader.cc +771 -0
  1477. package/vendor/rocksdb/table/plain/plain_table_reader.h +243 -0
  1478. package/vendor/rocksdb/table/scoped_arena_iterator.h +57 -0
  1479. package/vendor/rocksdb/table/sst_file_dumper.cc +520 -0
  1480. package/vendor/rocksdb/table/sst_file_dumper.h +99 -0
  1481. package/vendor/rocksdb/table/sst_file_reader.cc +101 -0
  1482. package/vendor/rocksdb/table/sst_file_reader_test.cc +423 -0
  1483. package/vendor/rocksdb/table/sst_file_writer.cc +436 -0
  1484. package/vendor/rocksdb/table/sst_file_writer_collectors.h +95 -0
  1485. package/vendor/rocksdb/table/table_builder.h +228 -0
  1486. package/vendor/rocksdb/table/table_factory.cc +52 -0
  1487. package/vendor/rocksdb/table/table_properties.cc +351 -0
  1488. package/vendor/rocksdb/table/table_properties_internal.h +14 -0
  1489. package/vendor/rocksdb/table/table_reader.h +187 -0
  1490. package/vendor/rocksdb/table/table_reader_bench.cc +339 -0
  1491. package/vendor/rocksdb/table/table_test.cc +5882 -0
  1492. package/vendor/rocksdb/table/two_level_iterator.cc +220 -0
  1493. package/vendor/rocksdb/table/two_level_iterator.h +43 -0
  1494. package/vendor/rocksdb/table/unique_id.cc +223 -0
  1495. package/vendor/rocksdb/table/unique_id_impl.h +93 -0
  1496. package/vendor/rocksdb/test_util/mock_time_env.cc +38 -0
  1497. package/vendor/rocksdb/test_util/mock_time_env.h +78 -0
  1498. package/vendor/rocksdb/test_util/secondary_cache_test_util.cc +96 -0
  1499. package/vendor/rocksdb/test_util/secondary_cache_test_util.h +119 -0
  1500. package/vendor/rocksdb/test_util/sync_point.cc +82 -0
  1501. package/vendor/rocksdb/test_util/sync_point.h +180 -0
  1502. package/vendor/rocksdb/test_util/sync_point_impl.cc +152 -0
  1503. package/vendor/rocksdb/test_util/sync_point_impl.h +96 -0
  1504. package/vendor/rocksdb/test_util/testharness.cc +107 -0
  1505. package/vendor/rocksdb/test_util/testharness.h +124 -0
  1506. package/vendor/rocksdb/test_util/testutil.cc +722 -0
  1507. package/vendor/rocksdb/test_util/testutil.h +860 -0
  1508. package/vendor/rocksdb/test_util/testutil_test.cc +43 -0
  1509. package/vendor/rocksdb/test_util/transaction_test_util.cc +400 -0
  1510. package/vendor/rocksdb/test_util/transaction_test_util.h +147 -0
  1511. package/vendor/rocksdb/third-party/gcc/ppc-asm.h +390 -0
  1512. package/vendor/rocksdb/third-party/gtest-1.8.1/fused-src/gtest/CMakeLists.txt +4 -0
  1513. package/vendor/rocksdb/third-party/gtest-1.8.1/fused-src/gtest/gtest-all.cc +11394 -0
  1514. package/vendor/rocksdb/third-party/gtest-1.8.1/fused-src/gtest/gtest.h +22115 -0
  1515. package/vendor/rocksdb/third-party/gtest-1.8.1/fused-src/gtest/gtest_main.cc +37 -0
  1516. package/vendor/rocksdb/thirdparty.inc +268 -0
  1517. package/vendor/rocksdb/tools/CMakeLists.txt +30 -0
  1518. package/vendor/rocksdb/tools/Dockerfile +5 -0
  1519. package/vendor/rocksdb/tools/advisor/README.md +96 -0
  1520. package/vendor/rocksdb/tools/advisor/advisor/__init__.py +0 -0
  1521. package/vendor/rocksdb/tools/advisor/advisor/bench_runner.py +39 -0
  1522. package/vendor/rocksdb/tools/advisor/advisor/config_optimizer_example.py +140 -0
  1523. package/vendor/rocksdb/tools/advisor/advisor/db_bench_runner.py +237 -0
  1524. package/vendor/rocksdb/tools/advisor/advisor/db_config_optimizer.py +293 -0
  1525. package/vendor/rocksdb/tools/advisor/advisor/db_log_parser.py +134 -0
  1526. package/vendor/rocksdb/tools/advisor/advisor/db_options_parser.py +348 -0
  1527. package/vendor/rocksdb/tools/advisor/advisor/db_stats_fetcher.py +346 -0
  1528. package/vendor/rocksdb/tools/advisor/advisor/db_timeseries_parser.py +203 -0
  1529. package/vendor/rocksdb/tools/advisor/advisor/ini_parser.py +76 -0
  1530. package/vendor/rocksdb/tools/advisor/advisor/rule_parser.py +510 -0
  1531. package/vendor/rocksdb/tools/advisor/advisor/rule_parser_example.py +98 -0
  1532. package/vendor/rocksdb/tools/advisor/advisor/rules.ini +214 -0
  1533. package/vendor/rocksdb/tools/advisor/test/__init__.py +0 -0
  1534. package/vendor/rocksdb/tools/advisor/test/input_files/LOG-0 +30 -0
  1535. package/vendor/rocksdb/tools/advisor/test/input_files/LOG-1 +25 -0
  1536. package/vendor/rocksdb/tools/advisor/test/input_files/OPTIONS-000005 +49 -0
  1537. package/vendor/rocksdb/tools/advisor/test/input_files/log_stats_parser_keys_ts +3 -0
  1538. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err1.ini +56 -0
  1539. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err2.ini +15 -0
  1540. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err3.ini +15 -0
  1541. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err4.ini +15 -0
  1542. package/vendor/rocksdb/tools/advisor/test/input_files/test_rules.ini +47 -0
  1543. package/vendor/rocksdb/tools/advisor/test/input_files/triggered_rules.ini +83 -0
  1544. package/vendor/rocksdb/tools/advisor/test/test_db_bench_runner.py +141 -0
  1545. package/vendor/rocksdb/tools/advisor/test/test_db_log_parser.py +96 -0
  1546. package/vendor/rocksdb/tools/advisor/test/test_db_options_parser.py +214 -0
  1547. package/vendor/rocksdb/tools/advisor/test/test_db_stats_fetcher.py +121 -0
  1548. package/vendor/rocksdb/tools/advisor/test/test_rule_parser.py +226 -0
  1549. package/vendor/rocksdb/tools/analyze_txn_stress_test.sh +77 -0
  1550. package/vendor/rocksdb/tools/auto_sanity_test.sh +93 -0
  1551. package/vendor/rocksdb/tools/backup_db.sh +15 -0
  1552. package/vendor/rocksdb/tools/benchmark.sh +1173 -0
  1553. package/vendor/rocksdb/tools/benchmark_ci.py +182 -0
  1554. package/vendor/rocksdb/tools/benchmark_compare.sh +342 -0
  1555. package/vendor/rocksdb/tools/benchmark_leveldb.sh +187 -0
  1556. package/vendor/rocksdb/tools/blob_dump.cc +103 -0
  1557. package/vendor/rocksdb/tools/block_cache_analyzer/__init__.py +2 -0
  1558. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +2000 -0
  1559. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.sh +156 -0
  1560. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py +734 -0
  1561. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +2314 -0
  1562. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +397 -0
  1563. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_plot.py +729 -0
  1564. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +791 -0
  1565. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +17 -0
  1566. package/vendor/rocksdb/tools/check_all_python.py +22 -0
  1567. package/vendor/rocksdb/tools/check_format_compatible.sh +379 -0
  1568. package/vendor/rocksdb/tools/db_bench.cc +21 -0
  1569. package/vendor/rocksdb/tools/db_bench_tool.cc +8604 -0
  1570. package/vendor/rocksdb/tools/db_bench_tool_test.cc +342 -0
  1571. package/vendor/rocksdb/tools/db_crashtest.py +1018 -0
  1572. package/vendor/rocksdb/tools/db_repl_stress.cc +132 -0
  1573. package/vendor/rocksdb/tools/db_sanity_test.cc +296 -0
  1574. package/vendor/rocksdb/tools/dbench_monitor +102 -0
  1575. package/vendor/rocksdb/tools/dump/db_dump_tool.cc +258 -0
  1576. package/vendor/rocksdb/tools/dump/rocksdb_dump.cc +60 -0
  1577. package/vendor/rocksdb/tools/dump/rocksdb_undump.cc +59 -0
  1578. package/vendor/rocksdb/tools/generate_random_db.sh +31 -0
  1579. package/vendor/rocksdb/tools/ingest_external_sst.sh +18 -0
  1580. package/vendor/rocksdb/tools/io_tracer_parser.cc +17 -0
  1581. package/vendor/rocksdb/tools/io_tracer_parser_test.cc +182 -0
  1582. package/vendor/rocksdb/tools/io_tracer_parser_tool.cc +142 -0
  1583. package/vendor/rocksdb/tools/io_tracer_parser_tool.h +38 -0
  1584. package/vendor/rocksdb/tools/ldb.cc +13 -0
  1585. package/vendor/rocksdb/tools/ldb_cmd.cc +4263 -0
  1586. package/vendor/rocksdb/tools/ldb_cmd_impl.h +744 -0
  1587. package/vendor/rocksdb/tools/ldb_cmd_test.cc +1216 -0
  1588. package/vendor/rocksdb/tools/ldb_test.py +955 -0
  1589. package/vendor/rocksdb/tools/ldb_tool.cc +182 -0
  1590. package/vendor/rocksdb/tools/pflag +217 -0
  1591. package/vendor/rocksdb/tools/reduce_levels_test.cc +212 -0
  1592. package/vendor/rocksdb/tools/regression_test.sh +525 -0
  1593. package/vendor/rocksdb/tools/restore_db.sh +15 -0
  1594. package/vendor/rocksdb/tools/rocksdb_dump_test.sh +9 -0
  1595. package/vendor/rocksdb/tools/run_blob_bench.sh +223 -0
  1596. package/vendor/rocksdb/tools/run_flash_bench.sh +359 -0
  1597. package/vendor/rocksdb/tools/run_leveldb.sh +175 -0
  1598. package/vendor/rocksdb/tools/sample-dump.dmp +0 -0
  1599. package/vendor/rocksdb/tools/simulated_hybrid_file_system.cc +243 -0
  1600. package/vendor/rocksdb/tools/simulated_hybrid_file_system.h +124 -0
  1601. package/vendor/rocksdb/tools/sst_dump.cc +12 -0
  1602. package/vendor/rocksdb/tools/sst_dump_test.cc +471 -0
  1603. package/vendor/rocksdb/tools/sst_dump_tool.cc +582 -0
  1604. package/vendor/rocksdb/tools/trace_analyzer.cc +17 -0
  1605. package/vendor/rocksdb/tools/trace_analyzer_test.cc +880 -0
  1606. package/vendor/rocksdb/tools/trace_analyzer_tool.cc +1929 -0
  1607. package/vendor/rocksdb/tools/trace_analyzer_tool.h +329 -0
  1608. package/vendor/rocksdb/tools/verify_random_db.sh +41 -0
  1609. package/vendor/rocksdb/tools/write_external_sst.sh +26 -0
  1610. package/vendor/rocksdb/tools/write_stress.cc +305 -0
  1611. package/vendor/rocksdb/tools/write_stress_runner.py +83 -0
  1612. package/vendor/rocksdb/trace_replay/block_cache_tracer.cc +509 -0
  1613. package/vendor/rocksdb/trace_replay/block_cache_tracer.h +239 -0
  1614. package/vendor/rocksdb/trace_replay/block_cache_tracer_test.cc +421 -0
  1615. package/vendor/rocksdb/trace_replay/io_tracer.cc +303 -0
  1616. package/vendor/rocksdb/trace_replay/io_tracer.h +185 -0
  1617. package/vendor/rocksdb/trace_replay/io_tracer_test.cc +353 -0
  1618. package/vendor/rocksdb/trace_replay/trace_record.cc +206 -0
  1619. package/vendor/rocksdb/trace_replay/trace_record_handler.cc +190 -0
  1620. package/vendor/rocksdb/trace_replay/trace_record_handler.h +46 -0
  1621. package/vendor/rocksdb/trace_replay/trace_record_result.cc +146 -0
  1622. package/vendor/rocksdb/trace_replay/trace_replay.cc +622 -0
  1623. package/vendor/rocksdb/trace_replay/trace_replay.h +183 -0
  1624. package/vendor/rocksdb/util/aligned_buffer.h +235 -0
  1625. package/vendor/rocksdb/util/async_file_reader.cc +81 -0
  1626. package/vendor/rocksdb/util/async_file_reader.h +144 -0
  1627. package/vendor/rocksdb/util/autovector.h +393 -0
  1628. package/vendor/rocksdb/util/autovector_test.cc +324 -0
  1629. package/vendor/rocksdb/util/bloom_impl.h +489 -0
  1630. package/vendor/rocksdb/util/bloom_test.cc +1175 -0
  1631. package/vendor/rocksdb/util/build_version.cc.in +79 -0
  1632. package/vendor/rocksdb/util/cast_util.h +42 -0
  1633. package/vendor/rocksdb/util/channel.h +69 -0
  1634. package/vendor/rocksdb/util/cleanable.cc +181 -0
  1635. package/vendor/rocksdb/util/coding.cc +90 -0
  1636. package/vendor/rocksdb/util/coding.h +389 -0
  1637. package/vendor/rocksdb/util/coding_lean.h +101 -0
  1638. package/vendor/rocksdb/util/coding_test.cc +217 -0
  1639. package/vendor/rocksdb/util/compaction_job_stats_impl.cc +92 -0
  1640. package/vendor/rocksdb/util/comparator.cc +383 -0
  1641. package/vendor/rocksdb/util/compression.cc +122 -0
  1642. package/vendor/rocksdb/util/compression.h +1795 -0
  1643. package/vendor/rocksdb/util/compression_context_cache.cc +106 -0
  1644. package/vendor/rocksdb/util/compression_context_cache.h +47 -0
  1645. package/vendor/rocksdb/util/concurrent_task_limiter_impl.cc +64 -0
  1646. package/vendor/rocksdb/util/concurrent_task_limiter_impl.h +67 -0
  1647. package/vendor/rocksdb/util/core_local.h +84 -0
  1648. package/vendor/rocksdb/util/coro_utils.h +112 -0
  1649. package/vendor/rocksdb/util/crc32c.cc +1292 -0
  1650. package/vendor/rocksdb/util/crc32c.h +56 -0
  1651. package/vendor/rocksdb/util/crc32c_arm64.cc +213 -0
  1652. package/vendor/rocksdb/util/crc32c_arm64.h +52 -0
  1653. package/vendor/rocksdb/util/crc32c_ppc.c +94 -0
  1654. package/vendor/rocksdb/util/crc32c_ppc.h +22 -0
  1655. package/vendor/rocksdb/util/crc32c_ppc_asm.S +756 -0
  1656. package/vendor/rocksdb/util/crc32c_ppc_constants.h +900 -0
  1657. package/vendor/rocksdb/util/crc32c_test.cc +213 -0
  1658. package/vendor/rocksdb/util/data_structure.cc +18 -0
  1659. package/vendor/rocksdb/util/defer.h +82 -0
  1660. package/vendor/rocksdb/util/defer_test.cc +51 -0
  1661. package/vendor/rocksdb/util/distributed_mutex.h +50 -0
  1662. package/vendor/rocksdb/util/duplicate_detector.h +69 -0
  1663. package/vendor/rocksdb/util/dynamic_bloom.cc +70 -0
  1664. package/vendor/rocksdb/util/dynamic_bloom.h +214 -0
  1665. package/vendor/rocksdb/util/dynamic_bloom_test.cc +325 -0
  1666. package/vendor/rocksdb/util/fastrange.h +114 -0
  1667. package/vendor/rocksdb/util/file_checksum_helper.cc +170 -0
  1668. package/vendor/rocksdb/util/file_checksum_helper.h +101 -0
  1669. package/vendor/rocksdb/util/file_reader_writer_test.cc +1058 -0
  1670. package/vendor/rocksdb/util/filelock_test.cc +148 -0
  1671. package/vendor/rocksdb/util/filter_bench.cc +840 -0
  1672. package/vendor/rocksdb/util/gflags_compat.h +29 -0
  1673. package/vendor/rocksdb/util/hash.cc +201 -0
  1674. package/vendor/rocksdb/util/hash.h +137 -0
  1675. package/vendor/rocksdb/util/hash128.h +26 -0
  1676. package/vendor/rocksdb/util/hash_containers.h +51 -0
  1677. package/vendor/rocksdb/util/hash_map.h +67 -0
  1678. package/vendor/rocksdb/util/hash_test.cc +853 -0
  1679. package/vendor/rocksdb/util/heap.h +174 -0
  1680. package/vendor/rocksdb/util/heap_test.cc +131 -0
  1681. package/vendor/rocksdb/util/kv_map.h +33 -0
  1682. package/vendor/rocksdb/util/log_write_bench.cc +88 -0
  1683. package/vendor/rocksdb/util/math.h +299 -0
  1684. package/vendor/rocksdb/util/math128.h +316 -0
  1685. package/vendor/rocksdb/util/murmurhash.cc +196 -0
  1686. package/vendor/rocksdb/util/murmurhash.h +43 -0
  1687. package/vendor/rocksdb/util/mutexlock.h +181 -0
  1688. package/vendor/rocksdb/util/ppc-opcode.h +27 -0
  1689. package/vendor/rocksdb/util/random.cc +63 -0
  1690. package/vendor/rocksdb/util/random.h +190 -0
  1691. package/vendor/rocksdb/util/random_test.cc +107 -0
  1692. package/vendor/rocksdb/util/rate_limiter.cc +376 -0
  1693. package/vendor/rocksdb/util/rate_limiter_impl.h +146 -0
  1694. package/vendor/rocksdb/util/rate_limiter_test.cc +520 -0
  1695. package/vendor/rocksdb/util/repeatable_thread.h +149 -0
  1696. package/vendor/rocksdb/util/repeatable_thread_test.cc +111 -0
  1697. package/vendor/rocksdb/util/ribbon_alg.h +1225 -0
  1698. package/vendor/rocksdb/util/ribbon_config.cc +506 -0
  1699. package/vendor/rocksdb/util/ribbon_config.h +182 -0
  1700. package/vendor/rocksdb/util/ribbon_impl.h +1137 -0
  1701. package/vendor/rocksdb/util/ribbon_test.cc +1308 -0
  1702. package/vendor/rocksdb/util/set_comparator.h +24 -0
  1703. package/vendor/rocksdb/util/single_thread_executor.h +56 -0
  1704. package/vendor/rocksdb/util/slice.cc +367 -0
  1705. package/vendor/rocksdb/util/slice_test.cc +252 -0
  1706. package/vendor/rocksdb/util/slice_transform_test.cc +159 -0
  1707. package/vendor/rocksdb/util/status.cc +162 -0
  1708. package/vendor/rocksdb/util/stderr_logger.cc +30 -0
  1709. package/vendor/rocksdb/util/stderr_logger.h +31 -0
  1710. package/vendor/rocksdb/util/stop_watch.h +136 -0
  1711. package/vendor/rocksdb/util/string_util.cc +502 -0
  1712. package/vendor/rocksdb/util/string_util.h +175 -0
  1713. package/vendor/rocksdb/util/thread_guard.h +41 -0
  1714. package/vendor/rocksdb/util/thread_list_test.cc +362 -0
  1715. package/vendor/rocksdb/util/thread_local.cc +521 -0
  1716. package/vendor/rocksdb/util/thread_local.h +100 -0
  1717. package/vendor/rocksdb/util/thread_local_test.cc +578 -0
  1718. package/vendor/rocksdb/util/thread_operation.h +113 -0
  1719. package/vendor/rocksdb/util/threadpool_imp.cc +551 -0
  1720. package/vendor/rocksdb/util/threadpool_imp.h +120 -0
  1721. package/vendor/rocksdb/util/timer.h +340 -0
  1722. package/vendor/rocksdb/util/timer_queue.h +231 -0
  1723. package/vendor/rocksdb/util/timer_queue_test.cc +73 -0
  1724. package/vendor/rocksdb/util/timer_test.cc +402 -0
  1725. package/vendor/rocksdb/util/udt_util.h +77 -0
  1726. package/vendor/rocksdb/util/user_comparator_wrapper.h +64 -0
  1727. package/vendor/rocksdb/util/vector_iterator.h +118 -0
  1728. package/vendor/rocksdb/util/work_queue.h +150 -0
  1729. package/vendor/rocksdb/util/work_queue_test.cc +272 -0
  1730. package/vendor/rocksdb/util/xxhash.cc +48 -0
  1731. package/vendor/rocksdb/util/xxhash.h +6360 -0
  1732. package/vendor/rocksdb/util/xxph3.h +1764 -0
  1733. package/vendor/rocksdb/utilities/agg_merge/agg_merge.cc +238 -0
  1734. package/vendor/rocksdb/utilities/agg_merge/agg_merge_impl.h +49 -0
  1735. package/vendor/rocksdb/utilities/agg_merge/agg_merge_test.cc +135 -0
  1736. package/vendor/rocksdb/utilities/agg_merge/test_agg_merge.cc +104 -0
  1737. package/vendor/rocksdb/utilities/agg_merge/test_agg_merge.h +47 -0
  1738. package/vendor/rocksdb/utilities/backup/backup_engine.cc +3355 -0
  1739. package/vendor/rocksdb/utilities/backup/backup_engine_impl.h +34 -0
  1740. package/vendor/rocksdb/utilities/backup/backup_engine_test.cc +4414 -0
  1741. package/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.cc +488 -0
  1742. package/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.h +202 -0
  1743. package/vendor/rocksdb/utilities/blob_db/blob_db.cc +112 -0
  1744. package/vendor/rocksdb/utilities/blob_db/blob_db.h +264 -0
  1745. package/vendor/rocksdb/utilities/blob_db/blob_db_gc_stats.h +54 -0
  1746. package/vendor/rocksdb/utilities/blob_db/blob_db_impl.cc +2185 -0
  1747. package/vendor/rocksdb/utilities/blob_db/blob_db_impl.h +501 -0
  1748. package/vendor/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +111 -0
  1749. package/vendor/rocksdb/utilities/blob_db/blob_db_iterator.h +148 -0
  1750. package/vendor/rocksdb/utilities/blob_db/blob_db_listener.h +69 -0
  1751. package/vendor/rocksdb/utilities/blob_db/blob_db_test.cc +2430 -0
  1752. package/vendor/rocksdb/utilities/blob_db/blob_dump_tool.cc +280 -0
  1753. package/vendor/rocksdb/utilities/blob_db/blob_dump_tool.h +56 -0
  1754. package/vendor/rocksdb/utilities/blob_db/blob_file.cc +316 -0
  1755. package/vendor/rocksdb/utilities/blob_db/blob_file.h +244 -0
  1756. package/vendor/rocksdb/utilities/cache_dump_load.cc +67 -0
  1757. package/vendor/rocksdb/utilities/cache_dump_load_impl.cc +369 -0
  1758. package/vendor/rocksdb/utilities/cache_dump_load_impl.h +356 -0
  1759. package/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +106 -0
  1760. package/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +57 -0
  1761. package/vendor/rocksdb/utilities/cassandra/cassandra_format_test.cc +377 -0
  1762. package/vendor/rocksdb/utilities/cassandra/cassandra_functional_test.cc +444 -0
  1763. package/vendor/rocksdb/utilities/cassandra/cassandra_options.h +41 -0
  1764. package/vendor/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +98 -0
  1765. package/vendor/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +164 -0
  1766. package/vendor/rocksdb/utilities/cassandra/format.cc +367 -0
  1767. package/vendor/rocksdb/utilities/cassandra/format.h +183 -0
  1768. package/vendor/rocksdb/utilities/cassandra/merge_operator.cc +80 -0
  1769. package/vendor/rocksdb/utilities/cassandra/merge_operator.h +44 -0
  1770. package/vendor/rocksdb/utilities/cassandra/serialize.h +81 -0
  1771. package/vendor/rocksdb/utilities/cassandra/test_utils.cc +69 -0
  1772. package/vendor/rocksdb/utilities/cassandra/test_utils.h +42 -0
  1773. package/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.cc +470 -0
  1774. package/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.h +64 -0
  1775. package/vendor/rocksdb/utilities/checkpoint/checkpoint_test.cc +988 -0
  1776. package/vendor/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +41 -0
  1777. package/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +24 -0
  1778. package/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +26 -0
  1779. package/vendor/rocksdb/utilities/compaction_filters.cc +52 -0
  1780. package/vendor/rocksdb/utilities/convenience/info_log_finder.cc +26 -0
  1781. package/vendor/rocksdb/utilities/counted_fs.cc +379 -0
  1782. package/vendor/rocksdb/utilities/counted_fs.h +158 -0
  1783. package/vendor/rocksdb/utilities/debug.cc +118 -0
  1784. package/vendor/rocksdb/utilities/env_mirror.cc +273 -0
  1785. package/vendor/rocksdb/utilities/env_mirror_test.cc +216 -0
  1786. package/vendor/rocksdb/utilities/env_timed.cc +181 -0
  1787. package/vendor/rocksdb/utilities/env_timed.h +95 -0
  1788. package/vendor/rocksdb/utilities/env_timed_test.cc +34 -0
  1789. package/vendor/rocksdb/utilities/fault_injection_env.cc +555 -0
  1790. package/vendor/rocksdb/utilities/fault_injection_env.h +258 -0
  1791. package/vendor/rocksdb/utilities/fault_injection_fs.cc +1071 -0
  1792. package/vendor/rocksdb/utilities/fault_injection_fs.h +593 -0
  1793. package/vendor/rocksdb/utilities/fault_injection_secondary_cache.cc +136 -0
  1794. package/vendor/rocksdb/utilities/fault_injection_secondary_cache.h +109 -0
  1795. package/vendor/rocksdb/utilities/leveldb_options/leveldb_options.cc +57 -0
  1796. package/vendor/rocksdb/utilities/memory/memory_test.cc +269 -0
  1797. package/vendor/rocksdb/utilities/memory/memory_util.cc +50 -0
  1798. package/vendor/rocksdb/utilities/memory_allocators.h +103 -0
  1799. package/vendor/rocksdb/utilities/merge_operators/bytesxor.cc +57 -0
  1800. package/vendor/rocksdb/utilities/merge_operators/bytesxor.h +40 -0
  1801. package/vendor/rocksdb/utilities/merge_operators/max.cc +64 -0
  1802. package/vendor/rocksdb/utilities/merge_operators/max_operator.h +35 -0
  1803. package/vendor/rocksdb/utilities/merge_operators/put.cc +74 -0
  1804. package/vendor/rocksdb/utilities/merge_operators/put_operator.h +56 -0
  1805. package/vendor/rocksdb/utilities/merge_operators/sortlist.cc +95 -0
  1806. package/vendor/rocksdb/utilities/merge_operators/sortlist.h +42 -0
  1807. package/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.cc +76 -0
  1808. package/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.h +32 -0
  1809. package/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +130 -0
  1810. package/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.h +52 -0
  1811. package/vendor/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +636 -0
  1812. package/vendor/rocksdb/utilities/merge_operators/uint64add.cc +56 -0
  1813. package/vendor/rocksdb/utilities/merge_operators/uint64add.h +35 -0
  1814. package/vendor/rocksdb/utilities/merge_operators.cc +115 -0
  1815. package/vendor/rocksdb/utilities/merge_operators.h +36 -0
  1816. package/vendor/rocksdb/utilities/object_registry.cc +381 -0
  1817. package/vendor/rocksdb/utilities/object_registry_test.cc +862 -0
  1818. package/vendor/rocksdb/utilities/option_change_migration/option_change_migration.cc +176 -0
  1819. package/vendor/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +548 -0
  1820. package/vendor/rocksdb/utilities/options/options_util.cc +117 -0
  1821. package/vendor/rocksdb/utilities/options/options_util_test.cc +782 -0
  1822. package/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.cc +420 -0
  1823. package/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.h +154 -0
  1824. package/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +608 -0
  1825. package/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +291 -0
  1826. package/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +127 -0
  1827. package/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +84 -0
  1828. package/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +122 -0
  1829. package/vendor/rocksdb/utilities/persistent_cache/hash_table.h +237 -0
  1830. package/vendor/rocksdb/utilities/persistent_cache/hash_table_bench.cc +310 -0
  1831. package/vendor/rocksdb/utilities/persistent_cache/hash_table_evictable.h +166 -0
  1832. package/vendor/rocksdb/utilities/persistent_cache/hash_table_test.cc +161 -0
  1833. package/vendor/rocksdb/utilities/persistent_cache/lrulist.h +172 -0
  1834. package/vendor/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +355 -0
  1835. package/vendor/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +413 -0
  1836. package/vendor/rocksdb/utilities/persistent_cache/persistent_cache_test.h +284 -0
  1837. package/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +165 -0
  1838. package/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +340 -0
  1839. package/vendor/rocksdb/utilities/persistent_cache/persistent_cache_util.h +67 -0
  1840. package/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +138 -0
  1841. package/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +139 -0
  1842. package/vendor/rocksdb/utilities/simulator_cache/cache_simulator.cc +287 -0
  1843. package/vendor/rocksdb/utilities/simulator_cache/cache_simulator.h +231 -0
  1844. package/vendor/rocksdb/utilities/simulator_cache/cache_simulator_test.cc +497 -0
  1845. package/vendor/rocksdb/utilities/simulator_cache/sim_cache.cc +372 -0
  1846. package/vendor/rocksdb/utilities/simulator_cache/sim_cache_test.cc +226 -0
  1847. package/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +221 -0
  1848. package/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +68 -0
  1849. package/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +238 -0
  1850. package/vendor/rocksdb/utilities/trace/file_trace_reader_writer.cc +133 -0
  1851. package/vendor/rocksdb/utilities/trace/file_trace_reader_writer.h +48 -0
  1852. package/vendor/rocksdb/utilities/trace/replayer_impl.cc +314 -0
  1853. package/vendor/rocksdb/utilities/trace/replayer_impl.h +84 -0
  1854. package/vendor/rocksdb/utilities/transactions/lock/lock_manager.cc +27 -0
  1855. package/vendor/rocksdb/utilities/transactions/lock/lock_manager.h +80 -0
  1856. package/vendor/rocksdb/utilities/transactions/lock/lock_tracker.h +207 -0
  1857. package/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +719 -0
  1858. package/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +222 -0
  1859. package/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +170 -0
  1860. package/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +324 -0
  1861. package/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +255 -0
  1862. package/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +97 -0
  1863. package/vendor/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +34 -0
  1864. package/vendor/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +448 -0
  1865. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.AGPLv3 +661 -0
  1866. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.APACHEv2 +174 -0
  1867. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.GPLv2 +339 -0
  1868. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +13 -0
  1869. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +76 -0
  1870. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/comparator.h +138 -0
  1871. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/ft-status.h +102 -0
  1872. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +137 -0
  1873. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.h +174 -0
  1874. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +220 -0
  1875. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.h +141 -0
  1876. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +525 -0
  1877. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +255 -0
  1878. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +1021 -0
  1879. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +580 -0
  1880. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +525 -0
  1881. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +263 -0
  1882. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.h +178 -0
  1883. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +518 -0
  1884. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.h +302 -0
  1885. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +118 -0
  1886. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.h +92 -0
  1887. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +211 -0
  1888. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.h +124 -0
  1889. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/memory.h +215 -0
  1890. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +39 -0
  1891. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h +130 -0
  1892. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +83 -0
  1893. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_instrumentation.h +286 -0
  1894. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_portability.h +87 -0
  1895. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_pthread.h +520 -0
  1896. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_race_tools.h +179 -0
  1897. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +197 -0
  1898. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +27 -0
  1899. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +130 -0
  1900. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +151 -0
  1901. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.h +98 -0
  1902. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +144 -0
  1903. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +199 -0
  1904. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.h +141 -0
  1905. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt.h +794 -0
  1906. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt_impl.h +1295 -0
  1907. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +165 -0
  1908. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/status.h +76 -0
  1909. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +501 -0
  1910. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +135 -0
  1911. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +154 -0
  1912. package/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +146 -0
  1913. package/vendor/rocksdb/utilities/transactions/optimistic_transaction.cc +194 -0
  1914. package/vendor/rocksdb/utilities/transactions/optimistic_transaction.h +99 -0
  1915. package/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +109 -0
  1916. package/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +86 -0
  1917. package/vendor/rocksdb/utilities/transactions/optimistic_transaction_test.cc +1479 -0
  1918. package/vendor/rocksdb/utilities/transactions/pessimistic_transaction.cc +1177 -0
  1919. package/vendor/rocksdb/utilities/transactions/pessimistic_transaction.h +311 -0
  1920. package/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +780 -0
  1921. package/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.h +316 -0
  1922. package/vendor/rocksdb/utilities/transactions/snapshot_checker.cc +37 -0
  1923. package/vendor/rocksdb/utilities/transactions/timestamped_snapshot_test.cc +457 -0
  1924. package/vendor/rocksdb/utilities/transactions/transaction_base.cc +757 -0
  1925. package/vendor/rocksdb/utilities/transactions/transaction_base.h +382 -0
  1926. package/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +133 -0
  1927. package/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +24 -0
  1928. package/vendor/rocksdb/utilities/transactions/transaction_test.cc +6751 -0
  1929. package/vendor/rocksdb/utilities/transactions/transaction_test.h +578 -0
  1930. package/vendor/rocksdb/utilities/transactions/transaction_util.cc +204 -0
  1931. package/vendor/rocksdb/utilities/transactions/transaction_util.h +83 -0
  1932. package/vendor/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +578 -0
  1933. package/vendor/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +4066 -0
  1934. package/vendor/rocksdb/utilities/transactions/write_prepared_txn.cc +515 -0
  1935. package/vendor/rocksdb/utilities/transactions/write_prepared_txn.h +117 -0
  1936. package/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.cc +1038 -0
  1937. package/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.h +1123 -0
  1938. package/vendor/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +779 -0
  1939. package/vendor/rocksdb/utilities/transactions/write_unprepared_txn.cc +1056 -0
  1940. package/vendor/rocksdb/utilities/transactions/write_unprepared_txn.h +339 -0
  1941. package/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +476 -0
  1942. package/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.h +106 -0
  1943. package/vendor/rocksdb/utilities/ttl/db_ttl_impl.cc +617 -0
  1944. package/vendor/rocksdb/utilities/ttl/db_ttl_impl.h +243 -0
  1945. package/vendor/rocksdb/utilities/ttl/ttl_test.cc +913 -0
  1946. package/vendor/rocksdb/utilities/util_merge_operators_test.cc +100 -0
  1947. package/vendor/rocksdb/utilities/wal_filter.cc +22 -0
  1948. package/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +694 -0
  1949. package/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +742 -0
  1950. package/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +342 -0
  1951. package/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +2409 -0
@@ -0,0 +1,1980 @@
1
+ // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2
+ // This source code is licensed under both the GPLv2 (found in the
3
+ // COPYING file in the root directory) and Apache 2.0 License
4
+ // (found in the LICENSE.Apache file in the root directory).
5
+ // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
6
+ // Use of this source code is governed by a BSD-style license that can be
7
+ // found in the LICENSE file. See the AUTHORS file for names of contributors.
8
+
9
+ #pragma once
10
+
11
+ #include <stdint.h>
12
+ #include <stdio.h>
13
+
14
+ #include <map>
15
+ #include <memory>
16
+ #include <string>
17
+ #include <unordered_map>
18
+ #include <vector>
19
+
20
+ #include "rocksdb/block_cache_trace_writer.h"
21
+ #include "rocksdb/iterator.h"
22
+ #include "rocksdb/listener.h"
23
+ #include "rocksdb/metadata.h"
24
+ #include "rocksdb/options.h"
25
+ #include "rocksdb/snapshot.h"
26
+ #include "rocksdb/sst_file_writer.h"
27
+ #include "rocksdb/thread_status.h"
28
+ #include "rocksdb/transaction_log.h"
29
+ #include "rocksdb/types.h"
30
+ #include "rocksdb/version.h"
31
+ #include "rocksdb/wide_columns.h"
32
+
33
+ #ifdef _WIN32
34
+ // Windows API macro interference
35
+ #undef DeleteFile
36
+ #endif
37
+
38
+ #if defined(__GNUC__) || defined(__clang__)
39
+ #define ROCKSDB_DEPRECATED_FUNC __attribute__((__deprecated__))
40
+ #elif _WIN32
41
+ #define ROCKSDB_DEPRECATED_FUNC __declspec(deprecated)
42
+ #endif
43
+
44
+ namespace ROCKSDB_NAMESPACE {
45
+
46
+ struct ColumnFamilyOptions;
47
+ struct CompactionOptions;
48
+ struct CompactRangeOptions;
49
+ struct DBOptions;
50
+ struct ExternalSstFileInfo;
51
+ struct FlushOptions;
52
+ struct Options;
53
+ struct ReadOptions;
54
+ struct TableProperties;
55
+ struct WriteOptions;
56
+ class Env;
57
+ class EventListener;
58
+ class FileSystem;
59
+ class Replayer;
60
+ class StatsHistoryIterator;
61
+ class TraceReader;
62
+ class TraceWriter;
63
+ class WriteBatch;
64
+
65
+ extern const std::string kDefaultColumnFamilyName;
66
+ extern const std::string kPersistentStatsColumnFamilyName;
67
+ struct ColumnFamilyDescriptor {
68
+ std::string name;
69
+ ColumnFamilyOptions options;
70
+ ColumnFamilyDescriptor()
71
+ : name(kDefaultColumnFamilyName), options(ColumnFamilyOptions()) {}
72
+ ColumnFamilyDescriptor(const std::string& _name,
73
+ const ColumnFamilyOptions& _options)
74
+ : name(_name), options(_options) {}
75
+ };
76
+
77
+ class ColumnFamilyHandle {
78
+ public:
79
+ virtual ~ColumnFamilyHandle() {}
80
+ // Returns the name of the column family associated with the current handle.
81
+ virtual const std::string& GetName() const = 0;
82
+ // Returns the ID of the column family associated with the current handle.
83
+ virtual uint32_t GetID() const = 0;
84
+ // Fills "*desc" with the up-to-date descriptor of the column family
85
+ // associated with this handle. Since it fills "*desc" with the up-to-date
86
+ // information, this call might internally lock and release DB mutex to
87
+ // access the up-to-date CF options. In addition, all the pointer-typed
88
+ // options cannot be referenced any longer than the original options exist.
89
+ //
90
+ // Note that this function is not supported in RocksDBLite.
91
+ virtual Status GetDescriptor(ColumnFamilyDescriptor* desc) = 0;
92
+ // Returns the comparator of the column family associated with the
93
+ // current handle.
94
+ virtual const Comparator* GetComparator() const = 0;
95
+ };
96
+
97
+ static const int kMajorVersion = __ROCKSDB_MAJOR__;
98
+ static const int kMinorVersion = __ROCKSDB_MINOR__;
99
+
100
+ // A range of keys
101
+ struct Range {
102
+ Slice start;
103
+ Slice limit;
104
+
105
+ Range() {}
106
+ Range(const Slice& s, const Slice& l) : start(s), limit(l) {}
107
+ };
108
+
109
+ struct RangePtr {
110
+ const Slice* start;
111
+ const Slice* limit;
112
+
113
+ RangePtr() : start(nullptr), limit(nullptr) {}
114
+ RangePtr(const Slice* s, const Slice* l) : start(s), limit(l) {}
115
+ };
116
+
117
+ // It is valid that files_checksums and files_checksum_func_names are both
118
+ // empty (no checksum information is provided for ingestion). Otherwise,
119
+ // their sizes should be the same as external_files. The file order should
120
+ // be the same in three vectors and guaranteed by the caller.
121
+ // Note that, we assume the temperatures of this batch of files to be
122
+ // ingested are the same.
123
+ struct IngestExternalFileArg {
124
+ ColumnFamilyHandle* column_family = nullptr;
125
+ std::vector<std::string> external_files;
126
+ IngestExternalFileOptions options;
127
+ std::vector<std::string> files_checksums;
128
+ std::vector<std::string> files_checksum_func_names;
129
+ Temperature file_temperature = Temperature::kUnknown;
130
+ };
131
+
132
+ struct GetMergeOperandsOptions {
133
+ int expected_max_number_of_operands = 0;
134
+ };
135
+
136
+ // A collections of table properties objects, where
137
+ // key: is the table's file name.
138
+ // value: the table properties object of the given table.
139
+ using TablePropertiesCollection =
140
+ std::unordered_map<std::string, std::shared_ptr<const TableProperties>>;
141
+
142
+ // A DB is a persistent, versioned ordered map from keys to values.
143
+ // A DB is safe for concurrent access from multiple threads without
144
+ // any external synchronization.
145
+ // DB is an abstract base class with one primary implementation (DBImpl)
146
+ // and a number of wrapper implementations.
147
+ class DB {
148
+ public:
149
+ // Open the database with the specified "name" for reads and writes.
150
+ // Stores a pointer to a heap-allocated database in *dbptr and returns
151
+ // OK on success.
152
+ // Stores nullptr in *dbptr and returns a non-OK status on error, including
153
+ // if the DB is already open (read-write) by another DB object. (This
154
+ // guarantee depends on options.env->LockFile(), which might not provide
155
+ // this guarantee in a custom Env implementation.)
156
+ //
157
+ // Caller must delete *dbptr when it is no longer needed.
158
+ static Status Open(const Options& options, const std::string& name,
159
+ DB** dbptr);
160
+
161
+ // Open DB with column families.
162
+ // db_options specify database specific options
163
+ // column_families is the vector of all column families in the database,
164
+ // containing column family name and options. You need to open ALL column
165
+ // families in the database. To get the list of column families, you can use
166
+ // ListColumnFamilies().
167
+ //
168
+ // The default column family name is 'default' and it's stored
169
+ // in ROCKSDB_NAMESPACE::kDefaultColumnFamilyName.
170
+ // If everything is OK, handles will on return be the same size
171
+ // as column_families --- handles[i] will be a handle that you
172
+ // will use to operate on column family column_family[i].
173
+ // Before delete DB, you have to close All column families by calling
174
+ // DestroyColumnFamilyHandle() with all the handles.
175
+ static Status Open(const DBOptions& db_options, const std::string& name,
176
+ const std::vector<ColumnFamilyDescriptor>& column_families,
177
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr);
178
+
179
+ // OpenForReadOnly() creates a Read-only instance that supports reads alone.
180
+ //
181
+ // All DB interfaces that modify data, like put/delete, will return error.
182
+ // Automatic Flush and Compactions are disabled and any manual calls
183
+ // to Flush/Compaction will return error.
184
+ //
185
+ // While a given DB can be simultaneously opened via OpenForReadOnly
186
+ // by any number of readers, if a DB is simultaneously opened by Open
187
+ // and OpenForReadOnly, the read-only instance has undefined behavior
188
+ // (though can often succeed if quickly closed) and the read-write
189
+ // instance is unaffected. See also OpenAsSecondary.
190
+
191
+ // Open the database for read only.
192
+ //
193
+ static Status OpenForReadOnly(const Options& options, const std::string& name,
194
+ DB** dbptr,
195
+ bool error_if_wal_file_exists = false);
196
+
197
+ // Open the database for read only with column families.
198
+ //
199
+ // When opening DB with read only, you can specify only a subset of column
200
+ // families in the database that should be opened. However, you always need
201
+ // to specify default column family. The default column family name is
202
+ // 'default' and it's stored in ROCKSDB_NAMESPACE::kDefaultColumnFamilyName
203
+ //
204
+ static Status OpenForReadOnly(
205
+ const DBOptions& db_options, const std::string& name,
206
+ const std::vector<ColumnFamilyDescriptor>& column_families,
207
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr,
208
+ bool error_if_wal_file_exists = false);
209
+
210
+ // OpenAsSecondary() creates a secondary instance that supports read-only
211
+ // operations and supports dynamic catch up with the primary (through a
212
+ // call to TryCatchUpWithPrimary()).
213
+ //
214
+ // All DB interfaces that modify data, like put/delete, will return error.
215
+ // Automatic Flush and Compactions are disabled and any manual calls
216
+ // to Flush/Compaction will return error.
217
+ //
218
+ // Multiple secondary instances can co-exist at the same time.
219
+ //
220
+
221
+ // Open DB as secondary instance
222
+ //
223
+ // The options argument specifies the options to open the secondary instance.
224
+ // Options.max_open_files should be set to -1.
225
+ // The name argument specifies the name of the primary db that you have used
226
+ // to open the primary instance.
227
+ // The secondary_path argument points to a directory where the secondary
228
+ // instance stores its info log.
229
+ // The dbptr is an out-arg corresponding to the opened secondary instance.
230
+ // The pointer points to a heap-allocated database, and the caller should
231
+ // delete it after use.
232
+ //
233
+ // Return OK on success, non-OK on failures.
234
+ static Status OpenAsSecondary(const Options& options, const std::string& name,
235
+ const std::string& secondary_path, DB** dbptr);
236
+
237
+ // Open DB as secondary instance with specified column families
238
+ //
239
+ // When opening DB in secondary mode, you can specify only a subset of column
240
+ // families in the database that should be opened. However, you always need
241
+ // to specify default column family. The default column family name is
242
+ // 'default' and it's stored in ROCKSDB_NAMESPACE::kDefaultColumnFamilyName
243
+ //
244
+ // Column families created by the primary after the secondary instance starts
245
+ // are currently ignored by the secondary instance. Column families opened
246
+ // by secondary and dropped by the primary will be dropped by secondary as
247
+ // well (on next invocation of TryCatchUpWithPrimary()). However the user
248
+ // of the secondary instance can still access the data of such dropped column
249
+ // family as long as they do not destroy the corresponding column family
250
+ // handle.
251
+ //
252
+ // The options argument specifies the options to open the secondary instance.
253
+ // Options.max_open_files should be set to -1.
254
+ // The name argument specifies the name of the primary db that you have used
255
+ // to open the primary instance.
256
+ // The secondary_path argument points to a directory where the secondary
257
+ // instance stores its info log.
258
+ // The column_families argument specifies a list of column families to open.
259
+ // If default column family is not specified or if any specified column
260
+ // families does not exist, the function returns non-OK status.
261
+ // The handles is an out-arg corresponding to the opened database column
262
+ // family handles.
263
+ // The dbptr is an out-arg corresponding to the opened secondary instance.
264
+ // The pointer points to a heap-allocated database, and the caller should
265
+ // delete it after use. Before deleting the dbptr, the user should also
266
+ // delete the pointers stored in handles vector.
267
+ //
268
+ // Return OK on success, non-OK on failures.
269
+ static Status OpenAsSecondary(
270
+ const DBOptions& db_options, const std::string& name,
271
+ const std::string& secondary_path,
272
+ const std::vector<ColumnFamilyDescriptor>& column_families,
273
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr);
274
+
275
+ // Open DB and run the compaction.
276
+ // It's a read-only operation, the result won't be installed to the DB, it
277
+ // will be output to the `output_directory`. The API should only be used with
278
+ // `options.CompactionService` to run compaction triggered by
279
+ // `CompactionService`.
280
+ static Status OpenAndCompact(
281
+ const std::string& name, const std::string& output_directory,
282
+ const std::string& input, std::string* output,
283
+ const CompactionServiceOptionsOverride& override_options);
284
+
285
+ static Status OpenAndCompact(
286
+ const OpenAndCompactOptions& options, const std::string& name,
287
+ const std::string& output_directory, const std::string& input,
288
+ std::string* output,
289
+ const CompactionServiceOptionsOverride& override_options);
290
+
291
+ // Experimental and subject to change
292
+ // Open DB and trim data newer than specified timestamp.
293
+ // The trim_ts specified the user-defined timestamp trim bound.
294
+ // This API should only be used at timestamp enabled column families recovery.
295
+ // If some input column families do not support timestamp, nothing will
296
+ // be happened to them. The data with timestamp > trim_ts
297
+ // will be removed after this API returns successfully.
298
+ static Status OpenAndTrimHistory(
299
+ const DBOptions& db_options, const std::string& dbname,
300
+ const std::vector<ColumnFamilyDescriptor>& column_families,
301
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr,
302
+ std::string trim_ts);
303
+
304
+ // Manually, synchronously attempt to resume DB writes after a write failure
305
+ // to the underlying filesystem. See
306
+ // https://github.com/facebook/rocksdb/wiki/Background-Error-Handling
307
+ //
308
+ // Returns OK if writes are successfully resumed, or there was no
309
+ // outstanding error to recover from. Returns underlying write error if
310
+ // it is not recoverable.
311
+ //
312
+ // WART: Does not mix well with auto-resume. Will return Busy if an
313
+ // auto-resume is in progress, without waiting for it to complete.
314
+ // See DBOptions::max_bgerror_resume_count and
315
+ // EventListener::OnErrorRecoveryBegin
316
+ virtual Status Resume() { return Status::NotSupported(); }
317
+
318
+ // Close the DB by releasing resources, closing files etc. This should be
319
+ // called before calling the destructor so that the caller can get back a
320
+ // status in case there are any errors. This will not fsync the WAL files.
321
+ // If syncing is required, the caller must first call SyncWAL(), or Write()
322
+ // using an empty write batch with WriteOptions.sync=true.
323
+ // Regardless of the return status, the DB must be freed.
324
+ // If the return status is Aborted(), closing fails because there is
325
+ // unreleased snapshot in the system. In this case, users can release
326
+ // the unreleased snapshots and try again and expect it to succeed. For
327
+ // other status, re-calling Close() will be no-op and return the original
328
+ // close status. If the return status is NotSupported(), then the DB
329
+ // implementation does cleanup in the destructor
330
+ virtual Status Close() { return Status::NotSupported(); }
331
+
332
+ // ListColumnFamilies will open the DB specified by argument name
333
+ // and return the list of all column families in that DB
334
+ // through column_families argument. The ordering of
335
+ // column families in column_families is unspecified.
336
+ static Status ListColumnFamilies(const DBOptions& db_options,
337
+ const std::string& name,
338
+ std::vector<std::string>* column_families);
339
+
340
+ // Abstract class ctor
341
+ DB() {}
342
+ // No copying allowed
343
+ DB(const DB&) = delete;
344
+ void operator=(const DB&) = delete;
345
+
346
+ virtual ~DB();
347
+
348
+ // Create a column_family and return the handle of column family
349
+ // through the argument handle.
350
+ virtual Status CreateColumnFamily(const ColumnFamilyOptions& options,
351
+ const std::string& column_family_name,
352
+ ColumnFamilyHandle** handle);
353
+
354
+ // Bulk create column families with the same column family options.
355
+ // Return the handles of the column families through the argument handles.
356
+ // In case of error, the request may succeed partially, and handles will
357
+ // contain column family handles that it managed to create, and have size
358
+ // equal to the number of created column families.
359
+ virtual Status CreateColumnFamilies(
360
+ const ColumnFamilyOptions& options,
361
+ const std::vector<std::string>& column_family_names,
362
+ std::vector<ColumnFamilyHandle*>* handles);
363
+
364
+ // Bulk create column families.
365
+ // Return the handles of the column families through the argument handles.
366
+ // In case of error, the request may succeed partially, and handles will
367
+ // contain column family handles that it managed to create, and have size
368
+ // equal to the number of created column families.
369
+ virtual Status CreateColumnFamilies(
370
+ const std::vector<ColumnFamilyDescriptor>& column_families,
371
+ std::vector<ColumnFamilyHandle*>* handles);
372
+
373
+ // Drop a column family specified by column_family handle. This call
374
+ // only records a drop record in the manifest and prevents the column
375
+ // family from flushing and compacting.
376
+ virtual Status DropColumnFamily(ColumnFamilyHandle* column_family);
377
+
378
+ // Bulk drop column families. This call only records drop records in the
379
+ // manifest and prevents the column families from flushing and compacting.
380
+ // In case of error, the request may succeed partially. User may call
381
+ // ListColumnFamilies to check the result.
382
+ virtual Status DropColumnFamilies(
383
+ const std::vector<ColumnFamilyHandle*>& column_families);
384
+
385
+ // Release and deallocate a column family handle. A column family is only
386
+ // removed once it is dropped (DropColumnFamily) and all handles have been
387
+ // destroyed (DestroyColumnFamilyHandle). Use this method to destroy
388
+ // column family handles (except for DefaultColumnFamily()!) before closing
389
+ // a DB.
390
+ virtual Status DestroyColumnFamilyHandle(ColumnFamilyHandle* column_family);
391
+
392
+ // Set the database entry for "key" to "value".
393
+ // If "key" already exists, it will be overwritten.
394
+ // Returns OK on success, and a non-OK status on error.
395
+ // Note: consider setting options.sync = true.
396
+ virtual Status Put(const WriteOptions& options,
397
+ ColumnFamilyHandle* column_family, const Slice& key,
398
+ const Slice& value) = 0;
399
+ virtual Status Put(const WriteOptions& options,
400
+ ColumnFamilyHandle* column_family, const Slice& key,
401
+ const Slice& ts, const Slice& value) = 0;
402
+ virtual Status Put(const WriteOptions& options, const Slice& key,
403
+ const Slice& value) {
404
+ return Put(options, DefaultColumnFamily(), key, value);
405
+ }
406
+ virtual Status Put(const WriteOptions& options, const Slice& key,
407
+ const Slice& ts, const Slice& value) {
408
+ return Put(options, DefaultColumnFamily(), key, ts, value);
409
+ }
410
+
411
+ // Set the database entry for "key" in the column family specified by
412
+ // "column_family" to the wide-column entity defined by "columns". If the key
413
+ // already exists in the column family, it will be overwritten.
414
+ //
415
+ // Returns OK on success, and a non-OK status on error.
416
+ virtual Status PutEntity(const WriteOptions& options,
417
+ ColumnFamilyHandle* column_family, const Slice& key,
418
+ const WideColumns& columns);
419
+
420
+ // Remove the database entry (if any) for "key". Returns OK on
421
+ // success, and a non-OK status on error. It is not an error if "key"
422
+ // did not exist in the database.
423
+ // Note: consider setting options.sync = true.
424
+ virtual Status Delete(const WriteOptions& options,
425
+ ColumnFamilyHandle* column_family,
426
+ const Slice& key) = 0;
427
+ virtual Status Delete(const WriteOptions& options,
428
+ ColumnFamilyHandle* column_family, const Slice& key,
429
+ const Slice& ts) = 0;
430
+ virtual Status Delete(const WriteOptions& options, const Slice& key) {
431
+ return Delete(options, DefaultColumnFamily(), key);
432
+ }
433
+ virtual Status Delete(const WriteOptions& options, const Slice& key,
434
+ const Slice& ts) {
435
+ return Delete(options, DefaultColumnFamily(), key, ts);
436
+ }
437
+
438
+ // Remove the database entry for "key". Requires that the key exists
439
+ // and was not overwritten. Returns OK on success, and a non-OK status
440
+ // on error. It is not an error if "key" did not exist in the database.
441
+ //
442
+ // If a key is overwritten (by calling Put() multiple times), then the result
443
+ // of calling SingleDelete() on this key is undefined. SingleDelete() only
444
+ // behaves correctly if there has been only one Put() for this key since the
445
+ // previous call to SingleDelete() for this key.
446
+ //
447
+ // This feature is currently an experimental performance optimization
448
+ // for a very specific workload. It is up to the caller to ensure that
449
+ // SingleDelete is only used for a key that is not deleted using Delete() or
450
+ // written using Merge(). Mixing SingleDelete operations with Deletes and
451
+ // Merges can result in undefined behavior.
452
+ //
453
+ // Note: consider setting options.sync = true.
454
+ virtual Status SingleDelete(const WriteOptions& options,
455
+ ColumnFamilyHandle* column_family,
456
+ const Slice& key) = 0;
457
+ virtual Status SingleDelete(const WriteOptions& options,
458
+ ColumnFamilyHandle* column_family,
459
+ const Slice& key, const Slice& ts) = 0;
460
+ virtual Status SingleDelete(const WriteOptions& options, const Slice& key) {
461
+ return SingleDelete(options, DefaultColumnFamily(), key);
462
+ }
463
+ virtual Status SingleDelete(const WriteOptions& options, const Slice& key,
464
+ const Slice& ts) {
465
+ return SingleDelete(options, DefaultColumnFamily(), key, ts);
466
+ }
467
+
468
+ // Removes the database entries in the range ["begin_key", "end_key"), i.e.,
469
+ // including "begin_key" and excluding "end_key". Returns OK on success, and
470
+ // a non-OK status on error. It is not an error if the database does not
471
+ // contain any existing data in the range ["begin_key", "end_key").
472
+ //
473
+ // If "end_key" comes before "start_key" according to the user's comparator,
474
+ // a `Status::InvalidArgument` is returned.
475
+ //
476
+ // This feature is now usable in production, with the following caveats:
477
+ // 1) Accumulating too many range tombstones in the memtable will degrade read
478
+ // performance; this can be avoided by manually flushing occasionally.
479
+ // 2) Limiting the maximum number of open files in the presence of range
480
+ // tombstones can degrade read performance. To avoid this problem, set
481
+ // max_open_files to -1 whenever possible.
482
+ virtual Status DeleteRange(const WriteOptions& options,
483
+ ColumnFamilyHandle* column_family,
484
+ const Slice& begin_key, const Slice& end_key);
485
+ virtual Status DeleteRange(const WriteOptions& options,
486
+ ColumnFamilyHandle* column_family,
487
+ const Slice& begin_key, const Slice& end_key,
488
+ const Slice& ts);
489
+
490
+ // Merge the database entry for "key" with "value". Returns OK on success,
491
+ // and a non-OK status on error. The semantics of this operation is
492
+ // determined by the user provided merge_operator when opening DB.
493
+ // Note: consider setting options.sync = true.
494
+ virtual Status Merge(const WriteOptions& options,
495
+ ColumnFamilyHandle* column_family, const Slice& key,
496
+ const Slice& value) = 0;
497
+ virtual Status Merge(const WriteOptions& options, const Slice& key,
498
+ const Slice& value) {
499
+ return Merge(options, DefaultColumnFamily(), key, value);
500
+ }
501
+ virtual Status Merge(const WriteOptions& /*options*/,
502
+ ColumnFamilyHandle* /*column_family*/,
503
+ const Slice& /*key*/, const Slice& /*ts*/,
504
+ const Slice& /*value*/);
505
+
506
+ // Apply the specified updates to the database.
507
+ // If `updates` contains no update, WAL will still be synced if
508
+ // options.sync=true.
509
+ // Returns OK on success, non-OK on failure.
510
+ // Note: consider setting options.sync = true.
511
+ virtual Status Write(const WriteOptions& options, WriteBatch* updates) = 0;
512
+
513
+ // If the column family specified by "column_family" contains an entry for
514
+ // "key", return the corresponding value in "*value". If the entry is a plain
515
+ // key-value, return the value as-is; if it is a wide-column entity, return
516
+ // the value of its default anonymous column (see kDefaultWideColumnName) if
517
+ // any, or an empty value otherwise.
518
+ //
519
+ // If timestamp is enabled and a non-null timestamp pointer is passed in,
520
+ // timestamp is returned.
521
+ //
522
+ // Returns OK on success. Returns NotFound and an empty value in "*value" if
523
+ // there is no entry for "key". Returns some other non-OK status on error.
524
+ virtual inline Status Get(const ReadOptions& options,
525
+ ColumnFamilyHandle* column_family, const Slice& key,
526
+ std::string* value) {
527
+ assert(value != nullptr);
528
+ PinnableSlice pinnable_val(value);
529
+ assert(!pinnable_val.IsPinned());
530
+ auto s = Get(options, column_family, key, &pinnable_val);
531
+ if (s.ok() && pinnable_val.IsPinned()) {
532
+ value->assign(pinnable_val.data(), pinnable_val.size());
533
+ } // else value is already assigned
534
+ return s;
535
+ }
536
+ virtual Status Get(const ReadOptions& options,
537
+ ColumnFamilyHandle* column_family, const Slice& key,
538
+ PinnableSlice* value) = 0;
539
+ virtual Status Get(const ReadOptions& options, const Slice& key,
540
+ std::string* value) {
541
+ return Get(options, DefaultColumnFamily(), key, value);
542
+ }
543
+
544
+ // Get() methods that return timestamp. Derived DB classes don't need to worry
545
+ // about this group of methods if they don't care about timestamp feature.
546
+ virtual inline Status Get(const ReadOptions& options,
547
+ ColumnFamilyHandle* column_family, const Slice& key,
548
+ std::string* value, std::string* timestamp) {
549
+ assert(value != nullptr);
550
+ PinnableSlice pinnable_val(value);
551
+ assert(!pinnable_val.IsPinned());
552
+ auto s = Get(options, column_family, key, &pinnable_val, timestamp);
553
+ if (s.ok() && pinnable_val.IsPinned()) {
554
+ value->assign(pinnable_val.data(), pinnable_val.size());
555
+ } // else value is already assigned
556
+ return s;
557
+ }
558
+ virtual Status Get(const ReadOptions& /*options*/,
559
+ ColumnFamilyHandle* /*column_family*/,
560
+ const Slice& /*key*/, PinnableSlice* /*value*/,
561
+ std::string* /*timestamp*/) {
562
+ return Status::NotSupported(
563
+ "Get() that returns timestamp is not implemented.");
564
+ }
565
+ virtual Status Get(const ReadOptions& options, const Slice& key,
566
+ std::string* value, std::string* timestamp) {
567
+ return Get(options, DefaultColumnFamily(), key, value, timestamp);
568
+ }
569
+
570
+ // If the column family specified by "column_family" contains an entry for
571
+ // "key", return it as a wide-column entity in "*columns". If the entry is a
572
+ // wide-column entity, return it as-is; if it is a plain key-value, return it
573
+ // as an entity with a single anonymous column (see kDefaultWideColumnName)
574
+ // which contains the value.
575
+ //
576
+ // Returns OK on success. Returns NotFound and an empty wide-column entity in
577
+ // "*columns" if there is no entry for "key". Returns some other non-OK status
578
+ // on error.
579
+ virtual Status GetEntity(const ReadOptions& /* options */,
580
+ ColumnFamilyHandle* /* column_family */,
581
+ const Slice& /* key */,
582
+ PinnableWideColumns* /* columns */) {
583
+ return Status::NotSupported("GetEntity not supported");
584
+ }
585
+
586
+ // Populates the `merge_operands` array with all the merge operands in the DB
587
+ // for `key`. The `merge_operands` array will be populated in the order of
588
+ // insertion. The number of entries populated in `merge_operands` will be
589
+ // assigned to `*number_of_operands`.
590
+ //
591
+ // If the number of merge operands in DB for `key` is greater than
592
+ // `merge_operands_options.expected_max_number_of_operands`,
593
+ // `merge_operands` is not populated and the return value is
594
+ // `Status::Incomplete`. In that case, `*number_of_operands` will be assigned
595
+ // the number of merge operands found in the DB for `key`.
596
+ //
597
+ // `merge_operands`- Points to an array of at-least
598
+ // merge_operands_options.expected_max_number_of_operands and the
599
+ // caller is responsible for allocating it.
600
+ //
601
+ // The caller should delete or `Reset()` the `merge_operands` entries when
602
+ // they are no longer needed. All `merge_operands` entries must be destroyed
603
+ // or `Reset()` before this DB is closed or destroyed.
604
+ virtual Status GetMergeOperands(
605
+ const ReadOptions& options, ColumnFamilyHandle* column_family,
606
+ const Slice& key, PinnableSlice* merge_operands,
607
+ GetMergeOperandsOptions* get_merge_operands_options,
608
+ int* number_of_operands) = 0;
609
+
610
+ // Consistent Get of many keys across column families without the need
611
+ // for an explicit snapshot. NOTE: the implementation of this MultiGet API
612
+ // does not have the performance benefits of the void-returning MultiGet
613
+ // functions.
614
+ //
615
+ // If keys[i] does not exist in the database, then the i'th returned
616
+ // status will be one for which Status::IsNotFound() is true, and
617
+ // (*values)[i] will be set to some arbitrary value (often ""). Otherwise,
618
+ // the i'th returned status will have Status::ok() true, and (*values)[i]
619
+ // will store the value associated with keys[i].
620
+ //
621
+ // (*values) will always be resized to be the same size as (keys).
622
+ // Similarly, the number of returned statuses will be the number of keys.
623
+ // Note: keys will not be "de-duplicated". Duplicate keys will return
624
+ // duplicate values in order.
625
+ virtual std::vector<Status> MultiGet(
626
+ const ReadOptions& options,
627
+ const std::vector<ColumnFamilyHandle*>& column_family,
628
+ const std::vector<Slice>& keys, std::vector<std::string>* values) = 0;
629
+ virtual std::vector<Status> MultiGet(const ReadOptions& options,
630
+ const std::vector<Slice>& keys,
631
+ std::vector<std::string>* values) {
632
+ return MultiGet(
633
+ options,
634
+ std::vector<ColumnFamilyHandle*>(keys.size(), DefaultColumnFamily()),
635
+ keys, values);
636
+ }
637
+
638
+ virtual std::vector<Status> MultiGet(
639
+ const ReadOptions& /*options*/,
640
+ const std::vector<ColumnFamilyHandle*>& /*column_family*/,
641
+ const std::vector<Slice>& keys, std::vector<std::string>* /*values*/,
642
+ std::vector<std::string>* /*timestamps*/) {
643
+ return std::vector<Status>(
644
+ keys.size(), Status::NotSupported(
645
+ "MultiGet() returning timestamps not implemented."));
646
+ }
647
+ virtual std::vector<Status> MultiGet(const ReadOptions& options,
648
+ const std::vector<Slice>& keys,
649
+ std::vector<std::string>* values,
650
+ std::vector<std::string>* timestamps) {
651
+ return MultiGet(
652
+ options,
653
+ std::vector<ColumnFamilyHandle*>(keys.size(), DefaultColumnFamily()),
654
+ keys, values, timestamps);
655
+ }
656
+
657
+ // Overloaded MultiGet API that improves performance by batching operations
658
+ // in the read path for greater efficiency. Currently, only the block based
659
+ // table format with full filters are supported. Other table formats such
660
+ // as plain table, block based table with block based filters and
661
+ // partitioned indexes will still work, but will not get any performance
662
+ // benefits.
663
+ // Parameters -
664
+ // options - ReadOptions
665
+ // column_family - ColumnFamilyHandle* that the keys belong to. All the keys
666
+ // passed to the API are restricted to a single column family
667
+ // num_keys - Number of keys to lookup
668
+ // keys - Pointer to C style array of key Slices with num_keys elements
669
+ // values - Pointer to C style array of PinnableSlices with num_keys elements
670
+ // statuses - Pointer to C style array of Status with num_keys elements
671
+ // sorted_input - If true, it means the input keys are already sorted by key
672
+ // order, so the MultiGet() API doesn't have to sort them
673
+ // again. If false, the keys will be copied and sorted
674
+ // internally by the API - the input array will not be
675
+ // modified
676
+ virtual void MultiGet(const ReadOptions& options,
677
+ ColumnFamilyHandle* column_family,
678
+ const size_t num_keys, const Slice* keys,
679
+ PinnableSlice* values, Status* statuses,
680
+ const bool /*sorted_input*/ = false) {
681
+ std::vector<ColumnFamilyHandle*> cf;
682
+ std::vector<Slice> user_keys;
683
+ std::vector<Status> status;
684
+ std::vector<std::string> vals;
685
+
686
+ for (size_t i = 0; i < num_keys; ++i) {
687
+ cf.emplace_back(column_family);
688
+ user_keys.emplace_back(keys[i]);
689
+ }
690
+ status = MultiGet(options, cf, user_keys, &vals);
691
+ std::copy(status.begin(), status.end(), statuses);
692
+ for (auto& value : vals) {
693
+ values->PinSelf(value);
694
+ values++;
695
+ }
696
+ }
697
+
698
+ virtual void MultiGet(const ReadOptions& options,
699
+ ColumnFamilyHandle* column_family,
700
+ const size_t num_keys, const Slice* keys,
701
+ PinnableSlice* values, std::string* timestamps,
702
+ Status* statuses, const bool /*sorted_input*/ = false) {
703
+ std::vector<ColumnFamilyHandle*> cf;
704
+ std::vector<Slice> user_keys;
705
+ std::vector<Status> status;
706
+ std::vector<std::string> vals;
707
+ std::vector<std::string> tss;
708
+
709
+ for (size_t i = 0; i < num_keys; ++i) {
710
+ cf.emplace_back(column_family);
711
+ user_keys.emplace_back(keys[i]);
712
+ }
713
+ status = MultiGet(options, cf, user_keys, &vals, &tss);
714
+ std::copy(status.begin(), status.end(), statuses);
715
+ std::copy(tss.begin(), tss.end(), timestamps);
716
+ for (auto& value : vals) {
717
+ values->PinSelf(value);
718
+ values++;
719
+ }
720
+ }
721
+
722
+ // Overloaded MultiGet API that improves performance by batching operations
723
+ // in the read path for greater efficiency. Currently, only the block based
724
+ // table format with full filters are supported. Other table formats such
725
+ // as plain table, block based table with block based filters and
726
+ // partitioned indexes will still work, but will not get any performance
727
+ // benefits.
728
+ // Parameters -
729
+ // options - ReadOptions
730
+ // column_family - ColumnFamilyHandle* that the keys belong to. All the keys
731
+ // passed to the API are restricted to a single column family
732
+ // num_keys - Number of keys to lookup
733
+ // keys - Pointer to C style array of key Slices with num_keys elements
734
+ // values - Pointer to C style array of PinnableSlices with num_keys elements
735
+ // statuses - Pointer to C style array of Status with num_keys elements
736
+ // sorted_input - If true, it means the input keys are already sorted by key
737
+ // order, so the MultiGet() API doesn't have to sort them
738
+ // again. If false, the keys will be copied and sorted
739
+ // internally by the API - the input array will not be
740
+ // modified
741
+ virtual void MultiGet(const ReadOptions& options, const size_t num_keys,
742
+ ColumnFamilyHandle** column_families, const Slice* keys,
743
+ PinnableSlice* values, Status* statuses,
744
+ const bool /*sorted_input*/ = false) {
745
+ std::vector<ColumnFamilyHandle*> cf;
746
+ std::vector<Slice> user_keys;
747
+ std::vector<Status> status;
748
+ std::vector<std::string> vals;
749
+
750
+ for (size_t i = 0; i < num_keys; ++i) {
751
+ cf.emplace_back(column_families[i]);
752
+ user_keys.emplace_back(keys[i]);
753
+ }
754
+ status = MultiGet(options, cf, user_keys, &vals);
755
+ std::copy(status.begin(), status.end(), statuses);
756
+ for (auto& value : vals) {
757
+ values->PinSelf(value);
758
+ values++;
759
+ }
760
+ }
761
+ virtual void MultiGet(const ReadOptions& options, const size_t num_keys,
762
+ ColumnFamilyHandle** column_families, const Slice* keys,
763
+ PinnableSlice* values, std::string* timestamps,
764
+ Status* statuses, const bool /*sorted_input*/ = false) {
765
+ std::vector<ColumnFamilyHandle*> cf;
766
+ std::vector<Slice> user_keys;
767
+ std::vector<Status> status;
768
+ std::vector<std::string> vals;
769
+ std::vector<std::string> tss;
770
+
771
+ for (size_t i = 0; i < num_keys; ++i) {
772
+ cf.emplace_back(column_families[i]);
773
+ user_keys.emplace_back(keys[i]);
774
+ }
775
+ status = MultiGet(options, cf, user_keys, &vals, &tss);
776
+ std::copy(status.begin(), status.end(), statuses);
777
+ std::copy(tss.begin(), tss.end(), timestamps);
778
+ for (auto& value : vals) {
779
+ values->PinSelf(value);
780
+ values++;
781
+ }
782
+ }
783
+
784
+ // Batched MultiGet-like API that returns wide-column entities from a single
785
+ // column family. For any given "key[i]" in "keys" (where 0 <= "i" <
786
+ // "num_keys"), if the column family specified by "column_family" contains an
787
+ // entry, it is returned it as a wide-column entity in "results[i]". If the
788
+ // entry is a wide-column entity, it is returned as-is; if it is a plain
789
+ // key-value, it is returned as an entity with a single anonymous column (see
790
+ // kDefaultWideColumnName) which contains the value.
791
+ //
792
+ // "statuses[i]" is set to OK if "keys[i]" is successfully retrieved. It is
793
+ // set to NotFound and an empty wide-column entity is returned in "results[i]"
794
+ // if there is no entry for "keys[i]". Finally, "statuses[i]" is set to some
795
+ // other non-OK status on error.
796
+ //
797
+ // If "keys" are sorted according to the column family's comparator, the
798
+ // "sorted_input" flag can be set for a small performance improvement.
799
+ //
800
+ // Note that it is the caller's responsibility to ensure that "keys",
801
+ // "results", and "statuses" point to "num_keys" number of contiguous objects
802
+ // (Slices, PinnableWideColumns, and Statuses respectively).
803
+ virtual void MultiGetEntity(const ReadOptions& /* options */,
804
+ ColumnFamilyHandle* /* column_family */,
805
+ size_t num_keys, const Slice* /* keys */,
806
+ PinnableWideColumns* /* results */,
807
+ Status* statuses,
808
+ bool /* sorted_input */ = false) {
809
+ for (size_t i = 0; i < num_keys; ++i) {
810
+ statuses[i] = Status::NotSupported("MultiGetEntity not supported");
811
+ }
812
+ }
813
+
814
+ // Batched MultiGet-like API that returns wide-column entities potentially
815
+ // from multiple column families. For any given "key[i]" in "keys" (where 0 <=
816
+ // "i" < "num_keys"), if the column family specified by "column_families[i]"
817
+ // contains an entry, it is returned it as a wide-column entity in
818
+ // "results[i]". If the entry is a wide-column entity, it is returned as-is;
819
+ // if it is a plain key-value, it is returned as an entity with a single
820
+ // anonymous column (see kDefaultWideColumnName) which contains the value.
821
+ //
822
+ // "statuses[i]" is set to OK if "keys[i]" is successfully retrieved. It is
823
+ // set to NotFound and an empty wide-column entity is returned in "results[i]"
824
+ // if there is no entry for "keys[i]". Finally, "statuses[i]" is set to some
825
+ // other non-OK status on error.
826
+ //
827
+ // If "keys" are sorted by column family id and within each column family,
828
+ // according to the column family's comparator, the "sorted_input" flag can be
829
+ // set for a small performance improvement.
830
+ //
831
+ // Note that it is the caller's responsibility to ensure that
832
+ // "column_families", "keys", "results", and "statuses" point to "num_keys"
833
+ // number of contiguous objects (ColumnFamilyHandle pointers, Slices,
834
+ // PinnableWideColumns, and Statuses respectively).
835
+ virtual void MultiGetEntity(const ReadOptions& /* options */, size_t num_keys,
836
+ ColumnFamilyHandle** /* column_families */,
837
+ const Slice* /* keys */,
838
+ PinnableWideColumns* /* results */,
839
+ Status* statuses,
840
+ bool /* sorted_input */ = false) {
841
+ for (size_t i = 0; i < num_keys; ++i) {
842
+ statuses[i] = Status::NotSupported("MultiGetEntity not supported");
843
+ }
844
+ }
845
+
846
+ // If the key definitely does not exist in the database, then this method
847
+ // returns false, else true. If the caller wants to obtain value when the key
848
+ // is found in memory, a bool for 'value_found' must be passed. 'value_found'
849
+ // will be true on return if value has been set properly.
850
+ // This check is potentially lighter-weight than invoking DB::Get(). One way
851
+ // to make this lighter weight is to avoid doing any IOs.
852
+ // Default implementation here returns true and sets 'value_found' to false
853
+ virtual bool KeyMayExist(const ReadOptions& /*options*/,
854
+ ColumnFamilyHandle* /*column_family*/,
855
+ const Slice& /*key*/, std::string* /*value*/,
856
+ std::string* /*timestamp*/,
857
+ bool* value_found = nullptr) {
858
+ if (value_found != nullptr) {
859
+ *value_found = false;
860
+ }
861
+ return true;
862
+ }
863
+
864
+ virtual bool KeyMayExist(const ReadOptions& options,
865
+ ColumnFamilyHandle* column_family, const Slice& key,
866
+ std::string* value, bool* value_found = nullptr) {
867
+ return KeyMayExist(options, column_family, key, value,
868
+ /*timestamp=*/nullptr, value_found);
869
+ }
870
+
871
+ virtual bool KeyMayExist(const ReadOptions& options, const Slice& key,
872
+ std::string* value, bool* value_found = nullptr) {
873
+ return KeyMayExist(options, DefaultColumnFamily(), key, value, value_found);
874
+ }
875
+
876
+ virtual bool KeyMayExist(const ReadOptions& options, const Slice& key,
877
+ std::string* value, std::string* timestamp,
878
+ bool* value_found = nullptr) {
879
+ return KeyMayExist(options, DefaultColumnFamily(), key, value, timestamp,
880
+ value_found);
881
+ }
882
+
883
+ // Return a heap-allocated iterator over the contents of the database.
884
+ // The result of NewIterator() is initially invalid (caller must
885
+ // call one of the Seek methods on the iterator before using it).
886
+ //
887
+ // Caller should delete the iterator when it is no longer needed.
888
+ // The returned iterator should be deleted before this db is deleted.
889
+ virtual Iterator* NewIterator(const ReadOptions& options,
890
+ ColumnFamilyHandle* column_family) = 0;
891
+ virtual Iterator* NewIterator(const ReadOptions& options) {
892
+ return NewIterator(options, DefaultColumnFamily());
893
+ }
894
+ // Returns iterators from a consistent database state across multiple
895
+ // column families. Iterators are heap allocated and need to be deleted
896
+ // before the db is deleted
897
+ virtual Status NewIterators(
898
+ const ReadOptions& options,
899
+ const std::vector<ColumnFamilyHandle*>& column_families,
900
+ std::vector<Iterator*>* iterators) = 0;
901
+
902
+ // Return a handle to the current DB state. Iterators created with
903
+ // this handle will all observe a stable snapshot of the current DB
904
+ // state. The caller must call ReleaseSnapshot(result) when the
905
+ // snapshot is no longer needed.
906
+ //
907
+ // nullptr will be returned if the DB fails to take a snapshot or does
908
+ // not support snapshot (eg: inplace_update_support enabled).
909
+ virtual const Snapshot* GetSnapshot() = 0;
910
+
911
+ // Release a previously acquired snapshot. The caller must not
912
+ // use "snapshot" after this call.
913
+ virtual void ReleaseSnapshot(const Snapshot* snapshot) = 0;
914
+
915
+ // Contains all valid property arguments for GetProperty() or
916
+ // GetMapProperty(). Each is a "string" property for retrieval with
917
+ // GetProperty() unless noted as a "map" property, for GetMapProperty().
918
+ //
919
+ // NOTE: Property names cannot end in numbers since those are interpreted as
920
+ // arguments, e.g., see kNumFilesAtLevelPrefix.
921
+ struct Properties {
922
+ // "rocksdb.num-files-at-level<N>" - returns string containing the number
923
+ // of files at level <N>, where <N> is an ASCII representation of a
924
+ // level number (e.g., "0").
925
+ static const std::string kNumFilesAtLevelPrefix;
926
+
927
+ // "rocksdb.compression-ratio-at-level<N>" - returns string containing the
928
+ // compression ratio of data at level <N>, where <N> is an ASCII
929
+ // representation of a level number (e.g., "0"). Here, compression
930
+ // ratio is defined as uncompressed data size / compressed file size.
931
+ // Returns "-1.0" if no open files at level <N>.
932
+ static const std::string kCompressionRatioAtLevelPrefix;
933
+
934
+ // "rocksdb.stats" - returns a multi-line string containing the data
935
+ // described by kCFStats followed by the data described by kDBStats.
936
+ static const std::string kStats;
937
+
938
+ // "rocksdb.sstables" - returns a multi-line string summarizing current
939
+ // SST files.
940
+ static const std::string kSSTables;
941
+
942
+ // "rocksdb.cfstats" - Raw data from "rocksdb.cfstats-no-file-histogram"
943
+ // and "rocksdb.cf-file-histogram" as a "map" property.
944
+ static const std::string kCFStats;
945
+
946
+ // "rocksdb.cfstats-no-file-histogram" - returns a multi-line string with
947
+ // general column family stats per-level over db's lifetime ("L<n>"),
948
+ // aggregated over db's lifetime ("Sum"), and aggregated over the
949
+ // interval since the last retrieval ("Int").
950
+ static const std::string kCFStatsNoFileHistogram;
951
+
952
+ // "rocksdb.cf-file-histogram" - print out how many file reads to every
953
+ // level, as well as the histogram of latency of single requests.
954
+ static const std::string kCFFileHistogram;
955
+
956
+ // "rocksdb.cf-write-stall-stats" - returns a multi-line string or
957
+ // map with statistics on CF-scope write stalls for a given CF
958
+ // See`WriteStallStatsMapKeys` for structured representation of keys
959
+ // available in the map form.
960
+ static const std::string kCFWriteStallStats;
961
+
962
+ // "rocksdb.db-write-stall-stats" - returns a multi-line string or
963
+ // map with statistics on DB-scope write stalls
964
+ // See`WriteStallStatsMapKeys` for structured representation of keys
965
+ // available in the map form.
966
+ static const std::string kDBWriteStallStats;
967
+
968
+ // "rocksdb.dbstats" - As a string property, returns a multi-line string
969
+ // with general database stats, both cumulative (over the db's
970
+ // lifetime) and interval (since the last retrieval of kDBStats).
971
+ // As a map property, returns cumulative stats only and does not
972
+ // update the baseline for the interval stats.
973
+ static const std::string kDBStats;
974
+
975
+ // "rocksdb.levelstats" - returns multi-line string containing the number
976
+ // of files per level and total size of each level (MB).
977
+ static const std::string kLevelStats;
978
+
979
+ // "rocksdb.block-cache-entry-stats" - returns a multi-line string or
980
+ // map with statistics on block cache usage. See
981
+ // `BlockCacheEntryStatsMapKeys` for structured representation of keys
982
+ // available in the map form.
983
+ static const std::string kBlockCacheEntryStats;
984
+
985
+ // "rocksdb.fast-block-cache-entry-stats" - same as above, but returns
986
+ // stale values more frequently to reduce overhead and latency.
987
+ static const std::string kFastBlockCacheEntryStats;
988
+
989
+ // "rocksdb.num-immutable-mem-table" - returns number of immutable
990
+ // memtables that have not yet been flushed.
991
+ static const std::string kNumImmutableMemTable;
992
+
993
+ // "rocksdb.num-immutable-mem-table-flushed" - returns number of immutable
994
+ // memtables that have already been flushed.
995
+ static const std::string kNumImmutableMemTableFlushed;
996
+
997
+ // "rocksdb.mem-table-flush-pending" - returns 1 if a memtable flush is
998
+ // pending; otherwise, returns 0.
999
+ static const std::string kMemTableFlushPending;
1000
+
1001
+ // "rocksdb.num-running-flushes" - returns the number of currently running
1002
+ // flushes.
1003
+ static const std::string kNumRunningFlushes;
1004
+
1005
+ // "rocksdb.compaction-pending" - returns 1 if at least one compaction is
1006
+ // pending; otherwise, returns 0.
1007
+ static const std::string kCompactionPending;
1008
+
1009
+ // "rocksdb.num-running-compactions" - returns the number of currently
1010
+ // running compactions.
1011
+ static const std::string kNumRunningCompactions;
1012
+
1013
+ // "rocksdb.background-errors" - returns accumulated number of background
1014
+ // errors.
1015
+ static const std::string kBackgroundErrors;
1016
+
1017
+ // "rocksdb.cur-size-active-mem-table" - returns approximate size of active
1018
+ // memtable (bytes).
1019
+ static const std::string kCurSizeActiveMemTable;
1020
+
1021
+ // "rocksdb.cur-size-all-mem-tables" - returns approximate size of active
1022
+ // and unflushed immutable memtables (bytes).
1023
+ static const std::string kCurSizeAllMemTables;
1024
+
1025
+ // "rocksdb.size-all-mem-tables" - returns approximate size of active,
1026
+ // unflushed immutable, and pinned immutable memtables (bytes).
1027
+ static const std::string kSizeAllMemTables;
1028
+
1029
+ // "rocksdb.num-entries-active-mem-table" - returns total number of entries
1030
+ // in the active memtable.
1031
+ static const std::string kNumEntriesActiveMemTable;
1032
+
1033
+ // "rocksdb.num-entries-imm-mem-tables" - returns total number of entries
1034
+ // in the unflushed immutable memtables.
1035
+ static const std::string kNumEntriesImmMemTables;
1036
+
1037
+ // "rocksdb.num-deletes-active-mem-table" - returns total number of delete
1038
+ // entries in the active memtable.
1039
+ static const std::string kNumDeletesActiveMemTable;
1040
+
1041
+ // "rocksdb.num-deletes-imm-mem-tables" - returns total number of delete
1042
+ // entries in the unflushed immutable memtables.
1043
+ static const std::string kNumDeletesImmMemTables;
1044
+
1045
+ // "rocksdb.estimate-num-keys" - returns estimated number of total keys in
1046
+ // the active and unflushed immutable memtables and storage.
1047
+ static const std::string kEstimateNumKeys;
1048
+
1049
+ // "rocksdb.estimate-table-readers-mem" - returns estimated memory used for
1050
+ // reading SST tables, excluding memory used in block cache (e.g.,
1051
+ // filter and index blocks).
1052
+ static const std::string kEstimateTableReadersMem;
1053
+
1054
+ // "rocksdb.is-file-deletions-enabled" - returns 0 if deletion of obsolete
1055
+ // files is enabled; otherwise, returns a non-zero number.
1056
+ // This name may be misleading because true(non-zero) means disable,
1057
+ // but we keep the name for backward compatibility.
1058
+ static const std::string kIsFileDeletionsEnabled;
1059
+
1060
+ // "rocksdb.num-snapshots" - returns number of unreleased snapshots of the
1061
+ // database.
1062
+ static const std::string kNumSnapshots;
1063
+
1064
+ // "rocksdb.oldest-snapshot-time" - returns number representing unix
1065
+ // timestamp of oldest unreleased snapshot.
1066
+ static const std::string kOldestSnapshotTime;
1067
+
1068
+ // "rocksdb.oldest-snapshot-sequence" - returns number representing
1069
+ // sequence number of oldest unreleased snapshot.
1070
+ static const std::string kOldestSnapshotSequence;
1071
+
1072
+ // "rocksdb.num-live-versions" - returns number of live versions. `Version`
1073
+ // is an internal data structure. See version_set.h for details. More
1074
+ // live versions often mean more SST files are held from being deleted,
1075
+ // by iterators or unfinished compactions.
1076
+ static const std::string kNumLiveVersions;
1077
+
1078
+ // "rocksdb.current-super-version-number" - returns number of current LSM
1079
+ // version. It is a uint64_t integer number, incremented after there is
1080
+ // any change to the LSM tree. The number is not preserved after restarting
1081
+ // the DB. After DB restart, it will start from 0 again.
1082
+ static const std::string kCurrentSuperVersionNumber;
1083
+
1084
+ // "rocksdb.estimate-live-data-size" - returns an estimate of the amount of
1085
+ // live data in bytes. For BlobDB, it also includes the exact value of
1086
+ // live bytes in the blob files of the version.
1087
+ static const std::string kEstimateLiveDataSize;
1088
+
1089
+ // "rocksdb.min-log-number-to-keep" - return the minimum log number of the
1090
+ // log files that should be kept.
1091
+ static const std::string kMinLogNumberToKeep;
1092
+
1093
+ // "rocksdb.min-obsolete-sst-number-to-keep" - return the minimum file
1094
+ // number for an obsolete SST to be kept. The max value of `uint64_t`
1095
+ // will be returned if all obsolete files can be deleted.
1096
+ static const std::string kMinObsoleteSstNumberToKeep;
1097
+
1098
+ // "rocksdb.total-sst-files-size" - returns total size (bytes) of all SST
1099
+ // files.
1100
+ // WARNING: may slow down online queries if there are too many files.
1101
+ static const std::string kTotalSstFilesSize;
1102
+
1103
+ // "rocksdb.live-sst-files-size" - returns total size (bytes) of all SST
1104
+ // files belong to the latest LSM tree.
1105
+ static const std::string kLiveSstFilesSize;
1106
+
1107
+ // "rocksdb.live_sst_files_size_at_temperature" - returns total size (bytes)
1108
+ // of SST files at all certain file temperature
1109
+ static const std::string kLiveSstFilesSizeAtTemperature;
1110
+
1111
+ // "rocksdb.base-level" - returns number of level to which L0 data will be
1112
+ // compacted.
1113
+ static const std::string kBaseLevel;
1114
+
1115
+ // "rocksdb.estimate-pending-compaction-bytes" - returns estimated total
1116
+ // number of bytes compaction needs to rewrite to get all levels down
1117
+ // to under target size. Not valid for other compactions than level-
1118
+ // based.
1119
+ static const std::string kEstimatePendingCompactionBytes;
1120
+
1121
+ // "rocksdb.aggregated-table-properties" - returns a string or map
1122
+ // representation of the aggregated table properties of the target
1123
+ // column family. Only properties that make sense for aggregation
1124
+ // are included.
1125
+ static const std::string kAggregatedTableProperties;
1126
+
1127
+ // "rocksdb.aggregated-table-properties-at-level<N>", same as the previous
1128
+ // one but only returns the aggregated table properties of the
1129
+ // specified level "N" at the target column family.
1130
+ static const std::string kAggregatedTablePropertiesAtLevel;
1131
+
1132
+ // "rocksdb.actual-delayed-write-rate" - returns the current actual delayed
1133
+ // write rate. 0 means no delay.
1134
+ static const std::string kActualDelayedWriteRate;
1135
+
1136
+ // "rocksdb.is-write-stopped" - Return 1 if write has been stopped.
1137
+ static const std::string kIsWriteStopped;
1138
+
1139
+ // "rocksdb.estimate-oldest-key-time" - returns an estimation of
1140
+ // oldest key timestamp in the DB. Currently only available for
1141
+ // FIFO compaction with
1142
+ // compaction_options_fifo.allow_compaction = false.
1143
+ static const std::string kEstimateOldestKeyTime;
1144
+
1145
+ // "rocksdb.block-cache-capacity" - returns block cache capacity.
1146
+ static const std::string kBlockCacheCapacity;
1147
+
1148
+ // "rocksdb.block-cache-usage" - returns the memory size for the entries
1149
+ // residing in block cache.
1150
+ static const std::string kBlockCacheUsage;
1151
+
1152
+ // "rocksdb.block-cache-pinned-usage" - returns the memory size for the
1153
+ // entries being pinned.
1154
+ static const std::string kBlockCachePinnedUsage;
1155
+
1156
+ // "rocksdb.options-statistics" - returns multi-line string
1157
+ // of options.statistics
1158
+ static const std::string kOptionsStatistics;
1159
+
1160
+ // "rocksdb.num-blob-files" - returns number of blob files in the current
1161
+ // version.
1162
+ static const std::string kNumBlobFiles;
1163
+
1164
+ // "rocksdb.blob-stats" - return the total number and size of all blob
1165
+ // files, and total amount of garbage (bytes) in the blob files in
1166
+ // the current version.
1167
+ static const std::string kBlobStats;
1168
+
1169
+ // "rocksdb.total-blob-file-size" - returns the total size of all blob
1170
+ // files over all versions.
1171
+ static const std::string kTotalBlobFileSize;
1172
+
1173
+ // "rocksdb.live-blob-file-size" - returns the total size of all blob
1174
+ // files in the current version.
1175
+ static const std::string kLiveBlobFileSize;
1176
+
1177
+ // "rocksdb.live-blob-file-garbage-size" - returns the total amount of
1178
+ // garbage in the blob files in the current version.
1179
+ static const std::string kLiveBlobFileGarbageSize;
1180
+
1181
+ // "rocksdb.blob-cache-capacity" - returns blob cache capacity.
1182
+ static const std::string kBlobCacheCapacity;
1183
+
1184
+ // "rocksdb.blob-cache-usage" - returns the memory size for the entries
1185
+ // residing in blob cache.
1186
+ static const std::string kBlobCacheUsage;
1187
+
1188
+ // "rocksdb.blob-cache-pinned-usage" - returns the memory size for the
1189
+ // entries being pinned in blob cache.
1190
+ static const std::string kBlobCachePinnedUsage;
1191
+ };
1192
+
1193
+ // DB implementations export properties about their state via this method.
1194
+ // If "property" is a valid "string" property understood by this DB
1195
+ // implementation (see Properties struct above for valid options), fills
1196
+ // "*value" with its current value and returns true. Otherwise, returns
1197
+ // false.
1198
+ virtual bool GetProperty(ColumnFamilyHandle* column_family,
1199
+ const Slice& property, std::string* value) = 0;
1200
+ virtual bool GetProperty(const Slice& property, std::string* value) {
1201
+ return GetProperty(DefaultColumnFamily(), property, value);
1202
+ }
1203
+
1204
+ // Like GetProperty but for valid "map" properties. (Some properties can be
1205
+ // accessed as either "string" properties or "map" properties.)
1206
+ virtual bool GetMapProperty(ColumnFamilyHandle* column_family,
1207
+ const Slice& property,
1208
+ std::map<std::string, std::string>* value) = 0;
1209
+ virtual bool GetMapProperty(const Slice& property,
1210
+ std::map<std::string, std::string>* value) {
1211
+ return GetMapProperty(DefaultColumnFamily(), property, value);
1212
+ }
1213
+
1214
+ // Similar to GetProperty(), but only works for a subset of properties whose
1215
+ // return value is an integer. Return the value by integer. Supported
1216
+ // properties:
1217
+ // "rocksdb.num-immutable-mem-table"
1218
+ // "rocksdb.mem-table-flush-pending"
1219
+ // "rocksdb.compaction-pending"
1220
+ // "rocksdb.background-errors"
1221
+ // "rocksdb.cur-size-active-mem-table"
1222
+ // "rocksdb.cur-size-all-mem-tables"
1223
+ // "rocksdb.size-all-mem-tables"
1224
+ // "rocksdb.num-entries-active-mem-table"
1225
+ // "rocksdb.num-entries-imm-mem-tables"
1226
+ // "rocksdb.num-deletes-active-mem-table"
1227
+ // "rocksdb.num-deletes-imm-mem-tables"
1228
+ // "rocksdb.estimate-num-keys"
1229
+ // "rocksdb.estimate-table-readers-mem"
1230
+ // "rocksdb.is-file-deletions-enabled"
1231
+ // "rocksdb.num-snapshots"
1232
+ // "rocksdb.oldest-snapshot-time"
1233
+ // "rocksdb.num-live-versions"
1234
+ // "rocksdb.current-super-version-number"
1235
+ // "rocksdb.estimate-live-data-size"
1236
+ // "rocksdb.min-log-number-to-keep"
1237
+ // "rocksdb.min-obsolete-sst-number-to-keep"
1238
+ // "rocksdb.total-sst-files-size"
1239
+ // "rocksdb.live-sst-files-size"
1240
+ // "rocksdb.base-level"
1241
+ // "rocksdb.estimate-pending-compaction-bytes"
1242
+ // "rocksdb.num-running-compactions"
1243
+ // "rocksdb.num-running-flushes"
1244
+ // "rocksdb.actual-delayed-write-rate"
1245
+ // "rocksdb.is-write-stopped"
1246
+ // "rocksdb.estimate-oldest-key-time"
1247
+ // "rocksdb.block-cache-capacity"
1248
+ // "rocksdb.block-cache-usage"
1249
+ // "rocksdb.block-cache-pinned-usage"
1250
+ //
1251
+ // Properties dedicated for BlobDB:
1252
+ // "rocksdb.num-blob-files"
1253
+ // "rocksdb.total-blob-file-size"
1254
+ // "rocksdb.live-blob-file-size"
1255
+ // "rocksdb.blob-cache-capacity"
1256
+ // "rocksdb.blob-cache-usage"
1257
+ // "rocksdb.blob-cache-pinned-usage"
1258
+ virtual bool GetIntProperty(ColumnFamilyHandle* column_family,
1259
+ const Slice& property, uint64_t* value) = 0;
1260
+ virtual bool GetIntProperty(const Slice& property, uint64_t* value) {
1261
+ return GetIntProperty(DefaultColumnFamily(), property, value);
1262
+ }
1263
+
1264
+ // Reset internal stats for DB and all column families.
1265
+ // Note this doesn't reset options.statistics as it is not owned by
1266
+ // DB.
1267
+ virtual Status ResetStats() {
1268
+ return Status::NotSupported("Not implemented");
1269
+ }
1270
+
1271
+ // Same as GetIntProperty(), but this one returns the aggregated int
1272
+ // property from all column families.
1273
+ virtual bool GetAggregatedIntProperty(const Slice& property,
1274
+ uint64_t* value) = 0;
1275
+
1276
+ // Flags for DB::GetSizeApproximation that specify whether memtable
1277
+ // stats should be included, or file stats approximation or both
1278
+ enum class SizeApproximationFlags : uint8_t {
1279
+ NONE = 0,
1280
+ INCLUDE_MEMTABLES = 1 << 0,
1281
+ INCLUDE_FILES = 1 << 1
1282
+ };
1283
+
1284
+ // For each i in [0,n-1], store in "sizes[i]", the approximate
1285
+ // file system space used by keys in "[range[i].start .. range[i].limit)"
1286
+ // in a single column family.
1287
+ //
1288
+ // Note that the returned sizes measure file system space usage, so
1289
+ // if the user data compresses by a factor of ten, the returned
1290
+ // sizes will be one-tenth the size of the corresponding user data size.
1291
+ virtual Status GetApproximateSizes(const SizeApproximationOptions& options,
1292
+ ColumnFamilyHandle* column_family,
1293
+ const Range* ranges, int n,
1294
+ uint64_t* sizes) = 0;
1295
+
1296
+ // Simpler versions of the GetApproximateSizes() method above.
1297
+ // The include_flags argument must of type DB::SizeApproximationFlags
1298
+ // and can not be NONE.
1299
+ virtual Status GetApproximateSizes(ColumnFamilyHandle* column_family,
1300
+ const Range* ranges, int n,
1301
+ uint64_t* sizes,
1302
+ SizeApproximationFlags include_flags =
1303
+ SizeApproximationFlags::INCLUDE_FILES);
1304
+
1305
+ virtual Status GetApproximateSizes(
1306
+ const Range* ranges, int n, uint64_t* sizes,
1307
+ SizeApproximationFlags include_flags =
1308
+ SizeApproximationFlags::INCLUDE_FILES) {
1309
+ return GetApproximateSizes(DefaultColumnFamily(), ranges, n, sizes,
1310
+ include_flags);
1311
+ }
1312
+
1313
+ // The method is similar to GetApproximateSizes, except it
1314
+ // returns approximate number of records in memtables.
1315
+ virtual void GetApproximateMemTableStats(ColumnFamilyHandle* column_family,
1316
+ const Range& range,
1317
+ uint64_t* const count,
1318
+ uint64_t* const size) = 0;
1319
+ virtual void GetApproximateMemTableStats(const Range& range,
1320
+ uint64_t* const count,
1321
+ uint64_t* const size) {
1322
+ GetApproximateMemTableStats(DefaultColumnFamily(), range, count, size);
1323
+ }
1324
+
1325
+ // Compact the underlying storage for the key range [*begin,*end].
1326
+ // The actual compaction interval might be superset of [*begin, *end].
1327
+ // In particular, deleted and overwritten versions are discarded,
1328
+ // and the data is rearranged to reduce the cost of operations
1329
+ // needed to access the data. This operation should typically only
1330
+ // be invoked by users who understand the underlying implementation.
1331
+ // This call blocks until the operation completes successfully, fails,
1332
+ // or is aborted (Status::Incomplete). See DisableManualCompaction.
1333
+ //
1334
+ // begin==nullptr is treated as a key before all keys in the database.
1335
+ // end==nullptr is treated as a key after all keys in the database.
1336
+ // Therefore the following call will compact the entire database:
1337
+ // db->CompactRange(options, nullptr, nullptr);
1338
+ // Note that after the entire database is compacted, all data are pushed
1339
+ // down to the last level containing any data. If the total data size after
1340
+ // compaction is reduced, that level might not be appropriate for hosting all
1341
+ // the files. In this case, client could set options.change_level to true, to
1342
+ // move the files back to the minimum level capable of holding the data set
1343
+ // or a given level (specified by non-negative options.target_level).
1344
+ virtual Status CompactRange(const CompactRangeOptions& options,
1345
+ ColumnFamilyHandle* column_family,
1346
+ const Slice* begin, const Slice* end) = 0;
1347
+ virtual Status CompactRange(const CompactRangeOptions& options,
1348
+ const Slice* begin, const Slice* end) {
1349
+ return CompactRange(options, DefaultColumnFamily(), begin, end);
1350
+ }
1351
+
1352
+ // Dynamically change column family options or table factory options in a
1353
+ // running DB, for the specified column family. Only options internally
1354
+ // marked as "mutable" can be changed. Options not listed in `opts_map` will
1355
+ // keep their current values. See GetColumnFamilyOptionsFromMap() in
1356
+ // convenience.h for the details of `opts_map`. Not supported in LITE mode.
1357
+ //
1358
+ // USABILITY NOTE: SetOptions is intended only for expert users, and does
1359
+ // not apply the same sanitization to options as the standard DB::Open code
1360
+ // path does. Use with caution.
1361
+ //
1362
+ // RELIABILITY & PERFORMANCE NOTE: SetOptions is not fully stress-tested for
1363
+ // reliability, and this is a slow call because a new OPTIONS file is
1364
+ // serialized and persisted for each call. Use only infrequently.
1365
+ //
1366
+ // EXAMPLES:
1367
+ // s = db->SetOptions(cfh, {{"ttl", "36000"}});
1368
+ // s = db->SetOptions(cfh, {{"block_based_table_factory",
1369
+ // "{prepopulate_block_cache=kDisable;}"}});
1370
+ virtual Status SetOptions(
1371
+ ColumnFamilyHandle* /*column_family*/,
1372
+ const std::unordered_map<std::string, std::string>& /*opts_map*/) {
1373
+ return Status::NotSupported("Not implemented");
1374
+ }
1375
+ // Shortcut for SetOptions on the default column family handle.
1376
+ virtual Status SetOptions(
1377
+ const std::unordered_map<std::string, std::string>& new_options) {
1378
+ return SetOptions(DefaultColumnFamily(), new_options);
1379
+ }
1380
+
1381
+ // Like SetOptions but for DBOptions, including the same caveats for
1382
+ // usability, reliability, and performance. See GetDBOptionsFromMap() (and
1383
+ // GetColumnFamilyOptionsFromMap()) in convenience.h for details on
1384
+ // `opts_map`. Note supported in LITE mode.
1385
+ //
1386
+ // EXAMPLES:
1387
+ // s = db->SetDBOptions({{"max_subcompactions", "2"}});
1388
+ // s = db->SetDBOptions({{"stats_dump_period_sec", "0"},
1389
+ // {"stats_persist_period_sec", "0"}});
1390
+ virtual Status SetDBOptions(
1391
+ const std::unordered_map<std::string, std::string>& new_options) = 0;
1392
+
1393
+ // CompactFiles() inputs a list of files specified by file numbers and
1394
+ // compacts them to the specified level. A small difference compared to
1395
+ // CompactRange() is that CompactFiles() performs the compaction job
1396
+ // using the CURRENT thread, so is not considered a "background" job.
1397
+ //
1398
+ // @see GetDataBaseMetaData
1399
+ // @see GetColumnFamilyMetaData
1400
+ virtual Status CompactFiles(
1401
+ const CompactionOptions& compact_options,
1402
+ ColumnFamilyHandle* column_family,
1403
+ const std::vector<std::string>& input_file_names, const int output_level,
1404
+ const int output_path_id = -1,
1405
+ std::vector<std::string>* const output_file_names = nullptr,
1406
+ CompactionJobInfo* compaction_job_info = nullptr) = 0;
1407
+
1408
+ virtual Status CompactFiles(
1409
+ const CompactionOptions& compact_options,
1410
+ const std::vector<std::string>& input_file_names, const int output_level,
1411
+ const int output_path_id = -1,
1412
+ std::vector<std::string>* const output_file_names = nullptr,
1413
+ CompactionJobInfo* compaction_job_info = nullptr) {
1414
+ return CompactFiles(compact_options, DefaultColumnFamily(),
1415
+ input_file_names, output_level, output_path_id,
1416
+ output_file_names, compaction_job_info);
1417
+ }
1418
+
1419
+ // This function will wait until all currently running background processes
1420
+ // finish. After it returns, no background process will be run until
1421
+ // ContinueBackgroundWork is called, once for each preceding OK-returning
1422
+ // call to PauseBackgroundWork.
1423
+ virtual Status PauseBackgroundWork() = 0;
1424
+ virtual Status ContinueBackgroundWork() = 0;
1425
+
1426
+ // This function will enable automatic compactions for the given column
1427
+ // families if they were previously disabled. The function will first set the
1428
+ // disable_auto_compactions option for each column family to 'false', after
1429
+ // which it will schedule a flush/compaction.
1430
+ //
1431
+ // NOTE: Setting disable_auto_compactions to 'false' through SetOptions() API
1432
+ // does NOT schedule a flush/compaction afterwards, and only changes the
1433
+ // parameter itself within the column family option.
1434
+ //
1435
+ virtual Status EnableAutoCompaction(
1436
+ const std::vector<ColumnFamilyHandle*>& column_family_handles) = 0;
1437
+
1438
+ // After this function call, CompactRange() or CompactFiles() will not
1439
+ // run compactions and fail. Calling this function will tell outstanding
1440
+ // manual compactions to abort and will wait for them to finish or abort
1441
+ // before returning.
1442
+ virtual void DisableManualCompaction() = 0;
1443
+ // Re-enable CompactRange() and ComapctFiles() that are disabled by
1444
+ // DisableManualCompaction(). This function must be called as many times
1445
+ // as DisableManualCompaction() has been called in order to re-enable
1446
+ // manual compactions, and must not be called more times than
1447
+ // DisableManualCompaction() has been called.
1448
+ virtual void EnableManualCompaction() = 0;
1449
+
1450
+ // Number of levels used for this DB.
1451
+ virtual int NumberLevels(ColumnFamilyHandle* column_family) = 0;
1452
+ virtual int NumberLevels() { return NumberLevels(DefaultColumnFamily()); }
1453
+
1454
+ // Maximum level to which a new compacted memtable is pushed if it
1455
+ // does not create overlap.
1456
+ virtual int MaxMemCompactionLevel(ColumnFamilyHandle* column_family) = 0;
1457
+ virtual int MaxMemCompactionLevel() {
1458
+ return MaxMemCompactionLevel(DefaultColumnFamily());
1459
+ }
1460
+
1461
+ // Number of files in level-0 that would stop writes.
1462
+ virtual int Level0StopWriteTrigger(ColumnFamilyHandle* column_family) = 0;
1463
+ virtual int Level0StopWriteTrigger() {
1464
+ return Level0StopWriteTrigger(DefaultColumnFamily());
1465
+ }
1466
+
1467
+ // Get DB name -- the exact same name that was provided as an argument to
1468
+ // DB::Open()
1469
+ virtual const std::string& GetName() const = 0;
1470
+
1471
+ // Get Env object from the DB
1472
+ virtual Env* GetEnv() const = 0;
1473
+
1474
+ // A shortcut for GetEnv()->->GetFileSystem().get(), possibly cached for
1475
+ // efficiency.
1476
+ virtual FileSystem* GetFileSystem() const;
1477
+
1478
+ // Get DB Options that we use. During the process of opening the
1479
+ // column family, the options provided when calling DB::Open() or
1480
+ // DB::CreateColumnFamily() will have been "sanitized" and transformed
1481
+ // in an implementation-defined manner.
1482
+ virtual Options GetOptions(ColumnFamilyHandle* column_family) const = 0;
1483
+ virtual Options GetOptions() const {
1484
+ return GetOptions(DefaultColumnFamily());
1485
+ }
1486
+
1487
+ virtual DBOptions GetDBOptions() const = 0;
1488
+
1489
+ // Flush all memtable data.
1490
+ // Flush a single column family, even when atomic flush is enabled. To flush
1491
+ // multiple column families, use Flush(options, column_families).
1492
+ virtual Status Flush(const FlushOptions& options,
1493
+ ColumnFamilyHandle* column_family) = 0;
1494
+ virtual Status Flush(const FlushOptions& options) {
1495
+ return Flush(options, DefaultColumnFamily());
1496
+ }
1497
+ // Flushes memtables of multiple column families.
1498
+ // If atomic flush is not enabled, Flush(options, column_families) is
1499
+ // equivalent to calling Flush(options, column_family) multiple times.
1500
+ // If atomic flush is enabled, Flush(options, column_families) will flush all
1501
+ // column families specified in 'column_families' up to the latest sequence
1502
+ // number at the time when flush is requested.
1503
+ // Note that RocksDB 5.15 and earlier may not be able to open later versions
1504
+ // with atomic flush enabled.
1505
+ virtual Status Flush(
1506
+ const FlushOptions& options,
1507
+ const std::vector<ColumnFamilyHandle*>& column_families) = 0;
1508
+
1509
+ // When using the manual_wal_flush option, flushes RocksDB internal buffers
1510
+ // of WAL data to the file, so that the data can survive process crash or be
1511
+ // included in a Checkpoint or Backup. Without manual_wal_flush, there is no
1512
+ // such internal buffer. If sync is true, it calls SyncWAL() afterwards.
1513
+ virtual Status FlushWAL(bool /*sync*/) {
1514
+ return Status::NotSupported("FlushWAL not implemented");
1515
+ }
1516
+
1517
+ // Ensure all WAL writes have been synced to storage, so that (assuming OS
1518
+ // and hardware support) data will survive power loss. This function does
1519
+ // not imply FlushWAL, so `FlushWAL(true)` is recommended if using
1520
+ // manual_wal_flush=true. Currently only works if allow_mmap_writes = false
1521
+ // in Options.
1522
+ //
1523
+ // Note that Write() followed by SyncWAL() is not exactly the same as Write()
1524
+ // with sync=true: in the latter case the changes won't be visible until the
1525
+ // sync is done.
1526
+ virtual Status SyncWAL() = 0;
1527
+
1528
+ // Freezes the logical state of the DB (by stopping writes), and if WAL is
1529
+ // enabled, ensures that state has been flushed to DB files (as in
1530
+ // FlushWAL()). This can be used for taking a Checkpoint at a known DB
1531
+ // state, though the user must use options to insure no DB flush is invoked
1532
+ // in this frozen state. Other operations allowed on a "read only" DB should
1533
+ // work while frozen. Each LockWAL() call that returns OK must eventually be
1534
+ // followed by a corresponding call to UnlockWAL(). Where supported, non-OK
1535
+ // status is generally only possible with some kind of corruption or I/O
1536
+ // error.
1537
+ virtual Status LockWAL() {
1538
+ return Status::NotSupported("LockWAL not implemented");
1539
+ }
1540
+
1541
+ // Unfreeze the DB state from a successful LockWAL().
1542
+ // The write stop on the database will be cleared when UnlockWAL() have been
1543
+ // called for each successful LockWAL().
1544
+ virtual Status UnlockWAL() {
1545
+ return Status::NotSupported("UnlockWAL not implemented");
1546
+ }
1547
+
1548
+ // The sequence number of the most recent transaction.
1549
+ virtual SequenceNumber GetLatestSequenceNumber() const = 0;
1550
+
1551
+ // Prevent file deletions. Compactions will continue to occur,
1552
+ // but no obsolete files will be deleted. Calling this multiple
1553
+ // times have the same effect as calling it once.
1554
+ virtual Status DisableFileDeletions() = 0;
1555
+
1556
+ // Increase the full_history_ts of column family. The new ts_low value should
1557
+ // be newer than current full_history_ts value.
1558
+ // If another thread updates full_history_ts_low concurrently to a higher
1559
+ // timestamp than the requested ts_low, a try again error will be returned.
1560
+ virtual Status IncreaseFullHistoryTsLow(ColumnFamilyHandle* column_family,
1561
+ std::string ts_low) = 0;
1562
+
1563
+ // Get current full_history_ts value.
1564
+ virtual Status GetFullHistoryTsLow(ColumnFamilyHandle* column_family,
1565
+ std::string* ts_low) = 0;
1566
+
1567
+ // Allow compactions to delete obsolete files.
1568
+ // If force == true, the call to EnableFileDeletions() will guarantee that
1569
+ // file deletions are enabled after the call, even if DisableFileDeletions()
1570
+ // was called multiple times before.
1571
+ // If force == false, EnableFileDeletions will only enable file deletion
1572
+ // after it's been called at least as many times as DisableFileDeletions(),
1573
+ // enabling the two methods to be called by two threads concurrently without
1574
+ // synchronization -- i.e., file deletions will be enabled only after both
1575
+ // threads call EnableFileDeletions()
1576
+ virtual Status EnableFileDeletions(bool force = true) = 0;
1577
+
1578
+ // Retrieves the creation time of the oldest file in the DB.
1579
+ // This API only works if max_open_files = -1, if it is not then
1580
+ // Status returned is Status::NotSupported()
1581
+ // The file creation time is set using the env provided to the DB.
1582
+ // If the DB was created from a very old release then its possible that
1583
+ // the SST files might not have file_creation_time property and even after
1584
+ // moving to a newer release its possible that some files never got compacted
1585
+ // and may not have file_creation_time property. In both the cases
1586
+ // file_creation_time is considered 0 which means this API will return
1587
+ // creation_time = 0 as there wouldn't be a timestamp lower than 0.
1588
+ virtual Status GetCreationTimeOfOldestFile(uint64_t* creation_time) = 0;
1589
+
1590
+ // Note: this API is not yet consistent with WritePrepared transactions.
1591
+ //
1592
+ // Sets iter to an iterator that is positioned at a write-batch whose
1593
+ // sequence number range [start_seq, end_seq] covers seq_number. If no such
1594
+ // write-batch exists, then iter is positioned at the next write-batch whose
1595
+ // start_seq > seq_number.
1596
+ //
1597
+ // Returns Status::OK if iterator is valid
1598
+ // Must set WAL_ttl_seconds or WAL_size_limit_MB to large values to
1599
+ // use this api, else the WAL files will get
1600
+ // cleared aggressively and the iterator might keep getting invalid before
1601
+ // an update is read.
1602
+ virtual Status GetUpdatesSince(
1603
+ SequenceNumber seq_number, std::unique_ptr<TransactionLogIterator>* iter,
1604
+ const TransactionLogIterator::ReadOptions& read_options =
1605
+ TransactionLogIterator::ReadOptions()) = 0;
1606
+
1607
+ // Windows API macro interference
1608
+ #undef DeleteFile
1609
+ // WARNING: This API is planned for removal in RocksDB 7.0 since it does not
1610
+ // operate at the proper level of abstraction for a key-value store, and its
1611
+ // contract/restrictions are poorly documented. For example, it returns non-OK
1612
+ // `Status` for non-bottommost files and files undergoing compaction. Since we
1613
+ // do not plan to maintain it, the contract will likely remain underspecified
1614
+ // until its removal. Any user is encouraged to read the implementation
1615
+ // carefully and migrate away from it when possible.
1616
+ //
1617
+ // Delete the file name from the db directory and update the internal state to
1618
+ // reflect that. Supports deletion of sst and log files only. 'name' must be
1619
+ // path relative to the db directory. eg. 000001.sst, /archive/000003.log
1620
+ virtual Status DeleteFile(std::string name) = 0;
1621
+
1622
+ // Obtains a list of all live table (SST) files and how they fit into the
1623
+ // LSM-trees, such as column family, level, key range, etc.
1624
+ // This builds a de-normalized form of GetAllColumnFamilyMetaData().
1625
+ // For information about all files in a DB, use GetLiveFilesStorageInfo().
1626
+ virtual void GetLiveFilesMetaData(
1627
+ std::vector<LiveFileMetaData>* /*metadata*/) {}
1628
+
1629
+ // Return a list of all table (SST) and blob files checksum info.
1630
+ // Note: This function might be of limited use because it cannot be
1631
+ // synchronized with other "live files" APIs. GetLiveFilesStorageInfo()
1632
+ // is recommended instead.
1633
+ virtual Status GetLiveFilesChecksumInfo(FileChecksumList* checksum_list) = 0;
1634
+
1635
+ // Get information about all live files that make up a DB, for making
1636
+ // live copies (Checkpoint, backups, etc.) or other storage-related purposes.
1637
+ // If creating a live copy, use DisableFileDeletions() before and
1638
+ // EnableFileDeletions() after to prevent deletions.
1639
+ // For LSM-tree metadata, use Get*MetaData() functions instead.
1640
+ virtual Status GetLiveFilesStorageInfo(
1641
+ const LiveFilesStorageInfoOptions& opts,
1642
+ std::vector<LiveFileStorageInfo>* files) = 0;
1643
+
1644
+ // Obtains the LSM-tree meta data of the specified column family of the DB,
1645
+ // including metadata for each live table (SST) file in that column family.
1646
+ virtual void GetColumnFamilyMetaData(ColumnFamilyHandle* /*column_family*/,
1647
+ ColumnFamilyMetaData* /*metadata*/) {}
1648
+
1649
+ // Get the metadata of the default column family.
1650
+ void GetColumnFamilyMetaData(ColumnFamilyMetaData* metadata) {
1651
+ GetColumnFamilyMetaData(DefaultColumnFamily(), metadata);
1652
+ }
1653
+
1654
+ // Obtains the LSM-tree meta data of all column families of the DB, including
1655
+ // metadata for each live table (SST) file and each blob file in the DB.
1656
+ virtual void GetAllColumnFamilyMetaData(
1657
+ std::vector<ColumnFamilyMetaData>* /*metadata*/) {}
1658
+
1659
+ // Retrieve the list of all files in the database except WAL files. The files
1660
+ // are relative to the dbname (or db_paths/cf_paths), not absolute paths.
1661
+ // (Not recommended with db_paths/cf_paths because that information is not
1662
+ // returned.) Despite being relative paths, the file names begin with "/".
1663
+ // The valid size of the manifest file is returned in manifest_file_size.
1664
+ // The manifest file is an ever growing file, but only the portion specified
1665
+ // by manifest_file_size is valid for this snapshot. Setting flush_memtable
1666
+ // to true does Flush before recording the live files (unless DB is
1667
+ // read-only). Setting flush_memtable to false is useful when we don't want
1668
+ // to wait for flush which may have to wait for compaction to complete
1669
+ // taking an indeterminate time.
1670
+ //
1671
+ // NOTE: Although GetLiveFiles() followed by GetSortedWalFiles() can generate
1672
+ // a lossless backup, GetLiveFilesStorageInfo() is strongly recommended
1673
+ // instead, because it ensures a single consistent view of all files is
1674
+ // captured in one call.
1675
+ virtual Status GetLiveFiles(std::vector<std::string>&,
1676
+ uint64_t* manifest_file_size,
1677
+ bool flush_memtable = true) = 0;
1678
+
1679
+ // Retrieve the sorted list of all wal files with earliest file first
1680
+ virtual Status GetSortedWalFiles(VectorLogPtr& files) = 0;
1681
+
1682
+ // Retrieve information about the current wal file
1683
+ //
1684
+ // Note that the log might have rolled after this call in which case
1685
+ // the current_log_file would not point to the current log file.
1686
+ //
1687
+ // Additionally, for the sake of optimization current_log_file->StartSequence
1688
+ // would always be set to 0
1689
+ virtual Status GetCurrentWalFile(
1690
+ std::unique_ptr<LogFile>* current_log_file) = 0;
1691
+
1692
+ // IngestExternalFile() will load a list of external SST files (1) into the DB
1693
+ // Two primary modes are supported:
1694
+ // - Duplicate keys in the new files will overwrite exiting keys (default)
1695
+ // - Duplicate keys will be skipped (set ingest_behind=true)
1696
+ // In the first mode we will try to find the lowest possible level that
1697
+ // the file can fit in, and ingest the file into this level (2). A file that
1698
+ // have a key range that overlap with the memtable key range will require us
1699
+ // to Flush the memtable first before ingesting the file.
1700
+ // In the second mode we will always ingest in the bottom most level (see
1701
+ // docs to IngestExternalFileOptions::ingest_behind).
1702
+ //
1703
+ // (1) External SST files can be created using SstFileWriter
1704
+ // (2) We will try to ingest the files to the lowest possible level
1705
+ // even if the file compression doesn't match the level compression
1706
+ // (3) If IngestExternalFileOptions->ingest_behind is set to true,
1707
+ // we always ingest at the bottommost level, which should be reserved
1708
+ // for this purpose (see DBOPtions::allow_ingest_behind flag).
1709
+ // (4) If IngestExternalFileOptions->fail_if_not_bottommost_level is set to
1710
+ // true, then this method can return Status:TryAgain() indicating that
1711
+ // the files cannot be ingested to the bottommost level, and it is the
1712
+ // user's responsibility to clear the bottommost level in the overlapping
1713
+ // range before re-attempting the ingestion.
1714
+ virtual Status IngestExternalFile(
1715
+ ColumnFamilyHandle* column_family,
1716
+ const std::vector<std::string>& external_files,
1717
+ const IngestExternalFileOptions& options) = 0;
1718
+
1719
+ virtual Status IngestExternalFile(
1720
+ const std::vector<std::string>& external_files,
1721
+ const IngestExternalFileOptions& options) {
1722
+ return IngestExternalFile(DefaultColumnFamily(), external_files, options);
1723
+ }
1724
+
1725
+ // IngestExternalFiles() will ingest files for multiple column families, and
1726
+ // record the result atomically to the MANIFEST.
1727
+ // If this function returns OK, all column families' ingestion must succeed.
1728
+ // If this function returns NOK, or the process crashes, then non-of the
1729
+ // files will be ingested into the database after recovery.
1730
+ // Note that it is possible for application to observe a mixed state during
1731
+ // the execution of this function. If the user performs range scan over the
1732
+ // column families with iterators, iterator on one column family may return
1733
+ // ingested data, while iterator on other column family returns old data.
1734
+ // Users can use snapshot for a consistent view of data.
1735
+ // If your db ingests multiple SST files using this API, i.e. args.size()
1736
+ // > 1, then RocksDB 5.15 and earlier will not be able to open it.
1737
+ //
1738
+ // REQUIRES: each arg corresponds to a different column family: namely, for
1739
+ // 0 <= i < j < len(args), args[i].column_family != args[j].column_family.
1740
+ virtual Status IngestExternalFiles(
1741
+ const std::vector<IngestExternalFileArg>& args) = 0;
1742
+
1743
+ // CreateColumnFamilyWithImport() will create a new column family with
1744
+ // column_family_name and import external SST files specified in `metadata`
1745
+ // into this column family.
1746
+ // (1) External SST files can be created using SstFileWriter.
1747
+ // (2) External SST files can be exported from a particular column family in
1748
+ // an existing DB using Checkpoint::ExportColumnFamily. `metadata` should
1749
+ // be the output from Checkpoint::ExportColumnFamily.
1750
+ // Option in import_options specifies whether the external files are copied or
1751
+ // moved (default is copy). When option specifies copy, managing files at
1752
+ // external_file_path is caller's responsibility. When option specifies a
1753
+ // move, the call makes a best effort to delete the specified files at
1754
+ // external_file_path on successful return, logging any failure to delete
1755
+ // rather than returning in Status. Files are not modified on any error
1756
+ // return, and a best effort is made to remove any newly-created files.
1757
+ // On error return, column family handle returned will be nullptr.
1758
+ // ColumnFamily will be present on successful return and will not be present
1759
+ // on error return. ColumnFamily may be present on any crash during this call.
1760
+ virtual Status CreateColumnFamilyWithImport(
1761
+ const ColumnFamilyOptions& options, const std::string& column_family_name,
1762
+ const ImportColumnFamilyOptions& import_options,
1763
+ const ExportImportFilesMetaData& metadata,
1764
+ ColumnFamilyHandle** handle) = 0;
1765
+
1766
+ // EXPERIMENTAL
1767
+ // ClipColumnFamily() will clip the entries in the CF according to the range
1768
+ // [begin_key,
1769
+ // end_key).
1770
+ // Returns OK on success, and a non-OK status on error.
1771
+ // Any entries outside this range will be completely deleted (including
1772
+ // tombstones).
1773
+ // The main difference between ClipColumnFamily(begin, end) and
1774
+ // DeleteRange(begin, end)
1775
+ // is that the former physically deletes all keys outside the range, but is
1776
+ // more heavyweight than the latter.
1777
+ // This feature is mainly used to ensure that there is no overlapping Key when
1778
+ // calling
1779
+ // CreateColumnFamilyWithImports() to import multiple CFs.
1780
+ // Note that: concurrent updates cannot be performed during Clip.
1781
+ virtual Status ClipColumnFamily(ColumnFamilyHandle* column_family,
1782
+ const Slice& begin_key,
1783
+ const Slice& end_key) = 0;
1784
+
1785
+ // Verify the checksums of files in db. Currently the whole-file checksum of
1786
+ // table files are checked.
1787
+ virtual Status VerifyFileChecksums(const ReadOptions& /*read_options*/) {
1788
+ return Status::NotSupported("File verification not supported");
1789
+ }
1790
+
1791
+ // Verify the block checksums of files in db. The block checksums of table
1792
+ // files are checked.
1793
+ virtual Status VerifyChecksum(const ReadOptions& read_options) = 0;
1794
+
1795
+ virtual Status VerifyChecksum() { return VerifyChecksum(ReadOptions()); }
1796
+
1797
+
1798
+ // Returns the unique ID which is read from IDENTITY file during the opening
1799
+ // of database by setting in the identity variable
1800
+ // Returns Status::OK if identity could be set properly
1801
+ virtual Status GetDbIdentity(std::string& identity) const = 0;
1802
+
1803
+ // Return a unique identifier for each DB object that is opened
1804
+ // This DB session ID should be unique among all open DB instances on all
1805
+ // hosts, and should be unique among re-openings of the same or other DBs.
1806
+ // (Two open DBs have the same identity from other function GetDbIdentity when
1807
+ // one is physically copied from the other.)
1808
+ virtual Status GetDbSessionId(std::string& session_id) const = 0;
1809
+
1810
+ // Returns default column family handle
1811
+ virtual ColumnFamilyHandle* DefaultColumnFamily() const = 0;
1812
+
1813
+
1814
+ virtual Status GetPropertiesOfAllTables(ColumnFamilyHandle* column_family,
1815
+ TablePropertiesCollection* props) = 0;
1816
+ virtual Status GetPropertiesOfAllTables(TablePropertiesCollection* props) {
1817
+ return GetPropertiesOfAllTables(DefaultColumnFamily(), props);
1818
+ }
1819
+ virtual Status GetPropertiesOfTablesInRange(
1820
+ ColumnFamilyHandle* column_family, const Range* range, std::size_t n,
1821
+ TablePropertiesCollection* props) = 0;
1822
+
1823
+ virtual Status SuggestCompactRange(ColumnFamilyHandle* /*column_family*/,
1824
+ const Slice* /*begin*/,
1825
+ const Slice* /*end*/) {
1826
+ return Status::NotSupported("SuggestCompactRange() is not implemented.");
1827
+ }
1828
+
1829
+ virtual Status PromoteL0(ColumnFamilyHandle* /*column_family*/,
1830
+ int /*target_level*/) {
1831
+ return Status::NotSupported("PromoteL0() is not implemented.");
1832
+ }
1833
+
1834
+ // Trace DB operations. Use EndTrace() to stop tracing.
1835
+ virtual Status StartTrace(const TraceOptions& /*options*/,
1836
+ std::unique_ptr<TraceWriter>&& /*trace_writer*/) {
1837
+ return Status::NotSupported("StartTrace() is not implemented.");
1838
+ }
1839
+
1840
+ virtual Status EndTrace() {
1841
+ return Status::NotSupported("EndTrace() is not implemented.");
1842
+ }
1843
+
1844
+ // IO Tracing operations. Use EndIOTrace() to stop tracing.
1845
+ virtual Status StartIOTrace(const TraceOptions& /*options*/,
1846
+ std::unique_ptr<TraceWriter>&& /*trace_writer*/) {
1847
+ return Status::NotSupported("StartIOTrace() is not implemented.");
1848
+ }
1849
+
1850
+ virtual Status EndIOTrace() {
1851
+ return Status::NotSupported("EndIOTrace() is not implemented.");
1852
+ }
1853
+
1854
+ // Trace block cache accesses. Use EndBlockCacheTrace() to stop tracing.
1855
+ virtual Status StartBlockCacheTrace(
1856
+ const TraceOptions& /*trace_options*/,
1857
+ std::unique_ptr<TraceWriter>&& /*trace_writer*/) {
1858
+ return Status::NotSupported("StartBlockCacheTrace() is not implemented.");
1859
+ }
1860
+
1861
+ virtual Status StartBlockCacheTrace(
1862
+ const BlockCacheTraceOptions& /*options*/,
1863
+ std::unique_ptr<BlockCacheTraceWriter>&& /*trace_writer*/) {
1864
+ return Status::NotSupported("StartBlockCacheTrace() is not implemented.");
1865
+ }
1866
+
1867
+ virtual Status EndBlockCacheTrace() {
1868
+ return Status::NotSupported("EndBlockCacheTrace() is not implemented.");
1869
+ }
1870
+
1871
+ // Create a default trace replayer.
1872
+ virtual Status NewDefaultReplayer(
1873
+ const std::vector<ColumnFamilyHandle*>& /*handles*/,
1874
+ std::unique_ptr<TraceReader>&& /*reader*/,
1875
+ std::unique_ptr<Replayer>* /*replayer*/) {
1876
+ return Status::NotSupported("NewDefaultReplayer() is not implemented.");
1877
+ }
1878
+
1879
+
1880
+ // Needed for StackableDB
1881
+ virtual DB* GetRootDB() { return this; }
1882
+
1883
+ // Given a window [start_time, end_time), setup a StatsHistoryIterator
1884
+ // to access stats history. Note the start_time and end_time are epoch
1885
+ // time measured in seconds, and end_time is an exclusive bound.
1886
+ virtual Status GetStatsHistory(
1887
+ uint64_t /*start_time*/, uint64_t /*end_time*/,
1888
+ std::unique_ptr<StatsHistoryIterator>* /*stats_iterator*/) {
1889
+ return Status::NotSupported("GetStatsHistory() is not implemented.");
1890
+ }
1891
+
1892
+ // Make the secondary instance catch up with the primary by tailing and
1893
+ // replaying the MANIFEST and WAL of the primary.
1894
+ // Column families created by the primary after the secondary instance starts
1895
+ // will be ignored unless the secondary instance closes and restarts with the
1896
+ // newly created column families.
1897
+ // Column families that exist before secondary instance starts and dropped by
1898
+ // the primary afterwards will be marked as dropped. However, as long as the
1899
+ // secondary instance does not delete the corresponding column family
1900
+ // handles, the data of the column family is still accessible to the
1901
+ // secondary.
1902
+ virtual Status TryCatchUpWithPrimary() {
1903
+ return Status::NotSupported("Supported only by secondary instance");
1904
+ }
1905
+ };
1906
+
1907
+ struct WriteStallStatsMapKeys {
1908
+ static const std::string& TotalStops();
1909
+ static const std::string& TotalDelays();
1910
+
1911
+ static const std::string& CFL0FileCountLimitDelaysWithOngoingCompaction();
1912
+ static const std::string& CFL0FileCountLimitStopsWithOngoingCompaction();
1913
+
1914
+ // REQUIRES:
1915
+ // `cause` isn't any of these: `WriteStallCause::kNone`,
1916
+ // `WriteStallCause::kCFScopeWriteStallCauseEnumMax`,
1917
+ // `WriteStallCause::kDBScopeWriteStallCauseEnumMax`
1918
+ //
1919
+ // REQUIRES:
1920
+ // `condition` isn't any of these: `WriteStallCondition::kNormal`
1921
+ static std::string CauseConditionCount(WriteStallCause cause,
1922
+ WriteStallCondition condition);
1923
+ };
1924
+
1925
+ // Overloaded operators for enum class SizeApproximationFlags.
1926
+ inline DB::SizeApproximationFlags operator&(DB::SizeApproximationFlags lhs,
1927
+ DB::SizeApproximationFlags rhs) {
1928
+ return static_cast<DB::SizeApproximationFlags>(static_cast<uint8_t>(lhs) &
1929
+ static_cast<uint8_t>(rhs));
1930
+ }
1931
+ inline DB::SizeApproximationFlags operator|(DB::SizeApproximationFlags lhs,
1932
+ DB::SizeApproximationFlags rhs) {
1933
+ return static_cast<DB::SizeApproximationFlags>(static_cast<uint8_t>(lhs) |
1934
+ static_cast<uint8_t>(rhs));
1935
+ }
1936
+
1937
+ inline Status DB::GetApproximateSizes(ColumnFamilyHandle* column_family,
1938
+ const Range* ranges, int n,
1939
+ uint64_t* sizes,
1940
+ SizeApproximationFlags include_flags) {
1941
+ SizeApproximationOptions options;
1942
+ options.include_memtables =
1943
+ ((include_flags & SizeApproximationFlags::INCLUDE_MEMTABLES) !=
1944
+ SizeApproximationFlags::NONE);
1945
+ options.include_files =
1946
+ ((include_flags & SizeApproximationFlags::INCLUDE_FILES) !=
1947
+ SizeApproximationFlags::NONE);
1948
+ return GetApproximateSizes(options, column_family, ranges, n, sizes);
1949
+ }
1950
+
1951
+ // Destroy the contents of the specified database.
1952
+ // Be very careful using this method.
1953
+ Status DestroyDB(const std::string& name, const Options& options,
1954
+ const std::vector<ColumnFamilyDescriptor>& column_families =
1955
+ std::vector<ColumnFamilyDescriptor>());
1956
+
1957
+ // If a DB cannot be opened, you may attempt to call this method to
1958
+ // resurrect as much of the contents of the database as possible.
1959
+ // Some data may be lost, so be careful when calling this function
1960
+ // on a database that contains important information.
1961
+ //
1962
+ // With this API, we will warn and skip data associated with column families not
1963
+ // specified in column_families.
1964
+ //
1965
+ // @param column_families Descriptors for known column families
1966
+ Status RepairDB(const std::string& dbname, const DBOptions& db_options,
1967
+ const std::vector<ColumnFamilyDescriptor>& column_families);
1968
+
1969
+ // @param unknown_cf_opts Options for column families encountered during the
1970
+ // repair that were not specified in column_families.
1971
+ Status RepairDB(const std::string& dbname, const DBOptions& db_options,
1972
+ const std::vector<ColumnFamilyDescriptor>& column_families,
1973
+ const ColumnFamilyOptions& unknown_cf_opts);
1974
+
1975
+ // @param options These options will be used for the database and for ALL column
1976
+ // families encountered during the repair
1977
+ Status RepairDB(const std::string& dbname, const Options& options);
1978
+
1979
+
1980
+ } // namespace ROCKSDB_NAMESPACE