@nxtedition/rocksdb 6.0.1 → 7.0.0-alpha.1

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 (490) hide show
  1. package/BUILDING.md +12 -4
  2. package/binding.cc +421 -40
  3. package/deps/rocksdb/build_version.cc +4 -10
  4. package/deps/rocksdb/rocksdb/CMakeLists.txt +26 -3
  5. package/deps/rocksdb/rocksdb/Makefile +73 -91
  6. package/deps/rocksdb/rocksdb/TARGETS +27 -2
  7. package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
  8. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
  9. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
  10. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
  12. package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
  13. package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
  14. package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
  15. package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
  16. package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
  17. package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
  18. package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
  19. package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +26 -0
  20. package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
  21. package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
  22. package/deps/rocksdb/rocksdb/common.mk +30 -0
  23. package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
  24. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
  25. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
  26. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
  27. package/deps/rocksdb/rocksdb/db/builder.cc +22 -7
  28. package/deps/rocksdb/rocksdb/db/c.cc +71 -0
  29. package/deps/rocksdb/rocksdb/db/c_test.c +28 -2
  30. package/deps/rocksdb/rocksdb/db/column_family.cc +12 -5
  31. package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
  32. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +54 -16
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +14 -2
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +85 -18
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +23 -22
  44. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
  45. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +151 -32
  46. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
  47. package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
  48. package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
  49. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
  50. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +404 -32
  51. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
  52. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
  53. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
  54. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
  55. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
  56. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
  57. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +11 -20
  58. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +15 -1
  59. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +12 -9
  60. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
  61. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +1 -1
  62. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
  63. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +42 -10
  64. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +54 -23
  65. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +3 -0
  66. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +14 -4
  67. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
  68. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
  69. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
  70. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
  71. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
  72. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
  73. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
  74. package/deps/rocksdb/rocksdb/db/db_options_test.cc +28 -12
  75. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
  76. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
  77. package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +331 -0
  78. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +11 -6
  79. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
  80. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
  81. package/deps/rocksdb/rocksdb/db/db_test.cc +60 -42
  82. package/deps/rocksdb/rocksdb/db/db_test2.cc +244 -111
  83. package/deps/rocksdb/rocksdb/db/db_test_util.cc +101 -19
  84. package/deps/rocksdb/rocksdb/db/db_test_util.h +52 -2
  85. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
  86. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
  87. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +5 -175
  88. package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.cc +96 -0
  89. package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.h +126 -0
  90. package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
  91. package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
  92. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
  93. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
  94. package/deps/rocksdb/rocksdb/db/experimental.cc +1 -1
  95. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +91 -12
  96. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +16 -2
  97. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +2 -0
  98. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
  99. package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
  100. package/deps/rocksdb/rocksdb/db/flush_job.cc +28 -15
  101. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
  102. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
  103. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  104. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +14 -1
  105. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +6 -0
  106. package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
  107. package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
  108. package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
  109. package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
  110. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
  111. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
  112. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
  113. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
  114. package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
  115. package/deps/rocksdb/rocksdb/db/repair.cc +13 -2
  116. package/deps/rocksdb/rocksdb/db/repair_test.cc +37 -15
  117. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
  118. package/deps/rocksdb/rocksdb/db/snapshot_impl.h +3 -1
  119. package/deps/rocksdb/rocksdb/db/table_cache.cc +20 -130
  120. package/deps/rocksdb/rocksdb/db/table_cache.h +3 -2
  121. package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +140 -0
  122. package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
  123. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +133 -133
  124. package/deps/rocksdb/rocksdb/db/version_edit.cc +22 -2
  125. package/deps/rocksdb/rocksdb/db/version_edit.h +13 -4
  126. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +14 -14
  127. package/deps/rocksdb/rocksdb/db/version_set.cc +207 -214
  128. package/deps/rocksdb/rocksdb/db/version_set.h +14 -3
  129. package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +154 -0
  130. package/deps/rocksdb/rocksdb/db/version_set_test.cc +10 -9
  131. package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
  132. package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
  133. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
  134. package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
  135. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
  136. package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
  137. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
  138. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -6
  139. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
  140. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
  141. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +44 -6
  142. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
  143. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
  144. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
  145. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +374 -275
  146. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
  147. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
  148. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
  149. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
  150. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
  151. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
  152. package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
  153. package/deps/rocksdb/rocksdb/env/env.cc +0 -60
  154. package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
  155. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  156. package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
  157. package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
  158. package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
  159. package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
  160. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
  161. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +159 -65
  162. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +44 -22
  163. package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
  164. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +142 -17
  165. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
  166. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
  167. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +60 -40
  168. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +1 -0
  169. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +23 -5
  170. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +49 -1
  171. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
  172. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
  173. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
  174. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
  175. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
  176. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
  177. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
  178. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
  179. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
  180. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +45 -3
  181. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -0
  182. package/deps/rocksdb/rocksdb/include/rocksdb/snapshot.h +4 -1
  183. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +3 -0
  184. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
  185. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
  186. package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
  187. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
  188. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
  189. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
  190. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +378 -103
  191. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
  192. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  193. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
  194. package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
  195. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
  196. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
  197. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
  198. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
  199. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
  200. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
  201. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
  202. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
  203. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
  204. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
  205. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +7 -8
  206. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
  207. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
  208. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
  209. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
  210. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
  211. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
  212. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
  213. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
  214. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
  215. package/deps/rocksdb/rocksdb/options/cf_options.cc +47 -38
  216. package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
  217. package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
  218. package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
  219. package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
  220. package/deps/rocksdb/rocksdb/options/db_options.cc +46 -17
  221. package/deps/rocksdb/rocksdb/options/db_options.h +2 -0
  222. package/deps/rocksdb/rocksdb/options/options.cc +7 -0
  223. package/deps/rocksdb/rocksdb/options/options_helper.cc +86 -39
  224. package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
  225. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +12 -7
  226. package/deps/rocksdb/rocksdb/options/options_test.cc +222 -68
  227. package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
  228. package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
  229. package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
  230. package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
  231. package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
  232. package/deps/rocksdb/rocksdb/src.mk +6 -1
  233. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
  234. package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
  235. package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
  236. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
  237. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +23 -8
  238. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
  239. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +81 -7
  240. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +8 -2
  241. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +94 -726
  242. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +21 -15
  243. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +9 -3
  244. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +754 -0
  245. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +44 -73
  246. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +15 -5
  247. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
  248. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +2 -11
  249. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +59 -1
  250. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +18 -0
  251. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
  252. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +0 -61
  253. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +0 -13
  254. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
  255. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
  256. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -2
  257. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
  258. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +3 -2
  259. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -3
  260. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +8 -4
  261. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
  262. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +2 -1
  263. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +65 -7
  264. package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -0
  265. package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
  266. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
  267. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
  268. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
  269. package/deps/rocksdb/rocksdb/table/format.cc +22 -20
  270. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
  271. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +39 -0
  272. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
  273. package/deps/rocksdb/rocksdb/table/multiget_context.h +60 -13
  274. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
  275. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
  276. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
  277. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -1
  278. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +1 -1
  279. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
  280. package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
  281. package/deps/rocksdb/rocksdb/table/table_reader.h +13 -0
  282. package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
  283. package/deps/rocksdb/rocksdb/table/unique_id.cc +84 -25
  284. package/deps/rocksdb/rocksdb/table/unique_id_impl.h +37 -4
  285. package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -1
  286. package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
  287. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
  288. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
  289. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
  290. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
  291. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +277 -105
  292. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
  293. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
  294. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
  295. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
  296. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
  297. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  298. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +26 -4
  299. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
  300. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
  301. package/deps/rocksdb/rocksdb/util/async_file_reader.cc +72 -0
  302. package/deps/rocksdb/rocksdb/util/async_file_reader.h +144 -0
  303. package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
  304. package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
  305. package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
  306. package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
  307. package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
  308. package/deps/rocksdb/rocksdb/util/compression.h +56 -7
  309. package/deps/rocksdb/rocksdb/util/coro_utils.h +111 -0
  310. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
  311. package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
  312. package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
  313. package/deps/rocksdb/rocksdb/util/heap.h +5 -3
  314. package/deps/rocksdb/rocksdb/util/random.cc +1 -5
  315. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
  316. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
  317. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
  318. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
  319. package/deps/rocksdb/rocksdb/util/single_thread_executor.h +55 -0
  320. package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
  321. package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
  322. package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
  323. package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
  324. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
  325. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
  326. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
  327. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
  328. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
  329. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
  330. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
  331. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
  332. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
  333. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
  334. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
  335. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
  336. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
  337. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
  338. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
  339. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
  340. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
  341. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
  342. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
  343. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
  344. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
  345. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
  346. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
  347. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
  348. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
  349. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
  350. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
  351. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
  352. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
  353. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
  354. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
  355. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
  356. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
  357. package/deps/rocksdb/rocksdb.gyp +20 -13
  358. package/index.js +187 -3
  359. package/iterator.js +1 -0
  360. package/package-lock.json +23687 -0
  361. package/package.json +2 -30
  362. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  363. package/snapshot.js +23 -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/darwin-x64/node.napi.node +0 -0
  489. package/prebuilds/linux-arm64/node.napi.node +0 -0
  490. package/prebuilds/linux-x64/node.napi.node +0 -0
@@ -15,6 +15,7 @@
15
15
  #include "table/scoped_arena_iterator.h"
16
16
  #include "table/sst_file_writer_collectors.h"
17
17
  #include "table/table_builder.h"
18
+ #include "table/unique_id_impl.h"
18
19
  #include "util/stop_watch.h"
19
20
 
20
21
  namespace ROCKSDB_NAMESPACE {
@@ -97,6 +98,9 @@ Status ImportColumnFamilyJob::Prepare(uint64_t next_file_number,
97
98
  if (status.IsNotSupported()) {
98
99
  // Original file is on a different FS, use copy instead of hard linking
99
100
  hardlink_files = false;
101
+ ROCKS_LOG_INFO(db_options_.info_log,
102
+ "Try to link file %s but it's not supported : %s",
103
+ f.internal_file_path.c_str(), status.ToString().c_str());
100
104
  }
101
105
  }
102
106
  if (!hardlink_files) {
@@ -156,7 +160,7 @@ Status ImportColumnFamilyJob::Run() {
156
160
  file_metadata.largest_seqno, false, file_metadata.temperature,
157
161
  kInvalidBlobFileNumber, oldest_ancester_time, current_time,
158
162
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
159
- kDisableUserTimestamp, kDisableUserTimestamp);
163
+ kDisableUserTimestamp, kDisableUserTimestamp, f.unique_id);
160
164
 
161
165
  // If incoming sequence number is higher, update local sequence number.
162
166
  if (file_metadata.largest_seqno > versions_->LastSequence()) {
@@ -285,6 +289,15 @@ Status ImportColumnFamilyJob::GetIngestedFileInfo(
285
289
 
286
290
  file_to_import->table_properties = *props;
287
291
 
292
+ auto s = GetSstInternalUniqueId(props->db_id, props->db_session_id,
293
+ props->orig_file_number,
294
+ &(file_to_import->unique_id));
295
+ if (!s.ok()) {
296
+ ROCKS_LOG_WARN(db_options_.info_log,
297
+ "Failed to get SST unique id for file %s",
298
+ file_to_import->internal_file_path.c_str());
299
+ }
300
+
288
301
  return status;
289
302
  }
290
303
 
@@ -130,6 +130,12 @@ TEST_F(ImportColumnFamilyTest, ImportSSTFileWriterFiles) {
130
130
  ASSERT_OK(db_->Get(ReadOptions(), import_cfh_, "K4", &value));
131
131
  ASSERT_EQ(value, "V2");
132
132
  }
133
+ EXPECT_OK(db_->DestroyColumnFamilyHandle(import_cfh_));
134
+ import_cfh_ = nullptr;
135
+
136
+ // verify sst unique id during reopen
137
+ options.verify_sst_unique_id_in_manifest = true;
138
+ ReopenWithColumnFamilies({"default", "koko", "yoyo"}, options);
133
139
  }
134
140
 
135
141
  TEST_F(ImportColumnFamilyTest, ImportSSTFileWriterFilesWithOverlap) {
@@ -704,20 +704,19 @@ void InternalStats::CacheEntryRoleStats::ToMap(
704
704
  auto& v = *values;
705
705
  v[BlockCacheEntryStatsMapKeys::CacheId()] = cache_id;
706
706
  v[BlockCacheEntryStatsMapKeys::CacheCapacityBytes()] =
707
- ROCKSDB_NAMESPACE::ToString(cache_capacity);
707
+ std::to_string(cache_capacity);
708
708
  v[BlockCacheEntryStatsMapKeys::LastCollectionDurationSeconds()] =
709
- ROCKSDB_NAMESPACE::ToString(GetLastDurationMicros() / 1000000.0);
709
+ std::to_string(GetLastDurationMicros() / 1000000.0);
710
710
  v[BlockCacheEntryStatsMapKeys::LastCollectionAgeSeconds()] =
711
- ROCKSDB_NAMESPACE::ToString((clock->NowMicros() - last_end_time_micros_) /
712
- 1000000U);
711
+ std::to_string((clock->NowMicros() - last_end_time_micros_) / 1000000U);
713
712
  for (size_t i = 0; i < kNumCacheEntryRoles; ++i) {
714
713
  auto role = static_cast<CacheEntryRole>(i);
715
714
  v[BlockCacheEntryStatsMapKeys::EntryCount(role)] =
716
- ROCKSDB_NAMESPACE::ToString(entry_counts[i]);
715
+ std::to_string(entry_counts[i]);
717
716
  v[BlockCacheEntryStatsMapKeys::UsedBytes(role)] =
718
- ROCKSDB_NAMESPACE::ToString(total_charges[i]);
717
+ std::to_string(total_charges[i]);
719
718
  v[BlockCacheEntryStatsMapKeys::UsedPercent(role)] =
720
- ROCKSDB_NAMESPACE::ToString(100.0 * total_charges[i] / cache_capacity);
719
+ std::to_string(100.0 * total_charges[i] / cache_capacity);
721
720
  }
722
721
  }
723
722
 
@@ -763,7 +762,7 @@ bool InternalStats::HandleLiveSstFilesSizeAtTemperature(std::string* value,
763
762
  }
764
763
  }
765
764
 
766
- *value = ToString(size);
765
+ *value = std::to_string(size);
767
766
  return true;
768
767
  }
769
768
 
@@ -919,7 +918,7 @@ bool InternalStats::HandleCompressionRatioAtLevelPrefix(std::string* value,
919
918
  if (!ok || level >= static_cast<uint64_t>(number_levels_)) {
920
919
  return false;
921
920
  }
922
- *value = ToString(
921
+ *value = std::to_string(
923
922
  vstorage->GetEstimatedCompressionRatioAtLevel(static_cast<int>(level)));
924
923
  return true;
925
924
  }
@@ -1006,7 +1005,7 @@ static std::map<std::string, std::string> MapUint64ValuesToString(
1006
1005
  const std::map<std::string, uint64_t>& from) {
1007
1006
  std::map<std::string, std::string> to;
1008
1007
  for (const auto& e : from) {
1009
- to[e.first] = ToString(e.second);
1008
+ to[e.first] = std::to_string(e.second);
1010
1009
  }
1011
1010
  return to;
1012
1011
  }
@@ -1500,7 +1499,7 @@ void InternalStats::DumpCFMapStats(
1500
1499
  DumpCFMapStats(vstorage, &levels_stats, &compaction_stats_sum);
1501
1500
  for (auto const& level_ent : levels_stats) {
1502
1501
  auto level_str =
1503
- level_ent.first == -1 ? "Sum" : "L" + ToString(level_ent.first);
1502
+ level_ent.first == -1 ? "Sum" : "L" + std::to_string(level_ent.first);
1504
1503
  for (auto const& stat_ent : level_ent.second) {
1505
1504
  auto stat_type = stat_ent.first;
1506
1505
  auto key_str =
@@ -1651,7 +1650,8 @@ void InternalStats::DumpCFStatsNoFileHistogram(std::string* value) {
1651
1650
  DumpCFMapStats(vstorage, &levels_stats, &compaction_stats_sum);
1652
1651
  for (int l = 0; l < number_levels_; ++l) {
1653
1652
  if (levels_stats.find(l) != levels_stats.end()) {
1654
- PrintLevelStats(buf, sizeof(buf), "L" + ToString(l), levels_stats[l]);
1653
+ PrintLevelStats(buf, sizeof(buf), "L" + std::to_string(l),
1654
+ levels_stats[l]);
1655
1655
  value->append(buf);
1656
1656
  }
1657
1657
  }
@@ -436,10 +436,10 @@ TEST_F(EventListenerTest, MultiDBMultiListeners) {
436
436
  std::vector<std::vector<ColumnFamilyHandle *>> vec_handles;
437
437
 
438
438
  for (int d = 0; d < kNumDBs; ++d) {
439
- ASSERT_OK(DestroyDB(dbname_ + ToString(d), options));
439
+ ASSERT_OK(DestroyDB(dbname_ + std::to_string(d), options));
440
440
  DB* db;
441
441
  std::vector<ColumnFamilyHandle*> handles;
442
- ASSERT_OK(DB::Open(options, dbname_ + ToString(d), &db));
442
+ ASSERT_OK(DB::Open(options, dbname_ + std::to_string(d), &db));
443
443
  for (size_t c = 0; c < cf_names.size(); ++c) {
444
444
  ColumnFamilyHandle* handle;
445
445
  ASSERT_OK(db->CreateColumnFamily(cf_opts, cf_names[c], &handle));
@@ -527,7 +527,8 @@ TEST_F(EventListenerTest, DisableBGCompaction) {
527
527
  // keep writing until writes are forced to stop.
528
528
  for (int i = 0; static_cast<int>(cf_meta.file_count) < kSlowdownTrigger * 10;
529
529
  ++i) {
530
- ASSERT_OK(Put(1, ToString(i), std::string(10000, 'x'), WriteOptions()));
530
+ ASSERT_OK(
531
+ Put(1, std::to_string(i), std::string(10000, 'x'), WriteOptions()));
531
532
  FlushOptions fo;
532
533
  fo.allow_write_stall = true;
533
534
  ASSERT_OK(db_->Flush(fo, handles_[1]));
@@ -140,8 +140,8 @@ size_t MemTable::ApproximateMemoryUsage() {
140
140
  for (size_t usage : usages) {
141
141
  // If usage + total_usage >= kMaxSizet, return kMaxSizet.
142
142
  // the following variation is to avoid numeric overflow.
143
- if (usage >= port::kMaxSizet - total_usage) {
144
- return port::kMaxSizet;
143
+ if (usage >= std::numeric_limits<size_t>::max() - total_usage) {
144
+ return std::numeric_limits<size_t>::max();
145
145
  }
146
146
  total_usage += usage;
147
147
  }
@@ -315,7 +315,7 @@ class MemTableList {
315
315
  // PickMemtablesToFlush() is called.
316
316
  void FlushRequested() {
317
317
  flush_requested_ = true;
318
- // If there are some memtables stored in imm() that dont trigger
318
+ // If there are some memtables stored in imm() that don't trigger
319
319
  // flush (eg: mempurge output memtable), then update imm_flush_needed.
320
320
  // Note: if race condition and imm_flush_needed is set to true
321
321
  // when there is num_flush_not_started_==0, then there is no
@@ -209,7 +209,8 @@ TEST_F(MemTableListTest, Empty) {
209
209
  ASSERT_FALSE(list.IsFlushPending());
210
210
 
211
211
  autovector<MemTable*> mems;
212
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &mems);
212
+ list.PickMemtablesToFlush(
213
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &mems);
213
214
  ASSERT_EQ(0, mems.size());
214
215
 
215
216
  autovector<MemTable*> to_delete;
@@ -418,7 +419,8 @@ TEST_F(MemTableListTest, GetFromHistoryTest) {
418
419
  // Flush this memtable from the list.
419
420
  // (It will then be a part of the memtable history).
420
421
  autovector<MemTable*> to_flush;
421
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
422
+ list.PickMemtablesToFlush(
423
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
422
424
  ASSERT_EQ(1, to_flush.size());
423
425
 
424
426
  MutableCFOptions mutable_cf_options(options);
@@ -472,7 +474,8 @@ TEST_F(MemTableListTest, GetFromHistoryTest) {
472
474
  ASSERT_EQ(0, to_delete.size());
473
475
 
474
476
  to_flush.clear();
475
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
477
+ list.PickMemtablesToFlush(
478
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
476
479
  ASSERT_EQ(1, to_flush.size());
477
480
 
478
481
  // Flush second memtable
@@ -575,15 +578,15 @@ TEST_F(MemTableListTest, FlushPendingTest) {
575
578
  std::string value;
576
579
  MergeContext merge_context;
577
580
 
578
- ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", ToString(i),
581
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", std::to_string(i),
579
582
  nullptr /* kv_prot_info */));
580
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + ToString(i), "valueN",
583
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + std::to_string(i), "valueN",
581
584
  nullptr /* kv_prot_info */));
582
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + ToString(i), "value",
585
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + std::to_string(i), "value",
583
586
  nullptr /* kv_prot_info */));
584
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + ToString(i), "valueM",
587
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + std::to_string(i), "valueM",
585
588
  nullptr /* kv_prot_info */));
586
- ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + ToString(i), "",
589
+ ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + std::to_string(i), "",
587
590
  nullptr /* kv_prot_info */));
588
591
 
589
592
  tables.push_back(mem);
@@ -593,7 +596,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
593
596
  ASSERT_FALSE(list.IsFlushPending());
594
597
  ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
595
598
  autovector<MemTable*> to_flush;
596
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
599
+ list.PickMemtablesToFlush(
600
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
597
601
  ASSERT_EQ(0, to_flush.size());
598
602
 
599
603
  // Request a flush even though there is nothing to flush
@@ -602,7 +606,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
602
606
  ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
603
607
 
604
608
  // Attempt to 'flush' to clear request for flush
605
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
609
+ list.PickMemtablesToFlush(
610
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
606
611
  ASSERT_EQ(0, to_flush.size());
607
612
  ASSERT_FALSE(list.IsFlushPending());
608
613
  ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
@@ -626,7 +631,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
626
631
  ASSERT_TRUE(list.imm_flush_needed.load(std::memory_order_acquire));
627
632
 
628
633
  // Pick tables to flush
629
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
634
+ list.PickMemtablesToFlush(
635
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
630
636
  ASSERT_EQ(2, to_flush.size());
631
637
  ASSERT_EQ(2, list.NumNotFlushed());
632
638
  ASSERT_FALSE(list.IsFlushPending());
@@ -647,7 +653,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
647
653
  ASSERT_EQ(0, to_delete.size());
648
654
 
649
655
  // Pick tables to flush
650
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
656
+ list.PickMemtablesToFlush(
657
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
651
658
  ASSERT_EQ(3, to_flush.size());
652
659
  ASSERT_EQ(3, list.NumNotFlushed());
653
660
  ASSERT_FALSE(list.IsFlushPending());
@@ -655,7 +662,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
655
662
 
656
663
  // Pick tables to flush again
657
664
  autovector<MemTable*> to_flush2;
658
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush2);
665
+ list.PickMemtablesToFlush(
666
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush2);
659
667
  ASSERT_EQ(0, to_flush2.size());
660
668
  ASSERT_EQ(3, list.NumNotFlushed());
661
669
  ASSERT_FALSE(list.IsFlushPending());
@@ -673,7 +681,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
673
681
  ASSERT_TRUE(list.imm_flush_needed.load(std::memory_order_acquire));
674
682
 
675
683
  // Pick tables to flush again
676
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush2);
684
+ list.PickMemtablesToFlush(
685
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush2);
677
686
  ASSERT_EQ(1, to_flush2.size());
678
687
  ASSERT_EQ(4, list.NumNotFlushed());
679
688
  ASSERT_FALSE(list.IsFlushPending());
@@ -694,7 +703,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
694
703
  ASSERT_EQ(0, to_delete.size());
695
704
 
696
705
  // Pick tables to flush
697
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
706
+ list.PickMemtablesToFlush(
707
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
698
708
  // Should pick 4 of 5 since 1 table has been picked in to_flush2
699
709
  ASSERT_EQ(4, to_flush.size());
700
710
  ASSERT_EQ(5, list.NumNotFlushed());
@@ -703,7 +713,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
703
713
 
704
714
  // Pick tables to flush again
705
715
  autovector<MemTable*> to_flush3;
706
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush3);
716
+ list.PickMemtablesToFlush(
717
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush3);
707
718
  ASSERT_EQ(0, to_flush3.size()); // nothing not in progress of being flushed
708
719
  ASSERT_EQ(5, list.NumNotFlushed());
709
720
  ASSERT_FALSE(list.IsFlushPending());
@@ -849,15 +860,15 @@ TEST_F(MemTableListTest, AtomicFlusTest) {
849
860
 
850
861
  std::string value;
851
862
 
852
- ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", ToString(i),
863
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", std::to_string(i),
853
864
  nullptr /* kv_prot_info */));
854
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + ToString(i), "valueN",
865
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + std::to_string(i),
866
+ "valueN", nullptr /* kv_prot_info */));
867
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + std::to_string(i), "value",
855
868
  nullptr /* kv_prot_info */));
856
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + ToString(i), "value",
857
- nullptr /* kv_prot_info */));
858
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + ToString(i), "valueM",
859
- nullptr /* kv_prot_info */));
860
- ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + ToString(i), "",
869
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + std::to_string(i),
870
+ "valueM", nullptr /* kv_prot_info */));
871
+ ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + std::to_string(i), "",
861
872
  nullptr /* kv_prot_info */));
862
873
 
863
874
  elem.push_back(mem);
@@ -872,8 +883,9 @@ TEST_F(MemTableListTest, AtomicFlusTest) {
872
883
  auto* list = lists[i];
873
884
  ASSERT_FALSE(list->IsFlushPending());
874
885
  ASSERT_FALSE(list->imm_flush_needed.load(std::memory_order_acquire));
875
- list->PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */,
876
- &flush_candidates[i]);
886
+ list->PickMemtablesToFlush(
887
+ std::numeric_limits<uint64_t>::max() /* memtable_id */,
888
+ &flush_candidates[i]);
877
889
  ASSERT_EQ(0, flush_candidates[i].size());
878
890
  }
879
891
  // Request flush even though there is nothing to flush
@@ -41,7 +41,7 @@ class ObsoleteFilesTest : public DBTestBase {
41
41
  WriteOptions options;
42
42
  options.sync = false;
43
43
  for (int i = startkey; i < (numkeys + startkey) ; i++) {
44
- std::string temp = ToString(i);
44
+ std::string temp = std::to_string(i);
45
45
  Slice key(temp);
46
46
  Slice value(temp);
47
47
  ASSERT_OK(db_->Put(options, key, value));
@@ -75,21 +75,21 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
75
75
  ReadOptions read_options;
76
76
 
77
77
  for (int i = 0; i < FLAGS_total_keys; ++i) {
78
- std::string key = "k" + ToString(i);
79
- std::string value = "v" + ToString(i);
78
+ std::string key = "k" + std::to_string(i);
79
+ std::string value = "v" + std::to_string(i);
80
80
 
81
81
  ASSERT_OK(db->Put(write_options, key, value));
82
82
  }
83
83
 
84
84
  for (int i = 0; i < FLAGS_total_keys -1 ; ++i) {
85
- std::string key = "k" + ToString(i);
85
+ std::string key = "k" + std::to_string(i);
86
86
  ASSERT_OK(db->Delete(write_options, key));
87
87
  }
88
88
 
89
89
  HistogramImpl hist_get;
90
90
  HistogramImpl hist_get_time;
91
91
  for (int i = 0; i < FLAGS_total_keys - 1; ++i) {
92
- std::string key = "k" + ToString(i);
92
+ std::string key = "k" + std::to_string(i);
93
93
  std::string value;
94
94
 
95
95
  get_perf_context()->Reset();
@@ -130,7 +130,7 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
130
130
  HistogramImpl hist_seek;
131
131
  for (int i = 0; i < FLAGS_total_keys; ++i) {
132
132
  std::unique_ptr<Iterator> iter(db->NewIterator(read_options));
133
- std::string key = "k" + ToString(i);
133
+ std::string key = "k" + std::to_string(i);
134
134
 
135
135
  get_perf_context()->Reset();
136
136
  StopWatchNano timer(SystemClock::Default().get(), true);
@@ -265,8 +265,8 @@ void ProfileQueries(bool enabled_time = false) {
265
265
  continue;
266
266
  }
267
267
 
268
- std::string key = "k" + ToString(i);
269
- std::string value = "v" + ToString(i);
268
+ std::string key = "k" + std::to_string(i);
269
+ std::string value = "v" + std::to_string(i);
270
270
 
271
271
  std::vector<std::string> values;
272
272
 
@@ -297,8 +297,8 @@ void ProfileQueries(bool enabled_time = false) {
297
297
  if (i == kFlushFlag) {
298
298
  continue;
299
299
  }
300
- std::string key = "k" + ToString(i);
301
- std::string expected_value = "v" + ToString(i);
300
+ std::string key = "k" + std::to_string(i);
301
+ std::string expected_value = "v" + std::to_string(i);
302
302
  std::string value;
303
303
 
304
304
  std::vector<Slice> multiget_keys = {Slice(key)};
@@ -415,8 +415,8 @@ void ProfileQueries(bool enabled_time = false) {
415
415
  if (i == kFlushFlag) {
416
416
  continue;
417
417
  }
418
- std::string key = "k" + ToString(i);
419
- std::string expected_value = "v" + ToString(i);
418
+ std::string key = "k" + std::to_string(i);
419
+ std::string expected_value = "v" + std::to_string(i);
420
420
  std::string value;
421
421
 
422
422
  std::vector<Slice> multiget_keys = {Slice(key)};
@@ -543,8 +543,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
543
543
  SetPerfLevel(kEnableTime);
544
544
  StopWatchNano timer(SystemClock::Default().get());
545
545
  for (const int i : keys) {
546
- std::string key = "k" + ToString(i);
547
- std::string value = "v" + ToString(i);
546
+ std::string key = "k" + std::to_string(i);
547
+ std::string value = "v" + std::to_string(i);
548
548
 
549
549
  get_perf_context()->Reset();
550
550
  timer.Start();
@@ -565,8 +565,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
565
565
  HistogramImpl hist_next;
566
566
 
567
567
  for (int i = 0; i < FLAGS_total_keys; ++i) {
568
- std::string key = "k" + ToString(i);
569
- std::string value = "v" + ToString(i);
568
+ std::string key = "k" + std::to_string(i);
569
+ std::string value = "v" + std::to_string(i);
570
570
 
571
571
  std::unique_ptr<Iterator> iter(db->NewIterator(read_options));
572
572
  get_perf_context()->Reset();
@@ -841,7 +841,7 @@ TEST_F(PerfContextTest, CPUTimer) {
841
841
 
842
842
  std::string max_str = "0";
843
843
  for (int i = 0; i < FLAGS_total_keys; ++i) {
844
- std::string i_str = ToString(i);
844
+ std::string i_str = std::to_string(i);
845
845
  std::string key = "k" + i_str;
846
846
  std::string value = "v" + i_str;
847
847
  max_str = max_str > i_str ? max_str : i_str;
@@ -935,9 +935,9 @@ TEST_F(PerfContextTest, CPUTimer) {
935
935
  get_perf_context()->Reset();
936
936
  auto count = get_perf_context()->iter_seek_cpu_nanos;
937
937
  for (int i = 0; i < FLAGS_total_keys; ++i) {
938
- iter->Seek("k" + ToString(i));
938
+ iter->Seek("k" + std::to_string(i));
939
939
  ASSERT_TRUE(iter->Valid());
940
- ASSERT_EQ("v" + ToString(i), iter->value().ToString());
940
+ ASSERT_EQ("v" + std::to_string(i), iter->value().ToString());
941
941
  auto next_count = get_perf_context()->iter_seek_cpu_nanos;
942
942
  ASSERT_GT(next_count, count);
943
943
  count = next_count;
@@ -220,8 +220,8 @@ class PlainTableDBTest : public testing::Test,
220
220
 
221
221
  int NumTableFilesAtLevel(int level) {
222
222
  std::string property;
223
- EXPECT_TRUE(db_->GetProperty("rocksdb.num-files-at-level" + ToString(level),
224
- &property));
223
+ EXPECT_TRUE(db_->GetProperty(
224
+ "rocksdb.num-files-at-level" + std::to_string(level), &property));
225
225
  return atoi(property.c_str());
226
226
  }
227
227
 
@@ -889,7 +889,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeys) {
889
889
  };
890
890
 
891
891
  for (size_t i = 0; i < 7; i++) {
892
- ASSERT_OK(Put(key_list[i], ToString(i)));
892
+ ASSERT_OK(Put(key_list[i], std::to_string(i)));
893
893
  }
894
894
 
895
895
  ASSERT_OK(dbfull()->TEST_FlushMemTable());
@@ -900,7 +900,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeys) {
900
900
  for (size_t i = 0; i < 7; i++) {
901
901
  ASSERT_TRUE(iter->Valid());
902
902
  ASSERT_EQ(key_list[i], iter->key().ToString());
903
- ASSERT_EQ(ToString(i), iter->value().ToString());
903
+ ASSERT_EQ(std::to_string(i), iter->value().ToString());
904
904
  iter->Next();
905
905
  }
906
906
 
@@ -937,7 +937,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeysWithPrefix) {
937
937
  MakeLongKeyWithPrefix(26, '6')};
938
938
 
939
939
  for (size_t i = 0; i < 7; i++) {
940
- ASSERT_OK(Put(key_list[i], ToString(i)));
940
+ ASSERT_OK(Put(key_list[i], std::to_string(i)));
941
941
  }
942
942
 
943
943
  ASSERT_OK(dbfull()->TEST_FlushMemTable());
@@ -948,7 +948,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeysWithPrefix) {
948
948
  for (size_t i = 0; i < 7; i++) {
949
949
  ASSERT_TRUE(iter->Valid());
950
950
  ASSERT_EQ(key_list[i], iter->key().ToString());
951
- ASSERT_EQ(ToString(i), iter->value().ToString());
951
+ ASSERT_EQ(std::to_string(i), iter->value().ToString());
952
952
  iter->Next();
953
953
  }
954
954
 
@@ -628,7 +628,7 @@ TEST_F(PrefixTest, DynamicPrefixIterator) {
628
628
  TestKey test_key(prefix, FLAGS_items_per_prefix / 2);
629
629
  std::string s;
630
630
  Slice key = TestKeyToSlice(s, test_key);
631
- std::string value = "v" + ToString(0);
631
+ std::string value = "v" + std::to_string(0);
632
632
 
633
633
  get_perf_context()->Reset();
634
634
  StopWatchNano timer(SystemClock::Default().get(), true);
@@ -82,6 +82,7 @@
82
82
  #include "rocksdb/options.h"
83
83
  #include "rocksdb/write_buffer_manager.h"
84
84
  #include "table/scoped_arena_iterator.h"
85
+ #include "table/unique_id_impl.h"
85
86
  #include "util/string_util.h"
86
87
 
87
88
  namespace ROCKSDB_NAMESPACE {
@@ -147,7 +148,7 @@ class Repairer {
147
148
  const auto* cf_opts = GetColumnFamilyOptions(cf_name);
148
149
  if (cf_opts == nullptr) {
149
150
  return Status::Corruption("Encountered unknown column family with name=" +
150
- cf_name + ", id=" + ToString(cf_id));
151
+ cf_name + ", id=" + std::to_string(cf_id));
151
152
  }
152
153
  Options opts(db_options_, *cf_opts);
153
154
  MutableCFOptions mut_cf_opts(opts);
@@ -505,6 +506,15 @@ class Repairer {
505
506
  t->meta.fd, &props);
506
507
  }
507
508
  if (status.ok()) {
509
+ auto s =
510
+ GetSstInternalUniqueId(props->db_id, props->db_session_id,
511
+ props->orig_file_number, &t->meta.unique_id);
512
+ if (!s.ok()) {
513
+ ROCKS_LOG_WARN(db_options_.info_log,
514
+ "Table #%" PRIu64
515
+ ": unable to get unique id, default to Unknown.",
516
+ t->meta.fd.GetNumber());
517
+ }
508
518
  t->column_family_id = static_cast<uint32_t>(props->column_family_id);
509
519
  if (t->column_family_id ==
510
520
  TablePropertiesCollectorFactory::Context::kUnknownColumnFamily) {
@@ -639,7 +649,8 @@ class Repairer {
639
649
  table->meta.temperature, table->meta.oldest_blob_file_number,
640
650
  table->meta.oldest_ancester_time, table->meta.file_creation_time,
641
651
  table->meta.file_checksum, table->meta.file_checksum_func_name,
642
- table->meta.min_timestamp, table->meta.max_timestamp);
652
+ table->meta.min_timestamp, table->meta.max_timestamp,
653
+ table->meta.unique_id);
643
654
  }
644
655
  assert(next_file_number_ > 0);
645
656
  vset_.MarkFileNumberUsed(next_file_number_ - 1);