@nxtedition/rocksdb 5.2.1 → 5.2.2

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 (1052) hide show
  1. package/binding.cc +322 -1166
  2. package/binding.gyp +1 -1
  3. package/chained-batch.js +37 -23
  4. package/deps/rocksdb/rocksdb/CMakeLists.txt +1356 -0
  5. package/deps/rocksdb/rocksdb/COPYING +339 -0
  6. package/deps/rocksdb/rocksdb/LICENSE.Apache +202 -0
  7. package/deps/rocksdb/rocksdb/LICENSE.leveldb +29 -0
  8. package/deps/rocksdb/rocksdb/Makefile +2521 -0
  9. package/deps/rocksdb/rocksdb/TARGETS +2100 -0
  10. package/deps/rocksdb/rocksdb/cache/cache.cc +63 -0
  11. package/deps/rocksdb/rocksdb/cache/cache_bench.cc +381 -0
  12. package/deps/rocksdb/rocksdb/cache/cache_helpers.h +114 -0
  13. package/deps/rocksdb/rocksdb/cache/cache_test.cc +775 -0
  14. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +769 -0
  15. package/deps/rocksdb/rocksdb/cache/clock_cache.h +16 -0
  16. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +574 -0
  17. package/deps/rocksdb/rocksdb/cache/lru_cache.h +339 -0
  18. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +199 -0
  19. package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +162 -0
  20. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +111 -0
  21. package/deps/rocksdb/rocksdb/cmake/RocksDBConfig.cmake.in +54 -0
  22. package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
  23. package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
  24. package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
  25. package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
  26. package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
  27. package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
  28. package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
  29. package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
  30. package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
  31. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +108 -0
  32. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +115 -0
  33. package/deps/rocksdb/rocksdb/db/blob/blob_constants.h +16 -0
  34. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition.cc +154 -0
  35. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition.h +67 -0
  36. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition_test.cc +206 -0
  37. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +316 -0
  38. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +91 -0
  39. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +660 -0
  40. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +99 -0
  41. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +49 -0
  42. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +268 -0
  43. package/deps/rocksdb/rocksdb/db/blob/blob_file_garbage.cc +134 -0
  44. package/deps/rocksdb/rocksdb/db/blob/blob_file_garbage.h +57 -0
  45. package/deps/rocksdb/rocksdb/db/blob/blob_file_garbage_test.cc +173 -0
  46. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.cc +55 -0
  47. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +164 -0
  48. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +423 -0
  49. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +81 -0
  50. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +771 -0
  51. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +184 -0
  52. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.cc +145 -0
  53. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +148 -0
  54. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +132 -0
  55. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.h +76 -0
  56. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +168 -0
  57. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.h +83 -0
  58. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +307 -0
  59. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +464 -0
  60. package/deps/rocksdb/rocksdb/db/builder.cc +358 -0
  61. package/deps/rocksdb/rocksdb/db/builder.h +95 -0
  62. package/deps/rocksdb/rocksdb/db/c.cc +5281 -0
  63. package/deps/rocksdb/rocksdb/db/c_test.c +2883 -0
  64. package/deps/rocksdb/rocksdb/db/column_family.cc +1602 -0
  65. package/deps/rocksdb/rocksdb/db/column_family.h +787 -0
  66. package/deps/rocksdb/rocksdb/db/column_family_test.cc +3427 -0
  67. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +425 -0
  68. package/deps/rocksdb/rocksdb/db/compacted_db_impl.cc +169 -0
  69. package/deps/rocksdb/rocksdb/db/compacted_db_impl.h +118 -0
  70. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +591 -0
  71. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +389 -0
  72. package/deps/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +37 -0
  73. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +1023 -0
  74. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +353 -0
  75. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +1254 -0
  76. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +1917 -0
  77. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +208 -0
  78. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +1037 -0
  79. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +1224 -0
  80. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +1135 -0
  81. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +318 -0
  82. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +255 -0
  83. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +57 -0
  84. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +510 -0
  85. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +33 -0
  86. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +2190 -0
  87. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1103 -0
  88. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +32 -0
  89. package/deps/rocksdb/rocksdb/db/compaction/sst_partitioner.cc +44 -0
  90. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +660 -0
  91. package/deps/rocksdb/rocksdb/db/convenience.cc +78 -0
  92. package/deps/rocksdb/rocksdb/db/corruption_test.cc +921 -0
  93. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +359 -0
  94. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +3820 -0
  95. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +1058 -0
  96. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +2128 -0
  97. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +851 -0
  98. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +6292 -0
  99. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +509 -0
  100. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +130 -0
  101. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +137 -0
  102. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1119 -0
  103. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +5057 -0
  104. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +2274 -0
  105. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +3421 -0
  106. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +298 -0
  107. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +151 -0
  108. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +967 -0
  109. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +1806 -0
  110. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +270 -0
  111. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +146 -0
  112. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +683 -0
  113. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +333 -0
  114. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +2024 -0
  115. package/deps/rocksdb/rocksdb/db/db_impl/db_secondary_test.cc +932 -0
  116. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +137 -0
  117. package/deps/rocksdb/rocksdb/db/db_info_dumper.h +15 -0
  118. package/deps/rocksdb/rocksdb/db/db_inplace_update_test.cc +178 -0
  119. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +592 -0
  120. package/deps/rocksdb/rocksdb/db/db_iter.cc +1493 -0
  121. package/deps/rocksdb/rocksdb/db/db_iter.h +390 -0
  122. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +657 -0
  123. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +3268 -0
  124. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +3197 -0
  125. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +299 -0
  126. package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +513 -0
  127. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +329 -0
  128. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +241 -0
  129. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +671 -0
  130. package/deps/rocksdb/rocksdb/db/db_options_test.cc +1022 -0
  131. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +1723 -0
  132. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +1694 -0
  133. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +1261 -0
  134. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +164 -0
  135. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +488 -0
  136. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +567 -0
  137. package/deps/rocksdb/rocksdb/db/db_test.cc +6736 -0
  138. package/deps/rocksdb/rocksdb/db/db_test2.cc +5408 -0
  139. package/deps/rocksdb/rocksdb/db/db_test_util.cc +1633 -0
  140. package/deps/rocksdb/rocksdb/db/db_test_util.h +1194 -0
  141. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +2235 -0
  142. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +1780 -0
  143. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +2520 -0
  144. package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +119 -0
  145. package/deps/rocksdb/rocksdb/db/db_write_test.cc +465 -0
  146. package/deps/rocksdb/rocksdb/db/dbformat.cc +222 -0
  147. package/deps/rocksdb/rocksdb/db/dbformat.h +786 -0
  148. package/deps/rocksdb/rocksdb/db/dbformat_test.cc +206 -0
  149. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +580 -0
  150. package/deps/rocksdb/rocksdb/db/error_handler.cc +726 -0
  151. package/deps/rocksdb/rocksdb/db/error_handler.h +117 -0
  152. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +2598 -0
  153. package/deps/rocksdb/rocksdb/db/event_helpers.cc +233 -0
  154. package/deps/rocksdb/rocksdb/db/event_helpers.h +57 -0
  155. package/deps/rocksdb/rocksdb/db/experimental.cc +50 -0
  156. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +1559 -0
  157. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +910 -0
  158. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +195 -0
  159. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +2936 -0
  160. package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +556 -0
  161. package/deps/rocksdb/rocksdb/db/file_indexer.cc +216 -0
  162. package/deps/rocksdb/rocksdb/db/file_indexer.h +142 -0
  163. package/deps/rocksdb/rocksdb/db/file_indexer_test.cc +350 -0
  164. package/deps/rocksdb/rocksdb/db/filename_test.cc +179 -0
  165. package/deps/rocksdb/rocksdb/db/flush_job.cc +514 -0
  166. package/deps/rocksdb/rocksdb/db/flush_job.h +169 -0
  167. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +647 -0
  168. package/deps/rocksdb/rocksdb/db/flush_scheduler.cc +86 -0
  169. package/deps/rocksdb/rocksdb/db/flush_scheduler.h +54 -0
  170. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1023 -0
  171. package/deps/rocksdb/rocksdb/db/forward_iterator.h +163 -0
  172. package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +377 -0
  173. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +282 -0
  174. package/deps/rocksdb/rocksdb/db/import_column_family_job.h +75 -0
  175. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +632 -0
  176. package/deps/rocksdb/rocksdb/db/internal_stats.cc +1461 -0
  177. package/deps/rocksdb/rocksdb/db/internal_stats.h +712 -0
  178. package/deps/rocksdb/rocksdb/db/job_context.h +226 -0
  179. package/deps/rocksdb/rocksdb/db/listener_test.cc +1118 -0
  180. package/deps/rocksdb/rocksdb/db/log_format.h +48 -0
  181. package/deps/rocksdb/rocksdb/db/log_reader.cc +654 -0
  182. package/deps/rocksdb/rocksdb/db/log_reader.h +192 -0
  183. package/deps/rocksdb/rocksdb/db/log_test.cc +901 -0
  184. package/deps/rocksdb/rocksdb/db/log_writer.cc +164 -0
  185. package/deps/rocksdb/rocksdb/db/log_writer.h +115 -0
  186. package/deps/rocksdb/rocksdb/db/logs_with_prep_tracker.cc +67 -0
  187. package/deps/rocksdb/rocksdb/db/logs_with_prep_tracker.h +63 -0
  188. package/deps/rocksdb/rocksdb/db/lookup_key.h +66 -0
  189. package/deps/rocksdb/rocksdb/db/malloc_stats.cc +54 -0
  190. package/deps/rocksdb/rocksdb/db/malloc_stats.h +24 -0
  191. package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +296 -0
  192. package/deps/rocksdb/rocksdb/db/memtable.cc +1169 -0
  193. package/deps/rocksdb/rocksdb/db/memtable.h +554 -0
  194. package/deps/rocksdb/rocksdb/db/memtable_list.cc +888 -0
  195. package/deps/rocksdb/rocksdb/db/memtable_list.h +438 -0
  196. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +935 -0
  197. package/deps/rocksdb/rocksdb/db/merge_context.h +134 -0
  198. package/deps/rocksdb/rocksdb/db/merge_helper.cc +421 -0
  199. package/deps/rocksdb/rocksdb/db/merge_helper.h +197 -0
  200. package/deps/rocksdb/rocksdb/db/merge_helper_test.cc +290 -0
  201. package/deps/rocksdb/rocksdb/db/merge_operator.cc +86 -0
  202. package/deps/rocksdb/rocksdb/db/merge_test.cc +608 -0
  203. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +338 -0
  204. package/deps/rocksdb/rocksdb/db/options_file_test.cc +119 -0
  205. package/deps/rocksdb/rocksdb/db/output_validator.cc +30 -0
  206. package/deps/rocksdb/rocksdb/db/output_validator.h +47 -0
  207. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +993 -0
  208. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.cc +113 -0
  209. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.h +76 -0
  210. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler_test.cc +231 -0
  211. package/deps/rocksdb/rocksdb/db/pinned_iterators_manager.h +87 -0
  212. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +1374 -0
  213. package/deps/rocksdb/rocksdb/db/pre_release_callback.h +38 -0
  214. package/deps/rocksdb/rocksdb/db/prefix_test.cc +910 -0
  215. package/deps/rocksdb/rocksdb/db/range_del_aggregator.cc +489 -0
  216. package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +446 -0
  217. package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +260 -0
  218. package/deps/rocksdb/rocksdb/db/range_del_aggregator_test.cc +709 -0
  219. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +439 -0
  220. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +256 -0
  221. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter_test.cc +552 -0
  222. package/deps/rocksdb/rocksdb/db/read_callback.h +53 -0
  223. package/deps/rocksdb/rocksdb/db/repair.cc +722 -0
  224. package/deps/rocksdb/rocksdb/db/repair_test.cc +390 -0
  225. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +61 -0
  226. package/deps/rocksdb/rocksdb/db/snapshot_impl.cc +26 -0
  227. package/deps/rocksdb/rocksdb/db/snapshot_impl.h +167 -0
  228. package/deps/rocksdb/rocksdb/db/table_cache.cc +704 -0
  229. package/deps/rocksdb/rocksdb/db/table_cache.h +233 -0
  230. package/deps/rocksdb/rocksdb/db/table_properties_collector.cc +75 -0
  231. package/deps/rocksdb/rocksdb/db/table_properties_collector.h +107 -0
  232. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +517 -0
  233. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +318 -0
  234. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +128 -0
  235. package/deps/rocksdb/rocksdb/db/trim_history_scheduler.cc +54 -0
  236. package/deps/rocksdb/rocksdb/db/trim_history_scheduler.h +44 -0
  237. package/deps/rocksdb/rocksdb/db/version_builder.cc +1078 -0
  238. package/deps/rocksdb/rocksdb/db/version_builder.h +69 -0
  239. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +1551 -0
  240. package/deps/rocksdb/rocksdb/db/version_edit.cc +955 -0
  241. package/deps/rocksdb/rocksdb/db/version_edit.h +609 -0
  242. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +699 -0
  243. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +252 -0
  244. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +597 -0
  245. package/deps/rocksdb/rocksdb/db/version_set.cc +6333 -0
  246. package/deps/rocksdb/rocksdb/db/version_set.h +1485 -0
  247. package/deps/rocksdb/rocksdb/db/version_set_test.cc +3035 -0
  248. package/deps/rocksdb/rocksdb/db/wal_edit.cc +204 -0
  249. package/deps/rocksdb/rocksdb/db/wal_edit.h +166 -0
  250. package/deps/rocksdb/rocksdb/db/wal_edit_test.cc +214 -0
  251. package/deps/rocksdb/rocksdb/db/wal_manager.cc +517 -0
  252. package/deps/rocksdb/rocksdb/db/wal_manager.h +119 -0
  253. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +340 -0
  254. package/deps/rocksdb/rocksdb/db/write_batch.cc +2174 -0
  255. package/deps/rocksdb/rocksdb/db/write_batch_base.cc +94 -0
  256. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +250 -0
  257. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +907 -0
  258. package/deps/rocksdb/rocksdb/db/write_callback.h +27 -0
  259. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +457 -0
  260. package/deps/rocksdb/rocksdb/db/write_controller.cc +128 -0
  261. package/deps/rocksdb/rocksdb/db/write_controller.h +144 -0
  262. package/deps/rocksdb/rocksdb/db/write_controller_test.cc +135 -0
  263. package/deps/rocksdb/rocksdb/db/write_thread.cc +796 -0
  264. package/deps/rocksdb/rocksdb/db/write_thread.h +433 -0
  265. package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +14 -0
  266. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +341 -0
  267. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +520 -0
  268. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress.cc +23 -0
  269. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +337 -0
  270. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +554 -0
  271. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +79 -0
  272. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +173 -0
  273. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.h +17 -0
  274. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +38 -0
  275. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +763 -0
  276. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +222 -0
  277. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +27 -0
  278. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +428 -0
  279. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_stat.h +218 -0
  280. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +64 -0
  281. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +2430 -0
  282. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +237 -0
  283. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +343 -0
  284. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +800 -0
  285. package/deps/rocksdb/rocksdb/env/composite_env_wrapper.h +920 -0
  286. package/deps/rocksdb/rocksdb/env/env.cc +733 -0
  287. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +352 -0
  288. package/deps/rocksdb/rocksdb/env/env_chroot.cc +346 -0
  289. package/deps/rocksdb/rocksdb/env/env_chroot.h +22 -0
  290. package/deps/rocksdb/rocksdb/env/env_encryption.cc +1148 -0
  291. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +137 -0
  292. package/deps/rocksdb/rocksdb/env/env_hdfs.cc +648 -0
  293. package/deps/rocksdb/rocksdb/env/env_posix.cc +514 -0
  294. package/deps/rocksdb/rocksdb/env/env_test.cc +2230 -0
  295. package/deps/rocksdb/rocksdb/env/file_system.cc +132 -0
  296. package/deps/rocksdb/rocksdb/env/file_system_tracer.cc +448 -0
  297. package/deps/rocksdb/rocksdb/env/file_system_tracer.h +415 -0
  298. package/deps/rocksdb/rocksdb/env/fs_posix.cc +1086 -0
  299. package/deps/rocksdb/rocksdb/env/io_posix.cc +1499 -0
  300. package/deps/rocksdb/rocksdb/env/io_posix.h +402 -0
  301. package/deps/rocksdb/rocksdb/env/io_posix_test.cc +140 -0
  302. package/deps/rocksdb/rocksdb/env/mock_env.cc +1066 -0
  303. package/deps/rocksdb/rocksdb/env/mock_env.h +41 -0
  304. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +85 -0
  305. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +402 -0
  306. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +150 -0
  307. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +717 -0
  308. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +156 -0
  309. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +99 -0
  310. package/deps/rocksdb/rocksdb/file/file_util.cc +268 -0
  311. package/deps/rocksdb/rocksdb/file/file_util.h +96 -0
  312. package/deps/rocksdb/rocksdb/file/filename.cc +473 -0
  313. package/deps/rocksdb/rocksdb/file/filename.h +182 -0
  314. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +188 -0
  315. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +315 -0
  316. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +142 -0
  317. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +482 -0
  318. package/deps/rocksdb/rocksdb/file/read_write_util.cc +67 -0
  319. package/deps/rocksdb/rocksdb/file/read_write_util.h +34 -0
  320. package/deps/rocksdb/rocksdb/file/readahead_raf.cc +169 -0
  321. package/deps/rocksdb/rocksdb/file/readahead_raf.h +29 -0
  322. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +237 -0
  323. package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +63 -0
  324. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +552 -0
  325. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +203 -0
  326. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +523 -0
  327. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +251 -0
  328. package/deps/rocksdb/rocksdb/hdfs/env_hdfs.h +386 -0
  329. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +839 -0
  330. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +2218 -0
  331. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +294 -0
  332. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +71 -0
  333. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +214 -0
  334. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +98 -0
  335. package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +137 -0
  336. package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +40 -0
  337. package/deps/rocksdb/rocksdb/include/rocksdb/concurrent_task_limiter.h +46 -0
  338. package/deps/rocksdb/rocksdb/include/rocksdb/configurable.h +359 -0
  339. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +499 -0
  340. package/deps/rocksdb/rocksdb/include/rocksdb/customizable.h +138 -0
  341. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +1697 -0
  342. package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +11 -0
  343. package/deps/rocksdb/rocksdb/include/rocksdb/db_dump_tool.h +45 -0
  344. package/deps/rocksdb/rocksdb/include/rocksdb/db_stress_tool.h +11 -0
  345. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1671 -0
  346. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +405 -0
  347. package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +29 -0
  348. package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +129 -0
  349. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +1472 -0
  350. package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +238 -0
  351. package/deps/rocksdb/rocksdb/include/rocksdb/flush_block_policy.h +61 -0
  352. package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +269 -0
  353. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +56 -0
  354. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +128 -0
  355. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +43 -0
  356. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +556 -0
  357. package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +77 -0
  358. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +385 -0
  359. package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +257 -0
  360. package/deps/rocksdb/rocksdb/include/rocksdb/metadata.h +155 -0
  361. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +1702 -0
  362. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +237 -0
  363. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +35 -0
  364. package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +73 -0
  365. package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +139 -0
  366. package/deps/rocksdb/rocksdb/include/rocksdb/rocksdb_namespace.h +10 -0
  367. package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +269 -0
  368. package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +103 -0
  369. package/deps/rocksdb/rocksdb/include/rocksdb/snapshot.h +48 -0
  370. package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +19 -0
  371. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +136 -0
  372. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +47 -0
  373. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +145 -0
  374. package/deps/rocksdb/rocksdb/include/rocksdb/sst_partitioner.h +135 -0
  375. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +592 -0
  376. package/deps/rocksdb/rocksdb/include/rocksdb/stats_history.h +69 -0
  377. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +608 -0
  378. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +711 -0
  379. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +280 -0
  380. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +188 -0
  381. package/deps/rocksdb/rocksdb/include/rocksdb/threadpool.h +58 -0
  382. package/deps/rocksdb/rocksdb/include/rocksdb/trace_reader_writer.h +48 -0
  383. package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +121 -0
  384. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +74 -0
  385. package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +86 -0
  386. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backupable_db.h +535 -0
  387. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +61 -0
  388. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/convenience.h +10 -0
  389. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/db_ttl.h +72 -0
  390. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +49 -0
  391. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_librados.h +175 -0
  392. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +180 -0
  393. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/info_log_finder.h +19 -0
  394. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +288 -0
  395. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +71 -0
  396. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/leveldb_options.h +145 -0
  397. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +43 -0
  398. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +55 -0
  399. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +50 -0
  400. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +205 -0
  401. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +100 -0
  402. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +19 -0
  403. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +876 -0
  404. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +128 -0
  405. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +94 -0
  406. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +504 -0
  407. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +95 -0
  408. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +626 -0
  409. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +432 -0
  410. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +92 -0
  411. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/utility_db.h +34 -0
  412. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +279 -0
  413. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +16 -0
  414. package/deps/rocksdb/rocksdb/include/rocksdb/wal_filter.h +102 -0
  415. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +377 -0
  416. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch_base.h +127 -0
  417. package/deps/rocksdb/rocksdb/include/rocksdb/write_buffer_manager.h +106 -0
  418. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +300 -0
  419. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +165 -0
  420. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +684 -0
  421. package/deps/rocksdb/rocksdb/logging/env_logger.h +165 -0
  422. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +162 -0
  423. package/deps/rocksdb/rocksdb/logging/event_logger.cc +70 -0
  424. package/deps/rocksdb/rocksdb/logging/event_logger.h +203 -0
  425. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +43 -0
  426. package/deps/rocksdb/rocksdb/logging/log_buffer.cc +92 -0
  427. package/deps/rocksdb/rocksdb/logging/log_buffer.h +56 -0
  428. package/deps/rocksdb/rocksdb/logging/logging.h +68 -0
  429. package/deps/rocksdb/rocksdb/logging/posix_logger.h +185 -0
  430. package/deps/rocksdb/rocksdb/memory/allocator.h +57 -0
  431. package/deps/rocksdb/rocksdb/memory/arena.cc +233 -0
  432. package/deps/rocksdb/rocksdb/memory/arena.h +141 -0
  433. package/deps/rocksdb/rocksdb/memory/arena_test.cc +204 -0
  434. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +47 -0
  435. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +218 -0
  436. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +206 -0
  437. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +78 -0
  438. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.cc +33 -0
  439. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.h +27 -0
  440. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator_test.cc +102 -0
  441. package/deps/rocksdb/rocksdb/memory/memory_allocator.h +38 -0
  442. package/deps/rocksdb/rocksdb/memory/memory_usage.h +25 -0
  443. package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +62 -0
  444. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +844 -0
  445. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.h +49 -0
  446. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +349 -0
  447. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.h +44 -0
  448. package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +997 -0
  449. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +663 -0
  450. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +677 -0
  451. package/deps/rocksdb/rocksdb/memtable/skiplist.h +496 -0
  452. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +388 -0
  453. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +280 -0
  454. package/deps/rocksdb/rocksdb/memtable/stl_wrappers.h +33 -0
  455. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +301 -0
  456. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +148 -0
  457. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +203 -0
  458. package/deps/rocksdb/rocksdb/monitoring/file_read_sample.h +23 -0
  459. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +287 -0
  460. package/deps/rocksdb/rocksdb/monitoring/histogram.h +149 -0
  461. package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +231 -0
  462. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +200 -0
  463. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +84 -0
  464. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +49 -0
  465. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.h +74 -0
  466. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.cc +71 -0
  467. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +98 -0
  468. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +62 -0
  469. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +60 -0
  470. package/deps/rocksdb/rocksdb/monitoring/iostats_context_test.cc +29 -0
  471. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +566 -0
  472. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +97 -0
  473. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +28 -0
  474. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +18 -0
  475. package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +79 -0
  476. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +169 -0
  477. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.h +83 -0
  478. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +431 -0
  479. package/deps/rocksdb/rocksdb/monitoring/statistics.h +138 -0
  480. package/deps/rocksdb/rocksdb/monitoring/statistics_test.cc +47 -0
  481. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +652 -0
  482. package/deps/rocksdb/rocksdb/monitoring/thread_status_impl.cc +163 -0
  483. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +314 -0
  484. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +233 -0
  485. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater_debug.cc +43 -0
  486. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +206 -0
  487. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +134 -0
  488. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +32 -0
  489. package/deps/rocksdb/rocksdb/options/cf_options.cc +1026 -0
  490. package/deps/rocksdb/rocksdb/options/cf_options.h +308 -0
  491. package/deps/rocksdb/rocksdb/options/configurable.cc +681 -0
  492. package/deps/rocksdb/rocksdb/options/configurable_helper.h +251 -0
  493. package/deps/rocksdb/rocksdb/options/configurable_test.cc +757 -0
  494. package/deps/rocksdb/rocksdb/options/configurable_test.h +127 -0
  495. package/deps/rocksdb/rocksdb/options/customizable.cc +77 -0
  496. package/deps/rocksdb/rocksdb/options/customizable_helper.h +216 -0
  497. package/deps/rocksdb/rocksdb/options/customizable_test.cc +625 -0
  498. package/deps/rocksdb/rocksdb/options/db_options.cc +835 -0
  499. package/deps/rocksdb/rocksdb/options/db_options.h +126 -0
  500. package/deps/rocksdb/rocksdb/options/options.cc +664 -0
  501. package/deps/rocksdb/rocksdb/options/options_helper.cc +1391 -0
  502. package/deps/rocksdb/rocksdb/options/options_helper.h +118 -0
  503. package/deps/rocksdb/rocksdb/options/options_parser.cc +721 -0
  504. package/deps/rocksdb/rocksdb/options/options_parser.h +151 -0
  505. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +583 -0
  506. package/deps/rocksdb/rocksdb/options/options_test.cc +3794 -0
  507. package/deps/rocksdb/rocksdb/port/jemalloc_helper.h +106 -0
  508. package/deps/rocksdb/rocksdb/port/lang.h +16 -0
  509. package/deps/rocksdb/rocksdb/port/likely.h +18 -0
  510. package/deps/rocksdb/rocksdb/port/malloc.h +17 -0
  511. package/deps/rocksdb/rocksdb/port/port.h +21 -0
  512. package/deps/rocksdb/rocksdb/port/port_dirent.h +44 -0
  513. package/deps/rocksdb/rocksdb/port/port_example.h +101 -0
  514. package/deps/rocksdb/rocksdb/port/port_posix.cc +266 -0
  515. package/deps/rocksdb/rocksdb/port/port_posix.h +223 -0
  516. package/deps/rocksdb/rocksdb/port/stack_trace.cc +179 -0
  517. package/deps/rocksdb/rocksdb/port/stack_trace.h +28 -0
  518. package/deps/rocksdb/rocksdb/port/sys_time.h +47 -0
  519. package/deps/rocksdb/rocksdb/port/util_logger.h +20 -0
  520. package/deps/rocksdb/rocksdb/port/win/env_default.cc +45 -0
  521. package/deps/rocksdb/rocksdb/port/win/env_win.cc +1449 -0
  522. package/deps/rocksdb/rocksdb/port/win/env_win.h +294 -0
  523. package/deps/rocksdb/rocksdb/port/win/io_win.cc +1084 -0
  524. package/deps/rocksdb/rocksdb/port/win/io_win.h +494 -0
  525. package/deps/rocksdb/rocksdb/port/win/port_win.cc +283 -0
  526. package/deps/rocksdb/rocksdb/port/win/port_win.h +411 -0
  527. package/deps/rocksdb/rocksdb/port/win/win_jemalloc.cc +79 -0
  528. package/deps/rocksdb/rocksdb/port/win/win_logger.cc +194 -0
  529. package/deps/rocksdb/rocksdb/port/win/win_logger.h +67 -0
  530. package/deps/rocksdb/rocksdb/port/win/win_thread.cc +183 -0
  531. package/deps/rocksdb/rocksdb/port/win/win_thread.h +122 -0
  532. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +221 -0
  533. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +26 -0
  534. package/deps/rocksdb/rocksdb/port/xpress.h +17 -0
  535. package/deps/rocksdb/rocksdb/src.mk +631 -0
  536. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +126 -0
  537. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +57 -0
  538. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +73 -0
  539. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.h +48 -0
  540. package/deps/rocksdb/rocksdb/table/block_based/block.cc +1049 -0
  541. package/deps/rocksdb/rocksdb/table/block_based/block.h +720 -0
  542. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +348 -0
  543. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.h +119 -0
  544. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block_test.cc +434 -0
  545. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1835 -0
  546. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +193 -0
  547. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +839 -0
  548. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +95 -0
  549. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +383 -0
  550. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +251 -0
  551. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3563 -0
  552. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +681 -0
  553. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +190 -0
  554. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +347 -0
  555. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +201 -0
  556. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +78 -0
  557. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +66 -0
  558. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +32 -0
  559. package/deps/rocksdb/rocksdb/table/block_based/block_prefix_index.cc +232 -0
  560. package/deps/rocksdb/rocksdb/table/block_based/block_prefix_index.h +66 -0
  561. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +623 -0
  562. package/deps/rocksdb/rocksdb/table/block_based/block_type.h +30 -0
  563. package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +220 -0
  564. package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.cc +59 -0
  565. package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.h +25 -0
  566. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.cc +93 -0
  567. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +136 -0
  568. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +717 -0
  569. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +180 -0
  570. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +102 -0
  571. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +55 -0
  572. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +1407 -0
  573. package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +168 -0
  574. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +88 -0
  575. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.h +41 -0
  576. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +344 -0
  577. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +139 -0
  578. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +333 -0
  579. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +147 -0
  580. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.h +49 -0
  581. package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +248 -0
  582. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +444 -0
  583. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +54 -0
  584. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +85 -0
  585. package/deps/rocksdb/rocksdb/table/block_based/mock_block_based_table.h +56 -0
  586. package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.cc +22 -0
  587. package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.h +40 -0
  588. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +521 -0
  589. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +144 -0
  590. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +424 -0
  591. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +163 -0
  592. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +142 -0
  593. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +186 -0
  594. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.h +51 -0
  595. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +64 -0
  596. package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +38 -0
  597. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +120 -0
  598. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +59 -0
  599. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +324 -0
  600. package/deps/rocksdb/rocksdb/table/block_fetcher.h +129 -0
  601. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +534 -0
  602. package/deps/rocksdb/rocksdb/table/cleanable_test.cc +277 -0
  603. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +543 -0
  604. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +136 -0
  605. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +663 -0
  606. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.cc +107 -0
  607. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +81 -0
  608. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +404 -0
  609. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +101 -0
  610. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +585 -0
  611. package/deps/rocksdb/rocksdb/table/format.cc +422 -0
  612. package/deps/rocksdb/rocksdb/table/format.h +348 -0
  613. package/deps/rocksdb/rocksdb/table/get_context.cc +408 -0
  614. package/deps/rocksdb/rocksdb/table/get_context.h +212 -0
  615. package/deps/rocksdb/rocksdb/table/internal_iterator.h +205 -0
  616. package/deps/rocksdb/rocksdb/table/iter_heap.h +42 -0
  617. package/deps/rocksdb/rocksdb/table/iterator.cc +210 -0
  618. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +180 -0
  619. package/deps/rocksdb/rocksdb/table/merger_test.cc +180 -0
  620. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +481 -0
  621. package/deps/rocksdb/rocksdb/table/merging_iterator.h +64 -0
  622. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +541 -0
  623. package/deps/rocksdb/rocksdb/table/meta_blocks.h +154 -0
  624. package/deps/rocksdb/rocksdb/table/mock_table.cc +328 -0
  625. package/deps/rocksdb/rocksdb/table/mock_table.h +89 -0
  626. package/deps/rocksdb/rocksdb/table/multiget_context.h +282 -0
  627. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +116 -0
  628. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.h +44 -0
  629. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +34 -0
  630. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.cc +78 -0
  631. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.h +135 -0
  632. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +332 -0
  633. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +153 -0
  634. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +263 -0
  635. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +182 -0
  636. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +211 -0
  637. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +249 -0
  638. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +506 -0
  639. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +201 -0
  640. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +781 -0
  641. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +247 -0
  642. package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +61 -0
  643. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +502 -0
  644. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +96 -0
  645. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +98 -0
  646. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +228 -0
  647. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +340 -0
  648. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +94 -0
  649. package/deps/rocksdb/rocksdb/table/table_builder.h +203 -0
  650. package/deps/rocksdb/rocksdb/table/table_factory.cc +38 -0
  651. package/deps/rocksdb/rocksdb/table/table_properties.cc +300 -0
  652. package/deps/rocksdb/rocksdb/table/table_properties_internal.h +30 -0
  653. package/deps/rocksdb/rocksdb/table/table_reader.h +147 -0
  654. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +347 -0
  655. package/deps/rocksdb/rocksdb/table/table_reader_caller.h +39 -0
  656. package/deps/rocksdb/rocksdb/table/table_test.cc +4769 -0
  657. package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +215 -0
  658. package/deps/rocksdb/rocksdb/table/two_level_iterator.h +43 -0
  659. package/deps/rocksdb/rocksdb/test_util/mock_time_env.cc +38 -0
  660. package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +74 -0
  661. package/deps/rocksdb/rocksdb/test_util/sync_point.cc +93 -0
  662. package/deps/rocksdb/rocksdb/test_util/sync_point.h +161 -0
  663. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +129 -0
  664. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +74 -0
  665. package/deps/rocksdb/rocksdb/test_util/testharness.cc +56 -0
  666. package/deps/rocksdb/rocksdb/test_util/testharness.h +53 -0
  667. package/deps/rocksdb/rocksdb/test_util/testutil.cc +566 -0
  668. package/deps/rocksdb/rocksdb/test_util/testutil.h +887 -0
  669. package/deps/rocksdb/rocksdb/test_util/testutil_test.cc +43 -0
  670. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +388 -0
  671. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +132 -0
  672. package/deps/rocksdb/rocksdb/third-party/folly/folly/CPortability.h +27 -0
  673. package/deps/rocksdb/rocksdb/third-party/folly/folly/ConstexprMath.h +45 -0
  674. package/deps/rocksdb/rocksdb/third-party/folly/folly/Indestructible.h +166 -0
  675. package/deps/rocksdb/rocksdb/third-party/folly/folly/Optional.h +570 -0
  676. package/deps/rocksdb/rocksdb/third-party/folly/folly/Portability.h +92 -0
  677. package/deps/rocksdb/rocksdb/third-party/folly/folly/ScopeGuard.h +54 -0
  678. package/deps/rocksdb/rocksdb/third-party/folly/folly/Traits.h +152 -0
  679. package/deps/rocksdb/rocksdb/third-party/folly/folly/Unit.h +59 -0
  680. package/deps/rocksdb/rocksdb/third-party/folly/folly/Utility.h +141 -0
  681. package/deps/rocksdb/rocksdb/third-party/folly/folly/chrono/Hardware.h +33 -0
  682. package/deps/rocksdb/rocksdb/third-party/folly/folly/container/Array.h +74 -0
  683. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex-inl.h +117 -0
  684. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.cpp +263 -0
  685. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.h +96 -0
  686. package/deps/rocksdb/rocksdb/third-party/folly/folly/functional/Invoke.h +40 -0
  687. package/deps/rocksdb/rocksdb/third-party/folly/folly/hash/Hash.h +29 -0
  688. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Align.h +144 -0
  689. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Bits.h +30 -0
  690. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Launder.h +51 -0
  691. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/Asm.h +28 -0
  692. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysSyscall.h +10 -0
  693. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysTypes.h +26 -0
  694. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification-inl.h +138 -0
  695. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.cpp +23 -0
  696. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.h +57 -0
  697. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil-inl.h +260 -0
  698. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil.h +52 -0
  699. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/Baton.h +328 -0
  700. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex-inl.h +1703 -0
  701. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.cpp +16 -0
  702. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.h +304 -0
  703. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutexSpecializations.h +39 -0
  704. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.cpp +26 -0
  705. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.h +318 -0
  706. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/WaitOptions.cpp +12 -0
  707. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/WaitOptions.h +57 -0
  708. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/InlineFunctionRef.h +219 -0
  709. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h +207 -0
  710. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable.h +164 -0
  711. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Sleeper.h +57 -0
  712. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Spin.h +77 -0
  713. package/deps/rocksdb/rocksdb/third-party/gcc/ppc-asm.h +390 -0
  714. package/deps/rocksdb/rocksdb/thirdparty.inc +268 -0
  715. package/deps/rocksdb/rocksdb/tools/CMakeLists.txt +30 -0
  716. package/deps/rocksdb/rocksdb/tools/blob_dump.cc +110 -0
  717. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/__init__.py +2 -0
  718. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +2000 -0
  719. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim.sh +156 -0
  720. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py +734 -0
  721. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +2307 -0
  722. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +395 -0
  723. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_plot.py +721 -0
  724. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +719 -0
  725. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +25 -0
  726. package/deps/rocksdb/rocksdb/tools/db_bench.cc +21 -0
  727. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +7416 -0
  728. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +328 -0
  729. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +130 -0
  730. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +297 -0
  731. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +259 -0
  732. package/deps/rocksdb/rocksdb/tools/dump/rocksdb_dump.cc +63 -0
  733. package/deps/rocksdb/rocksdb/tools/dump/rocksdb_undump.cc +62 -0
  734. package/deps/rocksdb/rocksdb/tools/io_tracer_parser.cc +25 -0
  735. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +187 -0
  736. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.cc +120 -0
  737. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.h +40 -0
  738. package/deps/rocksdb/rocksdb/tools/ldb.cc +21 -0
  739. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +3609 -0
  740. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +665 -0
  741. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +746 -0
  742. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +159 -0
  743. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +221 -0
  744. package/deps/rocksdb/rocksdb/tools/sst_dump.cc +20 -0
  745. package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +427 -0
  746. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +541 -0
  747. package/deps/rocksdb/rocksdb/tools/trace_analyzer.cc +25 -0
  748. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +752 -0
  749. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +2001 -0
  750. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +292 -0
  751. package/deps/rocksdb/rocksdb/tools/write_stress.cc +305 -0
  752. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.cc +496 -0
  753. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +294 -0
  754. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer_test.cc +379 -0
  755. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +229 -0
  756. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.h +174 -0
  757. package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +215 -0
  758. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +491 -0
  759. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.h +195 -0
  760. package/deps/rocksdb/rocksdb/util/aligned_buffer.h +255 -0
  761. package/deps/rocksdb/rocksdb/util/autovector.h +367 -0
  762. package/deps/rocksdb/rocksdb/util/autovector_test.cc +330 -0
  763. package/deps/rocksdb/rocksdb/util/bloom_impl.h +485 -0
  764. package/deps/rocksdb/rocksdb/util/bloom_test.cc +1191 -0
  765. package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -0
  766. package/deps/rocksdb/rocksdb/util/build_version.h +15 -0
  767. package/deps/rocksdb/rocksdb/util/cast_util.h +20 -0
  768. package/deps/rocksdb/rocksdb/util/channel.h +67 -0
  769. package/deps/rocksdb/rocksdb/util/coding.cc +89 -0
  770. package/deps/rocksdb/rocksdb/util/coding.h +419 -0
  771. package/deps/rocksdb/rocksdb/util/coding_lean.h +101 -0
  772. package/deps/rocksdb/rocksdb/util/coding_test.cc +217 -0
  773. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +92 -0
  774. package/deps/rocksdb/rocksdb/util/comparator.cc +219 -0
  775. package/deps/rocksdb/rocksdb/util/compression.h +1529 -0
  776. package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +108 -0
  777. package/deps/rocksdb/rocksdb/util/compression_context_cache.h +47 -0
  778. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.cc +67 -0
  779. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +67 -0
  780. package/deps/rocksdb/rocksdb/util/core_local.h +83 -0
  781. package/deps/rocksdb/rocksdb/util/crc32c.cc +1283 -0
  782. package/deps/rocksdb/rocksdb/util/crc32c.h +51 -0
  783. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +169 -0
  784. package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +50 -0
  785. package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +94 -0
  786. package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +19 -0
  787. package/deps/rocksdb/rocksdb/util/crc32c_ppc_asm.S +756 -0
  788. package/deps/rocksdb/rocksdb/util/crc32c_ppc_constants.h +900 -0
  789. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +180 -0
  790. package/deps/rocksdb/rocksdb/util/defer.h +52 -0
  791. package/deps/rocksdb/rocksdb/util/defer_test.cc +39 -0
  792. package/deps/rocksdb/rocksdb/util/duplicate_detector.h +68 -0
  793. package/deps/rocksdb/rocksdb/util/dynamic_bloom.cc +70 -0
  794. package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +214 -0
  795. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +323 -0
  796. package/deps/rocksdb/rocksdb/util/fastrange.h +112 -0
  797. package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +136 -0
  798. package/deps/rocksdb/rocksdb/util/file_checksum_helper.h +98 -0
  799. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +449 -0
  800. package/deps/rocksdb/rocksdb/util/filelock_test.cc +152 -0
  801. package/deps/rocksdb/rocksdb/util/filter_bench.cc +781 -0
  802. package/deps/rocksdb/rocksdb/util/gflags_compat.h +20 -0
  803. package/deps/rocksdb/rocksdb/util/hash.cc +83 -0
  804. package/deps/rocksdb/rocksdb/util/hash.h +107 -0
  805. package/deps/rocksdb/rocksdb/util/hash_map.h +67 -0
  806. package/deps/rocksdb/rocksdb/util/hash_test.cc +593 -0
  807. package/deps/rocksdb/rocksdb/util/heap.h +166 -0
  808. package/deps/rocksdb/rocksdb/util/heap_test.cc +139 -0
  809. package/deps/rocksdb/rocksdb/util/kv_map.h +33 -0
  810. package/deps/rocksdb/rocksdb/util/log_write_bench.cc +86 -0
  811. package/deps/rocksdb/rocksdb/util/math.h +186 -0
  812. package/deps/rocksdb/rocksdb/util/math128.h +298 -0
  813. package/deps/rocksdb/rocksdb/util/murmurhash.cc +191 -0
  814. package/deps/rocksdb/rocksdb/util/murmurhash.h +42 -0
  815. package/deps/rocksdb/rocksdb/util/mutexlock.h +186 -0
  816. package/deps/rocksdb/rocksdb/util/ppc-opcode.h +27 -0
  817. package/deps/rocksdb/rocksdb/util/random.cc +56 -0
  818. package/deps/rocksdb/rocksdb/util/random.h +186 -0
  819. package/deps/rocksdb/rocksdb/util/random_test.cc +105 -0
  820. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +340 -0
  821. package/deps/rocksdb/rocksdb/util/rate_limiter.h +113 -0
  822. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +251 -0
  823. package/deps/rocksdb/rocksdb/util/repeatable_thread.h +151 -0
  824. package/deps/rocksdb/rocksdb/util/repeatable_thread_test.cc +107 -0
  825. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1201 -0
  826. package/deps/rocksdb/rocksdb/util/ribbon_impl.h +1062 -0
  827. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +931 -0
  828. package/deps/rocksdb/rocksdb/util/set_comparator.h +22 -0
  829. package/deps/rocksdb/rocksdb/util/slice.cc +243 -0
  830. package/deps/rocksdb/rocksdb/util/slice_test.cc +163 -0
  831. package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +153 -0
  832. package/deps/rocksdb/rocksdb/util/status.cc +149 -0
  833. package/deps/rocksdb/rocksdb/util/stderr_logger.h +31 -0
  834. package/deps/rocksdb/rocksdb/util/stop_watch.h +118 -0
  835. package/deps/rocksdb/rocksdb/util/string_util.cc +422 -0
  836. package/deps/rocksdb/rocksdb/util/string_util.h +144 -0
  837. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +354 -0
  838. package/deps/rocksdb/rocksdb/util/thread_local.cc +554 -0
  839. package/deps/rocksdb/rocksdb/util/thread_local.h +101 -0
  840. package/deps/rocksdb/rocksdb/util/thread_local_test.cc +583 -0
  841. package/deps/rocksdb/rocksdb/util/thread_operation.h +121 -0
  842. package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +506 -0
  843. package/deps/rocksdb/rocksdb/util/threadpool_imp.h +112 -0
  844. package/deps/rocksdb/rocksdb/util/timer.h +331 -0
  845. package/deps/rocksdb/rocksdb/util/timer_queue.h +230 -0
  846. package/deps/rocksdb/rocksdb/util/timer_queue_test.cc +72 -0
  847. package/deps/rocksdb/rocksdb/util/timer_test.cc +399 -0
  848. package/deps/rocksdb/rocksdb/util/user_comparator_wrapper.h +80 -0
  849. package/deps/rocksdb/rocksdb/util/vector_iterator.h +101 -0
  850. package/deps/rocksdb/rocksdb/util/work_queue.h +148 -0
  851. package/deps/rocksdb/rocksdb/util/work_queue_test.cc +268 -0
  852. package/deps/rocksdb/rocksdb/util/xxh3p.h +1392 -0
  853. package/deps/rocksdb/rocksdb/util/xxhash.cc +1158 -0
  854. package/deps/rocksdb/rocksdb/util/xxhash.h +598 -0
  855. package/deps/rocksdb/rocksdb/utilities/backupable/backupable_db.cc +2354 -0
  856. package/deps/rocksdb/rocksdb/utilities/backupable/backupable_db_test.cc +2955 -0
  857. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +488 -0
  858. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +199 -0
  859. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +112 -0
  860. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +266 -0
  861. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +52 -0
  862. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +2167 -0
  863. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +500 -0
  864. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +113 -0
  865. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_iterator.h +147 -0
  866. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +66 -0
  867. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +2386 -0
  868. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +281 -0
  869. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +58 -0
  870. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +314 -0
  871. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +244 -0
  872. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +47 -0
  873. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +42 -0
  874. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +375 -0
  875. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +327 -0
  876. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +114 -0
  877. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +187 -0
  878. package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +390 -0
  879. package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +184 -0
  880. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +67 -0
  881. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +44 -0
  882. package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +75 -0
  883. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +72 -0
  884. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +43 -0
  885. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +588 -0
  886. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +82 -0
  887. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +821 -0
  888. package/deps/rocksdb/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +37 -0
  889. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +29 -0
  890. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +27 -0
  891. package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +25 -0
  892. package/deps/rocksdb/rocksdb/utilities/debug.cc +82 -0
  893. package/deps/rocksdb/rocksdb/utilities/env_librados.cc +1497 -0
  894. package/deps/rocksdb/rocksdb/utilities/env_librados_test.cc +1146 -0
  895. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +262 -0
  896. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +223 -0
  897. package/deps/rocksdb/rocksdb/utilities/env_timed.cc +145 -0
  898. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +44 -0
  899. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.cc +490 -0
  900. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +242 -0
  901. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +581 -0
  902. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +437 -0
  903. package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +56 -0
  904. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +275 -0
  905. package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +52 -0
  906. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.cc +59 -0
  907. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +39 -0
  908. package/deps/rocksdb/rocksdb/utilities/merge_operators/max.cc +77 -0
  909. package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +83 -0
  910. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +97 -0
  911. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.h +38 -0
  912. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +59 -0
  913. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +31 -0
  914. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +117 -0
  915. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +49 -0
  916. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +598 -0
  917. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +69 -0
  918. package/deps/rocksdb/rocksdb/utilities/merge_operators.h +55 -0
  919. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +87 -0
  920. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +174 -0
  921. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +168 -0
  922. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +431 -0
  923. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +159 -0
  924. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +655 -0
  925. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +425 -0
  926. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +156 -0
  927. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +609 -0
  928. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +296 -0
  929. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +127 -0
  930. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +86 -0
  931. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +125 -0
  932. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +238 -0
  933. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_bench.cc +308 -0
  934. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +168 -0
  935. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +160 -0
  936. package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +174 -0
  937. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +360 -0
  938. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +456 -0
  939. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +286 -0
  940. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +167 -0
  941. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +339 -0
  942. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_util.h +67 -0
  943. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +140 -0
  944. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +142 -0
  945. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator.cc +285 -0
  946. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator.h +231 -0
  947. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator_test.cc +494 -0
  948. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +356 -0
  949. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +224 -0
  950. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +122 -0
  951. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +72 -0
  952. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +244 -0
  953. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +125 -0
  954. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.h +48 -0
  955. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +29 -0
  956. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +82 -0
  957. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_tracker.h +209 -0
  958. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +720 -0
  959. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +223 -0
  960. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +181 -0
  961. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +319 -0
  962. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +270 -0
  963. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +99 -0
  964. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +30 -0
  965. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +306 -0
  966. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.AGPLv3 +661 -0
  967. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.APACHEv2 +174 -0
  968. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.GPLv2 +339 -0
  969. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +76 -0
  970. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/comparator.h +138 -0
  971. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/ft-status.h +102 -0
  972. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +139 -0
  973. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.h +174 -0
  974. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +222 -0
  975. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.h +141 -0
  976. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +525 -0
  977. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +253 -0
  978. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +1007 -0
  979. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +560 -0
  980. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +527 -0
  981. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +265 -0
  982. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.h +178 -0
  983. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +520 -0
  984. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.h +302 -0
  985. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +120 -0
  986. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.h +92 -0
  987. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +213 -0
  988. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.h +124 -0
  989. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/memory.h +215 -0
  990. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +39 -0
  991. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h +130 -0
  992. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +82 -0
  993. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_instrumentation.h +286 -0
  994. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_portability.h +87 -0
  995. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_pthread.h +520 -0
  996. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_race_tools.h +179 -0
  997. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +172 -0
  998. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +27 -0
  999. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +132 -0
  1000. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +153 -0
  1001. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.h +98 -0
  1002. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +144 -0
  1003. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +201 -0
  1004. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.h +141 -0
  1005. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt.h +794 -0
  1006. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt_impl.h +1295 -0
  1007. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +165 -0
  1008. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/status.h +76 -0
  1009. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +479 -0
  1010. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +130 -0
  1011. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +156 -0
  1012. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +146 -0
  1013. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +196 -0
  1014. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +101 -0
  1015. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +111 -0
  1016. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +87 -0
  1017. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +1418 -0
  1018. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +752 -0
  1019. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +232 -0
  1020. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +628 -0
  1021. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +228 -0
  1022. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +49 -0
  1023. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +678 -0
  1024. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +373 -0
  1025. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +135 -0
  1026. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +26 -0
  1027. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +6350 -0
  1028. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +522 -0
  1029. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +188 -0
  1030. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +80 -0
  1031. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3531 -0
  1032. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +483 -0
  1033. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +119 -0
  1034. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +999 -0
  1035. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +1109 -0
  1036. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +786 -0
  1037. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1039 -0
  1038. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +341 -0
  1039. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +470 -0
  1040. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +108 -0
  1041. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +332 -0
  1042. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +353 -0
  1043. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +703 -0
  1044. package/deps/rocksdb/rocksdb/utilities/util_merge_operators_test.cc +99 -0
  1045. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +617 -0
  1046. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +345 -0
  1047. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +569 -0
  1048. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +1867 -0
  1049. package/iterator.js +39 -34
  1050. package/leveldown.js +33 -84
  1051. package/package-lock.json +23687 -0
  1052. package/package.json +4 -4
@@ -0,0 +1,106 @@
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
+ #pragma once
7
+
8
+ #if defined(__clang__)
9
+ // glibc's `posix_memalign()` declaration specifies `throw()` while clang's
10
+ // declaration does not. There is a hack in clang to make its re-declaration
11
+ // compatible with glibc's if they are declared consecutively. That hack breaks
12
+ // if yet another `posix_memalign()` declaration comes between glibc's and
13
+ // clang's declarations. Include "mm_malloc.h" here ensures glibc's and clang's
14
+ // declarations both come before "jemalloc.h"'s `posix_memalign()` declaration.
15
+ //
16
+ // This problem could also be avoided if "jemalloc.h"'s `posix_memalign()`
17
+ // declaration did not specify `throw()` when built with clang.
18
+ #include <mm_malloc.h>
19
+ #endif
20
+
21
+ #ifdef ROCKSDB_JEMALLOC
22
+ #ifdef __FreeBSD__
23
+ #include <malloc_np.h>
24
+ #else
25
+ #define JEMALLOC_MANGLE
26
+ #include <jemalloc/jemalloc.h>
27
+ #endif
28
+
29
+ #ifndef JEMALLOC_CXX_THROW
30
+ #define JEMALLOC_CXX_THROW
31
+ #endif
32
+
33
+ #if defined(OS_WIN) && defined(_MSC_VER)
34
+
35
+ // MSVC does not have weak symbol support. As long as ROCKSDB_JEMALLOC is
36
+ // defined, Jemalloc memory allocator is used.
37
+ static inline bool HasJemalloc() { return true; }
38
+
39
+ #else
40
+
41
+ // definitions for compatibility with older versions of jemalloc
42
+ #if !defined(JEMALLOC_ALLOCATOR)
43
+ #define JEMALLOC_ALLOCATOR
44
+ #endif
45
+ #if !defined(JEMALLOC_RESTRICT_RETURN)
46
+ #define JEMALLOC_RESTRICT_RETURN
47
+ #endif
48
+ #if !defined(JEMALLOC_NOTHROW)
49
+ #define JEMALLOC_NOTHROW JEMALLOC_ATTR(nothrow)
50
+ #endif
51
+ #if !defined(JEMALLOC_ALLOC_SIZE)
52
+ #ifdef JEMALLOC_HAVE_ATTR_ALLOC_SIZE
53
+ #define JEMALLOC_ALLOC_SIZE(s) JEMALLOC_ATTR(alloc_size(s))
54
+ #else
55
+ #define JEMALLOC_ALLOC_SIZE(s)
56
+ #endif
57
+ #endif
58
+
59
+ // Declare non-standard jemalloc APIs as weak symbols. We can null-check these
60
+ // symbols to detect whether jemalloc is linked with the binary.
61
+ extern "C" JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN void JEMALLOC_NOTHROW *
62
+ mallocx(size_t, int) JEMALLOC_ATTR(malloc) JEMALLOC_ALLOC_SIZE(1)
63
+ __attribute__((__weak__));
64
+ extern "C" JEMALLOC_ALLOCATOR JEMALLOC_RESTRICT_RETURN void JEMALLOC_NOTHROW *
65
+ rallocx(void *, size_t, int) JEMALLOC_ALLOC_SIZE(2) __attribute__((__weak__));
66
+ extern "C" size_t JEMALLOC_NOTHROW xallocx(void *, size_t, size_t, int)
67
+ __attribute__((__weak__));
68
+ extern "C" size_t JEMALLOC_NOTHROW sallocx(const void *, int)
69
+ JEMALLOC_ATTR(pure) __attribute__((__weak__));
70
+ extern "C" void JEMALLOC_NOTHROW dallocx(void *, int) __attribute__((__weak__));
71
+ extern "C" void JEMALLOC_NOTHROW sdallocx(void *, size_t, int)
72
+ __attribute__((__weak__));
73
+ extern "C" size_t JEMALLOC_NOTHROW nallocx(size_t, int) JEMALLOC_ATTR(pure)
74
+ __attribute__((__weak__));
75
+ extern "C" int JEMALLOC_NOTHROW mallctl(const char *, void *, size_t *, void *,
76
+ size_t) __attribute__((__weak__));
77
+ extern "C" int JEMALLOC_NOTHROW mallctlnametomib(const char *, size_t *,
78
+ size_t *)
79
+ __attribute__((__weak__));
80
+ extern "C" int JEMALLOC_NOTHROW mallctlbymib(const size_t *, size_t, void *,
81
+ size_t *, void *, size_t)
82
+ __attribute__((__weak__));
83
+ extern "C" void JEMALLOC_NOTHROW
84
+ malloc_stats_print(void (*)(void *, const char *), void *, const char *)
85
+ __attribute__((__weak__));
86
+ extern "C" size_t JEMALLOC_NOTHROW
87
+ malloc_usable_size(JEMALLOC_USABLE_SIZE_CONST void *) JEMALLOC_CXX_THROW
88
+ __attribute__((__weak__));
89
+
90
+ // Check if Jemalloc is linked with the binary. Note the main program might be
91
+ // using a different memory allocator even this method return true.
92
+ // It is loosely based on folly::usingJEMalloc(), minus the check that actually
93
+ // allocate memory and see if it is through jemalloc, to handle the dlopen()
94
+ // case:
95
+ // https://github.com/facebook/folly/blob/76cf8b5841fb33137cfbf8b224f0226437c855bc/folly/memory/Malloc.h#L147
96
+ static inline bool HasJemalloc() {
97
+ return mallocx != nullptr && rallocx != nullptr && xallocx != nullptr &&
98
+ sallocx != nullptr && dallocx != nullptr && sdallocx != nullptr &&
99
+ nallocx != nullptr && mallctl != nullptr &&
100
+ mallctlnametomib != nullptr && mallctlbymib != nullptr &&
101
+ malloc_stats_print != nullptr && malloc_usable_size != nullptr;
102
+ }
103
+
104
+ #endif
105
+
106
+ #endif // ROCKSDB_JEMALLOC
@@ -0,0 +1,16 @@
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
+ #pragma once
7
+
8
+ #ifndef FALLTHROUGH_INTENDED
9
+ #if defined(__clang__)
10
+ #define FALLTHROUGH_INTENDED [[clang::fallthrough]]
11
+ #elif defined(__GNUC__) && __GNUC__ >= 7
12
+ #define FALLTHROUGH_INTENDED [[gnu::fallthrough]]
13
+ #else
14
+ #define FALLTHROUGH_INTENDED do {} while (0)
15
+ #endif
16
+ #endif
@@ -0,0 +1,18 @@
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
+ #if defined(__GNUC__) && __GNUC__ >= 4
13
+ #define LIKELY(x) (__builtin_expect((x), 1))
14
+ #define UNLIKELY(x) (__builtin_expect((x), 0))
15
+ #else
16
+ #define LIKELY(x) (x)
17
+ #define UNLIKELY(x) (x)
18
+ #endif
@@ -0,0 +1,17 @@
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
+ #pragma once
10
+
11
+ #ifdef ROCKSDB_MALLOC_USABLE_SIZE
12
+ #ifdef OS_FREEBSD
13
+ #include <malloc_np.h>
14
+ #else
15
+ #include <malloc.h>
16
+ #endif // OS_FREEBSD
17
+ #endif // ROCKSDB_MALLOC_USABLE_SIZE
@@ -0,0 +1,21 @@
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 <string>
13
+
14
+ // Include the appropriate platform specific file below. If you are
15
+ // porting to a new platform, see "port_example.h" for documentation
16
+ // of what the new port_<platform>.h file must provide.
17
+ #if defined(ROCKSDB_PLATFORM_POSIX)
18
+ #include "port/port_posix.h"
19
+ #elif defined(OS_WIN)
20
+ #include "port/win/port_win.h"
21
+ #endif
@@ -0,0 +1,44 @@
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
+ // See port_example.h for documentation for the following types/functions.
11
+
12
+ #pragma once
13
+
14
+ #ifdef ROCKSDB_PLATFORM_POSIX
15
+ #include <dirent.h>
16
+ #include <sys/types.h>
17
+ #elif defined(OS_WIN)
18
+
19
+ namespace ROCKSDB_NAMESPACE {
20
+ namespace port {
21
+
22
+ struct dirent {
23
+ char d_name[_MAX_PATH]; /* filename */
24
+ };
25
+
26
+ struct DIR;
27
+
28
+ DIR* opendir(const char* name);
29
+
30
+ dirent* readdir(DIR* dirp);
31
+
32
+ int closedir(DIR* dirp);
33
+
34
+ } // namespace port
35
+
36
+ using port::dirent;
37
+ using port::DIR;
38
+ using port::opendir;
39
+ using port::readdir;
40
+ using port::closedir;
41
+
42
+ } // namespace ROCKSDB_NAMESPACE
43
+
44
+ #endif // OS_WIN
@@ -0,0 +1,101 @@
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
+ // This file contains the specification, but not the implementations,
11
+ // of the types/operations/etc. that should be defined by a platform
12
+ // specific port_<platform>.h file. Use this file as a reference for
13
+ // how to port this package to a new platform.
14
+
15
+ #pragma once
16
+
17
+ namespace ROCKSDB_NAMESPACE {
18
+ namespace port {
19
+
20
+ // TODO(jorlow): Many of these belong more in the environment class rather than
21
+ // here. We should try moving them and see if it affects perf.
22
+
23
+ // The following boolean constant must be true on a little-endian machine
24
+ // and false otherwise.
25
+ static const bool kLittleEndian = true /* or some other expression */;
26
+
27
+ // ------------------ Threading -------------------
28
+
29
+ // A Mutex represents an exclusive lock.
30
+ class Mutex {
31
+ public:
32
+ Mutex();
33
+ ~Mutex();
34
+
35
+ // Lock the mutex. Waits until other lockers have exited.
36
+ // Will deadlock if the mutex is already locked by this thread.
37
+ void Lock();
38
+
39
+ // Unlock the mutex.
40
+ // REQUIRES: This mutex was locked by this thread.
41
+ void Unlock();
42
+
43
+ // Optionally crash if this thread does not hold this mutex.
44
+ // The implementation must be fast, especially if NDEBUG is
45
+ // defined. The implementation is allowed to skip all checks.
46
+ void AssertHeld();
47
+ };
48
+
49
+ class CondVar {
50
+ public:
51
+ explicit CondVar(Mutex* mu);
52
+ ~CondVar();
53
+
54
+ // Atomically release *mu and block on this condition variable until
55
+ // either a call to SignalAll(), or a call to Signal() that picks
56
+ // this thread to wakeup.
57
+ // REQUIRES: this thread holds *mu
58
+ void Wait();
59
+
60
+ // If there are some threads waiting, wake up at least one of them.
61
+ void Signal();
62
+
63
+ // Wake up all waiting threads.
64
+ void SignallAll();
65
+ };
66
+
67
+ // Thread-safe initialization.
68
+ // Used as follows:
69
+ // static port::OnceType init_control = LEVELDB_ONCE_INIT;
70
+ // static void Initializer() { ... do something ...; }
71
+ // ...
72
+ // port::InitOnce(&init_control, &Initializer);
73
+ typedef intptr_t OnceType;
74
+ #define LEVELDB_ONCE_INIT 0
75
+ extern void InitOnce(port::OnceType*, void (*initializer)());
76
+
77
+ // ------------------ Compression -------------------
78
+
79
+ // Store the snappy compression of "input[0,input_length-1]" in *output.
80
+ // Returns false if snappy is not supported by this port.
81
+ extern bool Snappy_Compress(const char* input, size_t input_length,
82
+ std::string* output);
83
+
84
+ // If input[0,input_length-1] looks like a valid snappy compressed
85
+ // buffer, store the size of the uncompressed data in *result and
86
+ // return true. Else return false.
87
+ extern bool Snappy_GetUncompressedLength(const char* input, size_t length,
88
+ size_t* result);
89
+
90
+ // Attempt to snappy uncompress input[0,input_length-1] into *output.
91
+ // Returns true if successful, false if the input is invalid lightweight
92
+ // compressed data.
93
+ //
94
+ // REQUIRES: at least the first "n" bytes of output[] must be writable
95
+ // where "n" is the result of a successful call to
96
+ // Snappy_GetUncompressedLength.
97
+ extern bool Snappy_Uncompress(const char* input_data, size_t input_length,
98
+ char* output);
99
+
100
+ } // namespace port
101
+ } // namespace ROCKSDB_NAMESPACE
@@ -0,0 +1,266 @@
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
+ #if !defined(OS_WIN)
11
+
12
+ #include "port/port_posix.h"
13
+
14
+ #include <assert.h>
15
+ #if defined(__i386__) || defined(__x86_64__)
16
+ #include <cpuid.h>
17
+ #endif
18
+ #include <errno.h>
19
+ #include <sched.h>
20
+ #include <signal.h>
21
+ #include <stdio.h>
22
+ #include <string.h>
23
+ #include <sys/resource.h>
24
+ #include <sys/time.h>
25
+ #include <unistd.h>
26
+ #include <cstdlib>
27
+
28
+ namespace ROCKSDB_NAMESPACE {
29
+
30
+ // We want to give users opportunity to default all the mutexes to adaptive if
31
+ // not specified otherwise. This enables a quick way to conduct various
32
+ // performance related experiements.
33
+ //
34
+ // NB! Support for adaptive mutexes is turned on by definining
35
+ // ROCKSDB_PTHREAD_ADAPTIVE_MUTEX during the compilation. If you use RocksDB
36
+ // build environment then this happens automatically; otherwise it's up to the
37
+ // consumer to define the identifier.
38
+ #ifdef ROCKSDB_DEFAULT_TO_ADAPTIVE_MUTEX
39
+ extern const bool kDefaultToAdaptiveMutex = true;
40
+ #else
41
+ extern const bool kDefaultToAdaptiveMutex = false;
42
+ #endif
43
+
44
+ namespace port {
45
+
46
+ static int PthreadCall(const char* label, int result) {
47
+ if (result != 0 && result != ETIMEDOUT) {
48
+ fprintf(stderr, "pthread %s: %s\n", label, strerror(result));
49
+ abort();
50
+ }
51
+ return result;
52
+ }
53
+
54
+ Mutex::Mutex(bool adaptive) {
55
+ (void) adaptive;
56
+ #ifdef ROCKSDB_PTHREAD_ADAPTIVE_MUTEX
57
+ if (!adaptive) {
58
+ PthreadCall("init mutex", pthread_mutex_init(&mu_, nullptr));
59
+ } else {
60
+ pthread_mutexattr_t mutex_attr;
61
+ PthreadCall("init mutex attr", pthread_mutexattr_init(&mutex_attr));
62
+ PthreadCall("set mutex attr",
63
+ pthread_mutexattr_settype(&mutex_attr,
64
+ PTHREAD_MUTEX_ADAPTIVE_NP));
65
+ PthreadCall("init mutex", pthread_mutex_init(&mu_, &mutex_attr));
66
+ PthreadCall("destroy mutex attr",
67
+ pthread_mutexattr_destroy(&mutex_attr));
68
+ }
69
+ #else
70
+ PthreadCall("init mutex", pthread_mutex_init(&mu_, nullptr));
71
+ #endif // ROCKSDB_PTHREAD_ADAPTIVE_MUTEX
72
+ }
73
+
74
+ Mutex::~Mutex() { PthreadCall("destroy mutex", pthread_mutex_destroy(&mu_)); }
75
+
76
+ void Mutex::Lock() {
77
+ PthreadCall("lock", pthread_mutex_lock(&mu_));
78
+ #ifndef NDEBUG
79
+ locked_ = true;
80
+ #endif
81
+ }
82
+
83
+ void Mutex::Unlock() {
84
+ #ifndef NDEBUG
85
+ locked_ = false;
86
+ #endif
87
+ PthreadCall("unlock", pthread_mutex_unlock(&mu_));
88
+ }
89
+
90
+ void Mutex::AssertHeld() {
91
+ #ifndef NDEBUG
92
+ assert(locked_);
93
+ #endif
94
+ }
95
+
96
+ CondVar::CondVar(Mutex* mu)
97
+ : mu_(mu) {
98
+ PthreadCall("init cv", pthread_cond_init(&cv_, nullptr));
99
+ }
100
+
101
+ CondVar::~CondVar() { PthreadCall("destroy cv", pthread_cond_destroy(&cv_)); }
102
+
103
+ void CondVar::Wait() {
104
+ #ifndef NDEBUG
105
+ mu_->locked_ = false;
106
+ #endif
107
+ PthreadCall("wait", pthread_cond_wait(&cv_, &mu_->mu_));
108
+ #ifndef NDEBUG
109
+ mu_->locked_ = true;
110
+ #endif
111
+ }
112
+
113
+ bool CondVar::TimedWait(uint64_t abs_time_us) {
114
+ struct timespec ts;
115
+ ts.tv_sec = static_cast<time_t>(abs_time_us / 1000000);
116
+ ts.tv_nsec = static_cast<suseconds_t>((abs_time_us % 1000000) * 1000);
117
+
118
+ #ifndef NDEBUG
119
+ mu_->locked_ = false;
120
+ #endif
121
+ int err = pthread_cond_timedwait(&cv_, &mu_->mu_, &ts);
122
+ #ifndef NDEBUG
123
+ mu_->locked_ = true;
124
+ #endif
125
+ if (err == ETIMEDOUT) {
126
+ return true;
127
+ }
128
+ if (err != 0) {
129
+ PthreadCall("timedwait", err);
130
+ }
131
+ return false;
132
+ }
133
+
134
+ void CondVar::Signal() {
135
+ PthreadCall("signal", pthread_cond_signal(&cv_));
136
+ }
137
+
138
+ void CondVar::SignalAll() {
139
+ PthreadCall("broadcast", pthread_cond_broadcast(&cv_));
140
+ }
141
+
142
+ RWMutex::RWMutex() {
143
+ PthreadCall("init mutex", pthread_rwlock_init(&mu_, nullptr));
144
+ }
145
+
146
+ RWMutex::~RWMutex() { PthreadCall("destroy mutex", pthread_rwlock_destroy(&mu_)); }
147
+
148
+ void RWMutex::ReadLock() { PthreadCall("read lock", pthread_rwlock_rdlock(&mu_)); }
149
+
150
+ void RWMutex::WriteLock() { PthreadCall("write lock", pthread_rwlock_wrlock(&mu_)); }
151
+
152
+ void RWMutex::ReadUnlock() { PthreadCall("read unlock", pthread_rwlock_unlock(&mu_)); }
153
+
154
+ void RWMutex::WriteUnlock() { PthreadCall("write unlock", pthread_rwlock_unlock(&mu_)); }
155
+
156
+ int PhysicalCoreID() {
157
+ #if defined(ROCKSDB_SCHED_GETCPU_PRESENT) && defined(__x86_64__) && \
158
+ (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 22))
159
+ // sched_getcpu uses VDSO getcpu() syscall since 2.22. I believe Linux offers VDSO
160
+ // support only on x86_64. This is the fastest/preferred method if available.
161
+ int cpuno = sched_getcpu();
162
+ if (cpuno < 0) {
163
+ return -1;
164
+ }
165
+ return cpuno;
166
+ #elif defined(__x86_64__) || defined(__i386__)
167
+ // clang/gcc both provide cpuid.h, which defines __get_cpuid(), for x86_64 and i386.
168
+ unsigned eax, ebx = 0, ecx, edx;
169
+ if (!__get_cpuid(1, &eax, &ebx, &ecx, &edx)) {
170
+ return -1;
171
+ }
172
+ return ebx >> 24;
173
+ #else
174
+ // give up, the caller can generate a random number or something.
175
+ return -1;
176
+ #endif
177
+ }
178
+
179
+ void InitOnce(OnceType* once, void (*initializer)()) {
180
+ PthreadCall("once", pthread_once(once, initializer));
181
+ }
182
+
183
+ void Crash(const std::string& srcfile, int srcline) {
184
+ fprintf(stdout, "Crashing at %s:%d\n", srcfile.c_str(), srcline);
185
+ fflush(stdout);
186
+ kill(getpid(), SIGTERM);
187
+ }
188
+
189
+ int GetMaxOpenFiles() {
190
+ #if defined(RLIMIT_NOFILE)
191
+ struct rlimit no_files_limit;
192
+ if (getrlimit(RLIMIT_NOFILE, &no_files_limit) != 0) {
193
+ return -1;
194
+ }
195
+ // protect against overflow
196
+ if (static_cast<uintmax_t>(no_files_limit.rlim_cur) >=
197
+ static_cast<uintmax_t>(std::numeric_limits<int>::max())) {
198
+ return std::numeric_limits<int>::max();
199
+ }
200
+ return static_cast<int>(no_files_limit.rlim_cur);
201
+ #endif
202
+ return -1;
203
+ }
204
+
205
+ void *cacheline_aligned_alloc(size_t size) {
206
+ #if __GNUC__ < 5 && defined(__SANITIZE_ADDRESS__)
207
+ return malloc(size);
208
+ #elif ( _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__APPLE__))
209
+ void *m;
210
+ errno = posix_memalign(&m, CACHE_LINE_SIZE, size);
211
+ return errno ? nullptr : m;
212
+ #else
213
+ return malloc(size);
214
+ #endif
215
+ }
216
+
217
+ void cacheline_aligned_free(void *memblock) {
218
+ free(memblock);
219
+ }
220
+
221
+ static size_t GetPageSize() {
222
+ #if defined(OS_LINUX) || defined(_SC_PAGESIZE)
223
+ long v = sysconf(_SC_PAGESIZE);
224
+ if (v >= 1024) {
225
+ return static_cast<size_t>(v);
226
+ }
227
+ #endif
228
+ // Default assume 4KB
229
+ return 4U * 1024U;
230
+ }
231
+
232
+ const size_t kPageSize = GetPageSize();
233
+
234
+ void SetCpuPriority(ThreadId id, CpuPriority priority) {
235
+ #ifdef OS_LINUX
236
+ sched_param param;
237
+ param.sched_priority = 0;
238
+ switch (priority) {
239
+ case CpuPriority::kHigh:
240
+ sched_setscheduler(id, SCHED_OTHER, &param);
241
+ setpriority(PRIO_PROCESS, id, -20);
242
+ break;
243
+ case CpuPriority::kNormal:
244
+ sched_setscheduler(id, SCHED_OTHER, &param);
245
+ setpriority(PRIO_PROCESS, id, 0);
246
+ break;
247
+ case CpuPriority::kLow:
248
+ sched_setscheduler(id, SCHED_OTHER, &param);
249
+ setpriority(PRIO_PROCESS, id, 19);
250
+ break;
251
+ case CpuPriority::kIdle:
252
+ sched_setscheduler(id, SCHED_IDLE, &param);
253
+ break;
254
+ default:
255
+ assert(false);
256
+ }
257
+ #else
258
+ (void)id;
259
+ (void)priority;
260
+ #endif
261
+ }
262
+
263
+ } // namespace port
264
+ } // namespace ROCKSDB_NAMESPACE
265
+
266
+ #endif