@nxtedition/rocksdb 13.5.8 → 13.5.9

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 (508) hide show
  1. package/binding.cc +209 -2
  2. package/deps/rocksdb/rocksdb/BUCK +12 -0
  3. package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -0
  4. package/deps/rocksdb/rocksdb/Makefile +28 -23
  5. package/deps/rocksdb/rocksdb/cache/cache.cc +0 -1
  6. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -2
  7. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +43 -39
  8. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +2 -0
  9. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +0 -1
  10. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +2 -3
  11. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
  12. package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +1 -3
  13. package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +11 -1
  14. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +13 -5
  15. package/deps/rocksdb/rocksdb/crash_test.mk +61 -15
  16. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +136 -45
  17. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +34 -16
  18. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +10 -7
  19. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -2
  20. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +1 -0
  21. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +12 -9
  22. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +3 -4
  23. package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +2 -2
  24. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +3 -4
  25. package/deps/rocksdb/rocksdb/db/builder.cc +22 -8
  26. package/deps/rocksdb/rocksdb/db/builder.h +5 -4
  27. package/deps/rocksdb/rocksdb/db/c.cc +556 -15
  28. package/deps/rocksdb/rocksdb/db/c_test.c +133 -12
  29. package/deps/rocksdb/rocksdb/db/column_family.cc +114 -50
  30. package/deps/rocksdb/rocksdb/db/column_family.h +53 -36
  31. package/deps/rocksdb/rocksdb/db/column_family_test.cc +6 -6
  32. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -1
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +95 -70
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +71 -51
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -86
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +26 -68
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +0 -122
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +453 -258
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +117 -92
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -1
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +38 -38
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +24 -17
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +34 -45
  44. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -31
  45. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -3
  46. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +1 -1
  47. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +2 -1
  48. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +10 -10
  49. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +2 -1
  50. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +82 -34
  51. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +267 -179
  52. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +4 -1
  53. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +273 -89
  54. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +300 -14
  55. package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +4 -4
  56. package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +2 -2
  57. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +28 -23
  58. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +69 -51
  59. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +522 -245
  60. package/deps/rocksdb/rocksdb/db/convenience.cc +15 -4
  61. package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -3
  62. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -2
  63. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +196 -17
  64. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +74 -62
  65. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +48 -0
  66. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +682 -250
  67. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -1
  68. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +3 -4
  69. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +11 -16
  70. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +57 -0
  71. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +2 -2
  72. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -1
  73. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +540 -490
  74. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +347 -188
  75. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +584 -217
  76. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +13 -9
  77. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -7
  78. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +40 -36
  79. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -3
  80. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +751 -372
  81. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +35 -32
  82. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +24 -2
  83. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +125 -63
  84. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
  85. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +311 -196
  86. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +15 -5
  87. package/deps/rocksdb/rocksdb/db/db_iter.cc +42 -29
  88. package/deps/rocksdb/rocksdb/db/db_iter.h +96 -31
  89. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +3 -4
  90. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +168 -228
  91. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +454 -0
  92. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +8 -8
  93. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -1
  94. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +90 -0
  95. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +60 -2
  96. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +7 -3
  97. package/deps/rocksdb/rocksdb/db/db_options_test.cc +85 -27
  98. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -1
  99. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -2
  100. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +114 -2
  101. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -1
  102. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -1
  103. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +51 -3
  104. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -1
  105. package/deps/rocksdb/rocksdb/db/db_test.cc +325 -18
  106. package/deps/rocksdb/rocksdb/db/db_test2.cc +644 -20
  107. package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
  108. package/deps/rocksdb/rocksdb/db/db_test_util.h +9 -0
  109. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +64 -45
  110. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +203 -14
  111. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +259 -30
  112. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -1
  113. package/deps/rocksdb/rocksdb/db/db_write_test.cc +75 -1
  114. package/deps/rocksdb/rocksdb/db/dbformat.h +70 -6
  115. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -190
  116. package/deps/rocksdb/rocksdb/db/error_handler.cc +22 -7
  117. package/deps/rocksdb/rocksdb/db/error_handler.h +16 -1
  118. package/deps/rocksdb/rocksdb/db/event_helpers.cc +41 -26
  119. package/deps/rocksdb/rocksdb/db/experimental.cc +4 -3
  120. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +464 -78
  121. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +166 -69
  122. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +54 -25
  123. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -3
  124. package/deps/rocksdb/rocksdb/db/flush_job.cc +98 -81
  125. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -9
  126. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +80 -84
  127. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  128. package/deps/rocksdb/rocksdb/db/forward_iterator.h +2 -2
  129. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +12 -19
  130. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -2
  131. package/deps/rocksdb/rocksdb/db/internal_stats.cc +41 -15
  132. package/deps/rocksdb/rocksdb/db/internal_stats.h +63 -52
  133. package/deps/rocksdb/rocksdb/db/job_context.h +59 -24
  134. package/deps/rocksdb/rocksdb/db/listener_test.cc +69 -10
  135. package/deps/rocksdb/rocksdb/db/log_format.h +11 -2
  136. package/deps/rocksdb/rocksdb/db/log_reader.cc +147 -34
  137. package/deps/rocksdb/rocksdb/db/log_reader.h +40 -11
  138. package/deps/rocksdb/rocksdb/db/log_test.cc +16 -3
  139. package/deps/rocksdb/rocksdb/db/log_writer.cc +102 -55
  140. package/deps/rocksdb/rocksdb/db/log_writer.h +21 -2
  141. package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
  142. package/deps/rocksdb/rocksdb/db/memtable.cc +16 -47
  143. package/deps/rocksdb/rocksdb/db/memtable.h +76 -12
  144. package/deps/rocksdb/rocksdb/db/memtable_list.cc +23 -20
  145. package/deps/rocksdb/rocksdb/db/memtable_list.h +9 -11
  146. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +18 -37
  147. package/deps/rocksdb/rocksdb/db/merge_context.h +2 -1
  148. package/deps/rocksdb/rocksdb/db/merge_test.cc +8 -0
  149. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +3 -5
  150. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +15 -7
  151. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +6 -3
  152. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +22 -4
  153. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +41 -1
  154. package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -1
  155. package/deps/rocksdb/rocksdb/db/repair.cc +29 -34
  156. package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -1
  157. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +14 -15
  158. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +1 -3
  159. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +47 -1
  160. package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -3
  161. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +1 -3
  162. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +2 -1
  163. package/deps/rocksdb/rocksdb/db/version_builder.cc +2 -2
  164. package/deps/rocksdb/rocksdb/db/version_edit.cc +8 -37
  165. package/deps/rocksdb/rocksdb/db/version_edit.h +32 -1
  166. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +26 -18
  167. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -5
  168. package/deps/rocksdb/rocksdb/db/version_set.cc +282 -197
  169. package/deps/rocksdb/rocksdb/db/version_set.h +54 -57
  170. package/deps/rocksdb/rocksdb/db/version_set_test.cc +28 -35
  171. package/deps/rocksdb/rocksdb/db/version_util.h +2 -3
  172. package/deps/rocksdb/rocksdb/db/wal_manager.cc +3 -2
  173. package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -1
  174. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -1
  175. package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +1 -0
  176. package/deps/rocksdb/rocksdb/db/write_batch.cc +22 -8
  177. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +5 -4
  178. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +7 -6
  179. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -4
  180. package/deps/rocksdb/rocksdb/db/write_thread.h +3 -3
  181. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +13 -5
  182. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -2
  183. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +39 -0
  184. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +65 -0
  185. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +45 -22
  186. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +7 -4
  187. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +22 -5
  188. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +28 -3
  189. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -38
  190. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -3
  191. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +80 -32
  192. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +51 -2
  193. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +23 -1
  194. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +305 -15
  195. package/deps/rocksdb/rocksdb/env/env.cc +32 -2
  196. package/deps/rocksdb/rocksdb/env/env_encryption.cc +0 -2
  197. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -4
  198. package/deps/rocksdb/rocksdb/env/env_posix.cc +4 -2
  199. package/deps/rocksdb/rocksdb/env/env_test.cc +0 -1
  200. package/deps/rocksdb/rocksdb/env/fs_posix.cc +20 -11
  201. package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
  202. package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
  203. package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
  204. package/deps/rocksdb/rocksdb/env/io_posix.cc +6 -4
  205. package/deps/rocksdb/rocksdb/env/io_posix.h +3 -2
  206. package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -1
  207. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +2 -2
  208. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
  209. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -2
  210. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +30 -21
  211. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +16 -0
  212. package/deps/rocksdb/rocksdb/file/file_util.cc +32 -14
  213. package/deps/rocksdb/rocksdb/file/file_util.h +22 -5
  214. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +229 -76
  215. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +21 -12
  216. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +10 -7
  217. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +12 -8
  218. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +1 -2
  219. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
  220. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +3 -3
  221. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +598 -0
  222. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_iterator.h +36 -0
  223. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +70 -11
  224. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +232 -11
  225. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -1
  226. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -1
  227. package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +149 -15
  228. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +17 -2
  229. package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +132 -34
  230. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +158 -79
  231. package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +2 -1
  232. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +4 -5
  233. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -3
  234. package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +5 -0
  235. package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +275 -0
  236. package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +2 -1
  237. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +50 -5
  238. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +10 -0
  239. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +13 -0
  240. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -1
  241. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +5 -2
  242. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +13 -0
  243. package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +237 -0
  244. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +230 -39
  245. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +15 -0
  246. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +31 -11
  247. package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +41 -0
  248. package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +1 -1
  249. package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -1
  250. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +5 -1
  251. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -1
  252. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +18 -3
  253. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +2 -0
  254. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +20 -8
  255. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +19 -2
  256. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
  257. package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +124 -0
  258. package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +1 -0
  259. package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +26 -1
  260. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +55 -6
  261. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +3 -5
  262. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
  263. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -2
  264. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -1
  265. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +1 -2
  266. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +0 -1
  267. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index.h +96 -8
  268. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index_faiss.h +117 -0
  269. package/deps/rocksdb/rocksdb/{utilities/secondary_index/faiss_ivf_index.h → include/rocksdb/utilities/secondary_index_simple.h} +11 -14
  270. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +26 -11
  271. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +16 -3
  272. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
  273. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +63 -7
  274. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -1
  275. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +28 -12
  276. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
  277. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -2
  278. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -2
  279. package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
  280. package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -1
  281. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -1
  282. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +3 -1
  283. package/deps/rocksdb/rocksdb/memtable/skiplist.h +2 -2
  284. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +2 -4
  285. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +69 -8
  286. package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.cc +32 -9
  287. package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.h +58 -45
  288. package/deps/rocksdb/rocksdb/monitoring/histogram.h +1 -1
  289. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -3
  290. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +5 -0
  291. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
  292. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +3 -2
  293. package/deps/rocksdb/rocksdb/options/cf_options.cc +44 -13
  294. package/deps/rocksdb/rocksdb/options/cf_options.h +21 -7
  295. package/deps/rocksdb/rocksdb/options/configurable.cc +5 -5
  296. package/deps/rocksdb/rocksdb/options/configurable_test.h +1 -2
  297. package/deps/rocksdb/rocksdb/options/customizable.cc +0 -1
  298. package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -11
  299. package/deps/rocksdb/rocksdb/options/db_options.cc +18 -15
  300. package/deps/rocksdb/rocksdb/options/db_options.h +2 -2
  301. package/deps/rocksdb/rocksdb/options/options.cc +296 -305
  302. package/deps/rocksdb/rocksdb/options/options_helper.cc +188 -62
  303. package/deps/rocksdb/rocksdb/options/options_helper.h +3 -3
  304. package/deps/rocksdb/rocksdb/options/options_parser.cc +2 -4
  305. package/deps/rocksdb/rocksdb/options/options_parser.h +0 -1
  306. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +17 -4
  307. package/deps/rocksdb/rocksdb/options/options_test.cc +101 -76
  308. package/deps/rocksdb/rocksdb/port/lang.h +2 -1
  309. package/deps/rocksdb/rocksdb/port/port_posix.cc +2 -1
  310. package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -4
  311. package/deps/rocksdb/rocksdb/port/win/env_win.cc +3 -2
  312. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +99 -1
  313. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +6 -0
  314. package/deps/rocksdb/rocksdb/src.mk +17 -11
  315. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -1
  316. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1094 -929
  317. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +6 -19
  318. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +76 -22
  319. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +2 -0
  320. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +221 -131
  321. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +12 -9
  322. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +23 -24
  323. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -38
  324. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +7 -4
  325. package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +5 -5
  326. package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +10 -12
  327. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +6 -4
  328. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +35 -43
  329. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +2 -1
  330. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
  331. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -2
  332. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -4
  333. package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +0 -1
  334. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +3 -3
  335. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -3
  336. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -4
  337. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +1 -1
  338. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -5
  339. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +4 -4
  340. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +37 -35
  341. package/deps/rocksdb/rocksdb/table/block_fetcher.h +11 -7
  342. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +4 -3
  343. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +31 -5
  344. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +2 -1
  345. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -1
  346. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -1
  347. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -1
  348. package/deps/rocksdb/rocksdb/table/external_table.cc +483 -0
  349. package/deps/rocksdb/rocksdb/table/format.cc +62 -44
  350. package/deps/rocksdb/rocksdb/table/format.h +35 -12
  351. package/deps/rocksdb/rocksdb/table/internal_iterator.h +3 -13
  352. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
  353. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +6 -0
  354. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +150 -141
  355. package/deps/rocksdb/rocksdb/table/meta_blocks.h +5 -0
  356. package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -2
  357. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +8 -0
  358. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -1
  359. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
  360. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
  361. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -1
  362. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +6 -6
  363. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
  364. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +86 -7
  365. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +88 -2
  366. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -1
  367. package/deps/rocksdb/rocksdb/table/table_builder.h +10 -1
  368. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +3 -2
  369. package/deps/rocksdb/rocksdb/table/table_test.cc +899 -22
  370. package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -4
  371. package/deps/rocksdb/rocksdb/test_util/testutil.h +132 -1
  372. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -1
  373. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
  374. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +163 -77
  375. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +0 -2
  376. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -1
  377. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -1
  378. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +120 -52
  379. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +1 -0
  380. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
  381. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -2
  382. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +2 -2
  383. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
  384. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +2 -1
  385. package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +94 -0
  386. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +0 -1
  387. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +0 -1
  388. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +1 -1
  389. package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +2 -1
  390. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +3 -5
  391. package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
  392. package/deps/rocksdb/rocksdb/util/async_file_reader.h +15 -8
  393. package/deps/rocksdb/rocksdb/util/auto_skip_compressor.cc +131 -0
  394. package/deps/rocksdb/rocksdb/util/auto_skip_compressor.h +90 -0
  395. package/deps/rocksdb/rocksdb/util/autovector.h +1 -1
  396. package/deps/rocksdb/rocksdb/util/autovector_test.cc +2 -2
  397. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -2
  398. package/deps/rocksdb/rocksdb/util/compression.cc +936 -4
  399. package/deps/rocksdb/rocksdb/util/compression.h +348 -232
  400. package/deps/rocksdb/rocksdb/util/compression_test.cc +229 -0
  401. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +10 -10
  402. package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +1 -0
  403. package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -0
  404. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -3
  405. package/deps/rocksdb/rocksdb/util/ppc-opcode.h +5 -5
  406. package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +108 -0
  407. package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +67 -0
  408. package/deps/rocksdb/rocksdb/util/slice_test.cc +83 -0
  409. package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
  410. package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
  411. package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
  412. package/deps/rocksdb/rocksdb/util/udt_util.cc +18 -5
  413. package/deps/rocksdb/rocksdb/util/udt_util.h +10 -7
  414. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +650 -154
  415. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +438 -144
  416. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -1
  417. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -1
  418. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -1
  419. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +16 -17
  420. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +2 -1
  421. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -1
  422. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -1
  423. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +7 -8
  424. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +4 -3
  425. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -1
  426. package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -1
  427. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +2 -2
  428. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
  429. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +0 -48
  430. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -1
  431. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -1
  432. package/deps/rocksdb/rocksdb/utilities/debug.cc +7 -14
  433. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -1
  434. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -2
  435. package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -1
  436. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -2
  437. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -3
  438. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +10 -9
  439. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -1
  440. package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -1
  441. package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +1 -0
  442. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -2
  443. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -1
  444. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +0 -1
  445. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -1
  446. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
  447. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
  448. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -1
  449. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
  450. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
  451. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
  452. package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
  453. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
  454. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -1
  455. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
  456. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -1
  457. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
  458. package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index.cc +183 -32
  459. package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index_test.cc +258 -12
  460. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_helper.h +33 -0
  461. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_iterator.cc +99 -0
  462. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_mixin.h +280 -120
  463. package/deps/rocksdb/rocksdb/utilities/secondary_index/simple_secondary_index.cc +79 -0
  464. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +52 -16
  465. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +10 -6
  466. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +55 -0
  467. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -1
  468. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
  469. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -1
  470. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +37 -12
  471. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -0
  472. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -2
  473. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
  474. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
  475. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +1 -1
  476. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  477. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +2 -1
  478. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +2 -2
  479. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -1
  480. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
  481. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +1 -3
  482. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +36 -10
  483. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +5 -7
  484. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +4 -5
  485. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -4
  486. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +1 -2
  487. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
  488. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -1
  489. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1118 -37
  490. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +4 -7
  491. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
  492. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
  493. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -3
  494. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1
  495. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -2
  496. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1 -2
  497. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +1 -2
  498. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -1
  499. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -3
  500. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +125 -127
  501. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +45 -23
  502. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +54 -22
  503. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +477 -58
  504. package/deps/rocksdb/rocksdb.gyp +5 -0
  505. package/index.js +47 -2
  506. package/package.json +8 -1
  507. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  508. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
@@ -44,6 +44,7 @@
44
44
  #include "util/cast_util.h"
45
45
  #include "util/coding.h"
46
46
  #include "util/file_checksum_helper.h"
47
+ #include "util/simple_mixed_compressor.h"
47
48
  #include "util/stderr_logger.h"
48
49
  #include "util/string_util.h"
49
50
  #include "util/write_batch_util.h"
@@ -805,26 +806,86 @@ bool LDBCommand::ParseCompressionTypeOption(
805
806
  value = kNoCompression;
806
807
  return true;
807
808
  } else if (comp == "snappy") {
808
- value = kSnappyCompression;
809
- return true;
809
+ if (!Snappy_Supported()) {
810
+ exec_state = LDBCommandExecuteResult::Failed(
811
+ "Snappy compression is not supported in this build.");
812
+ } else {
813
+ value = kSnappyCompression;
814
+ return true;
815
+ }
810
816
  } else if (comp == "zlib") {
811
- value = kZlibCompression;
812
- return true;
817
+ if (!Zlib_Supported()) {
818
+ exec_state = LDBCommandExecuteResult::Failed(
819
+ "zlib compression is not supported in this build.");
820
+ } else {
821
+ value = kZlibCompression;
822
+ return true;
823
+ }
813
824
  } else if (comp == "bzip2") {
814
- value = kBZip2Compression;
815
- return true;
825
+ if (!BZip2_Supported()) {
826
+ exec_state = LDBCommandExecuteResult::Failed(
827
+ "bzip2 compression is not supported in this build.");
828
+ } else {
829
+ value = kBZip2Compression;
830
+ return true;
831
+ }
816
832
  } else if (comp == "lz4") {
817
- value = kLZ4Compression;
818
- return true;
833
+ if (!LZ4_Supported()) {
834
+ exec_state = LDBCommandExecuteResult::Failed(
835
+ "lz4 compression is not supported in this build.");
836
+ } else {
837
+ value = kLZ4Compression;
838
+ return true;
839
+ }
819
840
  } else if (comp == "lz4hc") {
820
- value = kLZ4HCCompression;
821
- return true;
841
+ if (!LZ4_Supported()) {
842
+ exec_state = LDBCommandExecuteResult::Failed(
843
+ "lz4hc compression is not supported in this build.");
844
+ } else {
845
+ value = kLZ4HCCompression;
846
+ return true;
847
+ }
822
848
  } else if (comp == "xpress") {
823
- value = kXpressCompression;
824
- return true;
849
+ if (!XPRESS_Supported()) {
850
+ exec_state = LDBCommandExecuteResult::Failed(
851
+ "xpress compression is not supported in this build.");
852
+ } else {
853
+ value = kXpressCompression;
854
+ return true;
855
+ }
825
856
  } else if (comp == "zstd") {
826
- value = kZSTD;
857
+ if (!ZSTD_Supported()) {
858
+ exec_state = LDBCommandExecuteResult::Failed(
859
+ "zstd compression is not supported in this build.");
860
+ } else {
861
+ value = kZSTD;
862
+ return true;
863
+ }
864
+ #ifndef NDEBUG
865
+ } else if (comp == "mixed" && option == ARG_COMPRESSION_TYPE) {
866
+ if (GetSupportedCompressions().empty()) {
867
+ exec_state = LDBCommandExecuteResult::Failed(
868
+ "No compressions are supported in this build for \"mixed\".");
869
+ return false;
870
+ }
871
+ options_.compression = kZSTD;
872
+ options_.bottommost_compression = kZSTD;
873
+ auto mgr =
874
+ std::make_shared<RoundRobinManager>(GetBuiltinV2CompressionManager());
875
+ options_.compression_manager = mgr;
876
+
877
+ // Need to list zstd in the compression_name table property if it's
878
+ // potentially used by being in the mix (i.e., potentially at least one
879
+ // data block in the table is compressed by zstd). This ensures proper
880
+ // context and dictionary handling, and prevents crashes in older RocksDB
881
+ // versions.
882
+ //
883
+ // To achieve this, set `value` (the compression_type in Options which
884
+ // will be used to set compression_name table property) to kZSTD, even if
885
+ // multiple compression types are used within a single table.
886
+ value = ZSTD_Supported() ? kZSTD : GetSupportedCompressions()[0];
827
887
  return true;
888
+ #endif // !NDEBUG
828
889
  } else {
829
890
  // Unknown compression.
830
891
  exec_state = LDBCommandExecuteResult::Failed(
@@ -1368,7 +1429,7 @@ CompactorCommand::CompactorCommand(
1368
1429
  const std::vector<std::string>& /*params*/,
1369
1430
  const std::map<std::string, std::string>& options,
1370
1431
  const std::vector<std::string>& flags)
1371
- : LDBCommand(options, flags, false,
1432
+ : LDBCommand(options, flags, false /* is_read_only */,
1372
1433
  BuildCmdLineOptions({ARG_FROM, ARG_TO, ARG_HEX, ARG_KEY_HEX,
1373
1434
  ARG_VALUE_HEX, ARG_TTL})),
1374
1435
  null_from_(true),
@@ -1443,7 +1504,7 @@ DBLoaderCommand::DBLoaderCommand(
1443
1504
  const std::map<std::string, std::string>& options,
1444
1505
  const std::vector<std::string>& flags)
1445
1506
  : LDBCommand(
1446
- options, flags, false,
1507
+ options, flags, false /* is_read_only */,
1447
1508
  BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM,
1448
1509
  ARG_TO, ARG_CREATE_IF_MISSING, ARG_DISABLE_WAL,
1449
1510
  ARG_BULK_LOAD, ARG_COMPACT})),
@@ -1575,7 +1636,7 @@ ManifestDumpCommand::ManifestDumpCommand(
1575
1636
  const std::map<std::string, std::string>& options,
1576
1637
  const std::vector<std::string>& flags)
1577
1638
  : LDBCommand(
1578
- options, flags, false,
1639
+ options, flags, true /* is_read_only */,
1579
1640
  BuildCmdLineOptions({ARG_VERBOSE, ARG_PATH, ARG_HEX, ARG_JSON})),
1580
1641
  verbose_(false),
1581
1642
  json_(false) {
@@ -1723,7 +1784,7 @@ FileChecksumDumpCommand::FileChecksumDumpCommand(
1723
1784
  const std::vector<std::string>& /*params*/,
1724
1785
  const std::map<std::string, std::string>& options,
1725
1786
  const std::vector<std::string>& flags)
1726
- : LDBCommand(options, flags, false,
1787
+ : LDBCommand(options, flags, true /* is_read_only */,
1727
1788
  BuildCmdLineOptions({ARG_PATH, ARG_HEX})) {
1728
1789
  auto itr = options.find(ARG_PATH);
1729
1790
  if (itr != options.end()) {
@@ -1787,7 +1848,8 @@ GetPropertyCommand::GetPropertyCommand(
1787
1848
  const std::vector<std::string>& params,
1788
1849
  const std::map<std::string, std::string>& options,
1789
1850
  const std::vector<std::string>& flags)
1790
- : LDBCommand(options, flags, true, BuildCmdLineOptions({})) {
1851
+ : LDBCommand(options, flags, true /* is_read_only */,
1852
+ BuildCmdLineOptions({})) {
1791
1853
  if (params.size() != 1) {
1792
1854
  exec_state_ =
1793
1855
  LDBCommandExecuteResult::Failed("property name must be specified");
@@ -1838,7 +1900,8 @@ ListColumnFamiliesCommand::ListColumnFamiliesCommand(
1838
1900
  const std::vector<std::string>& /*params*/,
1839
1901
  const std::map<std::string, std::string>& options,
1840
1902
  const std::vector<std::string>& flags)
1841
- : LDBCommand(options, flags, false, BuildCmdLineOptions({})) {}
1903
+ : LDBCommand(options, flags, true /* is_read_only */,
1904
+ BuildCmdLineOptions({})) {}
1842
1905
 
1843
1906
  void ListColumnFamiliesCommand::DoCommand() {
1844
1907
  PrepareOptions();
@@ -1872,7 +1935,7 @@ CreateColumnFamilyCommand::CreateColumnFamilyCommand(
1872
1935
  const std::vector<std::string>& params,
1873
1936
  const std::map<std::string, std::string>& options,
1874
1937
  const std::vector<std::string>& flags)
1875
- : LDBCommand(options, flags, true, {ARG_DB}) {
1938
+ : LDBCommand(options, flags, false /* is_read_only */, {ARG_DB}) {
1876
1939
  if (params.size() != 1) {
1877
1940
  exec_state_ = LDBCommandExecuteResult::Failed(
1878
1941
  "new column family name must be specified");
@@ -1909,7 +1972,7 @@ DropColumnFamilyCommand::DropColumnFamilyCommand(
1909
1972
  const std::vector<std::string>& params,
1910
1973
  const std::map<std::string, std::string>& options,
1911
1974
  const std::vector<std::string>& flags)
1912
- : LDBCommand(options, flags, true, {ARG_DB}) {
1975
+ : LDBCommand(options, flags, false /* is_read_only */, {ARG_DB}) {
1913
1976
  if (params.size() != 1) {
1914
1977
  exec_state_ = LDBCommandExecuteResult::Failed(
1915
1978
  "The name of column family to drop must be specified");
@@ -1985,7 +2048,7 @@ InternalDumpCommand::InternalDumpCommand(
1985
2048
  const std::vector<std::string>& /*params*/,
1986
2049
  const std::map<std::string, std::string>& options,
1987
2050
  const std::vector<std::string>& flags)
1988
- : LDBCommand(options, flags, true,
2051
+ : LDBCommand(options, flags, true /* is_read_only */,
1989
2052
  BuildCmdLineOptions(
1990
2053
  {ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM, ARG_TO,
1991
2054
  ARG_MAX_KEYS, ARG_COUNT_ONLY, ARG_COUNT_DELIM, ARG_STATS,
@@ -2058,8 +2121,9 @@ void InternalDumpCommand::DoCommand() {
2058
2121
 
2059
2122
  // Cast as DBImpl to get internal iterator
2060
2123
  std::vector<KeyVersion> key_versions;
2061
- Status st = GetAllKeyVersions(db_, GetCfHandle(), from_, to_, max_keys_,
2062
- &key_versions);
2124
+ Status st =
2125
+ GetAllKeyVersions(db_, GetCfHandle(), has_from_ ? from_ : OptSlice{},
2126
+ has_to_ ? to_ : OptSlice{}, max_keys_, &key_versions);
2063
2127
  if (!st.ok()) {
2064
2128
  exec_state_ = LDBCommandExecuteResult::Failed(st.ToString());
2065
2129
  return;
@@ -2166,7 +2230,7 @@ DBDumperCommand::DBDumperCommand(
2166
2230
  const std::map<std::string, std::string>& options,
2167
2231
  const std::vector<std::string>& flags)
2168
2232
  : LDBCommand(
2169
- options, flags, true,
2233
+ options, flags, true /* is_read_only */,
2170
2234
  BuildCmdLineOptions(
2171
2235
  {ARG_TTL, ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM, ARG_TO,
2172
2236
  ARG_MAX_KEYS, ARG_COUNT_ONLY, ARG_COUNT_DELIM, ARG_STATS,
@@ -2486,7 +2550,7 @@ ReduceDBLevelsCommand::ReduceDBLevelsCommand(
2486
2550
  const std::vector<std::string>& /*params*/,
2487
2551
  const std::map<std::string, std::string>& options,
2488
2552
  const std::vector<std::string>& flags)
2489
- : LDBCommand(options, flags, false,
2553
+ : LDBCommand(options, flags, false /* is_read_only */,
2490
2554
  BuildCmdLineOptions({ARG_NEW_LEVELS, ARG_PRINT_OLD_LEVELS})),
2491
2555
  old_levels_(1 << 7),
2492
2556
  new_levels_(-1),
@@ -2543,7 +2607,7 @@ Status ReduceDBLevelsCommand::GetOldNumOfLevels(Options& opt, int* levels) {
2543
2607
  /*block_cache_tracer=*/nullptr, /*io_tracer=*/nullptr,
2544
2608
  /*db_id=*/"", /*db_session_id=*/"",
2545
2609
  opt.daily_offpeak_time_utc,
2546
- /*error_handler=*/nullptr, /*read_only=*/true);
2610
+ /*error_handler=*/nullptr, /*unchanging=*/false);
2547
2611
  std::vector<ColumnFamilyDescriptor> dummy;
2548
2612
  ColumnFamilyDescriptor dummy_descriptor(kDefaultColumnFamilyName,
2549
2613
  ColumnFamilyOptions(opt));
@@ -2625,7 +2689,7 @@ ChangeCompactionStyleCommand::ChangeCompactionStyleCommand(
2625
2689
  const std::vector<std::string>& /*params*/,
2626
2690
  const std::map<std::string, std::string>& options,
2627
2691
  const std::vector<std::string>& flags)
2628
- : LDBCommand(options, flags, false,
2692
+ : LDBCommand(options, flags, false /* is_read_only */,
2629
2693
  BuildCmdLineOptions(
2630
2694
  {ARG_OLD_COMPACTION_STYLE, ARG_NEW_COMPACTION_STYLE})),
2631
2695
  old_compaction_style_(-1),
@@ -2768,7 +2832,8 @@ void ChangeCompactionStyleCommand::DoCommand() {
2768
2832
  namespace {
2769
2833
 
2770
2834
  struct StdErrReporter : public log::Reader::Reporter {
2771
- void Corruption(size_t /*bytes*/, const Status& s) override {
2835
+ void Corruption(size_t /*bytes*/, const Status& s,
2836
+ uint64_t /*log_number*/ = kMaxSequenceNumber) override {
2772
2837
  std::cerr << "Corruption detected in log file " << s.ToString() << "\n";
2773
2838
  }
2774
2839
  };
@@ -3170,7 +3235,7 @@ WALDumperCommand::WALDumperCommand(
3170
3235
  const std::vector<std::string>& /*params*/,
3171
3236
  const std::map<std::string, std::string>& options,
3172
3237
  const std::vector<std::string>& flags)
3173
- : LDBCommand(options, flags, true,
3238
+ : LDBCommand(options, flags, true /* is_read_only */,
3174
3239
  BuildCmdLineOptions({ARG_WAL_FILE, ARG_DB, ARG_WRITE_COMMITTED,
3175
3240
  ARG_PRINT_HEADER, ARG_PRINT_VALUE,
3176
3241
  ARG_ONLY_PRINT_SEQNO_GAPS})),
@@ -3226,7 +3291,7 @@ void WALDumperCommand::DoCommand() {
3226
3291
  GetCommand::GetCommand(const std::vector<std::string>& params,
3227
3292
  const std::map<std::string, std::string>& options,
3228
3293
  const std::vector<std::string>& flags)
3229
- : LDBCommand(options, flags, true,
3294
+ : LDBCommand(options, flags, true /* is_read_only */,
3230
3295
  BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
3231
3296
  ARG_VALUE_HEX, ARG_READ_TIMESTAMP})) {
3232
3297
  if (params.size() != 1) {
@@ -3285,7 +3350,7 @@ MultiGetCommand::MultiGetCommand(
3285
3350
  const std::vector<std::string>& params,
3286
3351
  const std::map<std::string, std::string>& options,
3287
3352
  const std::vector<std::string>& flags)
3288
- : LDBCommand(options, flags, true,
3353
+ : LDBCommand(options, flags, true /* is_read_only */,
3289
3354
  BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX,
3290
3355
  ARG_READ_TIMESTAMP})) {
3291
3356
  if (params.size() < 1) {
@@ -3360,7 +3425,7 @@ GetEntityCommand::GetEntityCommand(
3360
3425
  const std::vector<std::string>& params,
3361
3426
  const std::map<std::string, std::string>& options,
3362
3427
  const std::vector<std::string>& flags)
3363
- : LDBCommand(options, flags, true,
3428
+ : LDBCommand(options, flags, true /* is_read_only */,
3364
3429
  BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
3365
3430
  ARG_VALUE_HEX, ARG_READ_TIMESTAMP})) {
3366
3431
  if (params.size() != 1) {
@@ -3498,7 +3563,7 @@ ApproxSizeCommand::ApproxSizeCommand(
3498
3563
  const std::vector<std::string>& /*params*/,
3499
3564
  const std::map<std::string, std::string>& options,
3500
3565
  const std::vector<std::string>& flags)
3501
- : LDBCommand(options, flags, true,
3566
+ : LDBCommand(options, flags, true /* is_read_only */,
3502
3567
  BuildCmdLineOptions(
3503
3568
  {ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM, ARG_TO})) {
3504
3569
  if (options.find(ARG_FROM) != options.end()) {
@@ -3554,7 +3619,7 @@ BatchPutCommand::BatchPutCommand(
3554
3619
  const std::vector<std::string>& params,
3555
3620
  const std::map<std::string, std::string>& options,
3556
3621
  const std::vector<std::string>& flags)
3557
- : LDBCommand(options, flags, false,
3622
+ : LDBCommand(options, flags, false /* is_read_only */,
3558
3623
  BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
3559
3624
  ARG_VALUE_HEX, ARG_CREATE_IF_MISSING})) {
3560
3625
  if (params.size() < 2) {
@@ -3626,7 +3691,7 @@ ScanCommand::ScanCommand(const std::vector<std::string>& /*params*/,
3626
3691
  const std::map<std::string, std::string>& options,
3627
3692
  const std::vector<std::string>& flags)
3628
3693
  : LDBCommand(
3629
- options, flags, true,
3694
+ options, flags, true /* is_read_only */,
3630
3695
  BuildCmdLineOptions({ARG_TTL, ARG_NO_VALUE, ARG_HEX, ARG_KEY_HEX,
3631
3696
  ARG_TO, ARG_VALUE_HEX, ARG_FROM, ARG_TIMESTAMP,
3632
3697
  ARG_MAX_KEYS, ARG_TTL_START, ARG_TTL_END,
@@ -3803,7 +3868,7 @@ void ScanCommand::DoCommand() {
3803
3868
  DeleteCommand::DeleteCommand(const std::vector<std::string>& params,
3804
3869
  const std::map<std::string, std::string>& options,
3805
3870
  const std::vector<std::string>& flags)
3806
- : LDBCommand(options, flags, false,
3871
+ : LDBCommand(options, flags, false /* is_read_only */,
3807
3872
  BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
3808
3873
  if (params.size() != 1) {
3809
3874
  exec_state_ = LDBCommandExecuteResult::Failed(
@@ -3839,7 +3904,7 @@ SingleDeleteCommand::SingleDeleteCommand(
3839
3904
  const std::vector<std::string>& params,
3840
3905
  const std::map<std::string, std::string>& options,
3841
3906
  const std::vector<std::string>& flags)
3842
- : LDBCommand(options, flags, false,
3907
+ : LDBCommand(options, flags, false /* is_read_only */,
3843
3908
  BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
3844
3909
  if (params.size() != 1) {
3845
3910
  exec_state_ = LDBCommandExecuteResult::Failed(
@@ -3875,7 +3940,7 @@ DeleteRangeCommand::DeleteRangeCommand(
3875
3940
  const std::vector<std::string>& params,
3876
3941
  const std::map<std::string, std::string>& options,
3877
3942
  const std::vector<std::string>& flags)
3878
- : LDBCommand(options, flags, false,
3943
+ : LDBCommand(options, flags, false /* is_read_only */,
3879
3944
  BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
3880
3945
  if (params.size() != 2) {
3881
3946
  exec_state_ = LDBCommandExecuteResult::Failed(
@@ -3913,7 +3978,7 @@ void DeleteRangeCommand::DoCommand() {
3913
3978
  PutCommand::PutCommand(const std::vector<std::string>& params,
3914
3979
  const std::map<std::string, std::string>& options,
3915
3980
  const std::vector<std::string>& flags)
3916
- : LDBCommand(options, flags, false,
3981
+ : LDBCommand(options, flags, false /* is_read_only */,
3917
3982
  BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
3918
3983
  ARG_VALUE_HEX, ARG_CREATE_IF_MISSING})) {
3919
3984
  if (params.size() != 2) {
@@ -3967,7 +4032,7 @@ PutEntityCommand::PutEntityCommand(
3967
4032
  const std::vector<std::string>& params,
3968
4033
  const std::map<std::string, std::string>& options,
3969
4034
  const std::vector<std::string>& flags)
3970
- : LDBCommand(options, flags, false,
4035
+ : LDBCommand(options, flags, false /* is_read_only */,
3971
4036
  BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
3972
4037
  ARG_VALUE_HEX, ARG_CREATE_IF_MISSING})) {
3973
4038
  if (params.size() < 2) {
@@ -4049,7 +4114,7 @@ DBQuerierCommand::DBQuerierCommand(
4049
4114
  const std::map<std::string, std::string>& options,
4050
4115
  const std::vector<std::string>& flags)
4051
4116
  : LDBCommand(
4052
- options, flags, false,
4117
+ options, flags, false /* is_read_only */,
4053
4118
  BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
4054
4119
 
4055
4120
  }
@@ -4285,7 +4350,8 @@ CheckConsistencyCommand::CheckConsistencyCommand(
4285
4350
  const std::vector<std::string>& /*params*/,
4286
4351
  const std::map<std::string, std::string>& options,
4287
4352
  const std::vector<std::string>& flags)
4288
- : LDBCommand(options, flags, true, BuildCmdLineOptions({})) {}
4353
+ : LDBCommand(options, flags, true /* is_read_only */,
4354
+ BuildCmdLineOptions({})) {}
4289
4355
 
4290
4356
  void CheckConsistencyCommand::Help(std::string& ret) {
4291
4357
  ret.append(" ");
@@ -4348,7 +4414,8 @@ const std::string RepairCommand::ARG_VERBOSE = "verbose";
4348
4414
  RepairCommand::RepairCommand(const std::vector<std::string>& /*params*/,
4349
4415
  const std::map<std::string, std::string>& options,
4350
4416
  const std::vector<std::string>& flags)
4351
- : LDBCommand(options, flags, false, BuildCmdLineOptions({ARG_VERBOSE})) {
4417
+ : LDBCommand(options, flags, false /* is_read_only */,
4418
+ BuildCmdLineOptions({ARG_VERBOSE})) {
4352
4419
  verbose_ = IsFlagPresent(flags, ARG_VERBOSE);
4353
4420
  }
4354
4421
 
@@ -4629,7 +4696,7 @@ DBFileDumperCommand::DBFileDumperCommand(
4629
4696
  const std::vector<std::string>& /*params*/,
4630
4697
  const std::map<std::string, std::string>& options,
4631
4698
  const std::vector<std::string>& flags)
4632
- : LDBCommand(options, flags, true,
4699
+ : LDBCommand(options, flags, true /* is_read_only */,
4633
4700
  BuildCmdLineOptions(
4634
4701
  {ARG_DECODE_BLOB_INDEX, ARG_DUMP_UNCOMPRESSED_BLOBS})),
4635
4702
  decode_blob_index_(IsFlagPresent(flags, ARG_DECODE_BLOB_INDEX)),
@@ -4750,7 +4817,7 @@ DBLiveFilesMetadataDumperCommand::DBLiveFilesMetadataDumperCommand(
4750
4817
  const std::vector<std::string>& /*params*/,
4751
4818
  const std::map<std::string, std::string>& options,
4752
4819
  const std::vector<std::string>& flags)
4753
- : LDBCommand(options, flags, true,
4820
+ : LDBCommand(options, flags, true /* is_read_only */,
4754
4821
  BuildCmdLineOptions({ARG_SORT_BY_FILENAME})) {
4755
4822
  sort_by_filename_ = IsFlagPresent(flags, ARG_SORT_BY_FILENAME);
4756
4823
  }
@@ -4794,7 +4861,7 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
4794
4861
  NormalizePath(sst_metadata.db_path + "/" + sst_metadata.name);
4795
4862
  all_files.emplace_back(filename, level, cf);
4796
4863
  } // End of for-loop over sst files
4797
- } // End of for-loop over levels
4864
+ } // End of for-loop over levels
4798
4865
 
4799
4866
  const auto& blob_files = column_metadata.blob_files;
4800
4867
  for (const auto& blob_metadata : blob_files) {
@@ -4808,7 +4875,7 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
4808
4875
  // Level for blob files is encoded as -1
4809
4876
  all_files.emplace_back(filename, -1, cf);
4810
4877
  } // End of for-loop over blob files
4811
- } // End of for-loop over column metadata
4878
+ } // End of for-loop over column metadata
4812
4879
 
4813
4880
  // Sort by filename (i.e. first entry in tuple)
4814
4881
  std::sort(all_files.begin(), all_files.end());
@@ -4847,7 +4914,7 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
4847
4914
  NormalizePath(sst_metadata.db_path + "/" + sst_metadata.name);
4848
4915
  std::cout << filename << std::endl;
4849
4916
  } // End of for-loop over sst files
4850
- } // End of for-loop over levels
4917
+ } // End of for-loop over levels
4851
4918
 
4852
4919
  std::cout << "Live Blob Files:" << std::endl;
4853
4920
  const auto& blob_files = column_metadata.blob_files;
@@ -4861,8 +4928,8 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
4861
4928
  blob_metadata.blob_file_path + "/" + blob_metadata.blob_file_name);
4862
4929
  std::cout << filename << std::endl;
4863
4930
  } // End of for-loop over blob files
4864
- } // End of for-loop over column metadata
4865
- } // End of else ("not sort_by_filename")
4931
+ } // End of for-loop over column metadata
4932
+ } // End of else ("not sort_by_filename")
4866
4933
  std::cout << "------------------------------" << std::endl;
4867
4934
  }
4868
4935
 
@@ -5065,7 +5132,8 @@ void IngestExternalSstFilesCommand::OverrideBaseOptions() {
5065
5132
  ListFileRangeDeletesCommand::ListFileRangeDeletesCommand(
5066
5133
  const std::map<std::string, std::string>& options,
5067
5134
  const std::vector<std::string>& flags)
5068
- : LDBCommand(options, flags, true, BuildCmdLineOptions({ARG_MAX_KEYS})) {
5135
+ : LDBCommand(options, flags, true /* is_read_only */,
5136
+ BuildCmdLineOptions({ARG_MAX_KEYS})) {
5069
5137
  auto itr = options.find(ARG_MAX_KEYS);
5070
5138
  if (itr != options.end()) {
5071
5139
  try {
@@ -6,6 +6,7 @@
6
6
  #include "rocksdb/utilities/ldb_cmd.h"
7
7
 
8
8
  #include <cinttypes>
9
+ #include <iomanip>
9
10
 
10
11
  #include "db/db_test_util.h"
11
12
  #include "db/version_edit.h"
@@ -140,7 +140,7 @@ void LDBCommandRunner::PrintHelp(const LDBOptions& ldb_options,
140
140
  }
141
141
 
142
142
  int LDBCommandRunner::RunCommand(
143
- int argc, char const* const* argv, Options options,
143
+ int argc, char const* const* argv, const Options& options,
144
144
  const LDBOptions& ldb_options,
145
145
  const std::vector<ColumnFamilyDescriptor>* column_families) {
146
146
  if (argc <= 2) {
@@ -4,7 +4,6 @@
4
4
  // (found in the LICENSE.Apache file in the root directory).
5
5
  //
6
6
 
7
-
8
7
  #include "db/db_impl/db_impl.h"
9
8
  #include "db/version_set.h"
10
9
  #include "rocksdb/db.h"
@@ -210,4 +209,3 @@ int main(int argc, char** argv) {
210
209
  ::testing::InitGoogleTest(&argc, argv);
211
210
  return RUN_ALL_TESTS();
212
211
  }
213
-
@@ -3,14 +3,14 @@
3
3
  // COPYING file in the root directory) and Apache 2.0 License
4
4
  // (found in the LICENSE.Apache file in the root directory).
5
5
 
6
- #include "util/stop_watch.h"
6
+ #include "tools/simulated_hybrid_file_system.h"
7
7
 
8
8
  #include <algorithm>
9
9
  #include <sstream>
10
10
  #include <string>
11
11
 
12
12
  #include "rocksdb/rate_limiter.h"
13
- #include "tools/simulated_hybrid_file_system.h"
13
+ #include "util/stop_watch.h"
14
14
 
15
15
  namespace ROCKSDB_NAMESPACE {
16
16
 
@@ -5,7 +5,6 @@
5
5
 
6
6
  #pragma once
7
7
 
8
-
9
8
  #include <utility>
10
9
 
11
10
  #include "rocksdb/file_system.h"
@@ -121,4 +120,3 @@ class SimulatedWritableFile : public FSWritableFileWrapper {
121
120
  void SimulateIOWait(int64_t num_requests) const;
122
121
  };
123
122
  } // namespace ROCKSDB_NAMESPACE
124
-
@@ -197,6 +197,8 @@ int SSTDumpTool::Run(int argc, char const* const* argv, Options options) {
197
197
 
198
198
  int64_t tmp_val;
199
199
 
200
+ TEST_AllowUnsupportedFormatVersion() = true;
201
+
200
202
  for (int i = 1; i < argc; i++) {
201
203
  if (strncmp(argv[i], "--env_uri=", 10) == 0) {
202
204
  env_uri = argv[i] + 10;
@@ -585,4 +587,3 @@ int SSTDumpTool::Run(int argc, char const* const* argv, Options options) {
585
587
  }
586
588
  }
587
589
  } // namespace ROCKSDB_NAMESPACE
588
-
@@ -0,0 +1,94 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates. 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
+
6
+ #include "rocksdb/tool_hooks.h"
7
+
8
+ #include "rocksdb/convenience.h"
9
+ #include "rocksdb/db.h"
10
+ #include "rocksdb/options.h"
11
+ #include "rocksdb/utilities/optimistic_transaction_db.h"
12
+ #include "rocksdb/utilities/options_type.h"
13
+ #include "rocksdb/utilities/transaction_db.h"
14
+ #include "utilities/blob_db/blob_db.h"
15
+
16
+ namespace ROCKSDB_NAMESPACE {
17
+
18
+ Status DefaultHooks::Open(const Options& db_options, const std::string& name,
19
+ DB** dbptr) {
20
+ return DB::Open(db_options, name, dbptr);
21
+ };
22
+
23
+ Status DefaultHooks::Open(
24
+ const DBOptions& db_options, const std::string& name,
25
+ const std::vector<ColumnFamilyDescriptor>& column_families,
26
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr) {
27
+ return DB::Open(db_options, name, column_families, handles, dbptr);
28
+ };
29
+
30
+ Status DefaultHooks::OpenForReadOnly(const Options& options,
31
+ const std::string& name, DB** dbptr,
32
+ bool error_if_wal_file_exists = false) {
33
+ return DB::OpenForReadOnly(options, name, dbptr, error_if_wal_file_exists);
34
+ };
35
+
36
+ Status DefaultHooks::OpenForReadOnly(
37
+ const Options& options, const std::string& name,
38
+ const std::vector<ColumnFamilyDescriptor>& column_families,
39
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr) {
40
+ return DB::OpenForReadOnly(options, name, column_families, handles, dbptr);
41
+ };
42
+ Status DefaultHooks::OpenTransactionDB(
43
+ const Options& db_options, const TransactionDBOptions& txn_db_options,
44
+ const std::string& dbname, TransactionDB** dbptr) {
45
+ return TransactionDB::Open(db_options, txn_db_options, dbname, dbptr);
46
+ };
47
+
48
+ Status DefaultHooks::OpenTransactionDB(
49
+ const DBOptions& db_options, const TransactionDBOptions& txn_db_options,
50
+ const std::string& dbname,
51
+ const std::vector<ColumnFamilyDescriptor>& column_families,
52
+ std::vector<ColumnFamilyHandle*>* handles, TransactionDB** dbptr) {
53
+ return TransactionDB::Open(db_options, txn_db_options, dbname,
54
+ column_families, handles, dbptr);
55
+ };
56
+
57
+ Status DefaultHooks::OpenOptimisticTransactionDB(
58
+ const Options& options, const std::string& dbname,
59
+ OptimisticTransactionDB** dbptr) {
60
+ return OptimisticTransactionDB::Open(options, dbname, dbptr);
61
+ };
62
+
63
+ Status DefaultHooks::OpenOptimisticTransactionDB(
64
+ const DBOptions& db_options, const std::string& dbname,
65
+ const std::vector<ColumnFamilyDescriptor>& column_families,
66
+ std::vector<ColumnFamilyHandle*>* handles,
67
+ OptimisticTransactionDB** dbptr) {
68
+ return OptimisticTransactionDB::Open(db_options, dbname, column_families,
69
+ handles, dbptr);
70
+ }
71
+
72
+ Status DefaultHooks::OpenAsSecondary(const Options& options,
73
+ const std::string& name,
74
+ const std::string& secondary_path,
75
+ DB** dbptr) {
76
+ return DB::OpenAsSecondary(options, name, secondary_path, dbptr);
77
+ }
78
+ Status DefaultHooks::OpenAsFollower(const Options& options,
79
+ const std::string& name,
80
+ const std::string& leader_path,
81
+ std::unique_ptr<DB>* dbptr) {
82
+ return DB::OpenAsFollower(options, name, leader_path, dbptr);
83
+ };
84
+
85
+ Status DefaultHooks::Open(const Options& options,
86
+ const blob_db::BlobDBOptions& bdb_options,
87
+ const std::string& dbname,
88
+ blob_db::BlobDB** blob_db) {
89
+ return blob_db::BlobDB::Open(options, bdb_options, dbname, blob_db);
90
+ }
91
+
92
+ DefaultHooks defaultHooks;
93
+
94
+ } // namespace ROCKSDB_NAMESPACE
@@ -4,7 +4,6 @@
4
4
  // (found in the LICENSE.Apache file in the root directory).
5
5
  //
6
6
 
7
-
8
7
  #ifdef GFLAGS
9
8
  #ifdef NUMA
10
9
  #include <numa.h>
@@ -326,4 +326,3 @@ class TraceAnalyzer : private TraceRecord::Handler,
326
326
  int trace_analyzer_tool(int argc, char** argv);
327
327
 
328
328
  } // namespace ROCKSDB_NAMESPACE
329
-
@@ -82,7 +82,7 @@ Status IOTraceWriter::WriteIOOp(const IOTraceRecord& record,
82
82
  uint32_t set_pos = static_cast<uint32_t>(log2(trace_data & -trace_data));
83
83
  switch (set_pos) {
84
84
  case IODebugContext::TraceData::kRequestID: {
85
- Slice request_id(dbg->request_id);
85
+ Slice request_id(*dbg->request_id);
86
86
  PutLengthPrefixedSlice(&trace.payload, request_id);
87
87
  } break;
88
88
  default:
@@ -145,7 +145,8 @@ TEST_F(IOTracerTest, MultipleRecordsWithDifferentIOOpOptions) {
145
145
  // Write record with IODebugContext.
146
146
  io_op_data = 0;
147
147
  IODebugContext dbg;
148
- dbg.SetRequestId("request_id_1");
148
+ const std::string test_request_id = "request_id_1";
149
+ dbg.SetRequestId(&test_request_id);
149
150
  IOTraceRecord record5(0, TraceType::kIOTracer, io_op_data,
150
151
  GetFileOperation(5), 10 /*latency*/,
151
152
  IOStatus::OK().ToString(), file_name);