@nxtedition/rocksdb 7.1.30 → 7.1.31

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 (380) hide show
  1. package/deps/rocksdb/rocksdb/CMakeLists.txt +2 -2
  2. package/deps/rocksdb/rocksdb/cache/cache_test.cc +15 -23
  3. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +0 -1
  4. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +4 -5
  5. package/deps/rocksdb/rocksdb/cache/lru_cache.h +3 -1
  6. package/deps/rocksdb/rocksdb/crash_test.mk +1 -1
  7. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +15 -0
  8. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +1 -1
  9. package/deps/rocksdb/rocksdb/db/column_family.cc +4 -1
  10. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +78 -6
  11. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +32 -6
  12. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +8 -8
  13. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  14. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +47 -8
  15. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +3 -3
  16. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +105 -166
  17. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +3 -4
  18. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +46 -15
  19. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +47 -26
  20. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +17 -10
  21. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +11 -5
  22. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +12 -6
  23. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -2
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +337 -103
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +43 -5
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +1 -2
  27. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +524 -1
  28. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +164 -0
  29. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +6 -6
  30. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -0
  31. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +5 -7
  32. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +11 -1
  33. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +4 -4
  34. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +1 -0
  35. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +2 -3
  36. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +1 -1
  37. package/deps/rocksdb/rocksdb/db/db_test2.cc +1 -1
  38. package/deps/rocksdb/rocksdb/db/memtable.cc +16 -23
  39. package/deps/rocksdb/rocksdb/db/merge_helper.cc +30 -0
  40. package/deps/rocksdb/rocksdb/db/merge_helper.h +9 -0
  41. package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +29 -9
  42. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +10 -7
  43. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +12 -8
  44. package/deps/rocksdb/rocksdb/db/version_set.cc +11 -6
  45. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +142 -0
  46. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +59 -53
  47. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +3 -2
  48. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +4 -0
  49. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +1 -3
  50. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +7 -4
  51. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +0 -2
  52. package/deps/rocksdb/rocksdb/env/env.cc +16 -19
  53. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +1 -1
  54. package/deps/rocksdb/rocksdb/env/env_chroot.cc +20 -20
  55. package/deps/rocksdb/rocksdb/env/env_encryption.cc +62 -60
  56. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  57. package/deps/rocksdb/rocksdb/env/env_test.cc +179 -176
  58. package/deps/rocksdb/rocksdb/env/file_system.cc +3 -4
  59. package/deps/rocksdb/rocksdb/env/io_posix.cc +3 -2
  60. package/deps/rocksdb/rocksdb/env/io_posix.h +1 -2
  61. package/deps/rocksdb/rocksdb/env/mock_env.h +1 -0
  62. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +4 -4
  63. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +6 -5
  64. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +2 -5
  65. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +6 -7
  66. package/deps/rocksdb/rocksdb/file/file_util.cc +1 -1
  67. package/deps/rocksdb/rocksdb/file/filename.cc +16 -17
  68. package/deps/rocksdb/rocksdb/file/filename.h +4 -5
  69. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +492 -496
  70. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +1 -1
  71. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +1 -3
  72. package/deps/rocksdb/rocksdb/file/read_write_util.cc +1 -0
  73. package/deps/rocksdb/rocksdb/file/read_write_util.h +1 -0
  74. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +6 -8
  75. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +1 -2
  76. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +4 -4
  77. package/deps/rocksdb/rocksdb/include/rocksdb/block_cache_trace_writer.h +4 -4
  78. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +166 -167
  79. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +1 -0
  80. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +0 -1
  81. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +12 -12
  82. package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +2 -0
  83. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +1 -0
  84. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +1 -0
  85. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -1
  86. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +1 -0
  87. package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +1 -0
  88. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +0 -4
  89. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +3 -3
  90. package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +1 -1
  91. package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +1 -0
  92. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +1 -0
  93. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +1 -0
  94. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +1 -0
  95. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +1 -0
  96. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +4 -4
  97. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +2 -0
  98. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +4 -4
  99. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +1 -1
  100. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +2 -2
  101. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
  102. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +3 -3
  103. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +3 -7
  104. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +20 -23
  105. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +1 -0
  106. package/deps/rocksdb/rocksdb/logging/event_logger.cc +1 -3
  107. package/deps/rocksdb/rocksdb/logging/event_logger.h +4 -5
  108. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +2 -1
  109. package/deps/rocksdb/rocksdb/logging/log_buffer.cc +2 -3
  110. package/deps/rocksdb/rocksdb/logging/log_buffer.h +3 -2
  111. package/deps/rocksdb/rocksdb/logging/logging.h +3 -3
  112. package/deps/rocksdb/rocksdb/memory/allocator.h +1 -0
  113. package/deps/rocksdb/rocksdb/memory/arena_test.cc +1 -1
  114. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +2 -0
  115. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -0
  116. package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +1 -0
  117. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +17 -20
  118. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +13 -15
  119. package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +11 -10
  120. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +3 -3
  121. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +2 -2
  122. package/deps/rocksdb/rocksdb/memtable/skiplist.h +30 -28
  123. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +4 -6
  124. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +73 -70
  125. package/deps/rocksdb/rocksdb/memtable/stl_wrappers.h +1 -1
  126. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +21 -23
  127. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +1 -0
  128. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +24 -38
  129. package/deps/rocksdb/rocksdb/monitoring/histogram.h +10 -17
  130. package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +19 -19
  131. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +22 -30
  132. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +4 -6
  133. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +1 -0
  134. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +4 -12
  135. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +2 -3
  136. package/deps/rocksdb/rocksdb/monitoring/iostats_context_test.cc +1 -0
  137. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +12 -14
  138. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +2 -3
  139. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -1
  140. package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +1 -3
  141. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +1 -0
  142. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
  143. package/deps/rocksdb/rocksdb/monitoring/statistics.h +7 -7
  144. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +12 -22
  145. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +7 -10
  146. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +2 -2
  147. package/deps/rocksdb/rocksdb/port/lang.h +3 -1
  148. package/deps/rocksdb/rocksdb/port/likely.h +2 -2
  149. package/deps/rocksdb/rocksdb/port/mmap.h +2 -2
  150. package/deps/rocksdb/rocksdb/port/port_dirent.h +2 -2
  151. package/deps/rocksdb/rocksdb/port/port_posix.cc +32 -27
  152. package/deps/rocksdb/rocksdb/port/port_posix.h +31 -30
  153. package/deps/rocksdb/rocksdb/port/stack_trace.cc +1 -1
  154. package/deps/rocksdb/rocksdb/port/sys_time.h +1 -1
  155. package/deps/rocksdb/rocksdb/port/win/io_win.h +6 -7
  156. package/deps/rocksdb/rocksdb/port/win/port_win.h +12 -20
  157. package/deps/rocksdb/rocksdb/port/win/win_jemalloc.cc +5 -4
  158. package/deps/rocksdb/rocksdb/port/win/win_logger.cc +3 -5
  159. package/deps/rocksdb/rocksdb/port/win/win_logger.h +3 -4
  160. package/deps/rocksdb/rocksdb/port/win/win_thread.cc +30 -49
  161. package/deps/rocksdb/rocksdb/port/win/win_thread.h +5 -5
  162. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +51 -62
  163. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +2 -2
  164. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +4 -3
  165. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +1 -0
  166. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +2 -2
  167. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +2 -1
  168. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +0 -1
  169. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3 -4
  170. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +1 -1
  171. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +0 -1
  172. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +2 -0
  173. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +2 -1
  174. package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +28 -30
  175. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.cc +2 -1
  176. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +3 -3
  177. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +3 -3
  178. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -0
  179. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +4 -5
  180. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +1 -3
  181. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +1 -2
  182. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +1 -0
  183. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +0 -1
  184. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +1 -1
  185. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +0 -1
  186. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +7 -6
  187. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +0 -1
  188. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +1 -0
  189. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -6
  190. package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -2
  191. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +90 -80
  192. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +5 -4
  193. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +63 -69
  194. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +2 -1
  195. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +58 -57
  196. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +3 -3
  197. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +35 -30
  198. package/deps/rocksdb/rocksdb/table/get_context.cc +16 -10
  199. package/deps/rocksdb/rocksdb/table/iter_heap.h +2 -0
  200. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -1
  201. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +1 -3
  202. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +31 -16
  203. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +6 -6
  204. package/deps/rocksdb/rocksdb/table/multiget_context.h +5 -6
  205. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +1 -0
  206. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.cc +1 -1
  207. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +7 -10
  208. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +3 -1
  209. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +2 -2
  210. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +4 -3
  211. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +2 -2
  212. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +1 -0
  213. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +10 -21
  214. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +14 -12
  215. package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +2 -5
  216. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -3
  217. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +0 -6
  218. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +0 -33
  219. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +3 -6
  220. package/deps/rocksdb/rocksdb/table/table_properties.cc +24 -37
  221. package/deps/rocksdb/rocksdb/table/table_reader.h +3 -2
  222. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +9 -8
  223. package/deps/rocksdb/rocksdb/table/table_test.cc +77 -82
  224. package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +1 -0
  225. package/deps/rocksdb/rocksdb/table/two_level_iterator.h +1 -1
  226. package/deps/rocksdb/rocksdb/test_util/sync_point.cc +8 -18
  227. package/deps/rocksdb/rocksdb/test_util/sync_point.h +2 -2
  228. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +4 -3
  229. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +13 -18
  230. package/deps/rocksdb/rocksdb/test_util/testharness.cc +1 -2
  231. package/deps/rocksdb/rocksdb/test_util/testutil.h +6 -7
  232. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +3 -4
  233. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +1 -1
  234. package/deps/rocksdb/rocksdb/tools/blob_dump.cc +1 -0
  235. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -7
  236. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +3 -2
  237. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +296 -314
  238. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +6 -6
  239. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +2 -1
  240. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +57 -64
  241. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +6 -5
  242. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +2 -2
  243. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -0
  244. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  245. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +1 -2
  246. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +10 -10
  247. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +1 -1
  248. package/deps/rocksdb/rocksdb/tools/write_stress.cc +6 -3
  249. package/deps/rocksdb/rocksdb/util/aligned_buffer.h +12 -31
  250. package/deps/rocksdb/rocksdb/util/autovector.h +3 -6
  251. package/deps/rocksdb/rocksdb/util/autovector_test.cc +12 -12
  252. package/deps/rocksdb/rocksdb/util/bloom_test.cc +8 -12
  253. package/deps/rocksdb/rocksdb/util/coding.cc +1 -0
  254. package/deps/rocksdb/rocksdb/util/coding.h +17 -15
  255. package/deps/rocksdb/rocksdb/util/coding_test.cc +14 -15
  256. package/deps/rocksdb/rocksdb/util/comparator.cc +4 -4
  257. package/deps/rocksdb/rocksdb/util/compression.h +6 -3
  258. package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +2 -2
  259. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.cc +5 -8
  260. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +1 -1
  261. package/deps/rocksdb/rocksdb/util/crc32c.cc +202 -297
  262. package/deps/rocksdb/rocksdb/util/crc32c.h +2 -3
  263. package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +2 -0
  264. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +39 -54
  265. package/deps/rocksdb/rocksdb/util/defer.h +2 -1
  266. package/deps/rocksdb/rocksdb/util/defer_test.cc +2 -1
  267. package/deps/rocksdb/rocksdb/util/duplicate_detector.h +2 -1
  268. package/deps/rocksdb/rocksdb/util/dynamic_bloom.cc +1 -1
  269. package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +3 -3
  270. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +1 -1
  271. package/deps/rocksdb/rocksdb/util/filelock_test.cc +24 -29
  272. package/deps/rocksdb/rocksdb/util/filter_bench.cc +4 -4
  273. package/deps/rocksdb/rocksdb/util/hash_test.cc +2 -2
  274. package/deps/rocksdb/rocksdb/util/heap.h +5 -4
  275. package/deps/rocksdb/rocksdb/util/heap_test.cc +15 -25
  276. package/deps/rocksdb/rocksdb/util/kv_map.h +1 -1
  277. package/deps/rocksdb/rocksdb/util/murmurhash.cc +7 -2
  278. package/deps/rocksdb/rocksdb/util/murmurhash.h +4 -3
  279. package/deps/rocksdb/rocksdb/util/mutexlock.h +5 -11
  280. package/deps/rocksdb/rocksdb/util/random.cc +1 -0
  281. package/deps/rocksdb/rocksdb/util/random.h +2 -4
  282. package/deps/rocksdb/rocksdb/util/random_test.cc +2 -1
  283. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +4 -3
  284. package/deps/rocksdb/rocksdb/util/slice.cc +1 -1
  285. package/deps/rocksdb/rocksdb/util/slice_test.cc +1 -2
  286. package/deps/rocksdb/rocksdb/util/status.cc +2 -0
  287. package/deps/rocksdb/rocksdb/util/string_util.cc +2 -0
  288. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +64 -76
  289. package/deps/rocksdb/rocksdb/util/thread_local.cc +18 -32
  290. package/deps/rocksdb/rocksdb/util/thread_local.h +2 -3
  291. package/deps/rocksdb/rocksdb/util/thread_operation.h +34 -43
  292. package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +54 -73
  293. package/deps/rocksdb/rocksdb/util/threadpool_imp.h +18 -18
  294. package/deps/rocksdb/rocksdb/util/timer.h +4 -9
  295. package/deps/rocksdb/rocksdb/util/timer_queue.h +1 -0
  296. package/deps/rocksdb/rocksdb/util/timer_queue_test.cc +1 -0
  297. package/deps/rocksdb/rocksdb/util/xxhash.cc +1 -2
  298. package/deps/rocksdb/rocksdb/util/xxhash.h +7 -4
  299. package/deps/rocksdb/rocksdb/util/xxph3.h +3 -1
  300. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +16 -24
  301. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +1 -1
  302. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +106 -104
  303. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +3 -4
  304. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +6 -6
  305. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +1 -2
  306. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +3 -4
  307. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -1
  308. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +11 -15
  309. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +1 -2
  310. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +3 -3
  311. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +12 -12
  312. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +56 -55
  313. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +91 -74
  314. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +17 -34
  315. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +21 -45
  316. package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +74 -97
  317. package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +17 -18
  318. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +3 -4
  319. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +19 -19
  320. package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +19 -18
  321. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +7 -10
  322. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +3 -4
  323. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +2 -2
  324. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +10 -15
  325. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +2 -1
  326. package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +1 -0
  327. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +5 -3
  328. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +1 -2
  329. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +4 -5
  330. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -7
  331. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +9 -13
  332. package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +1 -0
  333. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.cc +7 -9
  334. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +4 -5
  335. package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +4 -3
  336. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +1 -1
  337. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +3 -3
  338. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +2 -4
  339. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +2 -2
  340. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +39 -50
  341. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +2 -2
  342. package/deps/rocksdb/rocksdb/utilities/merge_operators.h +4 -3
  343. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +2 -2
  344. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +5 -7
  345. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +5 -4
  346. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
  347. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +3 -6
  348. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +1 -1
  349. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +2 -2
  350. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -1
  351. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +1 -0
  352. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +3 -1
  353. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +1 -1
  354. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +18 -13
  355. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +1 -3
  356. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +15 -14
  357. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +14 -12
  358. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -2
  359. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +4 -7
  360. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +1 -2
  361. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  362. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +1 -1
  363. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +1 -1
  364. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +3 -2
  365. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +1 -2
  366. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +3 -2
  367. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +5 -5
  368. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -4
  369. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +2 -2
  370. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +5 -4
  371. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +1 -1
  372. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +1 -0
  373. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +3 -4
  374. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +2 -6
  375. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +80 -79
  376. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -3
  377. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +9 -17
  378. package/package.json +1 -1
  379. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  380. package/prebuilds/linux-x64/node.napi.node +0 -0
@@ -6,46 +6,39 @@
6
6
  #include "test_util/testharness.h"
7
7
  #include "utilities/cassandra/serialize.h"
8
8
 
9
-
10
9
  namespace ROCKSDB_NAMESPACE {
11
10
  namespace cassandra {
12
11
 
13
12
  TEST(SerializeTest, SerializeI64) {
14
13
  std::string dest;
15
14
  Serialize<int64_t>(0, &dest);
16
- EXPECT_EQ(
17
- std::string(
18
- {'\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00'}),
19
- dest);
15
+ EXPECT_EQ(std::string({'\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
16
+ '\x00'}),
17
+ dest);
20
18
 
21
19
  dest.clear();
22
20
  Serialize<int64_t>(1, &dest);
23
- EXPECT_EQ(
24
- std::string(
25
- {'\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x01'}),
26
- dest);
27
-
21
+ EXPECT_EQ(std::string({'\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
22
+ '\x01'}),
23
+ dest);
28
24
 
29
25
  dest.clear();
30
26
  Serialize<int64_t>(-1, &dest);
31
- EXPECT_EQ(
32
- std::string(
33
- {'\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff'}),
34
- dest);
27
+ EXPECT_EQ(std::string({'\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff',
28
+ '\xff'}),
29
+ dest);
35
30
 
36
31
  dest.clear();
37
32
  Serialize<int64_t>(9223372036854775807, &dest);
38
- EXPECT_EQ(
39
- std::string(
40
- {'\x7f', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff'}),
41
- dest);
33
+ EXPECT_EQ(std::string({'\x7f', '\xff', '\xff', '\xff', '\xff', '\xff', '\xff',
34
+ '\xff'}),
35
+ dest);
42
36
 
43
37
  dest.clear();
44
38
  Serialize<int64_t>(-9223372036854775807, &dest);
45
- EXPECT_EQ(
46
- std::string(
47
- {'\x80', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x01'}),
48
- dest);
39
+ EXPECT_EQ(std::string({'\x80', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
40
+ '\x01'}),
41
+ dest);
49
42
  }
50
43
 
51
44
  TEST(SerializeTest, DeserializeI64) {
@@ -74,39 +67,23 @@ TEST(SerializeTest, DeserializeI64) {
74
67
  TEST(SerializeTest, SerializeI32) {
75
68
  std::string dest;
76
69
  Serialize<int32_t>(0, &dest);
77
- EXPECT_EQ(
78
- std::string(
79
- {'\x00', '\x00', '\x00', '\x00'}),
80
- dest);
70
+ EXPECT_EQ(std::string({'\x00', '\x00', '\x00', '\x00'}), dest);
81
71
 
82
72
  dest.clear();
83
73
  Serialize<int32_t>(1, &dest);
84
- EXPECT_EQ(
85
- std::string(
86
- {'\x00', '\x00', '\x00', '\x01'}),
87
- dest);
88
-
74
+ EXPECT_EQ(std::string({'\x00', '\x00', '\x00', '\x01'}), dest);
89
75
 
90
76
  dest.clear();
91
77
  Serialize<int32_t>(-1, &dest);
92
- EXPECT_EQ(
93
- std::string(
94
- {'\xff', '\xff', '\xff', '\xff'}),
95
- dest);
78
+ EXPECT_EQ(std::string({'\xff', '\xff', '\xff', '\xff'}), dest);
96
79
 
97
80
  dest.clear();
98
81
  Serialize<int32_t>(2147483647, &dest);
99
- EXPECT_EQ(
100
- std::string(
101
- {'\x7f', '\xff', '\xff', '\xff'}),
102
- dest);
82
+ EXPECT_EQ(std::string({'\x7f', '\xff', '\xff', '\xff'}), dest);
103
83
 
104
84
  dest.clear();
105
85
  Serialize<int32_t>(-2147483648LL, &dest);
106
- EXPECT_EQ(
107
- std::string(
108
- {'\x80', '\x00', '\x00', '\x00'}),
109
- dest);
86
+ EXPECT_EQ(std::string({'\x80', '\x00', '\x00', '\x00'}), dest);
110
87
  }
111
88
 
112
89
  TEST(SerializeTest, DeserializeI32) {
@@ -141,7 +118,6 @@ TEST(SerializeTest, SerializeI8) {
141
118
  Serialize<int8_t>(1, &dest);
142
119
  EXPECT_EQ(std::string({'\x01'}), dest);
143
120
 
144
-
145
121
  dest.clear();
146
122
  Serialize<int8_t>(-1, &dest);
147
123
  EXPECT_EQ(std::string({'\xff'}), dest);
@@ -178,7 +154,7 @@ TEST(SerializeTest, DeserializeI8) {
178
154
  EXPECT_EQ(-128, Deserialize<int8_t>(dest.c_str(), offset));
179
155
  }
180
156
 
181
- } // namespace cassandra
157
+ } // namespace cassandra
182
158
  } // namespace ROCKSDB_NAMESPACE
183
159
 
184
160
  int main(int argc, char** argv) {
@@ -14,26 +14,18 @@
14
14
  namespace ROCKSDB_NAMESPACE {
15
15
  namespace cassandra {
16
16
  namespace {
17
- const int32_t kDefaultLocalDeletionTime =
18
- std::numeric_limits<int32_t>::max();
19
- const int64_t kDefaultMarkedForDeleteAt =
20
- std::numeric_limits<int64_t>::min();
21
- }
17
+ const int32_t kDefaultLocalDeletionTime = std::numeric_limits<int32_t>::max();
18
+ const int64_t kDefaultMarkedForDeleteAt = std::numeric_limits<int64_t>::min();
19
+ } // namespace
22
20
 
23
21
  ColumnBase::ColumnBase(int8_t mask, int8_t index)
24
- : mask_(mask), index_(index) {}
22
+ : mask_(mask), index_(index) {}
25
23
 
26
- std::size_t ColumnBase::Size() const {
27
- return sizeof(mask_) + sizeof(index_);
28
- }
24
+ std::size_t ColumnBase::Size() const { return sizeof(mask_) + sizeof(index_); }
29
25
 
30
- int8_t ColumnBase::Mask() const {
31
- return mask_;
32
- }
26
+ int8_t ColumnBase::Mask() const { return mask_; }
33
27
 
34
- int8_t ColumnBase::Index() const {
35
- return index_;
36
- }
28
+ int8_t ColumnBase::Index() const { return index_; }
37
29
 
38
30
  void ColumnBase::Serialize(std::string* dest) const {
39
31
  ROCKSDB_NAMESPACE::cassandra::Serialize<int8_t>(mask_, dest);
@@ -52,22 +44,18 @@ std::shared_ptr<ColumnBase> ColumnBase::Deserialize(const char* src,
52
44
  }
53
45
  }
54
46
 
55
- Column::Column(
56
- int8_t mask,
57
- int8_t index,
58
- int64_t timestamp,
59
- int32_t value_size,
60
- const char* value
61
- ) : ColumnBase(mask, index), timestamp_(timestamp),
62
- value_size_(value_size), value_(value) {}
63
-
64
- int64_t Column::Timestamp() const {
65
- return timestamp_;
66
- }
47
+ Column::Column(int8_t mask, int8_t index, int64_t timestamp, int32_t value_size,
48
+ const char* value)
49
+ : ColumnBase(mask, index),
50
+ timestamp_(timestamp),
51
+ value_size_(value_size),
52
+ value_(value) {}
53
+
54
+ int64_t Column::Timestamp() const { return timestamp_; }
67
55
 
68
56
  std::size_t Column::Size() const {
69
- return ColumnBase::Size() + sizeof(timestamp_) + sizeof(value_size_)
70
- + value_size_;
57
+ return ColumnBase::Size() + sizeof(timestamp_) + sizeof(value_size_) +
58
+ value_size_;
71
59
  }
72
60
 
73
61
  void Column::Serialize(std::string* dest) const {
@@ -77,7 +65,7 @@ void Column::Serialize(std::string* dest) const {
77
65
  dest->append(value_, value_size_);
78
66
  }
79
67
 
80
- std::shared_ptr<Column> Column::Deserialize(const char *src,
68
+ std::shared_ptr<Column> Column::Deserialize(const char* src,
81
69
  std::size_t offset) {
82
70
  int8_t mask = ROCKSDB_NAMESPACE::cassandra::Deserialize<int8_t>(src, offset);
83
71
  offset += sizeof(mask);
@@ -89,19 +77,14 @@ std::shared_ptr<Column> Column::Deserialize(const char *src,
89
77
  int32_t value_size =
90
78
  ROCKSDB_NAMESPACE::cassandra::Deserialize<int32_t>(src, offset);
91
79
  offset += sizeof(value_size);
92
- return std::make_shared<Column>(
93
- mask, index, timestamp, value_size, src + offset);
80
+ return std::make_shared<Column>(mask, index, timestamp, value_size,
81
+ src + offset);
94
82
  }
95
83
 
96
- ExpiringColumn::ExpiringColumn(
97
- int8_t mask,
98
- int8_t index,
99
- int64_t timestamp,
100
- int32_t value_size,
101
- const char* value,
102
- int32_t ttl
103
- ) : Column(mask, index, timestamp, value_size, value),
104
- ttl_(ttl) {}
84
+ ExpiringColumn::ExpiringColumn(int8_t mask, int8_t index, int64_t timestamp,
85
+ int32_t value_size, const char* value,
86
+ int32_t ttl)
87
+ : Column(mask, index, timestamp, value_size, value), ttl_(ttl) {}
105
88
 
106
89
  std::size_t ExpiringColumn::Size() const {
107
90
  return Column::Size() + sizeof(ttl_);
@@ -112,8 +95,10 @@ void ExpiringColumn::Serialize(std::string* dest) const {
112
95
  ROCKSDB_NAMESPACE::cassandra::Serialize<int32_t>(ttl_, dest);
113
96
  }
114
97
 
115
- std::chrono::time_point<std::chrono::system_clock> ExpiringColumn::TimePoint() const {
116
- return std::chrono::time_point<std::chrono::system_clock>(std::chrono::microseconds(Timestamp()));
98
+ std::chrono::time_point<std::chrono::system_clock> ExpiringColumn::TimePoint()
99
+ const {
100
+ return std::chrono::time_point<std::chrono::system_clock>(
101
+ std::chrono::microseconds(Timestamp()));
117
102
  }
118
103
 
119
104
  std::chrono::seconds ExpiringColumn::Ttl() const {
@@ -127,19 +112,16 @@ bool ExpiringColumn::Expired() const {
127
112
  std::shared_ptr<Tombstone> ExpiringColumn::ToTombstone() const {
128
113
  auto expired_at = (TimePoint() + Ttl()).time_since_epoch();
129
114
  int32_t local_deletion_time = static_cast<int32_t>(
130
- std::chrono::duration_cast<std::chrono::seconds>(expired_at).count());
115
+ std::chrono::duration_cast<std::chrono::seconds>(expired_at).count());
131
116
  int64_t marked_for_delete_at =
132
- std::chrono::duration_cast<std::chrono::microseconds>(expired_at).count();
117
+ std::chrono::duration_cast<std::chrono::microseconds>(expired_at).count();
133
118
  return std::make_shared<Tombstone>(
134
- static_cast<int8_t>(ColumnTypeMask::DELETION_MASK),
135
- Index(),
136
- local_deletion_time,
137
- marked_for_delete_at);
119
+ static_cast<int8_t>(ColumnTypeMask::DELETION_MASK), Index(),
120
+ local_deletion_time, marked_for_delete_at);
138
121
  }
139
122
 
140
123
  std::shared_ptr<ExpiringColumn> ExpiringColumn::Deserialize(
141
- const char *src,
142
- std::size_t offset) {
124
+ const char* src, std::size_t offset) {
143
125
  int8_t mask = ROCKSDB_NAMESPACE::cassandra::Deserialize<int8_t>(src, offset);
144
126
  offset += sizeof(mask);
145
127
  int8_t index = ROCKSDB_NAMESPACE::cassandra::Deserialize<int8_t>(src, offset);
@@ -153,25 +135,21 @@ std::shared_ptr<ExpiringColumn> ExpiringColumn::Deserialize(
153
135
  const char* value = src + offset;
154
136
  offset += value_size;
155
137
  int32_t ttl = ROCKSDB_NAMESPACE::cassandra::Deserialize<int32_t>(src, offset);
156
- return std::make_shared<ExpiringColumn>(
157
- mask, index, timestamp, value_size, value, ttl);
138
+ return std::make_shared<ExpiringColumn>(mask, index, timestamp, value_size,
139
+ value, ttl);
158
140
  }
159
141
 
160
- Tombstone::Tombstone(
161
- int8_t mask,
162
- int8_t index,
163
- int32_t local_deletion_time,
164
- int64_t marked_for_delete_at
165
- ) : ColumnBase(mask, index), local_deletion_time_(local_deletion_time),
166
- marked_for_delete_at_(marked_for_delete_at) {}
142
+ Tombstone::Tombstone(int8_t mask, int8_t index, int32_t local_deletion_time,
143
+ int64_t marked_for_delete_at)
144
+ : ColumnBase(mask, index),
145
+ local_deletion_time_(local_deletion_time),
146
+ marked_for_delete_at_(marked_for_delete_at) {}
167
147
 
168
- int64_t Tombstone::Timestamp() const {
169
- return marked_for_delete_at_;
170
- }
148
+ int64_t Tombstone::Timestamp() const { return marked_for_delete_at_; }
171
149
 
172
150
  std::size_t Tombstone::Size() const {
173
- return ColumnBase::Size() + sizeof(local_deletion_time_)
174
- + sizeof(marked_for_delete_at_);
151
+ return ColumnBase::Size() + sizeof(local_deletion_time_) +
152
+ sizeof(marked_for_delete_at_);
175
153
  }
176
154
 
177
155
  void Tombstone::Serialize(std::string* dest) const {
@@ -187,7 +165,7 @@ bool Tombstone::Collectable(int32_t gc_grace_period_in_seconds) const {
187
165
  return local_deleted_at + gc_grace_period < std::chrono::system_clock::now();
188
166
  }
189
167
 
190
- std::shared_ptr<Tombstone> Tombstone::Deserialize(const char *src,
168
+ std::shared_ptr<Tombstone> Tombstone::Deserialize(const char* src,
191
169
  std::size_t offset) {
192
170
  int8_t mask = ROCKSDB_NAMESPACE::cassandra::Deserialize<int8_t>(src, offset);
193
171
  offset += sizeof(mask);
@@ -198,26 +176,27 @@ std::shared_ptr<Tombstone> Tombstone::Deserialize(const char *src,
198
176
  offset += sizeof(int32_t);
199
177
  int64_t marked_for_delete_at =
200
178
  ROCKSDB_NAMESPACE::cassandra::Deserialize<int64_t>(src, offset);
201
- return std::make_shared<Tombstone>(
202
- mask, index, local_deletion_time, marked_for_delete_at);
179
+ return std::make_shared<Tombstone>(mask, index, local_deletion_time,
180
+ marked_for_delete_at);
203
181
  }
204
182
 
205
183
  RowValue::RowValue(int32_t local_deletion_time, int64_t marked_for_delete_at)
206
- : local_deletion_time_(local_deletion_time),
207
- marked_for_delete_at_(marked_for_delete_at), columns_(),
208
- last_modified_time_(0) {}
184
+ : local_deletion_time_(local_deletion_time),
185
+ marked_for_delete_at_(marked_for_delete_at),
186
+ columns_(),
187
+ last_modified_time_(0) {}
209
188
 
210
- RowValue::RowValue(Columns columns,
211
- int64_t last_modified_time)
212
- : local_deletion_time_(kDefaultLocalDeletionTime),
213
- marked_for_delete_at_(kDefaultMarkedForDeleteAt),
214
- columns_(std::move(columns)), last_modified_time_(last_modified_time) {}
189
+ RowValue::RowValue(Columns columns, int64_t last_modified_time)
190
+ : local_deletion_time_(kDefaultLocalDeletionTime),
191
+ marked_for_delete_at_(kDefaultMarkedForDeleteAt),
192
+ columns_(std::move(columns)),
193
+ last_modified_time_(last_modified_time) {}
215
194
 
216
195
  std::size_t RowValue::Size() const {
217
- std::size_t size = sizeof(local_deletion_time_)
218
- + sizeof(marked_for_delete_at_);
196
+ std::size_t size =
197
+ sizeof(local_deletion_time_) + sizeof(marked_for_delete_at_);
219
198
  for (const auto& column : columns_) {
220
- size += column -> Size();
199
+ size += column->Size();
221
200
  }
222
201
  return size;
223
202
  }
@@ -238,7 +217,7 @@ void RowValue::Serialize(std::string* dest) const {
238
217
  ROCKSDB_NAMESPACE::cassandra::Serialize<int32_t>(local_deletion_time_, dest);
239
218
  ROCKSDB_NAMESPACE::cassandra::Serialize<int64_t>(marked_for_delete_at_, dest);
240
219
  for (const auto& column : columns_) {
241
- column -> Serialize(dest);
220
+ column->Serialize(dest);
242
221
  }
243
222
  }
244
223
 
@@ -246,11 +225,11 @@ RowValue RowValue::RemoveExpiredColumns(bool* changed) const {
246
225
  *changed = false;
247
226
  Columns new_columns;
248
227
  for (auto& column : columns_) {
249
- if(column->Mask() == ColumnTypeMask::EXPIRATION_MASK) {
228
+ if (column->Mask() == ColumnTypeMask::EXPIRATION_MASK) {
250
229
  std::shared_ptr<ExpiringColumn> expiring_column =
251
- std::static_pointer_cast<ExpiringColumn>(column);
230
+ std::static_pointer_cast<ExpiringColumn>(column);
252
231
 
253
- if(expiring_column->Expired()){
232
+ if (expiring_column->Expired()) {
254
233
  *changed = true;
255
234
  continue;
256
235
  }
@@ -265,11 +244,11 @@ RowValue RowValue::ConvertExpiredColumnsToTombstones(bool* changed) const {
265
244
  *changed = false;
266
245
  Columns new_columns;
267
246
  for (auto& column : columns_) {
268
- if(column->Mask() == ColumnTypeMask::EXPIRATION_MASK) {
247
+ if (column->Mask() == ColumnTypeMask::EXPIRATION_MASK) {
269
248
  std::shared_ptr<ExpiringColumn> expiring_column =
270
- std::static_pointer_cast<ExpiringColumn>(column);
249
+ std::static_pointer_cast<ExpiringColumn>(column);
271
250
 
272
- if(expiring_column->Expired()) {
251
+ if (expiring_column->Expired()) {
273
252
  std::shared_ptr<Tombstone> tombstone = expiring_column->ToTombstone();
274
253
  new_columns.push_back(tombstone);
275
254
  *changed = true;
@@ -298,11 +277,9 @@ RowValue RowValue::RemoveTombstones(int32_t gc_grace_period) const {
298
277
  return RowValue(std::move(new_columns), last_modified_time_);
299
278
  }
300
279
 
301
- bool RowValue::Empty() const {
302
- return columns_.empty();
303
- }
280
+ bool RowValue::Empty() const { return columns_.empty(); }
304
281
 
305
- RowValue RowValue::Deserialize(const char *src, std::size_t size) {
282
+ RowValue RowValue::Deserialize(const char* src, std::size_t size) {
306
283
  std::size_t offset = 0;
307
284
  assert(size >= sizeof(local_deletion_time_) + sizeof(marked_for_delete_at_));
308
285
  int32_t local_deletion_time =
@@ -321,9 +298,9 @@ RowValue RowValue::Deserialize(const char *src, std::size_t size) {
321
298
  int64_t last_modified_time = 0;
322
299
  while (offset < size) {
323
300
  auto c = ColumnBase::Deserialize(src, offset);
324
- offset += c -> Size();
301
+ offset += c->Size();
325
302
  assert(offset <= size);
326
- last_modified_time = std::max(last_modified_time, c -> Timestamp());
303
+ last_modified_time = std::max(last_modified_time, c->Timestamp());
327
304
  columns.push_back(std::move(c));
328
305
  }
329
306
 
@@ -344,9 +321,9 @@ RowValue RowValue::Merge(std::vector<RowValue>&& values) {
344
321
  // Merge columns by their last modified time, and skip once we hit
345
322
  // a row tombstone.
346
323
  std::sort(values.begin(), values.end(),
347
- [](const RowValue& r1, const RowValue& r2) {
348
- return r1.LastModifiedTime() > r2.LastModifiedTime();
349
- });
324
+ [](const RowValue& r1, const RowValue& r2) {
325
+ return r1.LastModifiedTime() > r2.LastModifiedTime();
326
+ });
350
327
 
351
328
  std::map<int8_t, std::shared_ptr<ColumnBase>> merged_columns;
352
329
  int64_t tombstone_timestamp = 0;
@@ -373,7 +350,7 @@ RowValue RowValue::Merge(std::vector<RowValue>&& values) {
373
350
 
374
351
  int64_t last_modified_time = 0;
375
352
  Columns columns;
376
- for (auto& pair: merged_columns) {
353
+ for (auto& pair : merged_columns) {
377
354
  // For some row, its last_modified_time > row tombstone_timestamp, but
378
355
  // it might have rows whose timestamp is ealier than tombstone, so we
379
356
  // ned to filter these rows.
@@ -386,5 +363,5 @@ RowValue RowValue::Merge(std::vector<RowValue>&& values) {
386
363
  return RowValue(std::move(columns), last_modified_time);
387
364
  }
388
365
 
389
- } // namepsace cassandrda
366
+ } // namespace cassandra
390
367
  } // namespace ROCKSDB_NAMESPACE
@@ -58,6 +58,7 @@
58
58
  #include <chrono>
59
59
  #include <memory>
60
60
  #include <vector>
61
+
61
62
  #include "rocksdb/merge_operator.h"
62
63
  #include "rocksdb/slice.h"
63
64
 
@@ -70,9 +71,8 @@ enum ColumnTypeMask {
70
71
  EXPIRATION_MASK = 0x02,
71
72
  };
72
73
 
73
-
74
74
  class ColumnBase {
75
- public:
75
+ public:
76
76
  ColumnBase(int8_t mask, int8_t index);
77
77
  virtual ~ColumnBase() = default;
78
78
 
@@ -84,15 +84,15 @@ public:
84
84
  static std::shared_ptr<ColumnBase> Deserialize(const char* src,
85
85
  std::size_t offset);
86
86
 
87
- private:
87
+ private:
88
88
  int8_t mask_;
89
89
  int8_t index_;
90
90
  };
91
91
 
92
92
  class Column : public ColumnBase {
93
- public:
94
- Column(int8_t mask, int8_t index, int64_t timestamp,
95
- int32_t value_size, const char* value);
93
+ public:
94
+ Column(int8_t mask, int8_t index, int64_t timestamp, int32_t value_size,
95
+ const char* value);
96
96
 
97
97
  virtual int64_t Timestamp() const override;
98
98
  virtual std::size_t Size() const override;
@@ -100,16 +100,16 @@ public:
100
100
  static std::shared_ptr<Column> Deserialize(const char* src,
101
101
  std::size_t offset);
102
102
 
103
- private:
103
+ private:
104
104
  int64_t timestamp_;
105
105
  int32_t value_size_;
106
106
  const char* value_;
107
107
  };
108
108
 
109
109
  class Tombstone : public ColumnBase {
110
- public:
111
- Tombstone(int8_t mask, int8_t index,
112
- int32_t local_deletion_time, int64_t marked_for_delete_at);
110
+ public:
111
+ Tombstone(int8_t mask, int8_t index, int32_t local_deletion_time,
112
+ int64_t marked_for_delete_at);
113
113
 
114
114
  virtual int64_t Timestamp() const override;
115
115
  virtual std::size_t Size() const override;
@@ -118,15 +118,15 @@ public:
118
118
  static std::shared_ptr<Tombstone> Deserialize(const char* src,
119
119
  std::size_t offset);
120
120
 
121
- private:
121
+ private:
122
122
  int32_t local_deletion_time_;
123
123
  int64_t marked_for_delete_at_;
124
124
  };
125
125
 
126
126
  class ExpiringColumn : public Column {
127
- public:
127
+ public:
128
128
  ExpiringColumn(int8_t mask, int8_t index, int64_t timestamp,
129
- int32_t value_size, const char* value, int32_t ttl);
129
+ int32_t value_size, const char* value, int32_t ttl);
130
130
 
131
131
  virtual std::size_t Size() const override;
132
132
  virtual void Serialize(std::string* dest) const override;
@@ -136,7 +136,7 @@ public:
136
136
  static std::shared_ptr<ExpiringColumn> Deserialize(const char* src,
137
137
  std::size_t offset);
138
138
 
139
- private:
139
+ private:
140
140
  int32_t ttl_;
141
141
  std::chrono::time_point<std::chrono::system_clock> TimePoint() const;
142
142
  std::chrono::seconds Ttl() const;
@@ -145,12 +145,11 @@ private:
145
145
  using Columns = std::vector<std::shared_ptr<ColumnBase>>;
146
146
 
147
147
  class RowValue {
148
- public:
148
+ public:
149
149
  // Create a Row Tombstone.
150
150
  RowValue(int32_t local_deletion_time, int64_t marked_for_delete_at);
151
151
  // Create a Row containing columns.
152
- RowValue(Columns columns,
153
- int64_t last_modified_time);
152
+ RowValue(Columns columns, int64_t last_modified_time);
154
153
  RowValue(const RowValue& /*that*/) = delete;
155
154
  RowValue(RowValue&& /*that*/) noexcept = default;
156
155
  RowValue& operator=(const RowValue& /*that*/) = delete;
@@ -180,5 +179,5 @@ public:
180
179
  int64_t last_modified_time_;
181
180
  };
182
181
 
183
- } // namepsace cassandrda
182
+ } // namespace cassandra
184
183
  } // namespace ROCKSDB_NAMESPACE
@@ -44,9 +44,8 @@ bool CassandraValueMergeOperator::FullMergeV2(
44
44
  merge_out->new_value.clear();
45
45
  std::vector<RowValue> row_values;
46
46
  if (merge_in.existing_value) {
47
- row_values.push_back(
48
- RowValue::Deserialize(merge_in.existing_value->data(),
49
- merge_in.existing_value->size()));
47
+ row_values.push_back(RowValue::Deserialize(
48
+ merge_in.existing_value->data(), merge_in.existing_value->size()));
50
49
  }
51
50
 
52
51
  for (auto& operand : merge_in.operand_list) {
@@ -78,6 +77,6 @@ bool CassandraValueMergeOperator::PartialMergeMulti(
78
77
  return true;
79
78
  }
80
79
 
81
- } // namespace cassandra
80
+ } // namespace cassandra
82
81
 
83
82
  } // namespace ROCKSDB_NAMESPACE
@@ -15,30 +15,30 @@ namespace cassandra {
15
15
  * A MergeOperator for rocksdb that implements Cassandra row value merge.
16
16
  */
17
17
  class CassandraValueMergeOperator : public MergeOperator {
18
- public:
19
- explicit CassandraValueMergeOperator(int32_t gc_grace_period_in_seconds,
20
- size_t operands_limit = 0);
18
+ public:
19
+ explicit CassandraValueMergeOperator(int32_t gc_grace_period_in_seconds,
20
+ size_t operands_limit = 0);
21
21
 
22
- virtual bool FullMergeV2(const MergeOperationInput& merge_in,
23
- MergeOperationOutput* merge_out) const override;
22
+ virtual bool FullMergeV2(const MergeOperationInput& merge_in,
23
+ MergeOperationOutput* merge_out) const override;
24
24
 
25
- virtual bool PartialMergeMulti(const Slice& key,
26
- const std::deque<Slice>& operand_list,
27
- std::string* new_value,
28
- Logger* logger) const override;
25
+ virtual bool PartialMergeMulti(const Slice& key,
26
+ const std::deque<Slice>& operand_list,
27
+ std::string* new_value,
28
+ Logger* logger) const override;
29
29
 
30
- const char* Name() const override { return kClassName(); }
31
- static const char* kClassName() { return "CassandraValueMergeOperator"; }
30
+ const char* Name() const override { return kClassName(); }
31
+ static const char* kClassName() { return "CassandraValueMergeOperator"; }
32
32
 
33
- virtual bool AllowSingleOperand() const override { return true; }
33
+ virtual bool AllowSingleOperand() const override { return true; }
34
34
 
35
- virtual bool ShouldMerge(const std::vector<Slice>& operands) const override {
36
- return options_.operands_limit > 0 &&
37
- operands.size() >= options_.operands_limit;
38
- }
35
+ virtual bool ShouldMerge(const std::vector<Slice>& operands) const override {
36
+ return options_.operands_limit > 0 &&
37
+ operands.size() >= options_.operands_limit;
38
+ }
39
39
 
40
- private:
41
- CassandraOptions options_;
40
+ private:
41
+ CassandraOptions options_;
42
42
  };
43
- } // namespace cassandra
43
+ } // namespace cassandra
44
44
  } // namespace ROCKSDB_NAMESPACE