@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
@@ -24,12 +24,14 @@
24
24
  #include "rocksdb/experimental.h"
25
25
  #include "rocksdb/filter_policy.h"
26
26
  #include "rocksdb/iterator.h"
27
+ #include "rocksdb/listener.h"
27
28
  #include "rocksdb/memtablerep.h"
28
29
  #include "rocksdb/merge_operator.h"
29
30
  #include "rocksdb/options.h"
30
31
  #include "rocksdb/perf_context.h"
31
32
  #include "rocksdb/rate_limiter.h"
32
33
  #include "rocksdb/slice_transform.h"
34
+ #include "rocksdb/sst_file_manager.h"
33
35
  #include "rocksdb/statistics.h"
34
36
  #include "rocksdb/status.h"
35
37
  #include "rocksdb/table.h"
@@ -49,6 +51,7 @@
49
51
  #include "util/stderr_logger.h"
50
52
  #include "utilities/merge_operators.h"
51
53
 
54
+ using ROCKSDB_NAMESPACE::BackgroundErrorReason;
52
55
  using ROCKSDB_NAMESPACE::BackupEngine;
53
56
  using ROCKSDB_NAMESPACE::BackupEngineOptions;
54
57
  using ROCKSDB_NAMESPACE::BackupID;
@@ -65,7 +68,9 @@ using ROCKSDB_NAMESPACE::ColumnFamilyMetaData;
65
68
  using ROCKSDB_NAMESPACE::ColumnFamilyOptions;
66
69
  using ROCKSDB_NAMESPACE::CompactionFilter;
67
70
  using ROCKSDB_NAMESPACE::CompactionFilterFactory;
71
+ using ROCKSDB_NAMESPACE::CompactionJobInfo;
68
72
  using ROCKSDB_NAMESPACE::CompactionOptionsFIFO;
73
+ using ROCKSDB_NAMESPACE::CompactionReason;
69
74
  using ROCKSDB_NAMESPACE::CompactRangeOptions;
70
75
  using ROCKSDB_NAMESPACE::Comparator;
71
76
  using ROCKSDB_NAMESPACE::CompressionType;
@@ -76,8 +81,11 @@ using ROCKSDB_NAMESPACE::DBOptions;
76
81
  using ROCKSDB_NAMESPACE::DbPath;
77
82
  using ROCKSDB_NAMESPACE::Env;
78
83
  using ROCKSDB_NAMESPACE::EnvOptions;
84
+ using ROCKSDB_NAMESPACE::EventListener;
85
+ using ROCKSDB_NAMESPACE::ExternalFileIngestionInfo;
79
86
  using ROCKSDB_NAMESPACE::FileLock;
80
87
  using ROCKSDB_NAMESPACE::FilterPolicy;
88
+ using ROCKSDB_NAMESPACE::FlushJobInfo;
81
89
  using ROCKSDB_NAMESPACE::FlushOptions;
82
90
  using ROCKSDB_NAMESPACE::HistogramData;
83
91
  using ROCKSDB_NAMESPACE::HyperClockCacheOptions;
@@ -90,6 +98,7 @@ using ROCKSDB_NAMESPACE::Logger;
90
98
  using ROCKSDB_NAMESPACE::LRUCacheOptions;
91
99
  using ROCKSDB_NAMESPACE::MemoryAllocator;
92
100
  using ROCKSDB_NAMESPACE::MemoryUtil;
101
+ using ROCKSDB_NAMESPACE::MemTableInfo;
93
102
  using ROCKSDB_NAMESPACE::MergeOperator;
94
103
  using ROCKSDB_NAMESPACE::NewBloomFilterPolicy;
95
104
  using ROCKSDB_NAMESPACE::NewCompactOnDeletionCollectorFactory;
@@ -113,10 +122,12 @@ using ROCKSDB_NAMESPACE::Slice;
113
122
  using ROCKSDB_NAMESPACE::SliceParts;
114
123
  using ROCKSDB_NAMESPACE::SliceTransform;
115
124
  using ROCKSDB_NAMESPACE::Snapshot;
125
+ using ROCKSDB_NAMESPACE::SstFileManager;
116
126
  using ROCKSDB_NAMESPACE::SstFileMetaData;
117
127
  using ROCKSDB_NAMESPACE::SstFileWriter;
118
128
  using ROCKSDB_NAMESPACE::Status;
119
129
  using ROCKSDB_NAMESPACE::StderrLogger;
130
+ using ROCKSDB_NAMESPACE::SubcompactionJobInfo;
120
131
  using ROCKSDB_NAMESPACE::TablePropertiesCollectorFactory;
121
132
  using ROCKSDB_NAMESPACE::Transaction;
122
133
  using ROCKSDB_NAMESPACE::TransactionDB;
@@ -130,6 +141,8 @@ using ROCKSDB_NAMESPACE::WriteBatch;
130
141
  using ROCKSDB_NAMESPACE::WriteBatchWithIndex;
131
142
  using ROCKSDB_NAMESPACE::WriteBufferManager;
132
143
  using ROCKSDB_NAMESPACE::WriteOptions;
144
+ using ROCKSDB_NAMESPACE::WriteStallCondition;
145
+ using ROCKSDB_NAMESPACE::WriteStallInfo;
133
146
 
134
147
  using std::unordered_set;
135
148
  using std::vector;
@@ -139,6 +152,9 @@ extern "C" {
139
152
  struct rocksdb_t {
140
153
  DB* rep;
141
154
  };
155
+ struct rocksdb_status_ptr_t {
156
+ Status* rep;
157
+ };
142
158
  struct rocksdb_backup_engine_t {
143
159
  BackupEngine* rep;
144
160
  };
@@ -226,12 +242,15 @@ struct rocksdb_cache_t {
226
242
  struct rocksdb_write_buffer_manager_t {
227
243
  std::shared_ptr<WriteBufferManager> rep;
228
244
  };
245
+ struct rocksdb_sst_file_manager_t {
246
+ std::shared_ptr<SstFileManager> rep;
247
+ };
229
248
  struct rocksdb_livefiles_t {
230
249
  std::vector<LiveFileMetaData> rep;
231
250
  };
232
251
  struct rocksdb_column_family_handle_t {
233
252
  ColumnFamilyHandle* rep;
234
- bool immortal; /* only true for default cf */
253
+ bool immortal; /* only true for default cf */
235
254
  };
236
255
  struct rocksdb_column_family_metadata_t {
237
256
  ColumnFamilyMetaData rep;
@@ -292,6 +311,28 @@ struct rocksdb_compactionfiltercontext_t {
292
311
  CompactionFilter::Context rep;
293
312
  };
294
313
 
314
+ struct rocksdb_flushjobinfo_t {
315
+ FlushJobInfo rep;
316
+ };
317
+ struct rocksdb_writestallcondition_t {
318
+ WriteStallCondition rep;
319
+ };
320
+ struct rocksdb_writestallinfo_t {
321
+ WriteStallInfo rep;
322
+ };
323
+ struct rocksdb_memtableinfo_t {
324
+ MemTableInfo rep;
325
+ };
326
+ struct rocksdb_compactionjobinfo_t {
327
+ CompactionJobInfo rep;
328
+ };
329
+ struct rocksdb_subcompactionjobinfo_t {
330
+ SubcompactionJobInfo rep;
331
+ };
332
+ struct rocksdb_externalfileingestioninfo_t {
333
+ ExternalFileIngestionInfo rep;
334
+ };
335
+
295
336
  struct rocksdb_statistics_histogram_data_t {
296
337
  rocksdb_statistics_histogram_data_t() : rep() {}
297
338
  HistogramData rep;
@@ -1858,10 +1899,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_approximate_sizes_cf_with_flags(
1858
1899
  delete[] ranges;
1859
1900
  }
1860
1901
 
1861
- void rocksdb_delete_file(rocksdb_t* db, const char* name) {
1862
- db->rep->DeleteFile(name);
1863
- }
1864
-
1865
1902
  const rocksdb_livefiles_t* rocksdb_livefiles(rocksdb_t* db) {
1866
1903
  rocksdb_livefiles_t* result = new rocksdb_livefiles_t;
1867
1904
  db->rep->GetLiveFilesMetaData(&result->rep);
@@ -2631,6 +2668,16 @@ rocksdb_iterator_t* rocksdb_writebatch_wi_create_iterator_with_base(
2631
2668
  return result;
2632
2669
  }
2633
2670
 
2671
+ rocksdb_iterator_t* rocksdb_writebatch_wi_create_iterator_with_base_readopts(
2672
+ rocksdb_writebatch_wi_t* wbwi, rocksdb_iterator_t* base_iterator,
2673
+ const rocksdb_readoptions_t* options) {
2674
+ rocksdb_iterator_t* result = new rocksdb_iterator_t;
2675
+ result->rep =
2676
+ wbwi->rep->NewIteratorWithBase(base_iterator->rep, &options->rep);
2677
+ delete base_iterator;
2678
+ return result;
2679
+ }
2680
+
2634
2681
  rocksdb_iterator_t* rocksdb_writebatch_wi_create_iterator_with_base_cf(
2635
2682
  rocksdb_writebatch_wi_t* wbwi, rocksdb_iterator_t* base_iterator,
2636
2683
  rocksdb_column_family_handle_t* column_family) {
@@ -2641,6 +2688,17 @@ rocksdb_iterator_t* rocksdb_writebatch_wi_create_iterator_with_base_cf(
2641
2688
  return result;
2642
2689
  }
2643
2690
 
2691
+ rocksdb_iterator_t* rocksdb_writebatch_wi_create_iterator_with_base_cf_readopts(
2692
+ rocksdb_writebatch_wi_t* wbwi, rocksdb_iterator_t* base_iterator,
2693
+ rocksdb_column_family_handle_t* column_family,
2694
+ const rocksdb_readoptions_t* options) {
2695
+ rocksdb_iterator_t* result = new rocksdb_iterator_t;
2696
+ result->rep = wbwi->rep->NewIteratorWithBase(
2697
+ column_family->rep, base_iterator->rep, &options->rep);
2698
+ delete base_iterator;
2699
+ return result;
2700
+ }
2701
+
2644
2702
  char* rocksdb_writebatch_wi_get_from_batch(rocksdb_writebatch_wi_t* wbwi,
2645
2703
  const rocksdb_options_t* options,
2646
2704
  const char* key, size_t keylen,
@@ -2700,6 +2758,23 @@ char* rocksdb_writebatch_wi_get_from_batch_and_db(
2700
2758
  return result;
2701
2759
  }
2702
2760
 
2761
+ rocksdb_pinnableslice_t* rocksdb_writebatch_wi_get_pinned_from_batch_and_db(
2762
+ rocksdb_writebatch_wi_t* wbwi, rocksdb_t* db,
2763
+ const rocksdb_readoptions_t* options, const char* key, size_t keylen,
2764
+ char** errptr) {
2765
+ rocksdb_pinnableslice_t* v = new (rocksdb_pinnableslice_t);
2766
+ Status s = wbwi->rep->GetFromBatchAndDB(db->rep, options->rep,
2767
+ Slice(key, keylen), &v->rep);
2768
+ if (!s.ok()) {
2769
+ delete (v);
2770
+ if (!s.IsNotFound()) {
2771
+ SaveError(errptr, s);
2772
+ }
2773
+ return nullptr;
2774
+ }
2775
+ return v;
2776
+ }
2777
+
2703
2778
  char* rocksdb_writebatch_wi_get_from_batch_and_db_cf(
2704
2779
  rocksdb_writebatch_wi_t* wbwi, rocksdb_t* db,
2705
2780
  const rocksdb_readoptions_t* options,
@@ -2721,6 +2796,24 @@ char* rocksdb_writebatch_wi_get_from_batch_and_db_cf(
2721
2796
  return result;
2722
2797
  }
2723
2798
 
2799
+ rocksdb_pinnableslice_t* rocksdb_writebatch_wi_get_pinned_from_batch_and_db_cf(
2800
+ rocksdb_writebatch_wi_t* wbwi, rocksdb_t* db,
2801
+ const rocksdb_readoptions_t* options,
2802
+ rocksdb_column_family_handle_t* column_family, const char* key,
2803
+ size_t keylen, char** errptr) {
2804
+ rocksdb_pinnableslice_t* v = new (rocksdb_pinnableslice_t);
2805
+ Status s = wbwi->rep->GetFromBatchAndDB(
2806
+ db->rep, options->rep, column_family->rep, Slice(key, keylen), &v->rep);
2807
+ if (!s.ok()) {
2808
+ delete (v);
2809
+ if (!s.IsNotFound()) {
2810
+ SaveError(errptr, s);
2811
+ }
2812
+ return nullptr;
2813
+ }
2814
+ return v;
2815
+ }
2816
+
2724
2817
  void rocksdb_write_writebatch_wi(rocksdb_t* db,
2725
2818
  const rocksdb_writeoptions_t* options,
2726
2819
  rocksdb_writebatch_wi_t* wbwi, char** errptr) {
@@ -2934,6 +3027,352 @@ void rocksdb_block_based_options_set_unpartitioned_pinning_tier(
2934
3027
  static_cast<ROCKSDB_NAMESPACE::PinningTier>(v);
2935
3028
  }
2936
3029
 
3030
+ /* FlushJobInfo */
3031
+
3032
+ const char* rocksdb_flushjobinfo_cf_name(const rocksdb_flushjobinfo_t* info,
3033
+ size_t* size) {
3034
+ *size = info->rep.cf_name.size();
3035
+ return info->rep.cf_name.data();
3036
+ }
3037
+
3038
+ const char* rocksdb_flushjobinfo_file_path(const rocksdb_flushjobinfo_t* info,
3039
+ size_t* size) {
3040
+ *size = info->rep.file_path.size();
3041
+ return info->rep.file_path.data();
3042
+ }
3043
+
3044
+ unsigned char rocksdb_flushjobinfo_triggered_writes_slowdown(
3045
+ const rocksdb_flushjobinfo_t* info) {
3046
+ return info->rep.triggered_writes_slowdown;
3047
+ }
3048
+
3049
+ unsigned char rocksdb_flushjobinfo_triggered_writes_stop(
3050
+ const rocksdb_flushjobinfo_t* info) {
3051
+ return info->rep.triggered_writes_stop;
3052
+ }
3053
+
3054
+ uint64_t rocksdb_flushjobinfo_largest_seqno(
3055
+ const rocksdb_flushjobinfo_t* info) {
3056
+ return info->rep.largest_seqno;
3057
+ }
3058
+
3059
+ uint64_t rocksdb_flushjobinfo_smallest_seqno(
3060
+ const rocksdb_flushjobinfo_t* info) {
3061
+ return info->rep.smallest_seqno;
3062
+ }
3063
+
3064
+ void rocksdb_reset_status(rocksdb_status_ptr_t* status_ptr) {
3065
+ auto ptr = status_ptr->rep;
3066
+ *ptr = Status::OK();
3067
+ }
3068
+
3069
+ /* CompactionJobInfo */
3070
+
3071
+ void rocksdb_compactionjobinfo_status(const rocksdb_compactionjobinfo_t* info,
3072
+ char** errptr) {
3073
+ SaveError(errptr, info->rep.status);
3074
+ }
3075
+
3076
+ const char* rocksdb_compactionjobinfo_cf_name(
3077
+ const rocksdb_compactionjobinfo_t* info, size_t* size) {
3078
+ *size = info->rep.cf_name.size();
3079
+ return info->rep.cf_name.data();
3080
+ }
3081
+
3082
+ size_t rocksdb_compactionjobinfo_input_files_count(
3083
+ const rocksdb_compactionjobinfo_t* info) {
3084
+ return info->rep.input_files.size();
3085
+ }
3086
+
3087
+ const char* rocksdb_compactionjobinfo_input_file_at(
3088
+ const rocksdb_compactionjobinfo_t* info, size_t pos, size_t* size) {
3089
+ assert(info != nullptr);
3090
+ assert(pos < info->rep.input_files.size());
3091
+
3092
+ const std::string& path = info->rep.input_files[pos];
3093
+ *size = path.size();
3094
+ return path.data();
3095
+ }
3096
+
3097
+ size_t rocksdb_compactionjobinfo_output_files_count(
3098
+ const rocksdb_compactionjobinfo_t* info) {
3099
+ return info->rep.output_files.size();
3100
+ }
3101
+
3102
+ const char* rocksdb_compactionjobinfo_output_file_at(
3103
+ const rocksdb_compactionjobinfo_t* info, size_t pos, size_t* size) {
3104
+ assert(info != nullptr);
3105
+ assert(pos < info->rep.output_files.size());
3106
+
3107
+ const std::string& path = info->rep.output_files[pos];
3108
+ *size = path.size();
3109
+ return path.data();
3110
+ }
3111
+
3112
+ uint64_t rocksdb_compactionjobinfo_elapsed_micros(
3113
+ const rocksdb_compactionjobinfo_t* info) {
3114
+ return info->rep.stats.elapsed_micros;
3115
+ }
3116
+
3117
+ uint64_t rocksdb_compactionjobinfo_num_corrupt_keys(
3118
+ const rocksdb_compactionjobinfo_t* info) {
3119
+ return info->rep.stats.num_corrupt_keys;
3120
+ }
3121
+
3122
+ int rocksdb_compactionjobinfo_base_input_level(
3123
+ const rocksdb_compactionjobinfo_t* info) {
3124
+ return info->rep.base_input_level;
3125
+ }
3126
+
3127
+ int rocksdb_compactionjobinfo_output_level(
3128
+ const rocksdb_compactionjobinfo_t* info) {
3129
+ return info->rep.output_level;
3130
+ }
3131
+
3132
+ size_t rocksdb_compactionjobinfo_num_input_files(
3133
+ const rocksdb_compactionjobinfo_t* info) {
3134
+ return info->rep.stats.num_input_files;
3135
+ }
3136
+
3137
+ size_t rocksdb_compactionjobinfo_num_input_files_at_output_level(
3138
+ const rocksdb_compactionjobinfo_t* info) {
3139
+ return info->rep.stats.num_input_files_at_output_level;
3140
+ }
3141
+
3142
+ uint64_t rocksdb_compactionjobinfo_input_records(
3143
+ const rocksdb_compactionjobinfo_t* info) {
3144
+ return info->rep.stats.num_input_records;
3145
+ }
3146
+
3147
+ uint64_t rocksdb_compactionjobinfo_output_records(
3148
+ const rocksdb_compactionjobinfo_t* info) {
3149
+ return info->rep.stats.num_output_records;
3150
+ }
3151
+
3152
+ uint64_t rocksdb_compactionjobinfo_total_input_bytes(
3153
+ const rocksdb_compactionjobinfo_t* info) {
3154
+ return info->rep.stats.total_input_bytes;
3155
+ }
3156
+
3157
+ uint64_t rocksdb_compactionjobinfo_total_output_bytes(
3158
+ const rocksdb_compactionjobinfo_t* info) {
3159
+ return info->rep.stats.total_output_bytes;
3160
+ }
3161
+
3162
+ uint32_t rocksdb_compactionjobinfo_compaction_reason(
3163
+ const rocksdb_compactionjobinfo_t* info) {
3164
+ return static_cast<uint32_t>(info->rep.compaction_reason);
3165
+ }
3166
+
3167
+ /* SubcompactionJobInfo */
3168
+
3169
+ void rocksdb_subcompactionjobinfo_status(
3170
+ const rocksdb_subcompactionjobinfo_t* info, char** errptr) {
3171
+ SaveError(errptr, info->rep.status);
3172
+ }
3173
+
3174
+ const char* rocksdb_subcompactionjobinfo_cf_name(
3175
+ const rocksdb_subcompactionjobinfo_t* info, size_t* size) {
3176
+ *size = info->rep.cf_name.size();
3177
+ return info->rep.cf_name.data();
3178
+ }
3179
+
3180
+ uint64_t rocksdb_subcompactionjobinfo_thread_id(
3181
+ const rocksdb_subcompactionjobinfo_t* info) {
3182
+ return info->rep.thread_id;
3183
+ }
3184
+
3185
+ int rocksdb_subcompactionjobinfo_base_input_level(
3186
+ const rocksdb_subcompactionjobinfo_t* info) {
3187
+ return info->rep.base_input_level;
3188
+ }
3189
+
3190
+ int rocksdb_subcompactionjobinfo_output_level(
3191
+ const rocksdb_subcompactionjobinfo_t* info) {
3192
+ return info->rep.output_level;
3193
+ }
3194
+
3195
+ /* ExternalFileIngestionInfo */
3196
+
3197
+ const char* rocksdb_externalfileingestioninfo_cf_name(
3198
+ const rocksdb_externalfileingestioninfo_t* info, size_t* size) {
3199
+ *size = info->rep.cf_name.size();
3200
+ return info->rep.cf_name.data();
3201
+ }
3202
+
3203
+ const char* rocksdb_externalfileingestioninfo_internal_file_path(
3204
+ const rocksdb_externalfileingestioninfo_t* info, size_t* size) {
3205
+ *size = info->rep.internal_file_path.size();
3206
+ return info->rep.internal_file_path.data();
3207
+ }
3208
+
3209
+ /* External write stall info */
3210
+ extern ROCKSDB_LIBRARY_API const char* rocksdb_writestallinfo_cf_name(
3211
+ const rocksdb_writestallinfo_t* info, size_t* size) {
3212
+ *size = info->rep.cf_name.size();
3213
+ return info->rep.cf_name.data();
3214
+ }
3215
+
3216
+ const rocksdb_writestallcondition_t* rocksdb_writestallinfo_cur(
3217
+ const rocksdb_writestallinfo_t* info) {
3218
+ return reinterpret_cast<const rocksdb_writestallcondition_t*>(
3219
+ &info->rep.condition.cur);
3220
+ }
3221
+
3222
+ const rocksdb_writestallcondition_t* rocksdb_writestallinfo_prev(
3223
+ const rocksdb_writestallinfo_t* info) {
3224
+ return reinterpret_cast<const rocksdb_writestallcondition_t*>(
3225
+ &info->rep.condition.prev);
3226
+ }
3227
+
3228
+ const char* rocksdb_memtableinfo_cf_name(const rocksdb_memtableinfo_t* info,
3229
+ size_t* size) {
3230
+ *size = info->rep.cf_name.size();
3231
+ return info->rep.cf_name.data();
3232
+ }
3233
+
3234
+ uint64_t rocksdb_memtableinfo_first_seqno(const rocksdb_memtableinfo_t* info) {
3235
+ return info->rep.first_seqno;
3236
+ }
3237
+ uint64_t rocksdb_memtableinfo_earliest_seqno(
3238
+ const rocksdb_memtableinfo_t* info) {
3239
+ return info->rep.earliest_seqno;
3240
+ }
3241
+ uint64_t rocksdb_memtableinfo_num_entries(const rocksdb_memtableinfo_t* info) {
3242
+ return info->rep.num_entries;
3243
+ }
3244
+ uint64_t rocksdb_memtableinfo_num_deletes(const rocksdb_memtableinfo_t* info) {
3245
+ return info->rep.num_deletes;
3246
+ }
3247
+
3248
+ /* event listener */
3249
+
3250
+ struct rocksdb_eventlistener_t : public EventListener {
3251
+ void* state_{};
3252
+ void (*destructor_)(void*){};
3253
+ void (*on_flush_begin)(void*, rocksdb_t*, const rocksdb_flushjobinfo_t*){};
3254
+ void (*on_flush_completed)(void*, rocksdb_t*,
3255
+ const rocksdb_flushjobinfo_t*){};
3256
+ void (*on_compaction_begin)(void*, rocksdb_t*,
3257
+ const rocksdb_compactionjobinfo_t*){};
3258
+ void (*on_compaction_completed)(void*, rocksdb_t*,
3259
+ const rocksdb_compactionjobinfo_t*){};
3260
+ void (*on_subcompaction_begin)(void*,
3261
+ const rocksdb_subcompactionjobinfo_t*){};
3262
+ void (*on_subcompaction_completed)(void*,
3263
+ const rocksdb_subcompactionjobinfo_t*){};
3264
+ void (*on_external_file_ingested)(
3265
+ void*, rocksdb_t*, const rocksdb_externalfileingestioninfo_t*){};
3266
+ void (*on_background_error)(void*, uint32_t, rocksdb_status_ptr_t*){};
3267
+ void (*on_stall_conditions_changed)(void*, const rocksdb_writestallinfo_t*){};
3268
+ void (*on_memtable_sealed)(void*, const rocksdb_memtableinfo_t*){};
3269
+
3270
+ rocksdb_eventlistener_t() = default;
3271
+
3272
+ rocksdb_eventlistener_t(const rocksdb_eventlistener_t&) = delete;
3273
+ rocksdb_eventlistener_t& operator=(const rocksdb_eventlistener_t&) = delete;
3274
+ rocksdb_eventlistener_t(rocksdb_eventlistener_t&&) = delete;
3275
+ rocksdb_eventlistener_t& operator=(rocksdb_eventlistener_t&&) = delete;
3276
+
3277
+ void OnFlushBegin(DB* db, const FlushJobInfo& info) override {
3278
+ rocksdb_t c_db = {db};
3279
+ on_flush_begin(state_, &c_db,
3280
+ reinterpret_cast<const rocksdb_flushjobinfo_t*>(&info));
3281
+ }
3282
+
3283
+ void OnFlushCompleted(DB* db, const FlushJobInfo& info) override {
3284
+ rocksdb_t c_db = {db};
3285
+ on_flush_completed(state_, &c_db,
3286
+ reinterpret_cast<const rocksdb_flushjobinfo_t*>(&info));
3287
+ }
3288
+
3289
+ void OnCompactionBegin(DB* db, const CompactionJobInfo& info) override {
3290
+ rocksdb_t c_db = {db};
3291
+ on_compaction_begin(
3292
+ state_, &c_db,
3293
+ reinterpret_cast<const rocksdb_compactionjobinfo_t*>(&info));
3294
+ }
3295
+
3296
+ void OnCompactionCompleted(DB* db, const CompactionJobInfo& info) override {
3297
+ rocksdb_t c_db = {db};
3298
+ on_compaction_completed(
3299
+ state_, &c_db,
3300
+ reinterpret_cast<const rocksdb_compactionjobinfo_t*>(&info));
3301
+ }
3302
+
3303
+ void OnSubcompactionBegin(const SubcompactionJobInfo& info) override {
3304
+ on_subcompaction_begin(
3305
+ state_, reinterpret_cast<const rocksdb_subcompactionjobinfo_t*>(&info));
3306
+ }
3307
+
3308
+ void OnSubcompactionCompleted(const SubcompactionJobInfo& info) override {
3309
+ on_subcompaction_completed(
3310
+ state_, reinterpret_cast<const rocksdb_subcompactionjobinfo_t*>(&info));
3311
+ }
3312
+
3313
+ void OnExternalFileIngested(DB* db,
3314
+ const ExternalFileIngestionInfo& info) override {
3315
+ rocksdb_t c_db = {db};
3316
+ on_external_file_ingested(
3317
+ state_, &c_db,
3318
+ reinterpret_cast<const rocksdb_externalfileingestioninfo_t*>(&info));
3319
+ }
3320
+
3321
+ void OnBackgroundError(BackgroundErrorReason reason,
3322
+ Status* status) override {
3323
+ rocksdb_status_ptr_t* s = new rocksdb_status_ptr_t;
3324
+ s->rep = status;
3325
+ on_background_error(state_, static_cast<uint32_t>(reason), s);
3326
+ delete s;
3327
+ }
3328
+
3329
+ void OnStallConditionsChanged(const WriteStallInfo& info) override {
3330
+ on_stall_conditions_changed(
3331
+ state_, reinterpret_cast<const rocksdb_writestallinfo_t*>(&info));
3332
+ }
3333
+
3334
+ void OnMemTableSealed(const MemTableInfo& info) override {
3335
+ on_memtable_sealed(state_,
3336
+ reinterpret_cast<const rocksdb_memtableinfo_t*>(&info));
3337
+ }
3338
+
3339
+ ~rocksdb_eventlistener_t() override { destructor_(state_); }
3340
+ };
3341
+
3342
+ rocksdb_eventlistener_t* rocksdb_eventlistener_create(
3343
+ void* state_, void (*destructor_)(void*), on_flush_begin_cb on_flush_begin,
3344
+ on_flush_completed_cb on_flush_completed,
3345
+ on_compaction_begin_cb on_compaction_begin,
3346
+ on_compaction_completed_cb on_compaction_completed,
3347
+ on_subcompaction_begin_cb on_subcompaction_begin,
3348
+ on_subcompaction_completed_cb on_subcompaction_completed,
3349
+ on_external_file_ingested_cb on_external_file_ingested,
3350
+ on_background_error_cb on_background_error,
3351
+ on_stall_conditions_changed_cb on_stall_conditions_changed,
3352
+ on_memtable_sealed_cb on_memtable_sealed) {
3353
+ rocksdb_eventlistener_t* et = new rocksdb_eventlistener_t;
3354
+ et->state_ = state_;
3355
+ et->destructor_ = destructor_;
3356
+ et->on_flush_begin = on_flush_begin;
3357
+ et->on_flush_completed = on_flush_completed;
3358
+ et->on_compaction_begin = on_compaction_begin;
3359
+ et->on_compaction_completed = on_compaction_completed;
3360
+ et->on_subcompaction_begin = on_subcompaction_begin;
3361
+ et->on_subcompaction_completed = on_subcompaction_completed;
3362
+ et->on_external_file_ingested = on_external_file_ingested;
3363
+ et->on_background_error = on_background_error;
3364
+ et->on_stall_conditions_changed = on_stall_conditions_changed;
3365
+ et->on_memtable_sealed = on_memtable_sealed;
3366
+ return et;
3367
+ }
3368
+
3369
+ void rocksdb_eventlistener_destroy(rocksdb_eventlistener_t* t) { delete t; }
3370
+
3371
+ void rocksdb_options_add_eventlistener(rocksdb_options_t* opt,
3372
+ rocksdb_eventlistener_t* t) {
3373
+ opt->rep.listeners.emplace_back(std::shared_ptr<EventListener>(t));
3374
+ }
3375
+
2937
3376
  rocksdb_cuckoo_table_options_t* rocksdb_cuckoo_options_create() {
2938
3377
  return new rocksdb_cuckoo_table_options_t;
2939
3378
  }
@@ -3299,6 +3738,26 @@ uint64_t rocksdb_options_get_periodic_compaction_seconds(
3299
3738
  return opt->rep.periodic_compaction_seconds;
3300
3739
  }
3301
3740
 
3741
+ void rocksdb_options_set_memtable_op_scan_flush_trigger(rocksdb_options_t* opt,
3742
+ uint32_t n) {
3743
+ opt->rep.memtable_op_scan_flush_trigger = n;
3744
+ }
3745
+
3746
+ uint32_t rocksdb_options_get_memtable_op_scan_flush_trigger(
3747
+ rocksdb_options_t* opt) {
3748
+ return opt->rep.memtable_op_scan_flush_trigger;
3749
+ }
3750
+
3751
+ void rocksdb_options_set_memtable_avg_op_scan_flush_trigger(
3752
+ rocksdb_options_t* opt, uint32_t n) {
3753
+ opt->rep.memtable_avg_op_scan_flush_trigger = n;
3754
+ }
3755
+
3756
+ uint32_t rocksdb_options_get_memtable_avg_op_scan_flush_trigger(
3757
+ rocksdb_options_t* opt) {
3758
+ return opt->rep.memtable_avg_op_scan_flush_trigger;
3759
+ }
3760
+
3302
3761
  void rocksdb_options_enable_statistics(rocksdb_options_t* opt) {
3303
3762
  opt->rep.statistics = ROCKSDB_NAMESPACE::CreateDBStatistics();
3304
3763
  }
@@ -3808,16 +4267,6 @@ int rocksdb_options_get_min_write_buffer_number_to_merge(
3808
4267
  return opt->rep.min_write_buffer_number_to_merge;
3809
4268
  }
3810
4269
 
3811
- void rocksdb_options_set_max_write_buffer_number_to_maintain(
3812
- rocksdb_options_t* opt, int n) {
3813
- opt->rep.max_write_buffer_number_to_maintain = n;
3814
- }
3815
-
3816
- int rocksdb_options_get_max_write_buffer_number_to_maintain(
3817
- rocksdb_options_t* opt) {
3818
- return opt->rep.max_write_buffer_number_to_maintain;
3819
- }
3820
-
3821
4270
  void rocksdb_options_set_max_write_buffer_size_to_maintain(
3822
4271
  rocksdb_options_t* opt, int64_t n) {
3823
4272
  opt->rep.max_write_buffer_size_to_maintain = n;
@@ -4336,6 +4785,8 @@ uint64_t rocksdb_perfcontext_metric(rocksdb_perfcontext_t* context,
4336
4785
  return rep->internal_recent_skipped_count;
4337
4786
  case rocksdb_internal_merge_count:
4338
4787
  return rep->internal_merge_count;
4788
+ case rocksdb_internal_merge_point_lookup_count:
4789
+ return rep->internal_merge_point_lookup_count;
4339
4790
  case rocksdb_get_snapshot_time:
4340
4791
  return rep->get_snapshot_time;
4341
4792
  case rocksdb_get_from_memtable_time:
@@ -5000,6 +5451,35 @@ int rocksdb_compactoptions_get_target_level(rocksdb_compactoptions_t* opt) {
5000
5451
  return opt->rep.target_level;
5001
5452
  }
5002
5453
 
5454
+ void rocksdb_compactoptions_set_target_path_id(rocksdb_compactoptions_t* opt,
5455
+ int n) {
5456
+ opt->rep.target_path_id = n;
5457
+ }
5458
+
5459
+ int rocksdb_compactoptions_get_target_path_id(rocksdb_compactoptions_t* opt) {
5460
+ return opt->rep.target_path_id;
5461
+ }
5462
+
5463
+ void rocksdb_compactoptions_set_allow_write_stall(rocksdb_compactoptions_t* opt,
5464
+ unsigned char v) {
5465
+ opt->rep.allow_write_stall = v;
5466
+ }
5467
+
5468
+ unsigned char rocksdb_compactoptions_get_allow_write_stall(
5469
+ rocksdb_compactoptions_t* opt) {
5470
+ return opt->rep.allow_write_stall;
5471
+ }
5472
+
5473
+ void rocksdb_compactoptions_set_max_subcompactions(
5474
+ rocksdb_compactoptions_t* opt, int n) {
5475
+ opt->rep.max_subcompactions = n;
5476
+ }
5477
+
5478
+ int rocksdb_compactoptions_get_max_subcompactions(
5479
+ rocksdb_compactoptions_t* opt) {
5480
+ return opt->rep.max_subcompactions;
5481
+ }
5482
+
5003
5483
  void rocksdb_compactoptions_set_full_history_ts_low(
5004
5484
  rocksdb_compactoptions_t* opt, char* ts, size_t tslen) {
5005
5485
  if (ts == nullptr) {
@@ -5214,6 +5694,67 @@ ROCKSDB_LIBRARY_API void rocksdb_write_buffer_manager_set_allow_stall(
5214
5694
  wbm->rep->SetAllowStall(new_allow_stall);
5215
5695
  }
5216
5696
 
5697
+ rocksdb_sst_file_manager_t* rocksdb_sst_file_manager_create(
5698
+ rocksdb_env_t* env) {
5699
+ rocksdb_sst_file_manager_t* sfm = new rocksdb_sst_file_manager_t;
5700
+ sfm->rep.reset(ROCKSDB_NAMESPACE::NewSstFileManager(env->rep));
5701
+ return sfm;
5702
+ }
5703
+
5704
+ void rocksdb_sst_file_manager_destroy(rocksdb_sst_file_manager_t* sfm) {
5705
+ delete sfm;
5706
+ }
5707
+
5708
+ void rocksdb_sst_file_manager_set_max_allowed_space_usage(
5709
+ rocksdb_sst_file_manager_t* sfm, uint64_t max_allowed_space) {
5710
+ sfm->rep->SetMaxAllowedSpaceUsage(max_allowed_space);
5711
+ }
5712
+
5713
+ void rocksdb_sst_file_manager_set_compaction_buffer_size(
5714
+ rocksdb_sst_file_manager_t* sfm, uint64_t compaction_buffer_size) {
5715
+ sfm->rep->SetCompactionBufferSize(compaction_buffer_size);
5716
+ }
5717
+
5718
+ bool rocksdb_sst_file_manager_is_max_allowed_space_reached(
5719
+ rocksdb_sst_file_manager_t* sfm) {
5720
+ return sfm->rep->IsMaxAllowedSpaceReached();
5721
+ }
5722
+
5723
+ bool rocksdb_sst_file_manager_is_max_allowed_space_reached_including_compactions(
5724
+ rocksdb_sst_file_manager_t* sfm) {
5725
+ return sfm->rep->IsMaxAllowedSpaceReachedIncludingCompactions();
5726
+ }
5727
+
5728
+ uint64_t rocksdb_sst_file_manager_get_total_size(
5729
+ rocksdb_sst_file_manager_t* sfm) {
5730
+ return sfm->rep->GetTotalSize();
5731
+ }
5732
+
5733
+ int64_t rocksdb_sst_file_manager_get_delete_rate_bytes_per_second(
5734
+ rocksdb_sst_file_manager_t* sfm) {
5735
+ return sfm->rep->GetDeleteRateBytesPerSecond();
5736
+ }
5737
+
5738
+ void rocksdb_sst_file_manager_set_delete_rate_bytes_per_second(
5739
+ rocksdb_sst_file_manager_t* sfm, int64_t delete_rate) {
5740
+ return sfm->rep->SetDeleteRateBytesPerSecond(delete_rate);
5741
+ }
5742
+
5743
+ double rocksdb_sst_file_manager_get_max_trash_db_ratio(
5744
+ rocksdb_sst_file_manager_t* sfm) {
5745
+ return sfm->rep->GetMaxTrashDBRatio();
5746
+ }
5747
+
5748
+ void rocksdb_sst_file_manager_set_max_trash_db_ratio(
5749
+ rocksdb_sst_file_manager_t* sfm, double ratio) {
5750
+ return sfm->rep->SetMaxTrashDBRatio(ratio);
5751
+ }
5752
+
5753
+ uint64_t rocksdb_sst_file_manager_get_total_trash_size(
5754
+ rocksdb_sst_file_manager_t* sfm) {
5755
+ return sfm->rep->GetTotalTrashSize();
5756
+ }
5757
+
5217
5758
  rocksdb_dbpath_t* rocksdb_dbpath_create(const char* path,
5218
5759
  uint64_t target_size) {
5219
5760
  rocksdb_dbpath_t* result = new rocksdb_dbpath_t;