@nxtedition/rocksdb 13.5.7 → 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 (509) hide show
  1. package/binding.cc +248 -70
  2. package/binding.gyp +2 -2
  3. package/deps/rocksdb/rocksdb/BUCK +12 -0
  4. package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -0
  5. package/deps/rocksdb/rocksdb/Makefile +28 -23
  6. package/deps/rocksdb/rocksdb/cache/cache.cc +0 -1
  7. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -2
  8. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +43 -39
  9. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +2 -0
  10. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +0 -1
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +2 -3
  12. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
  13. package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +1 -3
  14. package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +11 -1
  15. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +13 -5
  16. package/deps/rocksdb/rocksdb/crash_test.mk +61 -15
  17. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +136 -45
  18. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +34 -16
  19. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +10 -7
  20. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -2
  21. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +1 -0
  22. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +12 -9
  23. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +3 -4
  24. package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +2 -2
  25. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +3 -4
  26. package/deps/rocksdb/rocksdb/db/builder.cc +22 -8
  27. package/deps/rocksdb/rocksdb/db/builder.h +5 -4
  28. package/deps/rocksdb/rocksdb/db/c.cc +556 -15
  29. package/deps/rocksdb/rocksdb/db/c_test.c +133 -12
  30. package/deps/rocksdb/rocksdb/db/column_family.cc +114 -50
  31. package/deps/rocksdb/rocksdb/db/column_family.h +53 -36
  32. package/deps/rocksdb/rocksdb/db/column_family_test.cc +6 -6
  33. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -1
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +95 -70
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +71 -51
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -86
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +26 -68
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +0 -122
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +453 -258
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +117 -92
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -1
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +38 -38
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +24 -17
  44. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +34 -45
  45. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -31
  46. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -3
  47. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +1 -1
  48. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +2 -1
  49. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +10 -10
  50. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +2 -1
  51. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +82 -34
  52. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +267 -179
  53. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +4 -1
  54. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +273 -89
  55. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +300 -14
  56. package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +4 -4
  57. package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +2 -2
  58. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +28 -23
  59. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +69 -51
  60. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +522 -245
  61. package/deps/rocksdb/rocksdb/db/convenience.cc +15 -4
  62. package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -3
  63. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -2
  64. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +196 -17
  65. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +74 -62
  66. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +48 -0
  67. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +682 -250
  68. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -1
  69. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +3 -4
  70. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +11 -16
  71. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +57 -0
  72. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +2 -2
  73. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -1
  74. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +540 -490
  75. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +347 -188
  76. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +584 -217
  77. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +13 -9
  78. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -7
  79. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +40 -36
  80. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -3
  81. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +751 -372
  82. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +35 -32
  83. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +24 -2
  84. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +125 -63
  85. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
  86. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +311 -196
  87. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +15 -5
  88. package/deps/rocksdb/rocksdb/db/db_iter.cc +42 -29
  89. package/deps/rocksdb/rocksdb/db/db_iter.h +96 -31
  90. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +3 -4
  91. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +168 -228
  92. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +454 -0
  93. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +8 -8
  94. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -1
  95. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +90 -0
  96. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +60 -2
  97. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +7 -3
  98. package/deps/rocksdb/rocksdb/db/db_options_test.cc +85 -27
  99. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -1
  100. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -2
  101. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +114 -2
  102. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -1
  103. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -1
  104. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +51 -3
  105. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -1
  106. package/deps/rocksdb/rocksdb/db/db_test.cc +325 -18
  107. package/deps/rocksdb/rocksdb/db/db_test2.cc +644 -20
  108. package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
  109. package/deps/rocksdb/rocksdb/db/db_test_util.h +9 -0
  110. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +64 -45
  111. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +203 -14
  112. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +259 -30
  113. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -1
  114. package/deps/rocksdb/rocksdb/db/db_write_test.cc +75 -1
  115. package/deps/rocksdb/rocksdb/db/dbformat.h +70 -6
  116. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -190
  117. package/deps/rocksdb/rocksdb/db/error_handler.cc +22 -7
  118. package/deps/rocksdb/rocksdb/db/error_handler.h +16 -1
  119. package/deps/rocksdb/rocksdb/db/event_helpers.cc +41 -26
  120. package/deps/rocksdb/rocksdb/db/experimental.cc +4 -3
  121. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +464 -78
  122. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +166 -69
  123. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +54 -25
  124. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -3
  125. package/deps/rocksdb/rocksdb/db/flush_job.cc +98 -81
  126. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -9
  127. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +80 -84
  128. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  129. package/deps/rocksdb/rocksdb/db/forward_iterator.h +2 -2
  130. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +12 -19
  131. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -2
  132. package/deps/rocksdb/rocksdb/db/internal_stats.cc +41 -15
  133. package/deps/rocksdb/rocksdb/db/internal_stats.h +63 -52
  134. package/deps/rocksdb/rocksdb/db/job_context.h +59 -24
  135. package/deps/rocksdb/rocksdb/db/listener_test.cc +69 -10
  136. package/deps/rocksdb/rocksdb/db/log_format.h +11 -2
  137. package/deps/rocksdb/rocksdb/db/log_reader.cc +147 -34
  138. package/deps/rocksdb/rocksdb/db/log_reader.h +40 -11
  139. package/deps/rocksdb/rocksdb/db/log_test.cc +16 -3
  140. package/deps/rocksdb/rocksdb/db/log_writer.cc +102 -55
  141. package/deps/rocksdb/rocksdb/db/log_writer.h +21 -2
  142. package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
  143. package/deps/rocksdb/rocksdb/db/memtable.cc +16 -47
  144. package/deps/rocksdb/rocksdb/db/memtable.h +76 -12
  145. package/deps/rocksdb/rocksdb/db/memtable_list.cc +23 -20
  146. package/deps/rocksdb/rocksdb/db/memtable_list.h +9 -11
  147. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +18 -37
  148. package/deps/rocksdb/rocksdb/db/merge_context.h +2 -1
  149. package/deps/rocksdb/rocksdb/db/merge_test.cc +8 -0
  150. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +3 -5
  151. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +15 -7
  152. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +6 -3
  153. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +22 -4
  154. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +41 -1
  155. package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -1
  156. package/deps/rocksdb/rocksdb/db/repair.cc +29 -34
  157. package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -1
  158. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +14 -15
  159. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +1 -3
  160. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +47 -1
  161. package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -3
  162. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +1 -3
  163. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +2 -1
  164. package/deps/rocksdb/rocksdb/db/version_builder.cc +2 -2
  165. package/deps/rocksdb/rocksdb/db/version_edit.cc +8 -37
  166. package/deps/rocksdb/rocksdb/db/version_edit.h +32 -1
  167. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +26 -18
  168. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -5
  169. package/deps/rocksdb/rocksdb/db/version_set.cc +282 -197
  170. package/deps/rocksdb/rocksdb/db/version_set.h +54 -57
  171. package/deps/rocksdb/rocksdb/db/version_set_test.cc +28 -35
  172. package/deps/rocksdb/rocksdb/db/version_util.h +2 -3
  173. package/deps/rocksdb/rocksdb/db/wal_manager.cc +3 -2
  174. package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -1
  175. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -1
  176. package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +1 -0
  177. package/deps/rocksdb/rocksdb/db/write_batch.cc +22 -8
  178. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +5 -4
  179. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +7 -6
  180. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -4
  181. package/deps/rocksdb/rocksdb/db/write_thread.h +3 -3
  182. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +13 -5
  183. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -2
  184. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +39 -0
  185. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +65 -0
  186. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +45 -22
  187. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +7 -4
  188. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +22 -5
  189. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +28 -3
  190. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -38
  191. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -3
  192. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +80 -32
  193. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +51 -2
  194. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +23 -1
  195. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +305 -15
  196. package/deps/rocksdb/rocksdb/env/env.cc +32 -2
  197. package/deps/rocksdb/rocksdb/env/env_encryption.cc +0 -2
  198. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -4
  199. package/deps/rocksdb/rocksdb/env/env_posix.cc +4 -2
  200. package/deps/rocksdb/rocksdb/env/env_test.cc +0 -1
  201. package/deps/rocksdb/rocksdb/env/fs_posix.cc +20 -11
  202. package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
  203. package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
  204. package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
  205. package/deps/rocksdb/rocksdb/env/io_posix.cc +6 -4
  206. package/deps/rocksdb/rocksdb/env/io_posix.h +3 -2
  207. package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -1
  208. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +2 -2
  209. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
  210. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -2
  211. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +30 -21
  212. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +16 -0
  213. package/deps/rocksdb/rocksdb/file/file_util.cc +32 -14
  214. package/deps/rocksdb/rocksdb/file/file_util.h +22 -5
  215. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +229 -76
  216. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +21 -12
  217. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +10 -7
  218. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +12 -8
  219. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +1 -2
  220. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
  221. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +3 -3
  222. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +598 -0
  223. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_iterator.h +36 -0
  224. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +70 -11
  225. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +232 -11
  226. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -1
  227. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -1
  228. package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +149 -15
  229. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +17 -2
  230. package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +132 -34
  231. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +158 -79
  232. package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +2 -1
  233. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +4 -5
  234. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -3
  235. package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +5 -0
  236. package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +275 -0
  237. package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +2 -1
  238. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +50 -5
  239. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +10 -0
  240. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +13 -0
  241. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -1
  242. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +5 -2
  243. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +13 -0
  244. package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +237 -0
  245. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +230 -39
  246. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +15 -0
  247. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +31 -11
  248. package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +41 -0
  249. package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +1 -1
  250. package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -1
  251. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +5 -1
  252. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -1
  253. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +18 -3
  254. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +2 -0
  255. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +20 -8
  256. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +19 -2
  257. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
  258. package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +124 -0
  259. package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +1 -0
  260. package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +26 -1
  261. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +55 -6
  262. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +3 -5
  263. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
  264. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -2
  265. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -1
  266. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +1 -2
  267. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +0 -1
  268. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index.h +96 -8
  269. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index_faiss.h +117 -0
  270. package/deps/rocksdb/rocksdb/{utilities/secondary_index/faiss_ivf_index.h → include/rocksdb/utilities/secondary_index_simple.h} +11 -14
  271. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +26 -11
  272. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +16 -3
  273. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
  274. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +63 -7
  275. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -1
  276. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +28 -12
  277. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
  278. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -2
  279. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -2
  280. package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
  281. package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -1
  282. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -1
  283. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +3 -1
  284. package/deps/rocksdb/rocksdb/memtable/skiplist.h +2 -2
  285. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +2 -4
  286. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +69 -8
  287. package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.cc +32 -9
  288. package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.h +58 -45
  289. package/deps/rocksdb/rocksdb/monitoring/histogram.h +1 -1
  290. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -3
  291. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +5 -0
  292. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
  293. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +3 -2
  294. package/deps/rocksdb/rocksdb/options/cf_options.cc +44 -13
  295. package/deps/rocksdb/rocksdb/options/cf_options.h +21 -7
  296. package/deps/rocksdb/rocksdb/options/configurable.cc +5 -5
  297. package/deps/rocksdb/rocksdb/options/configurable_test.h +1 -2
  298. package/deps/rocksdb/rocksdb/options/customizable.cc +0 -1
  299. package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -11
  300. package/deps/rocksdb/rocksdb/options/db_options.cc +18 -15
  301. package/deps/rocksdb/rocksdb/options/db_options.h +2 -2
  302. package/deps/rocksdb/rocksdb/options/options.cc +296 -305
  303. package/deps/rocksdb/rocksdb/options/options_helper.cc +188 -62
  304. package/deps/rocksdb/rocksdb/options/options_helper.h +3 -3
  305. package/deps/rocksdb/rocksdb/options/options_parser.cc +2 -4
  306. package/deps/rocksdb/rocksdb/options/options_parser.h +0 -1
  307. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +17 -4
  308. package/deps/rocksdb/rocksdb/options/options_test.cc +101 -76
  309. package/deps/rocksdb/rocksdb/port/lang.h +2 -1
  310. package/deps/rocksdb/rocksdb/port/port_posix.cc +2 -1
  311. package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -4
  312. package/deps/rocksdb/rocksdb/port/win/env_win.cc +3 -2
  313. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +99 -1
  314. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +6 -0
  315. package/deps/rocksdb/rocksdb/src.mk +17 -11
  316. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -1
  317. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1094 -929
  318. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +6 -19
  319. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +76 -22
  320. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +2 -0
  321. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +221 -131
  322. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +12 -9
  323. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +23 -24
  324. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -38
  325. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +7 -4
  326. package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +5 -5
  327. package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +10 -12
  328. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +6 -4
  329. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +35 -43
  330. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +2 -1
  331. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
  332. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -2
  333. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -4
  334. package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +0 -1
  335. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +3 -3
  336. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -3
  337. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -4
  338. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +1 -1
  339. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -5
  340. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +4 -4
  341. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +37 -35
  342. package/deps/rocksdb/rocksdb/table/block_fetcher.h +11 -7
  343. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +4 -3
  344. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +31 -5
  345. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +2 -1
  346. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -1
  347. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -1
  348. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -1
  349. package/deps/rocksdb/rocksdb/table/external_table.cc +483 -0
  350. package/deps/rocksdb/rocksdb/table/format.cc +62 -44
  351. package/deps/rocksdb/rocksdb/table/format.h +35 -12
  352. package/deps/rocksdb/rocksdb/table/internal_iterator.h +3 -13
  353. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
  354. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +6 -0
  355. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +150 -141
  356. package/deps/rocksdb/rocksdb/table/meta_blocks.h +5 -0
  357. package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -2
  358. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +8 -0
  359. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -1
  360. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
  361. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
  362. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -1
  363. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +6 -6
  364. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
  365. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +86 -7
  366. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +88 -2
  367. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -1
  368. package/deps/rocksdb/rocksdb/table/table_builder.h +10 -1
  369. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +3 -2
  370. package/deps/rocksdb/rocksdb/table/table_test.cc +899 -22
  371. package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -4
  372. package/deps/rocksdb/rocksdb/test_util/testutil.h +132 -1
  373. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -1
  374. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
  375. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +163 -77
  376. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +0 -2
  377. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -1
  378. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -1
  379. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +120 -52
  380. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +1 -0
  381. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
  382. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -2
  383. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +2 -2
  384. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
  385. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +2 -1
  386. package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +94 -0
  387. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +0 -1
  388. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +0 -1
  389. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +1 -1
  390. package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +2 -1
  391. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +3 -5
  392. package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
  393. package/deps/rocksdb/rocksdb/util/async_file_reader.h +15 -8
  394. package/deps/rocksdb/rocksdb/util/auto_skip_compressor.cc +131 -0
  395. package/deps/rocksdb/rocksdb/util/auto_skip_compressor.h +90 -0
  396. package/deps/rocksdb/rocksdb/util/autovector.h +1 -1
  397. package/deps/rocksdb/rocksdb/util/autovector_test.cc +2 -2
  398. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -2
  399. package/deps/rocksdb/rocksdb/util/compression.cc +936 -4
  400. package/deps/rocksdb/rocksdb/util/compression.h +348 -232
  401. package/deps/rocksdb/rocksdb/util/compression_test.cc +229 -0
  402. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +10 -10
  403. package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +1 -0
  404. package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -0
  405. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -3
  406. package/deps/rocksdb/rocksdb/util/ppc-opcode.h +5 -5
  407. package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +108 -0
  408. package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +67 -0
  409. package/deps/rocksdb/rocksdb/util/slice_test.cc +83 -0
  410. package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
  411. package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
  412. package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
  413. package/deps/rocksdb/rocksdb/util/udt_util.cc +18 -5
  414. package/deps/rocksdb/rocksdb/util/udt_util.h +10 -7
  415. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +650 -154
  416. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +438 -144
  417. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -1
  418. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -1
  419. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -1
  420. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +16 -17
  421. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +2 -1
  422. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -1
  423. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -1
  424. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +7 -8
  425. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +4 -3
  426. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -1
  427. package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -1
  428. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +2 -2
  429. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
  430. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +0 -48
  431. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -1
  432. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -1
  433. package/deps/rocksdb/rocksdb/utilities/debug.cc +7 -14
  434. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -1
  435. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -2
  436. package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -1
  437. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -2
  438. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -3
  439. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +10 -9
  440. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -1
  441. package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -1
  442. package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +1 -0
  443. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -2
  444. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -1
  445. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +0 -1
  446. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -1
  447. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
  448. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
  449. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -1
  450. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
  451. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
  452. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
  453. package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
  454. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
  455. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -1
  456. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
  457. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -1
  458. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
  459. package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index.cc +183 -32
  460. package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index_test.cc +258 -12
  461. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_helper.h +33 -0
  462. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_iterator.cc +99 -0
  463. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_mixin.h +280 -120
  464. package/deps/rocksdb/rocksdb/utilities/secondary_index/simple_secondary_index.cc +79 -0
  465. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +52 -16
  466. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +10 -6
  467. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +55 -0
  468. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -1
  469. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
  470. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -1
  471. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +37 -12
  472. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -0
  473. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -2
  474. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
  475. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
  476. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +1 -1
  477. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  478. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +2 -1
  479. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +2 -2
  480. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -1
  481. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
  482. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +1 -3
  483. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +36 -10
  484. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +5 -7
  485. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +4 -5
  486. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -4
  487. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +1 -2
  488. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
  489. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -1
  490. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1118 -37
  491. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +4 -7
  492. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
  493. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
  494. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -3
  495. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1
  496. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -2
  497. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1 -2
  498. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +1 -2
  499. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -1
  500. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -3
  501. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +125 -127
  502. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +45 -23
  503. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +54 -22
  504. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +477 -58
  505. package/deps/rocksdb/rocksdb.gyp +9 -4
  506. package/index.js +50 -9
  507. package/package.json +8 -1
  508. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  509. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
@@ -22,6 +22,7 @@
22
22
  #include "rocksdb/iterator.h"
23
23
  #include "rocksdb/listener.h"
24
24
  #include "rocksdb/metadata.h"
25
+ #include "rocksdb/multi_scan.h"
25
26
  #include "rocksdb/options.h"
26
27
  #include "rocksdb/snapshot.h"
27
28
  #include "rocksdb/sst_file_writer.h"
@@ -30,14 +31,10 @@
30
31
  #include "rocksdb/types.h"
31
32
  #include "rocksdb/user_write_callback.h"
32
33
  #include "rocksdb/utilities/table_properties_collectors.h"
34
+ #include "rocksdb/utilities/write_batch_with_index.h"
33
35
  #include "rocksdb/version.h"
34
36
  #include "rocksdb/wide_columns.h"
35
37
 
36
- #ifdef _WIN32
37
- // Windows API macro interference
38
- #undef DeleteFile
39
- #endif
40
-
41
38
  #if defined(__GNUC__) || defined(__clang__)
42
39
  #define ROCKSDB_DEPRECATED_FUNC __attribute__((__deprecated__))
43
40
  #elif _WIN32
@@ -101,43 +98,6 @@ class ColumnFamilyHandle {
101
98
  static const int kMajorVersion = __ROCKSDB_MAJOR__;
102
99
  static const int kMinorVersion = __ROCKSDB_MINOR__;
103
100
 
104
- // A range of keys
105
- struct Range {
106
- // In case of user_defined timestamp, if enabled, `start` and `limit` should
107
- // point to key without timestamp part.
108
- Slice start;
109
- Slice limit;
110
-
111
- Range() {}
112
- Range(const Slice& s, const Slice& l) : start(s), limit(l) {}
113
- };
114
-
115
- struct RangePtr {
116
- // In case of user_defined timestamp, if enabled, `start` and `limit` should
117
- // point to key without timestamp part.
118
- const Slice* start;
119
- const Slice* limit;
120
-
121
- RangePtr() : start(nullptr), limit(nullptr) {}
122
- RangePtr(const Slice* s, const Slice* l) : start(s), limit(l) {}
123
- };
124
-
125
- // It is valid that files_checksums and files_checksum_func_names are both
126
- // empty (no checksum information is provided for ingestion). Otherwise,
127
- // their sizes should be the same as external_files. The file order should
128
- // be the same in three vectors and guaranteed by the caller.
129
- // Note that, we assume the temperatures of this batch of files to be
130
- // ingested are the same.
131
- struct IngestExternalFileArg {
132
- ColumnFamilyHandle* column_family = nullptr;
133
- std::vector<std::string> external_files;
134
- IngestExternalFileOptions options;
135
- std::vector<std::string> files_checksums;
136
- std::vector<std::string> files_checksum_func_names;
137
- // A hint as to the temperature for *reading* the files to be ingested.
138
- Temperature file_temperature = Temperature::kUnknown;
139
- };
140
-
141
101
  struct GetMergeOperandsOptions {
142
102
  using ContinueCallback = std::function<bool(Slice)>;
143
103
 
@@ -184,7 +144,15 @@ class DB {
184
144
  //
185
145
  // Caller must delete *dbptr when it is no longer needed.
186
146
  static Status Open(const Options& options, const std::string& name,
187
- DB** dbptr);
147
+ std::unique_ptr<DB>* dbptr);
148
+ // DEPRECATED: raw pointer variant
149
+ static Status Open(const Options& options, const std::string& name,
150
+ DB** dbptr) {
151
+ std::unique_ptr<DB> smart_ptr;
152
+ Status s = Open(options, name, &smart_ptr);
153
+ *dbptr = smart_ptr.release();
154
+ return s;
155
+ }
188
156
 
189
157
  // Open DB with column families.
190
158
  // db_options specify database specific options
@@ -202,7 +170,17 @@ class DB {
202
170
  // DestroyColumnFamilyHandle() with all the handles.
203
171
  static Status Open(const DBOptions& db_options, const std::string& name,
204
172
  const std::vector<ColumnFamilyDescriptor>& column_families,
205
- std::vector<ColumnFamilyHandle*>* handles, DB** dbptr);
173
+ std::vector<ColumnFamilyHandle*>* handles,
174
+ std::unique_ptr<DB>* dbptr);
175
+ // DEPRECATED: raw pointer variant
176
+ static Status Open(const DBOptions& db_options, const std::string& name,
177
+ const std::vector<ColumnFamilyDescriptor>& column_families,
178
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr) {
179
+ std::unique_ptr<DB> smart_ptr;
180
+ Status s = Open(db_options, name, column_families, handles, &smart_ptr);
181
+ *dbptr = smart_ptr.release();
182
+ return s;
183
+ }
206
184
 
207
185
  // OpenForReadOnly() creates a Read-only instance that supports reads alone.
208
186
  //
@@ -219,8 +197,18 @@ class DB {
219
197
  // Open the database for read only.
220
198
  //
221
199
  static Status OpenForReadOnly(const Options& options, const std::string& name,
222
- DB** dbptr,
200
+ std::unique_ptr<DB>* dbptr,
223
201
  bool error_if_wal_file_exists = false);
202
+ // DEPRECATED: raw pointer variant
203
+ static Status OpenForReadOnly(const Options& options, const std::string& name,
204
+ DB** dbptr,
205
+ bool error_if_wal_file_exists = false) {
206
+ std::unique_ptr<DB> smart_ptr;
207
+ Status s =
208
+ OpenForReadOnly(options, name, &smart_ptr, error_if_wal_file_exists);
209
+ *dbptr = smart_ptr.release();
210
+ return s;
211
+ }
224
212
 
225
213
  // Open the database for read only with column families.
226
214
  //
@@ -232,8 +220,20 @@ class DB {
232
220
  static Status OpenForReadOnly(
233
221
  const DBOptions& db_options, const std::string& name,
234
222
  const std::vector<ColumnFamilyDescriptor>& column_families,
235
- std::vector<ColumnFamilyHandle*>* handles, DB** dbptr,
223
+ std::vector<ColumnFamilyHandle*>* handles, std::unique_ptr<DB>* dbptr,
236
224
  bool error_if_wal_file_exists = false);
225
+ // DEPRECATED: raw pointer variant
226
+ static Status OpenForReadOnly(
227
+ const DBOptions& db_options, const std::string& name,
228
+ const std::vector<ColumnFamilyDescriptor>& column_families,
229
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr,
230
+ bool error_if_wal_file_exists = false) {
231
+ std::unique_ptr<DB> smart_ptr;
232
+ Status s = OpenForReadOnly(db_options, name, column_families, handles,
233
+ &smart_ptr, error_if_wal_file_exists);
234
+ *dbptr = smart_ptr.release();
235
+ return s;
236
+ }
237
237
 
238
238
  // OpenAsSecondary() creates a secondary instance that supports read-only
239
239
  // operations and supports dynamic catch up with the primary (through a
@@ -259,8 +259,24 @@ class DB {
259
259
  // delete it after use.
260
260
  //
261
261
  // Return OK on success, non-OK on failures.
262
+ //
263
+ // WARNING: Secondary databases cannot read shared SST files that have been
264
+ // truncated in the primary database. To avoid compatibility issues, users
265
+ // should refrain from using features in the primary database that can cause
266
+ // truncation, such as setting `rate_bytes_per_sec > 0` and
267
+ // `bytes_max_delete_chunk > 0` when invoking RocksDB's implementation of
268
+ // `NewSstFileManager()`.
262
269
  static Status OpenAsSecondary(const Options& options, const std::string& name,
263
- const std::string& secondary_path, DB** dbptr);
270
+ const std::string& secondary_path,
271
+ std::unique_ptr<DB>* dbptr);
272
+ // DEPRECATED: raw pointer variant
273
+ static Status OpenAsSecondary(const Options& options, const std::string& name,
274
+ const std::string& secondary_path, DB** dbptr) {
275
+ std::unique_ptr<DB> smart_ptr;
276
+ Status s = OpenAsSecondary(options, name, secondary_path, &smart_ptr);
277
+ *dbptr = smart_ptr.release();
278
+ return s;
279
+ }
264
280
 
265
281
  // Open DB as secondary instance with specified column families
266
282
  //
@@ -298,7 +314,19 @@ class DB {
298
314
  const DBOptions& db_options, const std::string& name,
299
315
  const std::string& secondary_path,
300
316
  const std::vector<ColumnFamilyDescriptor>& column_families,
301
- std::vector<ColumnFamilyHandle*>* handles, DB** dbptr);
317
+ std::vector<ColumnFamilyHandle*>* handles, std::unique_ptr<DB>* dbptr);
318
+ // DEPRECATED: raw pointer variant
319
+ static Status OpenAsSecondary(
320
+ const DBOptions& db_options, const std::string& name,
321
+ const std::string& secondary_path,
322
+ const std::vector<ColumnFamilyDescriptor>& column_families,
323
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr) {
324
+ std::unique_ptr<DB> smart_ptr;
325
+ Status s = OpenAsSecondary(db_options, name, secondary_path,
326
+ column_families, handles, &smart_ptr);
327
+ *dbptr = smart_ptr.release();
328
+ return s;
329
+ }
302
330
 
303
331
  // EXPERIMENTAL
304
332
 
@@ -349,8 +377,20 @@ class DB {
349
377
  static Status OpenAndTrimHistory(
350
378
  const DBOptions& db_options, const std::string& dbname,
351
379
  const std::vector<ColumnFamilyDescriptor>& column_families,
352
- std::vector<ColumnFamilyHandle*>* handles, DB** dbptr,
380
+ std::vector<ColumnFamilyHandle*>* handles, std::unique_ptr<DB>* dbptr,
353
381
  std::string trim_ts);
382
+ // DEPRECATED: raw pointer variant
383
+ static Status OpenAndTrimHistory(
384
+ const DBOptions& db_options, const std::string& dbname,
385
+ const std::vector<ColumnFamilyDescriptor>& column_families,
386
+ std::vector<ColumnFamilyHandle*>* handles, DB** dbptr,
387
+ std::string trim_ts) {
388
+ std::unique_ptr<DB> smart_ptr;
389
+ Status s = OpenAndTrimHistory(db_options, dbname, column_families, handles,
390
+ &smart_ptr, trim_ts);
391
+ *dbptr = smart_ptr.release();
392
+ return s;
393
+ }
354
394
 
355
395
  // Manually, synchronously attempt to resume DB writes after a write failure
356
396
  // to the underlying filesystem. See
@@ -578,7 +618,7 @@ class DB {
578
618
  const Slice& /*key*/, const Slice& /*ts*/,
579
619
  const Slice& /*value*/);
580
620
 
581
- // Apply the specified updates to the database.
621
+ // Apply the specified updates atomically to the database.
582
622
  // If `updates` contains no update, WAL will still be synced if
583
623
  // options.sync=true.
584
624
  // Returns OK on success, non-OK on failure.
@@ -594,6 +634,21 @@ class DB {
594
634
  "WriteWithCallback not implemented for this interface.");
595
635
  }
596
636
 
637
+ // EXPERIMENTAL, subject to change
638
+ // Ingest a WriteBatchWithIndex into DB, bypassing memtable writes for better
639
+ // write performance. Useful when there is a large number of updates
640
+ // in the write batch.
641
+ // The WriteBatchWithIndex must be created with overwrite_key=true.
642
+ // Currently this requires WriteOptions::disableWAL=true.
643
+ // The following options are currently not supported:
644
+ // - unordered_write
645
+ // - enable_pipelined_write
646
+ virtual Status IngestWriteBatchWithIndex(
647
+ const WriteOptions& /*options*/,
648
+ std::shared_ptr<WriteBatchWithIndex> /*wbwi*/) {
649
+ return Status::NotSupported("IngestWriteBatchWithIndex not implemented.");
650
+ }
651
+
597
652
  // If the column family specified by "column_family" contains an entry for
598
653
  // "key", return the corresponding value in "*value". If the entry is a plain
599
654
  // key-value, return the value as-is; if it is a wide-column entity, return
@@ -696,8 +751,9 @@ class DB {
696
751
  // Populates the `merge_operands` array with all the merge operands in the DB
697
752
  // for `key`, or a customizable suffix of merge operands when
698
753
  // `GetMergeOperandsOptions::continue_cb` is set. The `merge_operands` array
699
- // will be populated in the order of insertion. The number of entries
700
- // populated in `merge_operands` will be assigned to `*number_of_operands`.
754
+ // will be populated in the order of insertion (older insertions first). The
755
+ // number of entries populated in `merge_operands` will be assigned to
756
+ // `*number_of_operands`.
701
757
  //
702
758
  // If the number of merge operands to return for `key` is greater than
703
759
  // `merge_operands_options.expected_max_number_of_operands`,
@@ -712,6 +768,9 @@ class DB {
712
768
  // The caller should delete or `Reset()` the `merge_operands` entries when
713
769
  // they are no longer needed. All `merge_operands` entries must be destroyed
714
770
  // or `Reset()` before this DB is closed or destroyed.
771
+ // OK status is returned if any merge operand is found.
772
+ // NotFound status is returned if no merge operand is found.
773
+ // Error status is returned if there is an error.
715
774
  virtual Status GetMergeOperands(
716
775
  const ReadOptions& options, ColumnFamilyHandle* column_family,
717
776
  const Slice& key, PinnableSlice* merge_operands,
@@ -1031,6 +1090,18 @@ class DB {
1031
1090
  const ReadOptions& options,
1032
1091
  const std::vector<ColumnFamilyHandle*>& column_families) = 0;
1033
1092
 
1093
+ // Get an iterator that scans multiple key ranges. The scan ranges should
1094
+ // be in increasing order of start key. See multi_scan_iterator.h for more
1095
+ // details.
1096
+ virtual std::unique_ptr<MultiScan> NewMultiScan(
1097
+ const ReadOptions& /*options*/, ColumnFamilyHandle* /*column_family*/,
1098
+ const std::vector<ScanOptions>& /*scan_opts*/) {
1099
+ std::unique_ptr<Iterator> iter(NewErrorIterator(Status::NotSupported()));
1100
+ std::unique_ptr<MultiScan> ms_iter =
1101
+ std::make_unique<MultiScan>(std::move(iter));
1102
+ return ms_iter;
1103
+ }
1104
+
1034
1105
  // Return a handle to the current DB state. Iterators created with
1035
1106
  // this handle will all observe a stable snapshot of the current DB
1036
1107
  // state. The caller must call ReleaseSnapshot(result) when the
@@ -1142,6 +1213,10 @@ class DB {
1142
1213
  // running compactions.
1143
1214
  static const std::string kNumRunningCompactions;
1144
1215
 
1216
+ // "rocksdb.num-running-compaction-sorted-runs" - returns the number of
1217
+ // sorted runs being processed by currently running compactions.
1218
+ static const std::string kNumRunningCompactionSortedRuns;
1219
+
1145
1220
  // "rocksdb.background-errors" - returns accumulated number of background
1146
1221
  // errors.
1147
1222
  static const std::string kBackgroundErrors;
@@ -1612,9 +1687,12 @@ class DB {
1612
1687
  virtual int NumberLevels(ColumnFamilyHandle* column_family) = 0;
1613
1688
  virtual int NumberLevels() { return NumberLevels(DefaultColumnFamily()); }
1614
1689
 
1690
+ // DEPRECATED:
1615
1691
  // Maximum level to which a new compacted memtable is pushed if it
1616
1692
  // does not create overlap.
1617
- virtual int MaxMemCompactionLevel(ColumnFamilyHandle* column_family) = 0;
1693
+ virtual int MaxMemCompactionLevel(ColumnFamilyHandle* /*column_family*/) {
1694
+ return 0;
1695
+ }
1618
1696
  virtual int MaxMemCompactionLevel() {
1619
1697
  return MaxMemCompactionLevel(DefaultColumnFamily());
1620
1698
  }
@@ -1720,6 +1798,25 @@ class DB {
1720
1798
  virtual Status GetFullHistoryTsLow(ColumnFamilyHandle* column_family,
1721
1799
  std::string* ts_low) = 0;
1722
1800
 
1801
+ // EXPERIMENTAL
1802
+ // Get the newest timestamp of the column family. This is only for when the
1803
+ // column family enables user defined timestamp and when timestamps are not
1804
+ // persisted in SST files, a.k.a `persist_user_defined_timestamps=false`.
1805
+ // This checks the mutable memtable, the immutable memtable and the SST files,
1806
+ // and returns the first newest user defined timestamp found.
1807
+ // When user defined timestamp is not persisted in SST files, metadata in
1808
+ // MANIFEST tracks the most recently seen timestamp for SST files, so the
1809
+ // newest timestamp in SST files can be found.
1810
+ // OK status is returned if finding the newest timestamp succeeds, if
1811
+ // `newest_timestamp` is empty, it means the column family hasn't seen any
1812
+ // timestamp. The returned timestamp is encoded, util method `DecodeU64Ts` can
1813
+ // be used to decode it into uint64_t.
1814
+ // User-defined timestamp is required to be increasing per key, the return
1815
+ // value of this API would be most useful if the user-defined timestamp is
1816
+ // monotonically increasing across keys.
1817
+ virtual Status GetNewestUserDefinedTimestamp(
1818
+ ColumnFamilyHandle* column_family, std::string* newest_timestamp) = 0;
1819
+
1723
1820
  // Suspend deleting obsolete files. Compactions will continue to occur,
1724
1821
  // but no obsolete files will be deleted. To resume file deletions, each
1725
1822
  // call to DisableFileDeletions() must be matched by a subsequent call to
@@ -1768,21 +1865,6 @@ class DB {
1768
1865
  const TransactionLogIterator::ReadOptions& read_options =
1769
1866
  TransactionLogIterator::ReadOptions()) = 0;
1770
1867
 
1771
- // Windows API macro interference
1772
- #undef DeleteFile
1773
- // WARNING: This API is planned for removal in RocksDB 7.0 since it does not
1774
- // operate at the proper level of abstraction for a key-value store, and its
1775
- // contract/restrictions are poorly documented. For example, it returns non-OK
1776
- // `Status` for non-bottommost files and files undergoing compaction. Since we
1777
- // do not plan to maintain it, the contract will likely remain underspecified
1778
- // until its removal. Any user is encouraged to read the implementation
1779
- // carefully and migrate away from it when possible.
1780
- //
1781
- // Delete the file name from the db directory and update the internal state to
1782
- // reflect that. Supports deletion of sst and log files only. 'name' must be
1783
- // path relative to the db directory. eg. 000001.sst, /archive/000003.log
1784
- virtual Status DeleteFile(std::string name) = 0;
1785
-
1786
1868
  // Obtains a list of all live table (SST) files and how they fit into the
1787
1869
  // LSM-trees, such as column family, level, key range, etc.
1788
1870
  // This builds a de-normalized form of GetAllColumnFamilyMetaData().
@@ -1846,12 +1928,12 @@ class DB {
1846
1928
  // Retrieve information about the current wal file
1847
1929
  //
1848
1930
  // Note that the log might have rolled after this call in which case
1849
- // the current_log_file would not point to the current log file.
1931
+ // the current_wal_file would not point to the current log file.
1850
1932
  //
1851
- // Additionally, for the sake of optimization current_log_file->StartSequence
1933
+ // Additionally, for the sake of optimization current_wal_file->StartSequence
1852
1934
  // would always be set to 0
1853
1935
  virtual Status GetCurrentWalFile(
1854
- std::unique_ptr<WalFile>* current_log_file) = 0;
1936
+ std::unique_ptr<WalFile>* current_wal_file) = 0;
1855
1937
 
1856
1938
  // IngestExternalFile() will load a list of external SST files (1) into the DB
1857
1939
  // Two primary modes are supported:
@@ -2013,14 +2095,11 @@ class DB {
2013
2095
  ColumnFamilyHandle* column_family, const Range* range, std::size_t n,
2014
2096
  TablePropertiesCollection* props) = 0;
2015
2097
 
2016
- // Get the table properties of files per level.
2017
- virtual Status GetPropertiesOfTablesForLevels(
2018
- ColumnFamilyHandle* /* column_family */,
2019
- std::vector<
2020
- std::unique_ptr<TablePropertiesCollection>>* /* levels_props */) {
2021
- return Status::NotSupported(
2022
- "GetPropertiesOfTablesForLevels() is not implemented.");
2023
- }
2098
+ // Get the table properties of files by level.
2099
+ virtual Status GetPropertiesOfTablesByLevel(
2100
+ ColumnFamilyHandle* column_family,
2101
+ std::vector<std::unique_ptr<TablePropertiesCollection>>*
2102
+ props_by_level) = 0;
2024
2103
 
2025
2104
  virtual Status SuggestCompactRange(ColumnFamilyHandle* /*column_family*/,
2026
2105
  const Slice* /*begin*/,
@@ -5,7 +5,8 @@
5
5
  #pragma once
6
6
 
7
7
  #include "rocksdb/rocksdb_namespace.h"
8
+ #include "rocksdb/tool_hooks.h"
8
9
 
9
10
  namespace ROCKSDB_NAMESPACE {
10
- int db_bench_tool(int argc, char** argv);
11
+ int db_bench_tool(int argc, char** argv, ToolHooks& hooks = defaultHooks);
11
12
  } // namespace ROCKSDB_NAMESPACE
@@ -133,9 +133,6 @@ struct EnvOptions {
133
133
  // See DBOptions doc
134
134
  size_t compaction_readahead_size = 0;
135
135
 
136
- // See DBOptions doc
137
- size_t random_access_max_buffer_size = 0;
138
-
139
136
  // See DBOptions doc
140
137
  size_t writable_file_max_buffer_size = 1024 * 1024;
141
138
 
@@ -458,10 +455,12 @@ class Env : public Customizable {
458
455
  kVerifyFileChecksums = 7,
459
456
  kGetEntity = 8,
460
457
  kMultiGetEntity = 9,
461
- kReadManifest = 10,
458
+ kGetFileChecksumsFromCurrentManifest = 10,
462
459
  kUnknown, // Keep last for easy array of non-unknowns
463
460
  };
464
461
 
462
+ static std::string IOActivityToString(IOActivity activity);
463
+
465
464
  // Arrange to run "(*function)(arg)" once in a background thread, in
466
465
  // the thread pool specified by pri. By default, jobs go to the 'LOW'
467
466
  // priority thread pool.
@@ -630,7 +629,7 @@ class Env : public Customizable {
630
629
  const EnvOptions& env_options,
631
630
  const ImmutableDBOptions& immutable_ops) const;
632
631
 
633
- // OptimizeForCompactionTableWrite will create a new EnvOptions object that
632
+ // OptimizeForCompactionTableRead will create a new EnvOptions object that
634
633
  // is a copy of the EnvOptions in the parameters, but is optimized for reading
635
634
  // table files.
636
635
  virtual EnvOptions OptimizeForCompactionTableRead(
@@ -5,7 +5,6 @@
5
5
 
6
6
  #pragma once
7
7
 
8
-
9
8
  #include <string>
10
9
 
11
10
  #include "rocksdb/customizable.h"
@@ -32,7 +31,7 @@ std::shared_ptr<FileSystem> NewEncryptedFS(
32
31
  // blocks). E.g. CTR (Counter operation mode) supports this requirement.
33
32
  class BlockAccessCipherStream {
34
33
  public:
35
- virtual ~BlockAccessCipherStream(){}
34
+ virtual ~BlockAccessCipherStream() {}
36
35
 
37
36
  // BlockSize returns the size of each block supported by this cipher stream.
38
37
  virtual size_t BlockSize() = 0;
@@ -360,4 +359,3 @@ class EncryptedFileSystem : public FileSystemWrapper {
360
359
  }
361
360
  };
362
361
  } // namespace ROCKSDB_NAMESPACE
363
-
@@ -21,6 +21,11 @@ Status SuggestCompactRange(DB* db, ColumnFamilyHandle* column_family,
21
21
  const Slice* begin, const Slice* end);
22
22
  Status SuggestCompactRange(DB* db, const Slice* begin, const Slice* end);
23
23
 
24
+ // DEPRECATED: this API may be removed in a future release.
25
+ // This operation can be done through CompactRange() by setting
26
+ // CompactRangeOptions::bottommost_level_compaction set to
27
+ // BottommostLevelCompaction::kSkip and setting target level.
28
+ //
24
29
  // Move all L0 files to target_level skipping compaction.
25
30
  // This operation succeeds only if the files in L0 have disjoint ranges; this
26
31
  // is guaranteed to happen, for instance, if keys are inserted in sorted