@nxtedition/rocksdb 8.1.6 → 8.1.8

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 (536) hide show
  1. package/deps/rocksdb/rocksdb/CMakeLists.txt +1 -6
  2. package/deps/rocksdb/rocksdb/Makefile +15 -49
  3. package/deps/rocksdb/rocksdb/TARGETS +2 -0
  4. package/deps/rocksdb/rocksdb/cache/cache.cc +1 -15
  5. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -5
  6. package/deps/rocksdb/rocksdb/cache/cache_helpers.h +1 -1
  7. package/deps/rocksdb/rocksdb/cache/cache_key.cc +1 -1
  8. package/deps/rocksdb/rocksdb/cache/charged_cache.h +1 -1
  9. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +1 -1
  10. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +11 -7
  11. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +3 -1
  12. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +94 -6
  13. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +0 -39
  14. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +1 -1
  15. package/deps/rocksdb/rocksdb/cache/typed_cache.h +1 -1
  16. package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +1 -1
  17. package/deps/rocksdb/rocksdb/db/blob/blob_file_completion_callback.h +0 -17
  18. package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +0 -2
  19. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +0 -2
  20. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +240 -8
  21. package/deps/rocksdb/rocksdb/db/blob/db_blob_compaction_test.cc +0 -14
  22. package/deps/rocksdb/rocksdb/db/blob/db_blob_corruption_test.cc +0 -2
  23. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +0 -6
  24. package/deps/rocksdb/rocksdb/db/builder.cc +0 -2
  25. package/deps/rocksdb/rocksdb/db/c.cc +8 -14
  26. package/deps/rocksdb/rocksdb/db/c_test.c +0 -11
  27. package/deps/rocksdb/rocksdb/db/column_family.cc +0 -13
  28. package/deps/rocksdb/rocksdb/db/column_family.h +0 -2
  29. package/deps/rocksdb/rocksdb/db/column_family_test.cc +0 -71
  30. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -11
  31. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +113 -43
  32. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +0 -20
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -10
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +0 -11
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +0 -2
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +0 -6
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +0 -2
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +0 -2
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +0 -5
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +0 -2
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +0 -2
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +0 -2
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +0 -11
  44. package/deps/rocksdb/rocksdb/db/compaction/sst_partitioner.cc +1 -8
  45. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +0 -2
  46. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +0 -8
  47. package/deps/rocksdb/rocksdb/db/convenience.cc +0 -2
  48. package/deps/rocksdb/rocksdb/db/corruption_test.cc +53 -56
  49. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -10
  50. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +33 -48
  51. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +15 -358
  52. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +0 -24
  53. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +0 -6
  54. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +0 -8
  55. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -8
  56. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +0 -4
  57. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +0 -2
  58. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +0 -33
  59. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +0 -2
  60. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +0 -4
  61. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +150 -102
  62. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +52 -48
  63. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +0 -66
  64. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +2 -2
  65. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +0 -2
  66. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +0 -6
  67. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +0 -16
  68. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +0 -17
  69. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +0 -4
  70. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +0 -18
  71. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +0 -4
  72. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +6 -9
  73. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +0 -4
  74. package/deps/rocksdb/rocksdb/db/db_iter.cc +0 -4
  75. package/deps/rocksdb/rocksdb/db/db_iter.h +0 -6
  76. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +0 -12
  77. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -8
  78. package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +0 -16
  79. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +0 -2
  80. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +5 -5
  81. package/deps/rocksdb/rocksdb/db/db_options_test.cc +0 -4
  82. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +0 -6
  83. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +0 -10
  84. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -15
  85. package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +0 -4
  86. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +0 -2
  87. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -4
  88. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -2
  89. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +0 -2
  90. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -9
  91. package/deps/rocksdb/rocksdb/db/db_test.cc +2 -64
  92. package/deps/rocksdb/rocksdb/db/db_test2.cc +0 -138
  93. package/deps/rocksdb/rocksdb/db/db_test_util.cc +0 -33
  94. package/deps/rocksdb/rocksdb/db/db_test_util.h +11 -94
  95. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +0 -8
  96. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +18 -53
  97. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +0 -6
  98. package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +0 -2
  99. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -2
  100. package/deps/rocksdb/rocksdb/db/db_write_test.cc +115 -12
  101. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -11
  102. package/deps/rocksdb/rocksdb/db/error_handler.cc +0 -27
  103. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +0 -12
  104. package/deps/rocksdb/rocksdb/db/event_helpers.cc +1 -49
  105. package/deps/rocksdb/rocksdb/db/event_helpers.h +0 -4
  106. package/deps/rocksdb/rocksdb/db/experimental.cc +0 -14
  107. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +1 -2
  108. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +0 -2
  109. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +16 -27
  110. package/deps/rocksdb/rocksdb/db/flush_job.cc +0 -6
  111. package/deps/rocksdb/rocksdb/db/flush_job.h +0 -4
  112. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +0 -2
  113. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +0 -2
  114. package/deps/rocksdb/rocksdb/db/forward_iterator.h +0 -2
  115. package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +2 -2
  116. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +0 -2
  117. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -12
  118. package/deps/rocksdb/rocksdb/db/internal_stats.cc +0 -8
  119. package/deps/rocksdb/rocksdb/db/internal_stats.h +0 -151
  120. package/deps/rocksdb/rocksdb/db/job_context.h +4 -5
  121. package/deps/rocksdb/rocksdb/db/listener_test.cc +19 -16
  122. package/deps/rocksdb/rocksdb/db/malloc_stats.cc +0 -2
  123. package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
  124. package/deps/rocksdb/rocksdb/db/memtable.cc +12 -10
  125. package/deps/rocksdb/rocksdb/db/memtable.h +0 -4
  126. package/deps/rocksdb/rocksdb/db/memtable_list.cc +0 -8
  127. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +0 -2
  128. package/deps/rocksdb/rocksdb/db/merge_helper.cc +6 -5
  129. package/deps/rocksdb/rocksdb/db/merge_test.cc +0 -8
  130. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +0 -11
  131. package/deps/rocksdb/rocksdb/db/options_file_test.cc +0 -10
  132. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +0 -4
  133. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +0 -2
  134. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +0 -2
  135. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +0 -2
  136. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +0 -10
  137. package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -12
  138. package/deps/rocksdb/rocksdb/db/repair.cc +0 -2
  139. package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -12
  140. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +0 -2
  141. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +0 -2
  142. package/deps/rocksdb/rocksdb/db/table_cache.cc +0 -10
  143. package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +0 -4
  144. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +0 -4
  145. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +0 -2
  146. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +0 -2
  147. package/deps/rocksdb/rocksdb/db/version_edit.h +1 -1
  148. package/deps/rocksdb/rocksdb/db/version_set.cc +86 -47
  149. package/deps/rocksdb/rocksdb/db/version_set.h +10 -4
  150. package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +31 -11
  151. package/deps/rocksdb/rocksdb/db/version_set_test.cc +0 -2
  152. package/deps/rocksdb/rocksdb/db/wal_manager.cc +0 -2
  153. package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -2
  154. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -10
  155. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +388 -0
  156. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +0 -2
  157. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +0 -11
  158. package/deps/rocksdb/rocksdb/db/write_thread.cc +26 -0
  159. package/deps/rocksdb/rocksdb/db/write_thread.h +24 -0
  160. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +0 -6
  161. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +1 -4
  162. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +6 -6
  163. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +0 -2
  164. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +0 -2
  165. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +40 -131
  166. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +2 -20
  167. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -7
  168. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +0 -12
  169. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +0 -61
  170. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +0 -8
  171. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +122 -54
  172. package/deps/rocksdb/rocksdb/env/composite_env.cc +0 -10
  173. package/deps/rocksdb/rocksdb/env/composite_env_wrapper.h +0 -2
  174. package/deps/rocksdb/rocksdb/env/env.cc +2 -33
  175. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +0 -4
  176. package/deps/rocksdb/rocksdb/env/env_chroot.cc +2 -2
  177. package/deps/rocksdb/rocksdb/env/env_chroot.h +2 -2
  178. package/deps/rocksdb/rocksdb/env/env_encryption.cc +2 -7
  179. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +0 -2
  180. package/deps/rocksdb/rocksdb/env/env_test.cc +2 -18
  181. package/deps/rocksdb/rocksdb/env/file_system.cc +1 -14
  182. package/deps/rocksdb/rocksdb/env/fs_posix.cc +0 -18
  183. package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
  184. package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
  185. package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
  186. package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -12
  187. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +0 -2
  188. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
  189. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -7
  190. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +3 -2
  191. package/deps/rocksdb/rocksdb/file/file_util.cc +0 -9
  192. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +86 -99
  193. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +0 -18
  194. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +0 -8
  195. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +0 -2
  196. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +0 -8
  197. package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +0 -10
  198. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +0 -18
  199. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
  200. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +0 -36
  201. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +0 -16
  202. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +527 -0
  203. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +1 -4
  204. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +0 -4
  205. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +18 -432
  206. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +49 -3
  207. package/deps/rocksdb/rocksdb/include/rocksdb/configurable.h +0 -10
  208. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +18 -77
  209. package/deps/rocksdb/rocksdb/include/rocksdb/customizable.h +0 -4
  210. package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +154 -19
  211. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +90 -37
  212. package/deps/rocksdb/rocksdb/include/rocksdb/db_dump_tool.h +0 -2
  213. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -20
  214. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +0 -2
  215. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +0 -8
  216. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -2
  217. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +0 -7
  218. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +0 -2
  219. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +44 -60
  220. package/deps/rocksdb/rocksdb/include/rocksdb/port_defs.h +22 -0
  221. package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +1 -1
  222. package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -2
  223. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +0 -2
  224. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -2
  225. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +17 -64
  226. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +1 -0
  227. package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +0 -2
  228. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +0 -13
  229. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
  230. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +0 -2
  231. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/cache_dump_load.h +0 -2
  232. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +0 -2
  233. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +4 -59
  234. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/db_ttl.h +0 -2
  235. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +0 -2
  236. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
  237. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +0 -2
  238. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -2
  239. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +0 -2
  240. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +0 -2
  241. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +5 -29
  242. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/replayer.h +0 -2
  243. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +4 -7
  244. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +18 -4
  245. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +0 -2
  246. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
  247. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +0 -2
  248. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -2
  249. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -2
  250. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
  251. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +0 -4
  252. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +0 -2
  253. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -11
  254. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +0 -2
  255. package/deps/rocksdb/rocksdb/memory/memory_allocator.cc +0 -11
  256. package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -4
  257. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -2
  258. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +0 -2
  259. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +0 -2
  260. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +0 -2
  261. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +0 -2
  262. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +0 -12
  263. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +1 -2
  264. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -36
  265. package/deps/rocksdb/rocksdb/monitoring/statistics_test.cc +0 -4
  266. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +0 -2
  267. package/deps/rocksdb/rocksdb/options/cf_options.cc +1 -4
  268. package/deps/rocksdb/rocksdb/options/cf_options.h +0 -2
  269. package/deps/rocksdb/rocksdb/options/configurable.cc +0 -55
  270. package/deps/rocksdb/rocksdb/options/configurable_helper.h +0 -2
  271. package/deps/rocksdb/rocksdb/options/configurable_test.cc +0 -20
  272. package/deps/rocksdb/rocksdb/options/configurable_test.h +0 -10
  273. package/deps/rocksdb/rocksdb/options/customizable.cc +0 -6
  274. package/deps/rocksdb/rocksdb/options/customizable_test.cc +21 -161
  275. package/deps/rocksdb/rocksdb/options/db_options.cc +1 -8
  276. package/deps/rocksdb/rocksdb/options/db_options.h +0 -4
  277. package/deps/rocksdb/rocksdb/options/options.cc +0 -2
  278. package/deps/rocksdb/rocksdb/options/options_helper.cc +0 -58
  279. package/deps/rocksdb/rocksdb/options/options_helper.h +0 -6
  280. package/deps/rocksdb/rocksdb/options/options_parser.cc +0 -2
  281. package/deps/rocksdb/rocksdb/options/options_parser.h +0 -2
  282. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +14 -8
  283. package/deps/rocksdb/rocksdb/options/options_test.cc +260 -298
  284. package/deps/rocksdb/rocksdb/port/port_posix.h +1 -1
  285. package/deps/rocksdb/rocksdb/port/stack_trace.cc +87 -6
  286. package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
  287. package/deps/rocksdb/rocksdb/port/win/port_win.h +11 -10
  288. package/deps/rocksdb/rocksdb/src.mk +1 -0
  289. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +0 -2
  290. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -2
  291. package/deps/rocksdb/rocksdb/table/block_based/block.h +1 -0
  292. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +2 -49
  293. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +4 -103
  294. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +0 -2
  295. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +20 -107
  296. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +2 -6
  297. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +1 -4
  298. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +1 -12
  299. package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +0 -4
  300. package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +1 -1
  301. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +1 -0
  302. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -7
  303. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +8 -22
  304. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +5 -0
  305. package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +1 -8
  306. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +0 -2
  307. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +0 -2
  308. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -2
  309. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -10
  310. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.cc +0 -4
  311. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +0 -2
  312. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +0 -2
  313. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +0 -2
  314. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -10
  315. package/deps/rocksdb/rocksdb/table/format.cc +0 -6
  316. package/deps/rocksdb/rocksdb/table/get_context.cc +22 -21
  317. package/deps/rocksdb/rocksdb/table/get_context.h +15 -1
  318. package/deps/rocksdb/rocksdb/table/multiget_context.h +6 -3
  319. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +0 -2
  320. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +0 -2
  321. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +0 -54
  322. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +0 -2
  323. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -2
  324. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
  325. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +0 -2
  326. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
  327. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -2
  328. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +0 -2
  329. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +0 -2
  330. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -2
  331. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +0 -2
  332. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +0 -11
  333. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -2
  334. package/deps/rocksdb/rocksdb/table/table_factory.cc +1 -14
  335. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +0 -10
  336. package/deps/rocksdb/rocksdb/table/table_test.cc +2 -17
  337. package/deps/rocksdb/rocksdb/test_util/testutil.cc +0 -16
  338. package/deps/rocksdb/rocksdb/test_util/testutil.h +0 -2
  339. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -2
  340. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
  341. package/deps/rocksdb/rocksdb/tools/blob_dump.cc +0 -8
  342. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +0 -2
  343. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +0 -9
  344. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +0 -8
  345. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +5 -131
  346. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +12 -4
  347. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -8
  348. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +0 -4
  349. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -2
  350. package/deps/rocksdb/rocksdb/tools/dump/rocksdb_dump.cc +2 -5
  351. package/deps/rocksdb/rocksdb/tools/dump/rocksdb_undump.cc +2 -5
  352. package/deps/rocksdb/rocksdb/tools/io_tracer_parser.cc +0 -8
  353. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +0 -8
  354. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.cc +0 -2
  355. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.h +0 -2
  356. package/deps/rocksdb/rocksdb/tools/ldb.cc +0 -8
  357. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +0 -2
  358. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +0 -10
  359. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +0 -2
  360. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -10
  361. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +0 -2
  362. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
  363. package/deps/rocksdb/rocksdb/tools/sst_dump.cc +0 -8
  364. package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +0 -10
  365. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +0 -2
  366. package/deps/rocksdb/rocksdb/tools/trace_analyzer.cc +0 -8
  367. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +1 -11
  368. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +6 -2
  369. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +6 -3
  370. package/deps/rocksdb/rocksdb/tools/write_stress.cc +0 -4
  371. package/deps/rocksdb/rocksdb/util/aligned_buffer.h +1 -0
  372. package/deps/rocksdb/rocksdb/util/autovector.h +0 -13
  373. package/deps/rocksdb/rocksdb/util/autovector_test.cc +0 -7
  374. package/deps/rocksdb/rocksdb/util/build_version.cc.in +0 -2
  375. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -8
  376. package/deps/rocksdb/rocksdb/util/comparator.cc +0 -8
  377. package/deps/rocksdb/rocksdb/util/core_local.h +1 -0
  378. package/deps/rocksdb/rocksdb/util/data_structure.cc +18 -0
  379. package/deps/rocksdb/rocksdb/util/distributed_mutex.h +2 -0
  380. package/deps/rocksdb/rocksdb/util/duplicate_detector.h +0 -2
  381. package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +1 -6
  382. package/deps/rocksdb/rocksdb/util/file_checksum_helper.h +1 -0
  383. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +0 -8
  384. package/deps/rocksdb/rocksdb/util/filter_bench.cc +3 -3
  385. package/deps/rocksdb/rocksdb/util/mutexlock.h +1 -0
  386. package/deps/rocksdb/rocksdb/util/random.cc +1 -0
  387. package/deps/rocksdb/rocksdb/util/slice.cc +0 -38
  388. package/deps/rocksdb/rocksdb/util/slice_test.cc +63 -2
  389. package/deps/rocksdb/rocksdb/util/status.cc +4 -3
  390. package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
  391. package/deps/rocksdb/rocksdb/util/string_util.h +1 -2
  392. package/deps/rocksdb/rocksdb/util/thread_local_test.cc +0 -4
  393. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +0 -2
  394. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +0 -2
  395. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +3 -3
  396. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -2
  397. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +0 -2
  398. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +0 -2
  399. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -2
  400. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -2
  401. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +0 -2
  402. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +0 -2
  403. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -2
  404. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_iterator.h +0 -2
  405. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -2
  406. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +0 -10
  407. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +0 -2
  408. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -2
  409. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +0 -2
  410. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +0 -2
  411. package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -2
  412. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +0 -2
  413. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +0 -2
  414. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +0 -4
  415. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +0 -2
  416. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_options.h +0 -2
  417. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +0 -2
  418. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +0 -2
  419. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +0 -2
  420. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +24 -10
  421. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -2
  422. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -2
  423. package/deps/rocksdb/rocksdb/utilities/compaction_filters.cc +4 -8
  424. package/deps/rocksdb/rocksdb/utilities/debug.cc +0 -2
  425. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -2
  426. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -10
  427. package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -6
  428. package/deps/rocksdb/rocksdb/utilities/env_timed.h +0 -2
  429. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -10
  430. package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +1 -1
  431. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -10
  432. package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -2
  433. package/deps/rocksdb/rocksdb/utilities/merge_operators/max.cc +38 -54
  434. package/deps/rocksdb/rocksdb/utilities/merge_operators/max_operator.h +35 -0
  435. package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +41 -59
  436. package/deps/rocksdb/rocksdb/utilities/merge_operators/put_operator.h +56 -0
  437. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +0 -2
  438. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +0 -2
  439. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +0 -4
  440. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +29 -48
  441. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.h +35 -0
  442. package/deps/rocksdb/rocksdb/utilities/merge_operators.cc +35 -40
  443. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +0 -2
  444. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -10
  445. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +0 -10
  446. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +0 -2
  447. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -42
  448. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +25 -37
  449. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -2
  450. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
  451. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +0 -2
  452. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
  453. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -2
  454. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
  455. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
  456. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_bench.cc +1 -1
  457. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
  458. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +0 -2
  459. package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
  460. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +0 -4
  461. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +2 -51
  462. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
  463. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -2
  464. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
  465. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -2
  466. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
  467. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +26 -25
  468. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +1 -7
  469. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +0 -2
  470. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +0 -7
  471. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -2
  472. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.h +0 -2
  473. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
  474. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -2
  475. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_tracker.h +0 -2
  476. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +0 -2
  477. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +0 -2
  478. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -11
  479. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
  480. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +0 -2
  481. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +0 -2
  482. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +0 -11
  483. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +0 -2
  484. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +0 -2
  485. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +0 -2
  486. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +0 -2
  487. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +0 -2
  488. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +0 -2
  489. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +0 -2
  490. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +0 -2
  491. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +0 -2
  492. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +0 -2
  493. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +0 -2
  494. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +0 -2
  495. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +0 -2
  496. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +0 -2
  497. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +0 -2
  498. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -2
  499. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
  500. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +0 -2
  501. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +0 -2
  502. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +0 -12
  503. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +0 -2
  504. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +0 -2
  505. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +0 -2
  506. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +0 -2
  507. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +0 -16
  508. package/deps/rocksdb/rocksdb/utilities/transactions/timestamped_snapshot_test.cc +0 -9
  509. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +0 -2
  510. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +0 -2
  511. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
  512. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -2
  513. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +102 -11
  514. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
  515. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
  516. package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +0 -10
  517. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +0 -11
  518. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +0 -2
  519. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +0 -2
  520. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -2
  521. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +0 -2
  522. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -11
  523. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +0 -2
  524. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +0 -2
  525. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -2
  526. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +0 -2
  527. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +0 -2
  528. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +0 -2
  529. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -10
  530. package/deps/rocksdb/rocksdb/utilities/wal_filter.cc +1 -2
  531. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +2 -3
  532. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +0 -2
  533. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +0 -2
  534. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +0 -10
  535. package/package.json +1 -1
  536. package/{deps/rocksdb/rocksdb/prebuilds → prebuilds}/linux-x64/node.napi.node +0 -0
@@ -71,11 +71,7 @@ class ColumnFamilyTestBase : public testing::Test {
71
71
  for (auto h : handles_) {
72
72
  ColumnFamilyDescriptor cfdescriptor;
73
73
  Status s = h->GetDescriptor(&cfdescriptor);
74
- #ifdef ROCKSDB_LITE
75
- EXPECT_TRUE(s.IsNotSupported());
76
- #else
77
74
  EXPECT_OK(s);
78
- #endif // ROCKSDB_LITE
79
75
  column_families.push_back(cfdescriptor);
80
76
  }
81
77
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
@@ -197,12 +193,10 @@ class ColumnFamilyTestBase : public testing::Test {
197
193
  &db_);
198
194
  }
199
195
 
200
- #ifndef ROCKSDB_LITE // ReadOnlyDB is not supported
201
196
  void AssertOpenReadOnly(std::vector<std::string> cf,
202
197
  std::vector<ColumnFamilyOptions> options = {}) {
203
198
  ASSERT_OK(OpenReadOnly(cf, options));
204
199
  }
205
- #endif // !ROCKSDB_LITE
206
200
 
207
201
  void Open(std::vector<std::string> cf,
208
202
  std::vector<ColumnFamilyOptions> options = {}) {
@@ -224,27 +218,16 @@ class ColumnFamilyTestBase : public testing::Test {
224
218
  }
225
219
 
226
220
  bool IsDbWriteStopped() {
227
- #ifndef ROCKSDB_LITE
228
221
  uint64_t v;
229
222
  EXPECT_TRUE(dbfull()->GetIntProperty("rocksdb.is-write-stopped", &v));
230
223
  return (v == 1);
231
- #else
232
- return dbfull()->TEST_write_controler().IsStopped();
233
- #endif // !ROCKSDB_LITE
234
224
  }
235
225
 
236
226
  uint64_t GetDbDelayedWriteRate() {
237
- #ifndef ROCKSDB_LITE
238
227
  uint64_t v;
239
228
  EXPECT_TRUE(
240
229
  dbfull()->GetIntProperty("rocksdb.actual-delayed-write-rate", &v));
241
230
  return v;
242
- #else
243
- if (!dbfull()->TEST_write_controler().NeedsDelay()) {
244
- return 0;
245
- }
246
- return dbfull()->TEST_write_controler().delayed_write_rate();
247
- #endif // !ROCKSDB_LITE
248
231
  }
249
232
 
250
233
  void Destroy(const std::vector<ColumnFamilyDescriptor>& column_families =
@@ -267,7 +250,6 @@ class ColumnFamilyTestBase : public testing::Test {
267
250
  db_->CreateColumnFamily(current_cf_opt, cfs[i], &handles_[cfi]));
268
251
  names_[cfi] = cfs[i];
269
252
 
270
- #ifndef ROCKSDB_LITE // RocksDBLite does not support GetDescriptor
271
253
  // Verify the CF options of the returned CF handle.
272
254
  ColumnFamilyDescriptor desc;
273
255
  ASSERT_OK(handles_[cfi]->GetDescriptor(&desc));
@@ -276,7 +258,6 @@ class ColumnFamilyTestBase : public testing::Test {
276
258
  ASSERT_OK(RocksDBOptionsParser::VerifyCFOptions(
277
259
  ConfigOptions(), desc.options,
278
260
  SanitizeOptions(dbfull()->immutable_db_options(), current_cf_opt)));
279
- #endif // !ROCKSDB_LITE
280
261
  cfi++;
281
262
  }
282
263
  }
@@ -325,7 +306,6 @@ class ColumnFamilyTestBase : public testing::Test {
325
306
  ASSERT_OK(db_->FlushWAL(/*sync=*/false));
326
307
  }
327
308
 
328
- #ifndef ROCKSDB_LITE // TEST functions in DB are not supported in lite
329
309
  void WaitForFlush(int cf) {
330
310
  ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable(handles_[cf]));
331
311
  }
@@ -339,7 +319,6 @@ class ColumnFamilyTestBase : public testing::Test {
339
319
  void AssertMaxTotalInMemoryState(uint64_t value) {
340
320
  ASSERT_EQ(value, MaxTotalInMemoryState());
341
321
  }
342
- #endif // !ROCKSDB_LITE
343
322
 
344
323
  Status Put(int cf, const std::string& key, const std::string& value) {
345
324
  return db_->Put(WriteOptions(), handles_[cf], Slice(key), Slice(value));
@@ -377,7 +356,6 @@ class ColumnFamilyTestBase : public testing::Test {
377
356
  "rocksdb.num-files-at-level" + std::to_string(level));
378
357
  }
379
358
 
380
- #ifndef ROCKSDB_LITE
381
359
  // Return spread of files per level
382
360
  std::string FilesPerLevel(int cf) {
383
361
  std::string result;
@@ -394,31 +372,19 @@ class ColumnFamilyTestBase : public testing::Test {
394
372
  result.resize(last_non_zero_offset);
395
373
  return result;
396
374
  }
397
- #endif
398
375
 
399
376
  void AssertFilesPerLevel(const std::string& value, int cf) {
400
- #ifndef ROCKSDB_LITE
401
377
  ASSERT_EQ(value, FilesPerLevel(cf));
402
- #else
403
- (void)value;
404
- (void)cf;
405
- #endif
406
378
  }
407
379
 
408
- #ifndef ROCKSDB_LITE // GetLiveFilesMetaData is not supported
409
380
  int CountLiveFiles() {
410
381
  std::vector<LiveFileMetaData> metadata;
411
382
  db_->GetLiveFilesMetaData(&metadata);
412
383
  return static_cast<int>(metadata.size());
413
384
  }
414
- #endif // !ROCKSDB_LITE
415
385
 
416
386
  void AssertCountLiveFiles(int expected_value) {
417
- #ifndef ROCKSDB_LITE
418
387
  ASSERT_EQ(expected_value, CountLiveFiles());
419
- #else
420
- (void)expected_value;
421
- #endif
422
388
  }
423
389
 
424
390
  // Do n memtable flushes, each of which produces an sstable
@@ -432,7 +398,6 @@ class ColumnFamilyTestBase : public testing::Test {
432
398
  }
433
399
  }
434
400
 
435
- #ifndef ROCKSDB_LITE // GetSortedWalFiles is not supported
436
401
  int CountLiveLogFiles() {
437
402
  int micros_wait_for_log_deletion = 20000;
438
403
  env_->SleepForMicroseconds(micros_wait_for_log_deletion);
@@ -461,25 +426,18 @@ class ColumnFamilyTestBase : public testing::Test {
461
426
  return ret;
462
427
  return 0;
463
428
  }
464
- #endif // !ROCKSDB_LITE
465
429
 
466
430
  void AssertCountLiveLogFiles(int value) {
467
- #ifndef ROCKSDB_LITE // GetSortedWalFiles is not supported
468
431
  ASSERT_EQ(value, CountLiveLogFiles());
469
- #else
470
- (void)value;
471
- #endif // !ROCKSDB_LITE
472
432
  }
473
433
 
474
434
  void AssertNumberOfImmutableMemtables(std::vector<int> num_per_cf) {
475
435
  assert(num_per_cf.size() == handles_.size());
476
436
 
477
- #ifndef ROCKSDB_LITE // GetProperty is not supported in lite
478
437
  for (size_t i = 0; i < num_per_cf.size(); ++i) {
479
438
  ASSERT_EQ(num_per_cf[i], GetProperty(static_cast<int>(i),
480
439
  "rocksdb.num-immutable-mem-table"));
481
440
  }
482
- #endif // !ROCKSDB_LITE
483
441
  }
484
442
 
485
443
  void CopyFile(const std::string& source, const std::string& destination,
@@ -575,7 +533,6 @@ TEST_P(ColumnFamilyTest, DontReuseColumnFamilyID) {
575
533
  }
576
534
  }
577
535
 
578
- #ifndef ROCKSDB_LITE
579
536
  TEST_P(ColumnFamilyTest, CreateCFRaceWithGetAggProperty) {
580
537
  Open();
581
538
 
@@ -598,7 +555,6 @@ TEST_P(ColumnFamilyTest, CreateCFRaceWithGetAggProperty) {
598
555
 
599
556
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
600
557
  }
601
- #endif // !ROCKSDB_LITE
602
558
 
603
559
  class FlushEmptyCFTestWithParam
604
560
  : public ColumnFamilyTestBase,
@@ -942,7 +898,6 @@ TEST_P(ColumnFamilyTest, IgnoreRecoveredLog) {
942
898
  }
943
899
  }
944
900
 
945
- #ifndef ROCKSDB_LITE // TEST functions used are not supported
946
901
  TEST_P(ColumnFamilyTest, FlushTest) {
947
902
  Open();
948
903
  CreateColumnFamiliesAndReopen({"one", "two"});
@@ -1057,7 +1012,6 @@ TEST_P(ColumnFamilyTest, LogDeletionTest) {
1057
1012
  AssertCountLiveLogFiles(4);
1058
1013
  Close();
1059
1014
  }
1060
- #endif // !ROCKSDB_LITE
1061
1015
 
1062
1016
  TEST_P(ColumnFamilyTest, CrashAfterFlush) {
1063
1017
  std::unique_ptr<FaultInjectionTestEnv> fault_env(
@@ -1097,7 +1051,6 @@ TEST_P(ColumnFamilyTest, OpenNonexistentColumnFamily) {
1097
1051
  ASSERT_TRUE(TryOpen({"default", "dne"}).IsInvalidArgument());
1098
1052
  }
1099
1053
 
1100
- #ifndef ROCKSDB_LITE // WaitForFlush() is not supported
1101
1054
  // Makes sure that obsolete log files get deleted
1102
1055
  TEST_P(ColumnFamilyTest, DifferentWriteBufferSizes) {
1103
1056
  // disable flushing stale column families
@@ -1205,14 +1158,12 @@ TEST_P(ColumnFamilyTest, DifferentWriteBufferSizes) {
1205
1158
  AssertCountLiveLogFiles(7);
1206
1159
  Close();
1207
1160
  }
1208
- #endif // !ROCKSDB_LITE
1209
1161
 
1210
1162
  // The test is commented out because we want to test that snapshot is
1211
1163
  // not created for memtables not supported it, but There isn't a memtable
1212
1164
  // that doesn't support snapshot right now. If we have one later, we can
1213
1165
  // re-enable the test.
1214
1166
  //
1215
- // #ifndef ROCKSDB_LITE // Cuckoo is not supported in lite
1216
1167
  // TEST_P(ColumnFamilyTest, MemtableNotSupportSnapshot) {
1217
1168
  // db_options_.allow_concurrent_memtable_write = false;
1218
1169
  // Open();
@@ -1232,7 +1183,6 @@ TEST_P(ColumnFamilyTest, DifferentWriteBufferSizes) {
1232
1183
  // {second}); auto* s3 = dbfull()->GetSnapshot(); ASSERT_TRUE(s3 == nullptr);
1233
1184
  // Close();
1234
1185
  // }
1235
- // #endif // !ROCKSDB_LITE
1236
1186
 
1237
1187
  class TestComparator : public Comparator {
1238
1188
  int Compare(const ROCKSDB_NAMESPACE::Slice& /*a*/,
@@ -1299,7 +1249,6 @@ TEST_P(ColumnFamilyTest, DifferentMergeOperators) {
1299
1249
  Close();
1300
1250
  }
1301
1251
 
1302
- #ifndef ROCKSDB_LITE // WaitForFlush() is not supported
1303
1252
  TEST_P(ColumnFamilyTest, DifferentCompactionStyles) {
1304
1253
  Open();
1305
1254
  CreateColumnFamilies({"one", "two"});
@@ -1367,9 +1316,7 @@ TEST_P(ColumnFamilyTest, DifferentCompactionStyles) {
1367
1316
 
1368
1317
  Close();
1369
1318
  }
1370
- #endif // !ROCKSDB_LITE
1371
1319
 
1372
- #ifndef ROCKSDB_LITE
1373
1320
  // Sync points not supported in RocksDB Lite
1374
1321
 
1375
1322
  TEST_P(ColumnFamilyTest, MultipleManualCompactions) {
@@ -2033,9 +1980,7 @@ TEST_P(ColumnFamilyTest, SameCFAutomaticManualCompactions) {
2033
1980
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
2034
1981
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks();
2035
1982
  }
2036
- #endif // !ROCKSDB_LITE
2037
1983
 
2038
- #ifndef ROCKSDB_LITE // Tailing iterator not supported
2039
1984
  namespace {
2040
1985
  std::string IterStatus(Iterator* iter) {
2041
1986
  std::string result;
@@ -2093,9 +2038,7 @@ TEST_P(ColumnFamilyTest, NewIteratorsTest) {
2093
2038
  Destroy();
2094
2039
  }
2095
2040
  }
2096
- #endif // !ROCKSDB_LITE
2097
2041
 
2098
- #ifndef ROCKSDB_LITE // ReadOnlyDB is not supported
2099
2042
  TEST_P(ColumnFamilyTest, ReadOnlyDBTest) {
2100
2043
  Open();
2101
2044
  CreateColumnFamiliesAndReopen({"one", "two", "three", "four"});
@@ -2144,9 +2087,7 @@ TEST_P(ColumnFamilyTest, ReadOnlyDBTest) {
2144
2087
  s = OpenReadOnly({"one", "four"});
2145
2088
  ASSERT_TRUE(!s.ok());
2146
2089
  }
2147
- #endif // !ROCKSDB_LITE
2148
2090
 
2149
- #ifndef ROCKSDB_LITE // WaitForFlush() is not supported in lite
2150
2091
  TEST_P(ColumnFamilyTest, DontRollEmptyLogs) {
2151
2092
  Open();
2152
2093
  CreateColumnFamiliesAndReopen({"one", "two", "three", "four"});
@@ -2168,9 +2109,7 @@ TEST_P(ColumnFamilyTest, DontRollEmptyLogs) {
2168
2109
  ASSERT_EQ(static_cast<size_t>(total_new_writable_files), handles_.size() + 1);
2169
2110
  Close();
2170
2111
  }
2171
- #endif // !ROCKSDB_LITE
2172
2112
 
2173
- #ifndef ROCKSDB_LITE // WaitForCompaction() is not supported in lite
2174
2113
  TEST_P(ColumnFamilyTest, FlushStaleColumnFamilies) {
2175
2114
  Open();
2176
2115
  CreateColumnFamilies({"one", "two"});
@@ -2217,7 +2156,6 @@ TEST_P(ColumnFamilyTest, FlushStaleColumnFamilies) {
2217
2156
  ASSERT_EQ(0, dbfull()->TEST_total_log_size());
2218
2157
  Close();
2219
2158
  }
2220
- #endif // !ROCKSDB_LITE
2221
2159
 
2222
2160
  TEST_P(ColumnFamilyTest, CreateMissingColumnFamilies) {
2223
2161
  Status s = TryOpen({"one", "two"});
@@ -2457,8 +2395,6 @@ TEST_P(ColumnFamilyTest, FlushAndDropRaceCondition) {
2457
2395
  Destroy();
2458
2396
  }
2459
2397
 
2460
- #ifndef ROCKSDB_LITE
2461
- // skipped as persisting options is not supported in ROCKSDB_LITE
2462
2398
  namespace {
2463
2399
  std::atomic<int> test_stage(0);
2464
2400
  std::atomic<bool> ordered_by_writethread(false);
@@ -2540,7 +2476,6 @@ TEST_P(ColumnFamilyTest, CreateAndDropRace) {
2540
2476
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
2541
2477
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks();
2542
2478
  }
2543
- #endif // !ROCKSDB_LITE
2544
2479
 
2545
2480
  TEST_P(ColumnFamilyTest, WriteStallSingleColumnFamily) {
2546
2481
  const uint64_t kBaseRate = 800000u;
@@ -2950,7 +2885,6 @@ TEST_P(ColumnFamilyTest, CreateDropAndDestroy) {
2950
2885
  ASSERT_OK(db_->DestroyColumnFamilyHandle(cfh));
2951
2886
  }
2952
2887
 
2953
- #ifndef ROCKSDB_LITE
2954
2888
  TEST_P(ColumnFamilyTest, CreateDropAndDestroyWithoutFileDeletion) {
2955
2889
  ColumnFamilyHandle* cfh;
2956
2890
  Open();
@@ -3005,9 +2939,7 @@ TEST_P(ColumnFamilyTest, FlushCloseWALFiles) {
3005
2939
  db_options_.env = env_;
3006
2940
  Close();
3007
2941
  }
3008
- #endif // !ROCKSDB_LITE
3009
2942
 
3010
- #ifndef ROCKSDB_LITE // WaitForFlush() is not supported
3011
2943
  TEST_P(ColumnFamilyTest, IteratorCloseWALFile1) {
3012
2944
  SpecialEnv env(Env::Default());
3013
2945
  db_options_.env = &env;
@@ -3114,9 +3046,7 @@ TEST_P(ColumnFamilyTest, IteratorCloseWALFile2) {
3114
3046
  db_options_.env = env_;
3115
3047
  Close();
3116
3048
  }
3117
- #endif // !ROCKSDB_LITE
3118
3049
 
3119
- #ifndef ROCKSDB_LITE // TEST functions are not supported in lite
3120
3050
  TEST_P(ColumnFamilyTest, ForwardIteratorCloseWALFile) {
3121
3051
  SpecialEnv env(Env::Default());
3122
3052
  // Allow both of flush and purge job to schedule.
@@ -3192,7 +3122,6 @@ TEST_P(ColumnFamilyTest, ForwardIteratorCloseWALFile) {
3192
3122
  db_options_.env = env_;
3193
3123
  Close();
3194
3124
  }
3195
- #endif // !ROCKSDB_LITE
3196
3125
 
3197
3126
  // Disable on windows because SyncWAL requires env->IsSyncThreadSafe()
3198
3127
  // to return true which is not so in unbuffered mode.
@@ -3,7 +3,6 @@
3
3
  // COPYING file in the root directory) and Apache 2.0 License
4
4
  // (found in the LICENSE.Apache file in the root directory).
5
5
 
6
- #ifndef ROCKSDB_LITE
7
6
 
8
7
  #include <mutex>
9
8
  #include <string>
@@ -490,13 +489,3 @@ int main(int argc, char** argv) {
490
489
  return RUN_ALL_TESTS();
491
490
  }
492
491
 
493
- #else
494
- #include <stdio.h>
495
-
496
- int main(int /*argc*/, char** /*argv*/) {
497
- fprintf(stderr,
498
- "SKIPPED as DBImpl::CompactFiles is not supported in ROCKSDB_LITE\n");
499
- return 0;
500
- }
501
-
502
- #endif // !ROCKSDB_LITE
@@ -13,6 +13,7 @@
13
13
  #include "db/blob/blob_index.h"
14
14
  #include "db/blob/prefetch_buffer_collection.h"
15
15
  #include "db/snapshot_checker.h"
16
+ #include "db/wide/wide_column_serialization.h"
16
17
  #include "logging/logging.h"
17
18
  #include "port/likely.h"
18
19
  #include "rocksdb/listener.h"
@@ -221,39 +222,47 @@ void CompactionIterator::Next() {
221
222
 
222
223
  bool CompactionIterator::InvokeFilterIfNeeded(bool* need_skip,
223
224
  Slice* skip_until) {
224
- // TODO: support compaction filter for wide-column entities
225
- if (!compaction_filter_ ||
226
- (ikey_.type != kTypeValue && ikey_.type != kTypeBlobIndex)) {
225
+ if (!compaction_filter_) {
227
226
  return true;
228
227
  }
229
- bool error = false;
230
- // If the user has specified a compaction filter and the sequence
231
- // number is greater than any external snapshot, then invoke the
232
- // filter. If the return value of the compaction filter is true,
233
- // replace the entry with a deletion marker.
234
- CompactionFilter::Decision filter = CompactionFilter::Decision::kUndetermined;
235
- compaction_filter_value_.clear();
236
- compaction_filter_skip_until_.Clear();
228
+
229
+ if (ikey_.type != kTypeValue && ikey_.type != kTypeBlobIndex &&
230
+ ikey_.type != kTypeWideColumnEntity) {
231
+ return true;
232
+ }
233
+
234
+ CompactionFilter::Decision decision =
235
+ CompactionFilter::Decision::kUndetermined;
237
236
  CompactionFilter::ValueType value_type =
238
237
  ikey_.type == kTypeValue ? CompactionFilter::ValueType::kValue
239
- : CompactionFilter::ValueType::kBlobIndex;
238
+ : ikey_.type == kTypeBlobIndex
239
+ ? CompactionFilter::ValueType::kBlobIndex
240
+ : CompactionFilter::ValueType::kWideColumnEntity;
241
+
240
242
  // Hack: pass internal key to BlobIndexCompactionFilter since it needs
241
243
  // to get sequence number.
242
244
  assert(compaction_filter_);
243
- Slice& filter_key =
244
- (ikey_.type == kTypeValue ||
245
+ const Slice& filter_key =
246
+ (ikey_.type != kTypeBlobIndex ||
245
247
  !compaction_filter_->IsStackedBlobDbInternalCompactionFilter())
246
248
  ? ikey_.user_key
247
249
  : key_;
250
+
251
+ compaction_filter_value_.clear();
252
+ compaction_filter_skip_until_.Clear();
253
+
254
+ std::vector<std::pair<std::string, std::string>> new_columns;
255
+
248
256
  {
249
257
  StopWatchNano timer(clock_, report_detailed_time_);
250
- if (kTypeBlobIndex == ikey_.type) {
251
- filter = compaction_filter_->FilterBlobByKey(
258
+
259
+ if (ikey_.type == kTypeBlobIndex) {
260
+ decision = compaction_filter_->FilterBlobByKey(
252
261
  level_, filter_key, &compaction_filter_value_,
253
262
  compaction_filter_skip_until_.rep());
254
- if (CompactionFilter::Decision::kUndetermined == filter &&
263
+ if (decision == CompactionFilter::Decision::kUndetermined &&
255
264
  !compaction_filter_->IsStackedBlobDbInternalCompactionFilter()) {
256
- if (compaction_ == nullptr) {
265
+ if (!compaction_) {
257
266
  status_ =
258
267
  Status::Corruption("Unexpected blob index outside of compaction");
259
268
  validity_info_.Invalidate();
@@ -299,33 +308,61 @@ bool CompactionIterator::InvokeFilterIfNeeded(bool* need_skip,
299
308
  value_type = CompactionFilter::ValueType::kValue;
300
309
  }
301
310
  }
302
- if (CompactionFilter::Decision::kUndetermined == filter) {
303
- filter = compaction_filter_->FilterV2(
304
- level_, filter_key, value_type,
305
- blob_value_.empty() ? value_ : blob_value_, &compaction_filter_value_,
311
+
312
+ if (decision == CompactionFilter::Decision::kUndetermined) {
313
+ const Slice* existing_val = nullptr;
314
+ const WideColumns* existing_col = nullptr;
315
+
316
+ WideColumns existing_columns;
317
+
318
+ if (ikey_.type != kTypeWideColumnEntity) {
319
+ if (!blob_value_.empty()) {
320
+ existing_val = &blob_value_;
321
+ } else {
322
+ existing_val = &value_;
323
+ }
324
+ } else {
325
+ Slice value_copy = value_;
326
+ const Status s =
327
+ WideColumnSerialization::Deserialize(value_copy, existing_columns);
328
+
329
+ if (!s.ok()) {
330
+ status_ = s;
331
+ validity_info_.Invalidate();
332
+ return false;
333
+ }
334
+
335
+ existing_col = &existing_columns;
336
+ }
337
+
338
+ decision = compaction_filter_->FilterV3(
339
+ level_, filter_key, value_type, existing_val, existing_col,
340
+ &compaction_filter_value_, &new_columns,
306
341
  compaction_filter_skip_until_.rep());
307
342
  }
343
+
308
344
  iter_stats_.total_filter_time +=
309
345
  env_ != nullptr && report_detailed_time_ ? timer.ElapsedNanos() : 0;
310
346
  }
311
347
 
312
- if (CompactionFilter::Decision::kUndetermined == filter) {
313
- // Should not reach here, since FilterV2 should never return kUndetermined.
314
- status_ =
315
- Status::NotSupported("FilterV2() should never return kUndetermined");
348
+ if (decision == CompactionFilter::Decision::kUndetermined) {
349
+ // Should not reach here, since FilterV2/FilterV3 should never return
350
+ // kUndetermined.
351
+ status_ = Status::NotSupported(
352
+ "FilterV2/FilterV3 should never return kUndetermined");
316
353
  validity_info_.Invalidate();
317
354
  return false;
318
355
  }
319
356
 
320
- if (filter == CompactionFilter::Decision::kRemoveAndSkipUntil &&
357
+ if (decision == CompactionFilter::Decision::kRemoveAndSkipUntil &&
321
358
  cmp_->Compare(*compaction_filter_skip_until_.rep(), ikey_.user_key) <=
322
359
  0) {
323
360
  // Can't skip to a key smaller than the current one.
324
- // Keep the key as per FilterV2 documentation.
325
- filter = CompactionFilter::Decision::kKeep;
361
+ // Keep the key as per FilterV2/FilterV3 documentation.
362
+ decision = CompactionFilter::Decision::kKeep;
326
363
  }
327
364
 
328
- if (filter == CompactionFilter::Decision::kRemove) {
365
+ if (decision == CompactionFilter::Decision::kRemove) {
329
366
  // convert the current key to a delete; key_ is pointing into
330
367
  // current_key_ at this point, so updating current_key_ updates key()
331
368
  ikey_.type = kTypeDeletion;
@@ -333,7 +370,7 @@ bool CompactionIterator::InvokeFilterIfNeeded(bool* need_skip,
333
370
  // no value associated with delete
334
371
  value_.clear();
335
372
  iter_stats_.num_record_drop_user++;
336
- } else if (filter == CompactionFilter::Decision::kPurge) {
373
+ } else if (decision == CompactionFilter::Decision::kPurge) {
337
374
  // convert the current key to a single delete; key_ is pointing into
338
375
  // current_key_ at this point, so updating current_key_ updates key()
339
376
  ikey_.type = kTypeSingleDeletion;
@@ -341,19 +378,19 @@ bool CompactionIterator::InvokeFilterIfNeeded(bool* need_skip,
341
378
  // no value associated with single delete
342
379
  value_.clear();
343
380
  iter_stats_.num_record_drop_user++;
344
- } else if (filter == CompactionFilter::Decision::kChangeValue) {
345
- if (ikey_.type == kTypeBlobIndex) {
346
- // value transfer from blob file to inlined data
381
+ } else if (decision == CompactionFilter::Decision::kChangeValue) {
382
+ if (ikey_.type != kTypeValue) {
347
383
  ikey_.type = kTypeValue;
348
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
384
+ current_key_.UpdateInternalKey(ikey_.sequence, kTypeValue);
349
385
  }
386
+
350
387
  value_ = compaction_filter_value_;
351
- } else if (filter == CompactionFilter::Decision::kRemoveAndSkipUntil) {
388
+ } else if (decision == CompactionFilter::Decision::kRemoveAndSkipUntil) {
352
389
  *need_skip = true;
353
390
  compaction_filter_skip_until_.ConvertFromUserKey(kMaxSequenceNumber,
354
391
  kValueTypeForSeek);
355
392
  *skip_until = compaction_filter_skip_until_.Encode();
356
- } else if (filter == CompactionFilter::Decision::kChangeBlobIndex) {
393
+ } else if (decision == CompactionFilter::Decision::kChangeBlobIndex) {
357
394
  // Only the StackableDB-based BlobDB impl's compaction filter should return
358
395
  // kChangeBlobIndex. Decision about rewriting blob and changing blob index
359
396
  // in the integrated BlobDB impl is made in subsequent call to
@@ -365,23 +402,56 @@ bool CompactionIterator::InvokeFilterIfNeeded(bool* need_skip,
365
402
  validity_info_.Invalidate();
366
403
  return false;
367
404
  }
368
- if (ikey_.type == kTypeValue) {
369
- // value transfer from inlined data to blob file
405
+
406
+ if (ikey_.type != kTypeBlobIndex) {
370
407
  ikey_.type = kTypeBlobIndex;
371
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
408
+ current_key_.UpdateInternalKey(ikey_.sequence, kTypeBlobIndex);
372
409
  }
410
+
373
411
  value_ = compaction_filter_value_;
374
- } else if (filter == CompactionFilter::Decision::kIOError) {
412
+ } else if (decision == CompactionFilter::Decision::kIOError) {
375
413
  if (!compaction_filter_->IsStackedBlobDbInternalCompactionFilter()) {
376
414
  status_ = Status::NotSupported(
377
415
  "CompactionFilter for integrated BlobDB should not return kIOError");
378
416
  validity_info_.Invalidate();
379
417
  return false;
380
418
  }
419
+
381
420
  status_ = Status::IOError("Failed to access blob during compaction filter");
382
- error = true;
421
+ validity_info_.Invalidate();
422
+ return false;
423
+ } else if (decision == CompactionFilter::Decision::kChangeWideColumnEntity) {
424
+ WideColumns sorted_columns;
425
+
426
+ sorted_columns.reserve(new_columns.size());
427
+ for (const auto& column : new_columns) {
428
+ sorted_columns.emplace_back(column.first, column.second);
429
+ }
430
+
431
+ std::sort(sorted_columns.begin(), sorted_columns.end(),
432
+ [](const WideColumn& lhs, const WideColumn& rhs) {
433
+ return lhs.name().compare(rhs.name()) < 0;
434
+ });
435
+
436
+ {
437
+ const Status s = WideColumnSerialization::Serialize(
438
+ sorted_columns, compaction_filter_value_);
439
+ if (!s.ok()) {
440
+ status_ = s;
441
+ validity_info_.Invalidate();
442
+ return false;
443
+ }
444
+ }
445
+
446
+ if (ikey_.type != kTypeWideColumnEntity) {
447
+ ikey_.type = kTypeWideColumnEntity;
448
+ current_key_.UpdateInternalKey(ikey_.sequence, kTypeWideColumnEntity);
449
+ }
450
+
451
+ value_ = compaction_filter_value_;
383
452
  }
384
- return !error;
453
+
454
+ return true;
385
455
  }
386
456
 
387
457
  void CompactionIterator::NextFromInput() {