@nxtedition/rocksdb 6.0.0 → 6.0.3

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 (488) hide show
  1. package/BUILDING.md +18 -0
  2. package/binding.cc +16 -17
  3. package/binding.gyp +2 -2
  4. package/deps/rocksdb/build_version.cc +4 -10
  5. package/deps/rocksdb/rocksdb/CMakeLists.txt +26 -3
  6. package/deps/rocksdb/rocksdb/Makefile +73 -91
  7. package/deps/rocksdb/rocksdb/TARGETS +27 -2
  8. package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
  9. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
  10. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
  12. package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
  13. package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
  14. package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
  15. package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
  16. package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
  17. package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
  18. package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
  19. package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
  20. package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +26 -0
  21. package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
  22. package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
  23. package/deps/rocksdb/rocksdb/common.mk +30 -0
  24. package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
  25. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
  26. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
  27. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
  28. package/deps/rocksdb/rocksdb/db/builder.cc +22 -7
  29. package/deps/rocksdb/rocksdb/db/c.cc +71 -0
  30. package/deps/rocksdb/rocksdb/db/c_test.c +28 -2
  31. package/deps/rocksdb/rocksdb/db/column_family.cc +12 -5
  32. package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
  33. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +54 -16
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +14 -2
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +85 -18
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
  44. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +23 -22
  45. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
  46. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +151 -32
  47. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
  48. package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
  49. package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
  50. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
  51. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +404 -32
  52. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
  53. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
  54. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
  55. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
  56. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
  57. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
  58. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +11 -20
  59. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +15 -1
  60. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +12 -9
  61. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
  62. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +1 -1
  63. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
  64. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +42 -10
  65. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +54 -23
  66. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +3 -0
  67. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +14 -4
  68. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
  69. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
  70. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
  71. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
  72. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
  73. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
  74. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
  75. package/deps/rocksdb/rocksdb/db/db_options_test.cc +28 -12
  76. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
  77. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
  78. package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +331 -0
  79. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +11 -6
  80. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
  81. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
  82. package/deps/rocksdb/rocksdb/db/db_test.cc +60 -42
  83. package/deps/rocksdb/rocksdb/db/db_test2.cc +244 -111
  84. package/deps/rocksdb/rocksdb/db/db_test_util.cc +101 -19
  85. package/deps/rocksdb/rocksdb/db/db_test_util.h +52 -2
  86. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
  87. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
  88. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +5 -175
  89. package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.cc +96 -0
  90. package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.h +126 -0
  91. package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
  92. package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
  93. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
  94. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
  95. package/deps/rocksdb/rocksdb/db/experimental.cc +1 -1
  96. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +91 -12
  97. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +16 -2
  98. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +2 -0
  99. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
  100. package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
  101. package/deps/rocksdb/rocksdb/db/flush_job.cc +28 -15
  102. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
  103. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
  104. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  105. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +14 -1
  106. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +6 -0
  107. package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
  108. package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
  109. package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
  110. package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
  111. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
  112. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
  113. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
  114. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
  115. package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
  116. package/deps/rocksdb/rocksdb/db/repair.cc +13 -2
  117. package/deps/rocksdb/rocksdb/db/repair_test.cc +37 -15
  118. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
  119. package/deps/rocksdb/rocksdb/db/snapshot_impl.h +3 -1
  120. package/deps/rocksdb/rocksdb/db/table_cache.cc +20 -130
  121. package/deps/rocksdb/rocksdb/db/table_cache.h +3 -2
  122. package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +140 -0
  123. package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
  124. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +133 -133
  125. package/deps/rocksdb/rocksdb/db/version_edit.cc +22 -2
  126. package/deps/rocksdb/rocksdb/db/version_edit.h +13 -4
  127. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +14 -14
  128. package/deps/rocksdb/rocksdb/db/version_set.cc +207 -214
  129. package/deps/rocksdb/rocksdb/db/version_set.h +14 -3
  130. package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +154 -0
  131. package/deps/rocksdb/rocksdb/db/version_set_test.cc +10 -9
  132. package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
  133. package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
  134. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
  135. package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
  136. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
  137. package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
  138. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
  139. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -6
  140. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
  141. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
  142. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +44 -6
  143. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
  144. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
  145. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
  146. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +374 -275
  147. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
  148. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
  149. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
  150. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
  151. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
  152. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
  153. package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
  154. package/deps/rocksdb/rocksdb/env/env.cc +0 -60
  155. package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
  156. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  157. package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
  158. package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
  159. package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
  160. package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
  161. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
  162. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +159 -65
  163. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +44 -22
  164. package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
  165. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +142 -17
  166. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
  167. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
  168. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +60 -40
  169. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +1 -0
  170. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +23 -5
  171. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +49 -1
  172. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
  173. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
  174. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
  175. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
  176. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
  177. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
  178. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
  179. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
  180. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
  181. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +45 -3
  182. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -0
  183. package/deps/rocksdb/rocksdb/include/rocksdb/snapshot.h +4 -1
  184. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +3 -0
  185. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
  186. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
  187. package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
  188. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
  189. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
  190. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
  191. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +378 -103
  192. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
  193. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  194. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
  195. package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
  196. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
  197. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
  198. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
  199. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
  200. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
  201. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
  202. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
  203. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
  204. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
  205. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
  206. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +7 -8
  207. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
  208. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
  209. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
  210. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
  211. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
  212. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
  213. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
  214. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
  215. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
  216. package/deps/rocksdb/rocksdb/options/cf_options.cc +47 -38
  217. package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
  218. package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
  219. package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
  220. package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
  221. package/deps/rocksdb/rocksdb/options/db_options.cc +46 -17
  222. package/deps/rocksdb/rocksdb/options/db_options.h +2 -0
  223. package/deps/rocksdb/rocksdb/options/options.cc +7 -0
  224. package/deps/rocksdb/rocksdb/options/options_helper.cc +86 -39
  225. package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
  226. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +12 -7
  227. package/deps/rocksdb/rocksdb/options/options_test.cc +222 -68
  228. package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
  229. package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
  230. package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
  231. package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
  232. package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
  233. package/deps/rocksdb/rocksdb/src.mk +6 -1
  234. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
  235. package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
  236. package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
  237. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
  238. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +23 -8
  239. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
  240. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +81 -7
  241. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +8 -2
  242. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +94 -726
  243. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +21 -15
  244. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +9 -3
  245. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +754 -0
  246. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +44 -73
  247. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +15 -5
  248. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
  249. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +2 -11
  250. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +59 -1
  251. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +18 -0
  252. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
  253. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +0 -61
  254. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +0 -13
  255. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
  256. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
  257. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -2
  258. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
  259. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +3 -2
  260. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -3
  261. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +8 -4
  262. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
  263. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +2 -1
  264. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +65 -7
  265. package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -0
  266. package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
  267. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
  268. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
  269. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
  270. package/deps/rocksdb/rocksdb/table/format.cc +22 -20
  271. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
  272. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +39 -0
  273. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
  274. package/deps/rocksdb/rocksdb/table/multiget_context.h +60 -13
  275. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
  276. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
  277. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
  278. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -1
  279. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +1 -1
  280. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
  281. package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
  282. package/deps/rocksdb/rocksdb/table/table_reader.h +13 -0
  283. package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
  284. package/deps/rocksdb/rocksdb/table/unique_id.cc +84 -25
  285. package/deps/rocksdb/rocksdb/table/unique_id_impl.h +37 -4
  286. package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -1
  287. package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
  288. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
  289. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
  290. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
  291. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
  292. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +277 -105
  293. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
  294. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
  295. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
  296. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
  297. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
  298. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  299. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +26 -4
  300. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
  301. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
  302. package/deps/rocksdb/rocksdb/util/async_file_reader.cc +72 -0
  303. package/deps/rocksdb/rocksdb/util/async_file_reader.h +144 -0
  304. package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
  305. package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
  306. package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
  307. package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
  308. package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
  309. package/deps/rocksdb/rocksdb/util/compression.h +56 -7
  310. package/deps/rocksdb/rocksdb/util/coro_utils.h +111 -0
  311. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
  312. package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
  313. package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
  314. package/deps/rocksdb/rocksdb/util/heap.h +5 -3
  315. package/deps/rocksdb/rocksdb/util/random.cc +1 -5
  316. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
  317. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
  318. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
  319. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
  320. package/deps/rocksdb/rocksdb/util/single_thread_executor.h +55 -0
  321. package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
  322. package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
  323. package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
  324. package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
  325. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
  326. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
  327. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
  328. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
  329. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
  330. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
  331. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
  332. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
  333. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
  334. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
  335. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
  336. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
  337. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
  338. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
  339. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
  340. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
  341. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
  342. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
  343. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
  344. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
  345. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
  346. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
  347. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
  348. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
  349. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
  350. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
  351. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
  352. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
  353. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
  354. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
  355. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
  356. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
  357. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
  358. package/deps/rocksdb/rocksdb.gyp +47 -37
  359. package/package-lock.json +23687 -0
  360. package/package.json +2 -30
  361. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  362. package/prebuilds/darwin-x64/node.napi.node +0 -0
  363. package/prebuilds/linux-x64/node.napi.node +0 -0
  364. package/deps/liburing/liburing/README +0 -46
  365. package/deps/liburing/liburing/test/232c93d07b74-test.c +0 -305
  366. package/deps/liburing/liburing/test/35fa71a030ca-test.c +0 -329
  367. package/deps/liburing/liburing/test/500f9fbadef8-test.c +0 -89
  368. package/deps/liburing/liburing/test/7ad0e4b2f83c-test.c +0 -93
  369. package/deps/liburing/liburing/test/8a9973408177-test.c +0 -106
  370. package/deps/liburing/liburing/test/917257daa0fe-test.c +0 -53
  371. package/deps/liburing/liburing/test/Makefile +0 -312
  372. package/deps/liburing/liburing/test/a0908ae19763-test.c +0 -58
  373. package/deps/liburing/liburing/test/a4c0b3decb33-test.c +0 -180
  374. package/deps/liburing/liburing/test/accept-link.c +0 -251
  375. package/deps/liburing/liburing/test/accept-reuse.c +0 -164
  376. package/deps/liburing/liburing/test/accept-test.c +0 -79
  377. package/deps/liburing/liburing/test/accept.c +0 -476
  378. package/deps/liburing/liburing/test/across-fork.c +0 -283
  379. package/deps/liburing/liburing/test/b19062a56726-test.c +0 -53
  380. package/deps/liburing/liburing/test/b5837bd5311d-test.c +0 -77
  381. package/deps/liburing/liburing/test/ce593a6c480a-test.c +0 -135
  382. package/deps/liburing/liburing/test/close-opath.c +0 -122
  383. package/deps/liburing/liburing/test/config +0 -10
  384. package/deps/liburing/liburing/test/connect.c +0 -398
  385. package/deps/liburing/liburing/test/cq-full.c +0 -96
  386. package/deps/liburing/liburing/test/cq-overflow.c +0 -294
  387. package/deps/liburing/liburing/test/cq-peek-batch.c +0 -102
  388. package/deps/liburing/liburing/test/cq-ready.c +0 -94
  389. package/deps/liburing/liburing/test/cq-size.c +0 -58
  390. package/deps/liburing/liburing/test/d4ae271dfaae-test.c +0 -96
  391. package/deps/liburing/liburing/test/d77a67ed5f27-test.c +0 -65
  392. package/deps/liburing/liburing/test/defer.c +0 -307
  393. package/deps/liburing/liburing/test/double-poll-crash.c +0 -186
  394. package/deps/liburing/liburing/test/eeed8b54e0df-test.c +0 -114
  395. package/deps/liburing/liburing/test/empty-eownerdead.c +0 -42
  396. package/deps/liburing/liburing/test/eventfd-disable.c +0 -151
  397. package/deps/liburing/liburing/test/eventfd-ring.c +0 -97
  398. package/deps/liburing/liburing/test/eventfd.c +0 -112
  399. package/deps/liburing/liburing/test/fadvise.c +0 -202
  400. package/deps/liburing/liburing/test/fallocate.c +0 -249
  401. package/deps/liburing/liburing/test/fc2a85cb02ef-test.c +0 -138
  402. package/deps/liburing/liburing/test/file-register.c +0 -843
  403. package/deps/liburing/liburing/test/file-update.c +0 -173
  404. package/deps/liburing/liburing/test/files-exit-hang-poll.c +0 -128
  405. package/deps/liburing/liburing/test/files-exit-hang-timeout.c +0 -134
  406. package/deps/liburing/liburing/test/fixed-link.c +0 -90
  407. package/deps/liburing/liburing/test/fsync.c +0 -224
  408. package/deps/liburing/liburing/test/hardlink.c +0 -136
  409. package/deps/liburing/liburing/test/helpers.c +0 -135
  410. package/deps/liburing/liburing/test/helpers.h +0 -67
  411. package/deps/liburing/liburing/test/io-cancel.c +0 -537
  412. package/deps/liburing/liburing/test/io_uring_enter.c +0 -296
  413. package/deps/liburing/liburing/test/io_uring_register.c +0 -664
  414. package/deps/liburing/liburing/test/io_uring_setup.c +0 -192
  415. package/deps/liburing/liburing/test/iopoll.c +0 -366
  416. package/deps/liburing/liburing/test/lfs-openat-write.c +0 -117
  417. package/deps/liburing/liburing/test/lfs-openat.c +0 -273
  418. package/deps/liburing/liburing/test/link-timeout.c +0 -1107
  419. package/deps/liburing/liburing/test/link.c +0 -496
  420. package/deps/liburing/liburing/test/link_drain.c +0 -229
  421. package/deps/liburing/liburing/test/madvise.c +0 -195
  422. package/deps/liburing/liburing/test/mkdir.c +0 -108
  423. package/deps/liburing/liburing/test/multicqes_drain.c +0 -383
  424. package/deps/liburing/liburing/test/nop-all-sizes.c +0 -107
  425. package/deps/liburing/liburing/test/nop.c +0 -115
  426. package/deps/liburing/liburing/test/open-close.c +0 -146
  427. package/deps/liburing/liburing/test/openat2.c +0 -240
  428. package/deps/liburing/liburing/test/personality.c +0 -204
  429. package/deps/liburing/liburing/test/pipe-eof.c +0 -81
  430. package/deps/liburing/liburing/test/pipe-reuse.c +0 -105
  431. package/deps/liburing/liburing/test/poll-cancel-ton.c +0 -139
  432. package/deps/liburing/liburing/test/poll-cancel.c +0 -135
  433. package/deps/liburing/liburing/test/poll-link.c +0 -227
  434. package/deps/liburing/liburing/test/poll-many.c +0 -208
  435. package/deps/liburing/liburing/test/poll-mshot-update.c +0 -273
  436. package/deps/liburing/liburing/test/poll-ring.c +0 -48
  437. package/deps/liburing/liburing/test/poll-v-poll.c +0 -353
  438. package/deps/liburing/liburing/test/poll.c +0 -109
  439. package/deps/liburing/liburing/test/probe.c +0 -137
  440. package/deps/liburing/liburing/test/read-write.c +0 -876
  441. package/deps/liburing/liburing/test/register-restrictions.c +0 -633
  442. package/deps/liburing/liburing/test/rename.c +0 -134
  443. package/deps/liburing/liburing/test/ring-leak.c +0 -173
  444. package/deps/liburing/liburing/test/ring-leak2.c +0 -249
  445. package/deps/liburing/liburing/test/rsrc_tags.c +0 -449
  446. package/deps/liburing/liburing/test/runtests-loop.sh +0 -16
  447. package/deps/liburing/liburing/test/runtests.sh +0 -170
  448. package/deps/liburing/liburing/test/rw_merge_test.c +0 -97
  449. package/deps/liburing/liburing/test/self.c +0 -91
  450. package/deps/liburing/liburing/test/send_recv.c +0 -291
  451. package/deps/liburing/liburing/test/send_recvmsg.c +0 -345
  452. package/deps/liburing/liburing/test/sendmsg_fs_cve.c +0 -198
  453. package/deps/liburing/liburing/test/shared-wq.c +0 -84
  454. package/deps/liburing/liburing/test/short-read.c +0 -75
  455. package/deps/liburing/liburing/test/shutdown.c +0 -163
  456. package/deps/liburing/liburing/test/sigfd-deadlock.c +0 -74
  457. package/deps/liburing/liburing/test/socket-rw-eagain.c +0 -156
  458. package/deps/liburing/liburing/test/socket-rw.c +0 -147
  459. package/deps/liburing/liburing/test/splice.c +0 -511
  460. package/deps/liburing/liburing/test/sq-full-cpp.cc +0 -45
  461. package/deps/liburing/liburing/test/sq-full.c +0 -45
  462. package/deps/liburing/liburing/test/sq-poll-dup.c +0 -200
  463. package/deps/liburing/liburing/test/sq-poll-kthread.c +0 -168
  464. package/deps/liburing/liburing/test/sq-poll-share.c +0 -137
  465. package/deps/liburing/liburing/test/sq-space_left.c +0 -159
  466. package/deps/liburing/liburing/test/sqpoll-cancel-hang.c +0 -159
  467. package/deps/liburing/liburing/test/sqpoll-disable-exit.c +0 -195
  468. package/deps/liburing/liburing/test/sqpoll-exit-hang.c +0 -77
  469. package/deps/liburing/liburing/test/sqpoll-sleep.c +0 -68
  470. package/deps/liburing/liburing/test/statx.c +0 -172
  471. package/deps/liburing/liburing/test/stdout.c +0 -232
  472. package/deps/liburing/liburing/test/submit-link-fail.c +0 -154
  473. package/deps/liburing/liburing/test/submit-reuse.c +0 -239
  474. package/deps/liburing/liburing/test/symlink.c +0 -116
  475. package/deps/liburing/liburing/test/teardowns.c +0 -58
  476. package/deps/liburing/liburing/test/thread-exit.c +0 -131
  477. package/deps/liburing/liburing/test/timeout-new.c +0 -246
  478. package/deps/liburing/liburing/test/timeout-overflow.c +0 -204
  479. package/deps/liburing/liburing/test/timeout.c +0 -1354
  480. package/deps/liburing/liburing/test/unlink.c +0 -111
  481. package/deps/liburing/liburing/test/wakeup-hang.c +0 -162
  482. package/deps/rocksdb/rocksdb/README.md +0 -32
  483. package/deps/rocksdb/rocksdb/microbench/README.md +0 -60
  484. package/deps/rocksdb/rocksdb/plugin/README.md +0 -43
  485. package/deps/rocksdb/rocksdb/port/README +0 -10
  486. package/deps/rocksdb/rocksdb/python.mk +0 -9
  487. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +0 -13
  488. package/prebuilds/linux-arm64/node.napi.node +0 -0
@@ -104,6 +104,9 @@ struct OptionsOverride {
104
104
  std::shared_ptr<const FilterPolicy> filter_policy = nullptr;
105
105
  // These will be used only if filter_policy is set
106
106
  bool partition_filters = false;
107
+ // Force using a default block cache. (Setting to false allows ASAN build
108
+ // use a trivially small block cache for better UAF error detection.)
109
+ bool full_block_cache = false;
107
110
  uint64_t metadata_block_size = 1024;
108
111
 
109
112
  // Used as a bit mask of individual enums in which to skip an XF test point
@@ -949,6 +952,51 @@ class CacheWrapper : public Cache {
949
952
  std::shared_ptr<Cache> target_;
950
953
  };
951
954
 
955
+ /*
956
+ * A cache wrapper that tracks certain CacheEntryRole's cache charge, its
957
+ * peaks and increments
958
+ *
959
+ * p0
960
+ * / \ p1
961
+ * / \ /\
962
+ * / \/ \
963
+ * a / b \
964
+ * peaks = {p0, p1}
965
+ * increments = {p1-a, p2-b}
966
+ */
967
+ template <CacheEntryRole R>
968
+ class TargetCacheChargeTrackingCache : public CacheWrapper {
969
+ public:
970
+ explicit TargetCacheChargeTrackingCache(std::shared_ptr<Cache> target);
971
+
972
+ using Cache::Insert;
973
+ Status Insert(const Slice& key, void* value, size_t charge,
974
+ void (*deleter)(const Slice& key, void* value),
975
+ Handle** handle = nullptr,
976
+ Priority priority = Priority::LOW) override;
977
+
978
+ using Cache::Release;
979
+ bool Release(Handle* handle, bool erase_if_last_ref = false) override;
980
+
981
+ std::size_t GetCacheCharge() { return cur_cache_charge_; }
982
+
983
+ std::deque<std::size_t> GetChargedCachePeaks() { return cache_charge_peaks_; }
984
+
985
+ std::size_t GetChargedCacheIncrementSum() {
986
+ return cache_charge_increments_sum_;
987
+ }
988
+
989
+ private:
990
+ static const Cache::DeleterFn kNoopDeleter;
991
+
992
+ std::size_t cur_cache_charge_;
993
+ std::size_t cache_charge_peak_;
994
+ std::size_t cache_charge_increment_;
995
+ bool last_peak_tracked_;
996
+ std::deque<std::size_t> cache_charge_peaks_;
997
+ std::size_t cache_charge_increments_sum_;
998
+ };
999
+
952
1000
  class DBTestBase : public testing::Test {
953
1001
  public:
954
1002
  // Sequence of option configurations to try
@@ -1151,10 +1199,12 @@ class DBTestBase : public testing::Test {
1151
1199
  std::vector<std::string> MultiGet(std::vector<int> cfs,
1152
1200
  const std::vector<std::string>& k,
1153
1201
  const Snapshot* snapshot,
1154
- const bool batched);
1202
+ const bool batched,
1203
+ const bool async = false);
1155
1204
 
1156
1205
  std::vector<std::string> MultiGet(const std::vector<std::string>& k,
1157
- const Snapshot* snapshot = nullptr);
1206
+ const Snapshot* snapshot = nullptr,
1207
+ const bool async = false);
1158
1208
 
1159
1209
  uint64_t GetNumSnapshots();
1160
1210
 
@@ -549,7 +549,7 @@ TEST_P(DBTestUniversalCompaction, CompactFilesOnUniversalCompaction) {
549
549
  ASSERT_EQ(options.compaction_style, kCompactionStyleUniversal);
550
550
  Random rnd(301);
551
551
  for (int key = 1024 * kEntriesPerBuffer; key >= 0; --key) {
552
- ASSERT_OK(Put(1, ToString(key), rnd.RandomString(kTestValueSize)));
552
+ ASSERT_OK(Put(1, std::to_string(key), rnd.RandomString(kTestValueSize)));
553
553
  }
554
554
  ASSERT_OK(dbfull()->TEST_WaitForFlushMemTable(handles_[1]));
555
555
  ASSERT_OK(dbfull()->TEST_WaitForCompact());
@@ -1009,7 +1009,7 @@ TEST_F(DBWALTest, RecoveryWithLogDataForSomeCFs) {
1009
1009
  if (log_files.size() > 0) {
1010
1010
  earliest_log_nums[i] = log_files[0]->LogNumber();
1011
1011
  } else {
1012
- earliest_log_nums[i] = port::kMaxUint64;
1012
+ earliest_log_nums[i] = std::numeric_limits<uint64_t>::max();
1013
1013
  }
1014
1014
  }
1015
1015
  // Check at least the first WAL was cleaned up during the recovery.
@@ -1288,7 +1288,7 @@ class RecoveryTestHelper {
1288
1288
 
1289
1289
  WriteBatch batch;
1290
1290
  for (int i = 0; i < kKeysPerWALFile; i++) {
1291
- std::string key = "key" + ToString((*count)++);
1291
+ std::string key = "key" + std::to_string((*count)++);
1292
1292
  std::string value = test->DummyString(kValueSize);
1293
1293
  ASSERT_NE(current_log_writer.get(), nullptr);
1294
1294
  uint64_t seq = versions->LastSequence() + 1;
@@ -1319,7 +1319,7 @@ class RecoveryTestHelper {
1319
1319
  static size_t GetData(DBWALTestBase* test) {
1320
1320
  size_t count = 0;
1321
1321
  for (size_t i = 0; i < kWALFilesCount * kKeysPerWALFile; i++) {
1322
- if (test->Get("key" + ToString(i)) != "NOT_FOUND") {
1322
+ if (test->Get("key" + std::to_string(i)) != "NOT_FOUND") {
1323
1323
  ++count;
1324
1324
  }
1325
1325
  }
@@ -1616,7 +1616,7 @@ TEST_P(DBWALTestWithParams, kPointInTimeRecovery) {
1616
1616
  if (!trunc || corrupt_offset != 0) {
1617
1617
  bool expect_data = true;
1618
1618
  for (size_t k = 0; k < maxkeys; ++k) {
1619
- bool found = Get("key" + ToString(k)) != "NOT_FOUND";
1619
+ bool found = Get("key" + std::to_string(k)) != "NOT_FOUND";
1620
1620
  if (expect_data && !found) {
1621
1621
  expect_data = false;
1622
1622
  }
@@ -1752,7 +1752,7 @@ TEST_F(DBWALTest, RecoverWithoutFlush) {
1752
1752
  size_t count = RecoveryTestHelper::FillData(this, &options);
1753
1753
  auto validateData = [this, count]() {
1754
1754
  for (size_t i = 0; i < count; i++) {
1755
- ASSERT_NE(Get("key" + ToString(i)), "NOT_FOUND");
1755
+ ASSERT_NE(Get("key" + std::to_string(i)), "NOT_FOUND");
1756
1756
  }
1757
1757
  };
1758
1758
  Reopen(options);
@@ -1891,7 +1891,7 @@ TEST_P(DBWALTestWithParamsVaryingRecoveryMode,
1891
1891
  ASSERT_OK(TryReopen(options));
1892
1892
  // Append some more data.
1893
1893
  for (int k = 0; k < kAppendKeys; k++) {
1894
- std::string key = "extra_key" + ToString(k);
1894
+ std::string key = "extra_key" + std::to_string(k);
1895
1895
  std::string value = DummyString(RecoveryTestHelper::kValueSize);
1896
1896
  ASSERT_OK(Put(key, value));
1897
1897
  }
@@ -1925,7 +1925,7 @@ TEST_F(DBWALTest, RestoreTotalLogSizeAfterRecoverWithoutFlush) {
1925
1925
  std::string value_300k(300 * kKB, 'v');
1926
1926
  ASSERT_OK(Put(0, "foo", "v1"));
1927
1927
  for (int i = 0; i < 9; i++) {
1928
- ASSERT_OK(Put(1, "key" + ToString(i), value_100k));
1928
+ ASSERT_OK(Put(1, "key" + std::to_string(i), value_100k));
1929
1929
  }
1930
1930
  // Get log files before reopen.
1931
1931
  VectorLogPtr log_files_before;
@@ -7,7 +7,7 @@
7
7
  // Use of this source code is governed by a BSD-style license that can be
8
8
  // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
9
 
10
- #include "db/db_test_util.h"
10
+ #include "db/db_with_timestamp_test_util.h"
11
11
  #include "port/stack_trace.h"
12
12
  #include "rocksdb/perf_context.h"
13
13
  #include "rocksdb/utilities/debug.h"
@@ -20,176 +20,6 @@
20
20
  #include "utilities/fault_injection_env.h"
21
21
 
22
22
  namespace ROCKSDB_NAMESPACE {
23
- class DBBasicTestWithTimestampBase : public DBTestBase {
24
- public:
25
- explicit DBBasicTestWithTimestampBase(const std::string& dbname)
26
- : DBTestBase(dbname, /*env_do_fsync=*/true) {}
27
-
28
- protected:
29
- static std::string Key1(uint64_t k) {
30
- std::string ret;
31
- PutFixed64(&ret, k);
32
- std::reverse(ret.begin(), ret.end());
33
- return ret;
34
- }
35
-
36
- static std::string KeyWithPrefix(std::string prefix, uint64_t k) {
37
- std::string ret;
38
- PutFixed64(&ret, k);
39
- std::reverse(ret.begin(), ret.end());
40
- return prefix + ret;
41
- }
42
-
43
- static std::vector<Slice> ConvertStrToSlice(
44
- std::vector<std::string>& strings) {
45
- std::vector<Slice> ret;
46
- for (const auto& s : strings) {
47
- ret.emplace_back(s);
48
- }
49
- return ret;
50
- }
51
-
52
- class TestComparator : public Comparator {
53
- private:
54
- const Comparator* cmp_without_ts_;
55
-
56
- public:
57
- explicit TestComparator(size_t ts_sz)
58
- : Comparator(ts_sz), cmp_without_ts_(nullptr) {
59
- cmp_without_ts_ = BytewiseComparator();
60
- }
61
-
62
- const char* Name() const override { return "TestComparator"; }
63
-
64
- void FindShortSuccessor(std::string*) const override {}
65
-
66
- void FindShortestSeparator(std::string*, const Slice&) const override {}
67
-
68
- int Compare(const Slice& a, const Slice& b) const override {
69
- int r = CompareWithoutTimestamp(a, b);
70
- if (r != 0 || 0 == timestamp_size()) {
71
- return r;
72
- }
73
- return -CompareTimestamp(
74
- Slice(a.data() + a.size() - timestamp_size(), timestamp_size()),
75
- Slice(b.data() + b.size() - timestamp_size(), timestamp_size()));
76
- }
77
-
78
- using Comparator::CompareWithoutTimestamp;
79
- int CompareWithoutTimestamp(const Slice& a, bool a_has_ts, const Slice& b,
80
- bool b_has_ts) const override {
81
- if (a_has_ts) {
82
- assert(a.size() >= timestamp_size());
83
- }
84
- if (b_has_ts) {
85
- assert(b.size() >= timestamp_size());
86
- }
87
- Slice lhs = a_has_ts ? StripTimestampFromUserKey(a, timestamp_size()) : a;
88
- Slice rhs = b_has_ts ? StripTimestampFromUserKey(b, timestamp_size()) : b;
89
- return cmp_without_ts_->Compare(lhs, rhs);
90
- }
91
-
92
- int CompareTimestamp(const Slice& ts1, const Slice& ts2) const override {
93
- if (!ts1.data() && !ts2.data()) {
94
- return 0;
95
- } else if (ts1.data() && !ts2.data()) {
96
- return 1;
97
- } else if (!ts1.data() && ts2.data()) {
98
- return -1;
99
- }
100
- assert(ts1.size() == ts2.size());
101
- uint64_t low1 = 0;
102
- uint64_t low2 = 0;
103
- uint64_t high1 = 0;
104
- uint64_t high2 = 0;
105
- const size_t kSize = ts1.size();
106
- std::unique_ptr<char[]> ts1_buf(new char[kSize]);
107
- memcpy(ts1_buf.get(), ts1.data(), ts1.size());
108
- std::unique_ptr<char[]> ts2_buf(new char[kSize]);
109
- memcpy(ts2_buf.get(), ts2.data(), ts2.size());
110
- Slice ts1_copy = Slice(ts1_buf.get(), kSize);
111
- Slice ts2_copy = Slice(ts2_buf.get(), kSize);
112
- auto* ptr1 = const_cast<Slice*>(&ts1_copy);
113
- auto* ptr2 = const_cast<Slice*>(&ts2_copy);
114
- if (!GetFixed64(ptr1, &low1) || !GetFixed64(ptr1, &high1) ||
115
- !GetFixed64(ptr2, &low2) || !GetFixed64(ptr2, &high2)) {
116
- assert(false);
117
- }
118
- if (high1 < high2) {
119
- return -1;
120
- } else if (high1 > high2) {
121
- return 1;
122
- }
123
- if (low1 < low2) {
124
- return -1;
125
- } else if (low1 > low2) {
126
- return 1;
127
- }
128
- return 0;
129
- }
130
- };
131
-
132
- std::string Timestamp(uint64_t low, uint64_t high) {
133
- std::string ts;
134
- PutFixed64(&ts, low);
135
- PutFixed64(&ts, high);
136
- return ts;
137
- }
138
-
139
- void CheckIterUserEntry(const Iterator* it, const Slice& expected_key,
140
- ValueType expected_value_type,
141
- const Slice& expected_value,
142
- const Slice& expected_ts) const {
143
- ASSERT_TRUE(it->Valid());
144
- ASSERT_OK(it->status());
145
- ASSERT_EQ(expected_key, it->key());
146
- if (kTypeValue == expected_value_type) {
147
- ASSERT_EQ(expected_value, it->value());
148
- }
149
- ASSERT_EQ(expected_ts, it->timestamp());
150
- }
151
-
152
- void CheckIterEntry(const Iterator* it, const Slice& expected_ukey,
153
- SequenceNumber expected_seq, ValueType expected_val_type,
154
- const Slice& expected_value, const Slice& expected_ts) {
155
- ASSERT_TRUE(it->Valid());
156
- ASSERT_OK(it->status());
157
- std::string ukey_and_ts;
158
- ukey_and_ts.assign(expected_ukey.data(), expected_ukey.size());
159
- ukey_and_ts.append(expected_ts.data(), expected_ts.size());
160
- ParsedInternalKey parsed_ikey;
161
- ASSERT_OK(
162
- ParseInternalKey(it->key(), &parsed_ikey, true /* log_err_key */));
163
- ASSERT_EQ(ukey_and_ts, parsed_ikey.user_key);
164
- ASSERT_EQ(expected_val_type, parsed_ikey.type);
165
- ASSERT_EQ(expected_seq, parsed_ikey.sequence);
166
- if (expected_val_type == kTypeValue) {
167
- ASSERT_EQ(expected_value, it->value());
168
- }
169
- ASSERT_EQ(expected_ts, it->timestamp());
170
- }
171
-
172
- void CheckIterEntry(const Iterator* it, const Slice& expected_ukey,
173
- ValueType expected_val_type, const Slice& expected_value,
174
- const Slice& expected_ts) {
175
- ASSERT_TRUE(it->Valid());
176
- ASSERT_OK(it->status());
177
- std::string ukey_and_ts;
178
- ukey_and_ts.assign(expected_ukey.data(), expected_ukey.size());
179
- ukey_and_ts.append(expected_ts.data(), expected_ts.size());
180
-
181
- ParsedInternalKey parsed_ikey;
182
- ASSERT_OK(
183
- ParseInternalKey(it->key(), &parsed_ikey, true /* log_err_key */));
184
- ASSERT_EQ(expected_val_type, parsed_ikey.type);
185
- ASSERT_EQ(Slice(ukey_and_ts), parsed_ikey.user_key);
186
- if (expected_val_type == kTypeValue) {
187
- ASSERT_EQ(expected_value, it->value());
188
- }
189
- ASSERT_EQ(expected_ts, it->timestamp());
190
- }
191
- };
192
-
193
23
  class DBBasicTestWithTimestamp : public DBBasicTestWithTimestampBase {
194
24
  public:
195
25
  DBBasicTestWithTimestamp()
@@ -1492,8 +1322,8 @@ TEST_F(DBBasicTestWithTimestamp, MultiGetRangeFiltering) {
1492
1322
 
1493
1323
  // random data
1494
1324
  for (int i = 0; i < 3; i++) {
1495
- auto key = ToString(i * 10);
1496
- auto value = ToString(i * 10);
1325
+ auto key = std::to_string(i * 10);
1326
+ auto value = std::to_string(i * 10);
1497
1327
  Slice key_slice = key;
1498
1328
  Slice value_slice = value;
1499
1329
  ASSERT_OK(db_->Put(write_opts, key_slice, ts, value_slice));
@@ -1824,8 +1654,8 @@ class DataVisibilityTest : public DBBasicTestWithTimestampBase {
1824
1654
  DataVisibilityTest() : DBBasicTestWithTimestampBase("data_visibility_test") {
1825
1655
  // Initialize test data
1826
1656
  for (int i = 0; i < kTestDataSize; i++) {
1827
- test_data_[i].key = "key" + ToString(i);
1828
- test_data_[i].value = "value" + ToString(i);
1657
+ test_data_[i].key = "key" + std::to_string(i);
1658
+ test_data_[i].value = "value" + std::to_string(i);
1829
1659
  test_data_[i].timestamp = Timestamp(i, 0);
1830
1660
  test_data_[i].ts = i;
1831
1661
  test_data_[i].seq_num = kMaxSequenceNumber;
@@ -0,0 +1,96 @@
1
+ // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2
+ // This source code is licensed under both the GPLv2 (found in the
3
+ // COPYING file in the root directory) and Apache 2.0 License
4
+ // (found in the LICENSE.Apache file in the root directory).
5
+ //
6
+ // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
7
+ // Use of this source code is governed by a BSD-style license that can be
8
+ // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
+
10
+ #include "db/db_with_timestamp_test_util.h"
11
+
12
+ namespace ROCKSDB_NAMESPACE {
13
+ std::string DBBasicTestWithTimestampBase::Key1(uint64_t k) {
14
+ std::string ret;
15
+ PutFixed64(&ret, k);
16
+ std::reverse(ret.begin(), ret.end());
17
+ return ret;
18
+ }
19
+
20
+ std::string DBBasicTestWithTimestampBase::KeyWithPrefix(std::string prefix,
21
+ uint64_t k) {
22
+ std::string ret;
23
+ PutFixed64(&ret, k);
24
+ std::reverse(ret.begin(), ret.end());
25
+ return prefix + ret;
26
+ }
27
+
28
+ std::vector<Slice> DBBasicTestWithTimestampBase::ConvertStrToSlice(
29
+ std::vector<std::string>& strings) {
30
+ std::vector<Slice> ret;
31
+ for (const auto& s : strings) {
32
+ ret.emplace_back(s);
33
+ }
34
+ return ret;
35
+ }
36
+
37
+ std::string DBBasicTestWithTimestampBase::Timestamp(uint64_t low,
38
+ uint64_t high) {
39
+ std::string ts;
40
+ PutFixed64(&ts, low);
41
+ PutFixed64(&ts, high);
42
+ return ts;
43
+ }
44
+
45
+ void DBBasicTestWithTimestampBase::CheckIterUserEntry(
46
+ const Iterator* it, const Slice& expected_key,
47
+ ValueType expected_value_type, const Slice& expected_value,
48
+ const Slice& expected_ts) const {
49
+ ASSERT_TRUE(it->Valid());
50
+ ASSERT_OK(it->status());
51
+ ASSERT_EQ(expected_key, it->key());
52
+ if (kTypeValue == expected_value_type) {
53
+ ASSERT_EQ(expected_value, it->value());
54
+ }
55
+ ASSERT_EQ(expected_ts, it->timestamp());
56
+ }
57
+
58
+ void DBBasicTestWithTimestampBase::CheckIterEntry(
59
+ const Iterator* it, const Slice& expected_ukey, SequenceNumber expected_seq,
60
+ ValueType expected_val_type, const Slice& expected_value,
61
+ const Slice& expected_ts) const {
62
+ ASSERT_TRUE(it->Valid());
63
+ ASSERT_OK(it->status());
64
+ std::string ukey_and_ts;
65
+ ukey_and_ts.assign(expected_ukey.data(), expected_ukey.size());
66
+ ukey_and_ts.append(expected_ts.data(), expected_ts.size());
67
+ ParsedInternalKey parsed_ikey;
68
+ ASSERT_OK(ParseInternalKey(it->key(), &parsed_ikey, true /* log_err_key */));
69
+ ASSERT_EQ(ukey_and_ts, parsed_ikey.user_key);
70
+ ASSERT_EQ(expected_val_type, parsed_ikey.type);
71
+ ASSERT_EQ(expected_seq, parsed_ikey.sequence);
72
+ if (expected_val_type == kTypeValue) {
73
+ ASSERT_EQ(expected_value, it->value());
74
+ }
75
+ ASSERT_EQ(expected_ts, it->timestamp());
76
+ }
77
+
78
+ void DBBasicTestWithTimestampBase::CheckIterEntry(
79
+ const Iterator* it, const Slice& expected_ukey, ValueType expected_val_type,
80
+ const Slice& expected_value, const Slice& expected_ts) const {
81
+ ASSERT_TRUE(it->Valid());
82
+ ASSERT_OK(it->status());
83
+ std::string ukey_and_ts;
84
+ ukey_and_ts.assign(expected_ukey.data(), expected_ukey.size());
85
+ ukey_and_ts.append(expected_ts.data(), expected_ts.size());
86
+
87
+ ParsedInternalKey parsed_ikey;
88
+ ASSERT_OK(ParseInternalKey(it->key(), &parsed_ikey, true /* log_err_key */));
89
+ ASSERT_EQ(expected_val_type, parsed_ikey.type);
90
+ ASSERT_EQ(Slice(ukey_and_ts), parsed_ikey.user_key);
91
+ if (expected_val_type == kTypeValue) {
92
+ ASSERT_EQ(expected_value, it->value());
93
+ }
94
+ ASSERT_EQ(expected_ts, it->timestamp());
95
+ }
96
+ } // namespace ROCKSDB_NAMESPACE
@@ -0,0 +1,126 @@
1
+ // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2
+ // This source code is licensed under both the GPLv2 (found in the
3
+ // COPYING file in the root directory) and Apache 2.0 License
4
+ // (found in the LICENSE.Apache file in the root directory).
5
+ //
6
+ // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
7
+ // Use of this source code is governed by a BSD-style license that can be
8
+ // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
+
10
+ #pragma once
11
+
12
+ #include "db/db_test_util.h"
13
+ #include "port/stack_trace.h"
14
+ #include "test_util/testutil.h"
15
+
16
+ namespace ROCKSDB_NAMESPACE {
17
+ class DBBasicTestWithTimestampBase : public DBTestBase {
18
+ public:
19
+ explicit DBBasicTestWithTimestampBase(const std::string& dbname)
20
+ : DBTestBase(dbname, /*env_do_fsync=*/true) {}
21
+
22
+ protected:
23
+ static std::string Key1(uint64_t k);
24
+
25
+ static std::string KeyWithPrefix(std::string prefix, uint64_t k);
26
+
27
+ static std::vector<Slice> ConvertStrToSlice(
28
+ std::vector<std::string>& strings);
29
+
30
+ class TestComparator : public Comparator {
31
+ private:
32
+ const Comparator* cmp_without_ts_;
33
+
34
+ public:
35
+ explicit TestComparator(size_t ts_sz)
36
+ : Comparator(ts_sz), cmp_without_ts_(nullptr) {
37
+ cmp_without_ts_ = BytewiseComparator();
38
+ }
39
+
40
+ const char* Name() const override { return "TestComparator"; }
41
+
42
+ void FindShortSuccessor(std::string*) const override {}
43
+
44
+ void FindShortestSeparator(std::string*, const Slice&) const override {}
45
+
46
+ int Compare(const Slice& a, const Slice& b) const override {
47
+ int r = CompareWithoutTimestamp(a, b);
48
+ if (r != 0 || 0 == timestamp_size()) {
49
+ return r;
50
+ }
51
+ return -CompareTimestamp(
52
+ Slice(a.data() + a.size() - timestamp_size(), timestamp_size()),
53
+ Slice(b.data() + b.size() - timestamp_size(), timestamp_size()));
54
+ }
55
+
56
+ using Comparator::CompareWithoutTimestamp;
57
+ int CompareWithoutTimestamp(const Slice& a, bool a_has_ts, const Slice& b,
58
+ bool b_has_ts) const override {
59
+ if (a_has_ts) {
60
+ assert(a.size() >= timestamp_size());
61
+ }
62
+ if (b_has_ts) {
63
+ assert(b.size() >= timestamp_size());
64
+ }
65
+ Slice lhs = a_has_ts ? StripTimestampFromUserKey(a, timestamp_size()) : a;
66
+ Slice rhs = b_has_ts ? StripTimestampFromUserKey(b, timestamp_size()) : b;
67
+ return cmp_without_ts_->Compare(lhs, rhs);
68
+ }
69
+
70
+ int CompareTimestamp(const Slice& ts1, const Slice& ts2) const override {
71
+ if (!ts1.data() && !ts2.data()) {
72
+ return 0;
73
+ } else if (ts1.data() && !ts2.data()) {
74
+ return 1;
75
+ } else if (!ts1.data() && ts2.data()) {
76
+ return -1;
77
+ }
78
+ assert(ts1.size() == ts2.size());
79
+ uint64_t low1 = 0;
80
+ uint64_t low2 = 0;
81
+ uint64_t high1 = 0;
82
+ uint64_t high2 = 0;
83
+ const size_t kSize = ts1.size();
84
+ std::unique_ptr<char[]> ts1_buf(new char[kSize]);
85
+ memcpy(ts1_buf.get(), ts1.data(), ts1.size());
86
+ std::unique_ptr<char[]> ts2_buf(new char[kSize]);
87
+ memcpy(ts2_buf.get(), ts2.data(), ts2.size());
88
+ Slice ts1_copy = Slice(ts1_buf.get(), kSize);
89
+ Slice ts2_copy = Slice(ts2_buf.get(), kSize);
90
+ auto* ptr1 = const_cast<Slice*>(&ts1_copy);
91
+ auto* ptr2 = const_cast<Slice*>(&ts2_copy);
92
+ if (!GetFixed64(ptr1, &low1) || !GetFixed64(ptr1, &high1) ||
93
+ !GetFixed64(ptr2, &low2) || !GetFixed64(ptr2, &high2)) {
94
+ assert(false);
95
+ }
96
+ if (high1 < high2) {
97
+ return -1;
98
+ } else if (high1 > high2) {
99
+ return 1;
100
+ }
101
+ if (low1 < low2) {
102
+ return -1;
103
+ } else if (low1 > low2) {
104
+ return 1;
105
+ }
106
+ return 0;
107
+ }
108
+ };
109
+
110
+ std::string Timestamp(uint64_t low, uint64_t high);
111
+
112
+ void CheckIterUserEntry(const Iterator* it, const Slice& expected_key,
113
+ ValueType expected_value_type,
114
+ const Slice& expected_value,
115
+ const Slice& expected_ts) const;
116
+
117
+ void CheckIterEntry(const Iterator* it, const Slice& expected_ukey,
118
+ SequenceNumber expected_seq, ValueType expected_val_type,
119
+ const Slice& expected_value,
120
+ const Slice& expected_ts) const;
121
+
122
+ void CheckIterEntry(const Iterator* it, const Slice& expected_ukey,
123
+ ValueType expected_val_type, const Slice& expected_value,
124
+ const Slice& expected_ts) const;
125
+ };
126
+ } // namespace ROCKSDB_NAMESPACE
@@ -289,7 +289,7 @@ TEST_P(DBWriteTest, IOErrorOnWALWritePropagateToWriteThreadFollower) {
289
289
  threads.push_back(port::Thread(
290
290
  [&](int index) {
291
291
  // All threads should fail.
292
- auto res = Put("key" + ToString(index), "value");
292
+ auto res = Put("key" + std::to_string(index), "value");
293
293
  if (options.manual_wal_flush) {
294
294
  ASSERT_TRUE(res.ok());
295
295
  // we should see fs error when we do the flush
@@ -322,13 +322,13 @@ TEST_P(DBWriteTest, ManualWalFlushInEffect) {
322
322
  Options options = GetOptions();
323
323
  Reopen(options);
324
324
  // try the 1st WAL created during open
325
- ASSERT_TRUE(Put("key" + ToString(0), "value").ok());
325
+ ASSERT_TRUE(Put("key" + std::to_string(0), "value").ok());
326
326
  ASSERT_TRUE(options.manual_wal_flush != dbfull()->TEST_WALBufferIsEmpty());
327
327
  ASSERT_TRUE(dbfull()->FlushWAL(false).ok());
328
328
  ASSERT_TRUE(dbfull()->TEST_WALBufferIsEmpty());
329
329
  // try the 2nd wal created during SwitchWAL
330
330
  ASSERT_OK(dbfull()->TEST_SwitchWAL());
331
- ASSERT_TRUE(Put("key" + ToString(0), "value").ok());
331
+ ASSERT_TRUE(Put("key" + std::to_string(0), "value").ok());
332
332
  ASSERT_TRUE(options.manual_wal_flush != dbfull()->TEST_WALBufferIsEmpty());
333
333
  ASSERT_TRUE(dbfull()->FlushWAL(false).ok());
334
334
  ASSERT_TRUE(dbfull()->TEST_WALBufferIsEmpty());
@@ -344,7 +344,7 @@ TEST_P(DBWriteTest, IOErrorOnWALWriteTriggersReadOnlyMode) {
344
344
  // Forcibly fail WAL write for the first Put only. Subsequent Puts should
345
345
  // fail due to read-only mode
346
346
  mock_env->SetFilesystemActive(i != 0);
347
- auto res = Put("key" + ToString(i), "value");
347
+ auto res = Put("key" + std::to_string(i), "value");
348
348
  // TSAN reports a false alarm for lock-order-inversion but Open and
349
349
  // FlushWAL are not run concurrently. Disabling this until TSAN is
350
350
  // fixed.
@@ -398,14 +398,14 @@ TEST_P(DBWriteTest, LockWalInEffect) {
398
398
  Options options = GetOptions();
399
399
  Reopen(options);
400
400
  // try the 1st WAL created during open
401
- ASSERT_OK(Put("key" + ToString(0), "value"));
401
+ ASSERT_OK(Put("key" + std::to_string(0), "value"));
402
402
  ASSERT_TRUE(options.manual_wal_flush != dbfull()->TEST_WALBufferIsEmpty());
403
403
  ASSERT_OK(dbfull()->LockWAL());
404
404
  ASSERT_TRUE(dbfull()->TEST_WALBufferIsEmpty(false));
405
405
  ASSERT_OK(dbfull()->UnlockWAL());
406
406
  // try the 2nd wal created during SwitchWAL
407
407
  ASSERT_OK(dbfull()->TEST_SwitchWAL());
408
- ASSERT_OK(Put("key" + ToString(0), "value"));
408
+ ASSERT_OK(Put("key" + std::to_string(0), "value"));
409
409
  ASSERT_TRUE(options.manual_wal_flush != dbfull()->TEST_WALBufferIsEmpty());
410
410
  ASSERT_OK(dbfull()->LockWAL());
411
411
  ASSERT_TRUE(dbfull()->TEST_WALBufferIsEmpty(false));
@@ -90,7 +90,8 @@ inline bool IsExtendedValueType(ValueType t) {
90
90
  // can be packed together into 64-bits.
91
91
  static const SequenceNumber kMaxSequenceNumber = ((0x1ull << 56) - 1);
92
92
 
93
- static const SequenceNumber kDisableGlobalSequenceNumber = port::kMaxUint64;
93
+ static const SequenceNumber kDisableGlobalSequenceNumber =
94
+ std::numeric_limits<uint64_t>::max();
94
95
 
95
96
  constexpr uint64_t kNumInternalBytes = 8;
96
97
 
@@ -56,7 +56,7 @@ class DeleteFileTest : public DBTestBase {
56
56
  options.sync = false;
57
57
  ReadOptions roptions;
58
58
  for (int i = startkey; i < (numkeys + startkey) ; i++) {
59
- std::string temp = ToString(i);
59
+ std::string temp = std::to_string(i);
60
60
  Slice key(temp);
61
61
  Slice value(temp);
62
62
  ASSERT_OK(db_->Put(options, key, value));
@@ -1583,11 +1583,11 @@ TEST_F(DBErrorHandlingFSTest, MultiDBCompactionError) {
1583
1583
  std::string prop;
1584
1584
  ASSERT_EQ(listener[i]->WaitForRecovery(5000000), true);
1585
1585
  ASSERT_OK(static_cast<DBImpl*>(db[i])->TEST_WaitForCompact(true));
1586
- EXPECT_TRUE(
1587
- db[i]->GetProperty("rocksdb.num-files-at-level" + ToString(0), &prop));
1586
+ EXPECT_TRUE(db[i]->GetProperty(
1587
+ "rocksdb.num-files-at-level" + std::to_string(0), &prop));
1588
1588
  EXPECT_EQ(atoi(prop.c_str()), 0);
1589
- EXPECT_TRUE(
1590
- db[i]->GetProperty("rocksdb.num-files-at-level" + ToString(1), &prop));
1589
+ EXPECT_TRUE(db[i]->GetProperty(
1590
+ "rocksdb.num-files-at-level" + std::to_string(1), &prop));
1591
1591
  EXPECT_EQ(atoi(prop.c_str()), 1);
1592
1592
  }
1593
1593
 
@@ -1720,11 +1720,11 @@ TEST_F(DBErrorHandlingFSTest, MultiDBVariousErrors) {
1720
1720
  if (i == 1) {
1721
1721
  ASSERT_OK(static_cast<DBImpl*>(db[i])->TEST_WaitForCompact(true));
1722
1722
  }
1723
- EXPECT_TRUE(
1724
- db[i]->GetProperty("rocksdb.num-files-at-level" + ToString(0), &prop));
1723
+ EXPECT_TRUE(db[i]->GetProperty(
1724
+ "rocksdb.num-files-at-level" + std::to_string(0), &prop));
1725
1725
  EXPECT_EQ(atoi(prop.c_str()), 0);
1726
- EXPECT_TRUE(
1727
- db[i]->GetProperty("rocksdb.num-files-at-level" + ToString(1), &prop));
1726
+ EXPECT_TRUE(db[i]->GetProperty(
1727
+ "rocksdb.num-files-at-level" + std::to_string(1), &prop));
1728
1728
  EXPECT_EQ(atoi(prop.c_str()), 1);
1729
1729
  }
1730
1730