rocksdb-native 2.6.3 → 2.6.5

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 (958) hide show
  1. package/CMakeLists.txt +10 -1
  2. package/package.json +3 -3
  3. package/prebuilds/android-arm64/rocksdb-native.bare +0 -0
  4. package/prebuilds/android-ia32/rocksdb-native.bare +0 -0
  5. package/prebuilds/android-x64/rocksdb-native.bare +0 -0
  6. package/prebuilds/darwin-arm64/rocksdb-native.bare +0 -0
  7. package/prebuilds/darwin-arm64/rocksdb-native.node +0 -0
  8. package/prebuilds/darwin-x64/rocksdb-native.bare +0 -0
  9. package/prebuilds/darwin-x64/rocksdb-native.node +0 -0
  10. package/prebuilds/ios-arm64/rocksdb-native.bare +0 -0
  11. package/prebuilds/ios-arm64-simulator/rocksdb-native.bare +0 -0
  12. package/prebuilds/ios-x64-simulator/rocksdb-native.bare +0 -0
  13. package/prebuilds/linux-arm64/rocksdb-native.bare +0 -0
  14. package/prebuilds/linux-arm64/rocksdb-native.node +0 -0
  15. package/prebuilds/linux-x64/rocksdb-native.bare +0 -0
  16. package/prebuilds/linux-x64/rocksdb-native.node +0 -0
  17. package/prebuilds/win32-arm64/rocksdb-native.bare +0 -0
  18. package/prebuilds/win32-arm64/rocksdb-native.node +0 -0
  19. package/prebuilds/win32-x64/rocksdb-native.bare +0 -0
  20. package/prebuilds/win32-x64/rocksdb-native.node +0 -0
  21. package/vendor/librocksdb/CMakeLists.txt +0 -96
  22. package/vendor/librocksdb/LICENSE +0 -201
  23. package/vendor/librocksdb/NOTICE +0 -13
  24. package/vendor/librocksdb/README.md +0 -11
  25. package/vendor/librocksdb/include/rocksdb.h +0 -294
  26. package/vendor/librocksdb/src/rocksdb.cc +0 -714
  27. package/vendor/librocksdb/vendor/rocksdb/CMakeLists.txt +0 -1642
  28. package/vendor/librocksdb/vendor/rocksdb/cache/cache.cc +0 -193
  29. package/vendor/librocksdb/vendor/rocksdb/cache/cache_bench.cc +0 -20
  30. package/vendor/librocksdb/vendor/rocksdb/cache/cache_bench_tool.cc +0 -1177
  31. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_roles.cc +0 -104
  32. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_roles.h +0 -20
  33. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_stats.h +0 -182
  34. package/vendor/librocksdb/vendor/rocksdb/cache/cache_helpers.cc +0 -41
  35. package/vendor/librocksdb/vendor/rocksdb/cache/cache_helpers.h +0 -139
  36. package/vendor/librocksdb/vendor/rocksdb/cache/cache_key.cc +0 -364
  37. package/vendor/librocksdb/vendor/rocksdb/cache/cache_key.h +0 -143
  38. package/vendor/librocksdb/vendor/rocksdb/cache/cache_reservation_manager.cc +0 -184
  39. package/vendor/librocksdb/vendor/rocksdb/cache/cache_reservation_manager.h +0 -318
  40. package/vendor/librocksdb/vendor/rocksdb/cache/charged_cache.cc +0 -111
  41. package/vendor/librocksdb/vendor/rocksdb/cache/charged_cache.h +0 -61
  42. package/vendor/librocksdb/vendor/rocksdb/cache/clock_cache.cc +0 -3657
  43. package/vendor/librocksdb/vendor/rocksdb/cache/clock_cache.h +0 -1165
  44. package/vendor/librocksdb/vendor/rocksdb/cache/compressed_secondary_cache.cc +0 -414
  45. package/vendor/librocksdb/vendor/rocksdb/cache/compressed_secondary_cache.h +0 -151
  46. package/vendor/librocksdb/vendor/rocksdb/cache/lru_cache.cc +0 -726
  47. package/vendor/librocksdb/vendor/rocksdb/cache/lru_cache.h +0 -467
  48. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache.cc +0 -12
  49. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.cc +0 -743
  50. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.h +0 -103
  51. package/vendor/librocksdb/vendor/rocksdb/cache/sharded_cache.cc +0 -147
  52. package/vendor/librocksdb/vendor/rocksdb/cache/sharded_cache.h +0 -322
  53. package/vendor/librocksdb/vendor/rocksdb/cache/tiered_secondary_cache.cc +0 -125
  54. package/vendor/librocksdb/vendor/rocksdb/cache/tiered_secondary_cache.h +0 -158
  55. package/vendor/librocksdb/vendor/rocksdb/cache/typed_cache.h +0 -380
  56. package/vendor/librocksdb/vendor/rocksdb/cmake/RocksDBConfig.cmake.in +0 -54
  57. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.cc +0 -182
  58. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.h +0 -128
  59. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.cc +0 -20
  60. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.h +0 -83
  61. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_constants.h +0 -16
  62. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_contents.cc +0 -42
  63. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_contents.h +0 -60
  64. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_counting_iterator.h +0 -150
  65. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_fetcher.cc +0 -34
  66. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_fetcher.h +0 -37
  67. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_addition.cc +0 -156
  68. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_addition.h +0 -67
  69. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_builder.cc +0 -429
  70. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_builder.h +0 -113
  71. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_cache.cc +0 -101
  72. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_cache.h +0 -56
  73. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_completion_callback.h +0 -84
  74. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_garbage.cc +0 -134
  75. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_garbage.h +0 -57
  76. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_meta.cc +0 -62
  77. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_meta.h +0 -170
  78. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_reader.cc +0 -622
  79. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_reader.h +0 -111
  80. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_garbage_meter.cc +0 -100
  81. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_garbage_meter.h +0 -102
  82. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_index.h +0 -187
  83. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_format.cc +0 -143
  84. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_format.h +0 -164
  85. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_sequential_reader.cc +0 -133
  86. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_sequential_reader.h +0 -83
  87. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_writer.cc +0 -207
  88. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_writer.h +0 -87
  89. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_read_request.h +0 -58
  90. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_source.cc +0 -459
  91. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_source.h +0 -161
  92. package/vendor/librocksdb/vendor/rocksdb/db/blob/prefetch_buffer_collection.cc +0 -23
  93. package/vendor/librocksdb/vendor/rocksdb/db/blob/prefetch_buffer_collection.h +0 -38
  94. package/vendor/librocksdb/vendor/rocksdb/db/builder.cc +0 -517
  95. package/vendor/librocksdb/vendor/rocksdb/db/builder.h +0 -76
  96. package/vendor/librocksdb/vendor/rocksdb/db/c.cc +0 -7133
  97. package/vendor/librocksdb/vendor/rocksdb/db/c_test.c +0 -4052
  98. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.cc +0 -47
  99. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.h +0 -79
  100. package/vendor/librocksdb/vendor/rocksdb/db/column_family.cc +0 -1859
  101. package/vendor/librocksdb/vendor/rocksdb/db/column_family.h +0 -918
  102. package/vendor/librocksdb/vendor/rocksdb/db/compaction/clipping_iterator.h +0 -281
  103. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.cc +0 -995
  104. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.h +0 -602
  105. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iteration_stats.h +0 -56
  106. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.cc +0 -1523
  107. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.h +0 -557
  108. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.cc +0 -2155
  109. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.h +0 -520
  110. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.cc +0 -802
  111. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.h +0 -411
  112. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.cc +0 -1245
  113. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.h +0 -322
  114. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_fifo.cc +0 -478
  115. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_fifo.h +0 -61
  116. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.cc +0 -977
  117. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.h +0 -32
  118. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.cc +0 -1578
  119. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.h +0 -29
  120. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_service_job.cc +0 -835
  121. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_state.cc +0 -46
  122. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_state.h +0 -42
  123. package/vendor/librocksdb/vendor/rocksdb/db/compaction/file_pri.h +0 -94
  124. package/vendor/librocksdb/vendor/rocksdb/db/compaction/sst_partitioner.cc +0 -83
  125. package/vendor/librocksdb/vendor/rocksdb/db/compaction/subcompaction_state.cc +0 -106
  126. package/vendor/librocksdb/vendor/rocksdb/db/compaction/subcompaction_state.h +0 -220
  127. package/vendor/librocksdb/vendor/rocksdb/db/convenience.cc +0 -101
  128. package/vendor/librocksdb/vendor/rocksdb/db/convenience_impl.h +0 -15
  129. package/vendor/librocksdb/vendor/rocksdb/db/db_filesnapshot.cc +0 -506
  130. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/compacted_db_impl.cc +0 -275
  131. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/compacted_db_impl.h +0 -147
  132. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.cc +0 -6767
  133. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.h +0 -3056
  134. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_compaction_flush.cc +0 -4390
  135. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_debug.cc +0 -327
  136. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_experimental.cc +0 -164
  137. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_files.cc +0 -1032
  138. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.cc +0 -348
  139. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.h +0 -54
  140. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_open.cc +0 -2325
  141. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_readonly.cc +0 -376
  142. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_readonly.h +0 -179
  143. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.cc +0 -1025
  144. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.h +0 -322
  145. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_write.cc +0 -2624
  146. package/vendor/librocksdb/vendor/rocksdb/db/db_info_dumper.cc +0 -165
  147. package/vendor/librocksdb/vendor/rocksdb/db/db_info_dumper.h +0 -15
  148. package/vendor/librocksdb/vendor/rocksdb/db/db_iter.cc +0 -1774
  149. package/vendor/librocksdb/vendor/rocksdb/db/db_iter.h +0 -444
  150. package/vendor/librocksdb/vendor/rocksdb/db/db_test2.cc +0 -7839
  151. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.cc +0 -1800
  152. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.h +0 -1427
  153. package/vendor/librocksdb/vendor/rocksdb/db/db_with_timestamp_test_util.cc +0 -96
  154. package/vendor/librocksdb/vendor/rocksdb/db/db_with_timestamp_test_util.h +0 -126
  155. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.cc +0 -282
  156. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.h +0 -1101
  157. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.cc +0 -806
  158. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.h +0 -149
  159. package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.cc +0 -332
  160. package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.h +0 -78
  161. package/vendor/librocksdb/vendor/rocksdb/db/experimental.cc +0 -1212
  162. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.cc +0 -1249
  163. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.h +0 -268
  164. package/vendor/librocksdb/vendor/rocksdb/db/file_indexer.cc +0 -216
  165. package/vendor/librocksdb/vendor/rocksdb/db/file_indexer.h +0 -140
  166. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.cc +0 -1217
  167. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.h +0 -240
  168. package/vendor/librocksdb/vendor/rocksdb/db/flush_scheduler.cc +0 -86
  169. package/vendor/librocksdb/vendor/rocksdb/db/flush_scheduler.h +0 -55
  170. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator.cc +0 -1082
  171. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator.h +0 -166
  172. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator_bench.cc +0 -378
  173. package/vendor/librocksdb/vendor/rocksdb/db/history_trimming_iterator.h +0 -95
  174. package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.cc +0 -463
  175. package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.h +0 -91
  176. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.cc +0 -2198
  177. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.h +0 -896
  178. package/vendor/librocksdb/vendor/rocksdb/db/job_context.h +0 -254
  179. package/vendor/librocksdb/vendor/rocksdb/db/kv_checksum.h +0 -484
  180. package/vendor/librocksdb/vendor/rocksdb/db/log_format.h +0 -55
  181. package/vendor/librocksdb/vendor/rocksdb/db/log_reader.cc +0 -958
  182. package/vendor/librocksdb/vendor/rocksdb/db/log_reader.h +0 -245
  183. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.cc +0 -355
  184. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.h +0 -151
  185. package/vendor/librocksdb/vendor/rocksdb/db/logs_with_prep_tracker.cc +0 -67
  186. package/vendor/librocksdb/vendor/rocksdb/db/logs_with_prep_tracker.h +0 -62
  187. package/vendor/librocksdb/vendor/rocksdb/db/lookup_key.h +0 -68
  188. package/vendor/librocksdb/vendor/rocksdb/db/malloc_stats.cc +0 -52
  189. package/vendor/librocksdb/vendor/rocksdb/db/malloc_stats.h +0 -22
  190. package/vendor/librocksdb/vendor/rocksdb/db/memtable.cc +0 -1684
  191. package/vendor/librocksdb/vendor/rocksdb/db/memtable.h +0 -712
  192. package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.cc +0 -1028
  193. package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.h +0 -514
  194. package/vendor/librocksdb/vendor/rocksdb/db/merge_context.h +0 -150
  195. package/vendor/librocksdb/vendor/rocksdb/db/merge_helper.cc +0 -699
  196. package/vendor/librocksdb/vendor/rocksdb/db/merge_helper.h +0 -318
  197. package/vendor/librocksdb/vendor/rocksdb/db/merge_operator.cc +0 -167
  198. package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator_impl.h +0 -296
  199. package/vendor/librocksdb/vendor/rocksdb/db/output_validator.cc +0 -29
  200. package/vendor/librocksdb/vendor/rocksdb/db/output_validator.h +0 -45
  201. package/vendor/librocksdb/vendor/rocksdb/db/periodic_task_scheduler.cc +0 -110
  202. package/vendor/librocksdb/vendor/rocksdb/db/periodic_task_scheduler.h +0 -108
  203. package/vendor/librocksdb/vendor/rocksdb/db/pinned_iterators_manager.h +0 -92
  204. package/vendor/librocksdb/vendor/rocksdb/db/post_memtable_callback.h +0 -25
  205. package/vendor/librocksdb/vendor/rocksdb/db/pre_release_callback.h +0 -37
  206. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator.cc +0 -553
  207. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator.h +0 -481
  208. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator_bench.cc +0 -280
  209. package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.cc +0 -515
  210. package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.h +0 -361
  211. package/vendor/librocksdb/vendor/rocksdb/db/read_callback.h +0 -54
  212. package/vendor/librocksdb/vendor/rocksdb/db/repair.cc +0 -864
  213. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.cc +0 -573
  214. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.h +0 -307
  215. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_checker.h +0 -58
  216. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_impl.cc +0 -25
  217. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_impl.h +0 -239
  218. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.cc +0 -745
  219. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.h +0 -298
  220. package/vendor/librocksdb/vendor/rocksdb/db/table_cache_sync_and_async.h +0 -135
  221. package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.cc +0 -74
  222. package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.h +0 -185
  223. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.cc +0 -296
  224. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.h +0 -128
  225. package/vendor/librocksdb/vendor/rocksdb/db/trim_history_scheduler.cc +0 -54
  226. package/vendor/librocksdb/vendor/rocksdb/db/trim_history_scheduler.h +0 -46
  227. package/vendor/librocksdb/vendor/rocksdb/db/version_builder.cc +0 -1431
  228. package/vendor/librocksdb/vendor/rocksdb/db/version_builder.h +0 -93
  229. package/vendor/librocksdb/vendor/rocksdb/db/version_edit.cc +0 -1119
  230. package/vendor/librocksdb/vendor/rocksdb/db/version_edit.h +0 -769
  231. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.cc +0 -1264
  232. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.h +0 -390
  233. package/vendor/librocksdb/vendor/rocksdb/db/version_set.cc +0 -7562
  234. package/vendor/librocksdb/vendor/rocksdb/db/version_set.h +0 -1799
  235. package/vendor/librocksdb/vendor/rocksdb/db/version_set_sync_and_async.h +0 -169
  236. package/vendor/librocksdb/vendor/rocksdb/db/version_util.h +0 -77
  237. package/vendor/librocksdb/vendor/rocksdb/db/wal_edit.cc +0 -211
  238. package/vendor/librocksdb/vendor/rocksdb/db/wal_edit.h +0 -177
  239. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.cc +0 -539
  240. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.h +0 -138
  241. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_column_serialization.cc +0 -166
  242. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_column_serialization.h +0 -57
  243. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns.cc +0 -22
  244. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.cc +0 -52
  245. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.h +0 -40
  246. package/vendor/librocksdb/vendor/rocksdb/db/write_batch.cc +0 -3394
  247. package/vendor/librocksdb/vendor/rocksdb/db/write_batch_base.cc +0 -94
  248. package/vendor/librocksdb/vendor/rocksdb/db/write_batch_internal.h +0 -408
  249. package/vendor/librocksdb/vendor/rocksdb/db/write_callback.h +0 -27
  250. package/vendor/librocksdb/vendor/rocksdb/db/write_controller.cc +0 -121
  251. package/vendor/librocksdb/vendor/rocksdb/db/write_controller.h +0 -148
  252. package/vendor/librocksdb/vendor/rocksdb/db/write_stall_stats.cc +0 -179
  253. package/vendor/librocksdb/vendor/rocksdb/db/write_stall_stats.h +0 -47
  254. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.cc +0 -931
  255. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.h +0 -498
  256. package/vendor/librocksdb/vendor/rocksdb/env/composite_env.cc +0 -534
  257. package/vendor/librocksdb/vendor/rocksdb/env/composite_env_wrapper.h +0 -399
  258. package/vendor/librocksdb/vendor/rocksdb/env/emulated_clock.h +0 -114
  259. package/vendor/librocksdb/vendor/rocksdb/env/env.cc +0 -1253
  260. package/vendor/librocksdb/vendor/rocksdb/env/env_chroot.cc +0 -149
  261. package/vendor/librocksdb/vendor/rocksdb/env/env_chroot.h +0 -55
  262. package/vendor/librocksdb/vendor/rocksdb/env/env_encryption.cc +0 -1192
  263. package/vendor/librocksdb/vendor/rocksdb/env/env_encryption_ctr.h +0 -97
  264. package/vendor/librocksdb/vendor/rocksdb/env/env_posix.cc +0 -530
  265. package/vendor/librocksdb/vendor/rocksdb/env/file_system.cc +0 -278
  266. package/vendor/librocksdb/vendor/rocksdb/env/file_system_tracer.cc +0 -564
  267. package/vendor/librocksdb/vendor/rocksdb/env/file_system_tracer.h +0 -461
  268. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.cc +0 -331
  269. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.h +0 -139
  270. package/vendor/librocksdb/vendor/rocksdb/env/fs_posix.cc +0 -1285
  271. package/vendor/librocksdb/vendor/rocksdb/env/fs_readonly.h +0 -105
  272. package/vendor/librocksdb/vendor/rocksdb/env/fs_remap.cc +0 -341
  273. package/vendor/librocksdb/vendor/rocksdb/env/fs_remap.h +0 -137
  274. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.cc +0 -1738
  275. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.h +0 -517
  276. package/vendor/librocksdb/vendor/rocksdb/env/mock_env.cc +0 -1058
  277. package/vendor/librocksdb/vendor/rocksdb/env/mock_env.h +0 -144
  278. package/vendor/librocksdb/vendor/rocksdb/env/unique_id_gen.cc +0 -243
  279. package/vendor/librocksdb/vendor/rocksdb/env/unique_id_gen.h +0 -119
  280. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.cc +0 -513
  281. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.h +0 -200
  282. package/vendor/librocksdb/vendor/rocksdb/file/file_prefetch_buffer.cc +0 -992
  283. package/vendor/librocksdb/vendor/rocksdb/file/file_prefetch_buffer.h +0 -629
  284. package/vendor/librocksdb/vendor/rocksdb/file/file_util.cc +0 -308
  285. package/vendor/librocksdb/vendor/rocksdb/file/file_util.h +0 -123
  286. package/vendor/librocksdb/vendor/rocksdb/file/filename.cc +0 -538
  287. package/vendor/librocksdb/vendor/rocksdb/file/filename.h +0 -186
  288. package/vendor/librocksdb/vendor/rocksdb/file/line_file_reader.cc +0 -73
  289. package/vendor/librocksdb/vendor/rocksdb/file/line_file_reader.h +0 -60
  290. package/vendor/librocksdb/vendor/rocksdb/file/random_access_file_reader.cc +0 -639
  291. package/vendor/librocksdb/vendor/rocksdb/file/random_access_file_reader.h +0 -197
  292. package/vendor/librocksdb/vendor/rocksdb/file/read_write_util.cc +0 -33
  293. package/vendor/librocksdb/vendor/rocksdb/file/read_write_util.h +0 -31
  294. package/vendor/librocksdb/vendor/rocksdb/file/readahead_file_info.h +0 -33
  295. package/vendor/librocksdb/vendor/rocksdb/file/readahead_raf.cc +0 -169
  296. package/vendor/librocksdb/vendor/rocksdb/file/readahead_raf.h +0 -29
  297. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.cc +0 -324
  298. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.h +0 -127
  299. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.cc +0 -525
  300. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.h +0 -220
  301. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.cc +0 -1007
  302. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.h +0 -370
  303. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_cache.h +0 -665
  304. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_options.h +0 -1101
  305. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/attribute_groups.h +0 -114
  306. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/block_cache_trace_writer.h +0 -149
  307. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/c.h +0 -3122
  308. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache.h +0 -579
  309. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache_bench_tool.h +0 -14
  310. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cleanable.h +0 -128
  311. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compaction_filter.h +0 -374
  312. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compaction_job_stats.h +0 -112
  313. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/comparator.h +0 -231
  314. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compression_type.h +0 -186
  315. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/concurrent_task_limiter.h +0 -51
  316. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/configurable.h +0 -390
  317. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/convenience.h +0 -466
  318. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/customizable.h +0 -229
  319. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/data_structure.h +0 -186
  320. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db.h +0 -2174
  321. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_bench_tool.h +0 -11
  322. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_dump_tool.h +0 -43
  323. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_stress_tool.h +0 -11
  324. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env.h +0 -1920
  325. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env_encryption.h +0 -363
  326. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/experimental.h +0 -492
  327. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_checksum.h +0 -146
  328. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_system.h +0 -1961
  329. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/filter_policy.h +0 -211
  330. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/flush_block_policy.h +0 -75
  331. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/functor_wrapper.h +0 -56
  332. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/io_status.h +0 -244
  333. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iostats_context.h +0 -98
  334. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator.h +0 -104
  335. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator_base.h +0 -90
  336. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/ldb_tool.h +0 -42
  337. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/listener.h +0 -869
  338. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/memory_allocator.h +0 -87
  339. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/memtablerep.h +0 -421
  340. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/merge_operator.h +0 -337
  341. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/metadata.h +0 -258
  342. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/options.h +0 -2339
  343. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_context.h +0 -319
  344. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_level.h +0 -39
  345. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/persistent_cache.h +0 -74
  346. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/port_defs.h +0 -26
  347. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/rate_limiter.h +0 -172
  348. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/rocksdb_namespace.h +0 -16
  349. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/secondary_cache.h +0 -220
  350. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/slice.h +0 -264
  351. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/slice_transform.h +0 -135
  352. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/snapshot.h +0 -53
  353. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_dump_tool.h +0 -17
  354. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_manager.h +0 -139
  355. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_reader.h +0 -61
  356. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_writer.h +0 -203
  357. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_partitioner.h +0 -142
  358. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/statistics.h +0 -794
  359. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/stats_history.h +0 -70
  360. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/status.h +0 -609
  361. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/system_clock.h +0 -129
  362. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table.h +0 -938
  363. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_properties.h +0 -380
  364. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_reader_caller.h +0 -41
  365. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/thread_status.h +0 -197
  366. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/threadpool.h +0 -67
  367. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_reader_writer.h +0 -52
  368. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_record.h +0 -248
  369. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_record_result.h +0 -187
  370. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/transaction_log.h +0 -128
  371. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/types.h +0 -113
  372. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/unique_id.h +0 -55
  373. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/universal_compaction.h +0 -127
  374. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/user_write_callback.h +0 -29
  375. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/agg_merge.h +0 -138
  376. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/backup_engine.h +0 -689
  377. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/cache_dump_load.h +0 -144
  378. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/checkpoint.h +0 -65
  379. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/convenience.h +0 -10
  380. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/customizable_util.h +0 -321
  381. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/db_ttl.h +0 -70
  382. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/debug.h +0 -46
  383. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -179
  384. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/info_log_finder.h +0 -19
  385. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd.h +0 -338
  386. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +0 -75
  387. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/leveldb_options.h +0 -145
  388. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +0 -43
  389. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +0 -55
  390. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/memory_util.h +0 -48
  391. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/object_registry.h +0 -583
  392. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +0 -129
  393. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/option_change_migration.h +0 -24
  394. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/options_type.h +0 -1222
  395. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/options_util.h +0 -105
  396. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/replayer.h +0 -85
  397. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/sim_cache.h +0 -92
  398. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/stackable_db.h +0 -593
  399. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +0 -133
  400. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction.h +0 -765
  401. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db.h +0 -510
  402. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -89
  403. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/types_util.h +0 -36
  404. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -402
  405. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/version.h +0 -43
  406. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wal_filter.h +0 -111
  407. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wide_columns.h +0 -303
  408. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch.h +0 -518
  409. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch_base.h +0 -165
  410. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_buffer_manager.h +0 -183
  411. package/vendor/librocksdb/vendor/rocksdb/logging/auto_roll_logger.cc +0 -366
  412. package/vendor/librocksdb/vendor/rocksdb/logging/auto_roll_logger.h +0 -165
  413. package/vendor/librocksdb/vendor/rocksdb/logging/env_logger.h +0 -195
  414. package/vendor/librocksdb/vendor/rocksdb/logging/event_logger.cc +0 -68
  415. package/vendor/librocksdb/vendor/rocksdb/logging/event_logger.h +0 -202
  416. package/vendor/librocksdb/vendor/rocksdb/logging/log_buffer.cc +0 -91
  417. package/vendor/librocksdb/vendor/rocksdb/logging/log_buffer.h +0 -57
  418. package/vendor/librocksdb/vendor/rocksdb/logging/logging.h +0 -62
  419. package/vendor/librocksdb/vendor/rocksdb/memory/allocator.h +0 -58
  420. package/vendor/librocksdb/vendor/rocksdb/memory/arena.cc +0 -170
  421. package/vendor/librocksdb/vendor/rocksdb/memory/arena.h +0 -146
  422. package/vendor/librocksdb/vendor/rocksdb/memory/concurrent_arena.cc +0 -45
  423. package/vendor/librocksdb/vendor/rocksdb/memory/concurrent_arena.h +0 -215
  424. package/vendor/librocksdb/vendor/rocksdb/memory/jemalloc_nodump_allocator.cc +0 -304
  425. package/vendor/librocksdb/vendor/rocksdb/memory/jemalloc_nodump_allocator.h +0 -99
  426. package/vendor/librocksdb/vendor/rocksdb/memory/memkind_kmem_allocator.cc +0 -44
  427. package/vendor/librocksdb/vendor/rocksdb/memory/memkind_kmem_allocator.h +0 -43
  428. package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator.cc +0 -81
  429. package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator_impl.h +0 -47
  430. package/vendor/librocksdb/vendor/rocksdb/memory/memory_usage.h +0 -38
  431. package/vendor/librocksdb/vendor/rocksdb/memtable/alloc_tracker.cc +0 -63
  432. package/vendor/librocksdb/vendor/rocksdb/memtable/hash_linklist_rep.cc +0 -925
  433. package/vendor/librocksdb/vendor/rocksdb/memtable/hash_skiplist_rep.cc +0 -392
  434. package/vendor/librocksdb/vendor/rocksdb/memtable/inlineskiplist.h +0 -1051
  435. package/vendor/librocksdb/vendor/rocksdb/memtable/memtablerep_bench.cc +0 -687
  436. package/vendor/librocksdb/vendor/rocksdb/memtable/skiplist.h +0 -498
  437. package/vendor/librocksdb/vendor/rocksdb/memtable/skiplistrep.cc +0 -368
  438. package/vendor/librocksdb/vendor/rocksdb/memtable/stl_wrappers.h +0 -33
  439. package/vendor/librocksdb/vendor/rocksdb/memtable/vectorrep.cc +0 -307
  440. package/vendor/librocksdb/vendor/rocksdb/memtable/write_buffer_manager.cc +0 -185
  441. package/vendor/librocksdb/vendor/rocksdb/monitoring/file_read_sample.h +0 -23
  442. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram.cc +0 -280
  443. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram.h +0 -143
  444. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram_windowing.cc +0 -198
  445. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram_windowing.h +0 -84
  446. package/vendor/librocksdb/vendor/rocksdb/monitoring/in_memory_stats_history.cc +0 -50
  447. package/vendor/librocksdb/vendor/rocksdb/monitoring/in_memory_stats_history.h +0 -74
  448. package/vendor/librocksdb/vendor/rocksdb/monitoring/instrumented_mutex.cc +0 -90
  449. package/vendor/librocksdb/vendor/rocksdb/monitoring/instrumented_mutex.h +0 -126
  450. package/vendor/librocksdb/vendor/rocksdb/monitoring/iostats_context.cc +0 -78
  451. package/vendor/librocksdb/vendor/rocksdb/monitoring/iostats_context_imp.h +0 -62
  452. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_context.cc +0 -317
  453. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_context_imp.h +0 -103
  454. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_level.cc +0 -23
  455. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_level_imp.h +0 -14
  456. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_step_timer.h +0 -77
  457. package/vendor/librocksdb/vendor/rocksdb/monitoring/persistent_stats_history.cc +0 -173
  458. package/vendor/librocksdb/vendor/rocksdb/monitoring/persistent_stats_history.h +0 -83
  459. package/vendor/librocksdb/vendor/rocksdb/monitoring/statistics.cc +0 -561
  460. package/vendor/librocksdb/vendor/rocksdb/monitoring/statistics_impl.h +0 -143
  461. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_impl.cc +0 -163
  462. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater.cc +0 -328
  463. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater.h +0 -226
  464. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater_debug.cc +0 -43
  465. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util.cc +0 -214
  466. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util.h +0 -139
  467. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util_debug.cc +0 -60
  468. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.cc +0 -1218
  469. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.h +0 -352
  470. package/vendor/librocksdb/vendor/rocksdb/options/configurable.cc +0 -720
  471. package/vendor/librocksdb/vendor/rocksdb/options/configurable_helper.h +0 -185
  472. package/vendor/librocksdb/vendor/rocksdb/options/configurable_test.h +0 -116
  473. package/vendor/librocksdb/vendor/rocksdb/options/customizable.cc +0 -133
  474. package/vendor/librocksdb/vendor/rocksdb/options/db_options.cc +0 -1113
  475. package/vendor/librocksdb/vendor/rocksdb/options/db_options.h +0 -160
  476. package/vendor/librocksdb/vendor/rocksdb/options/offpeak_time_info.cc +0 -59
  477. package/vendor/librocksdb/vendor/rocksdb/options/offpeak_time_info.h +0 -37
  478. package/vendor/librocksdb/vendor/rocksdb/options/options.cc +0 -717
  479. package/vendor/librocksdb/vendor/rocksdb/options/options_helper.cc +0 -1438
  480. package/vendor/librocksdb/vendor/rocksdb/options/options_helper.h +0 -115
  481. package/vendor/librocksdb/vendor/rocksdb/options/options_parser.cc +0 -745
  482. package/vendor/librocksdb/vendor/rocksdb/options/options_parser.h +0 -151
  483. package/vendor/librocksdb/vendor/rocksdb/port/jemalloc_helper.h +0 -107
  484. package/vendor/librocksdb/vendor/rocksdb/port/lang.h +0 -97
  485. package/vendor/librocksdb/vendor/rocksdb/port/likely.h +0 -18
  486. package/vendor/librocksdb/vendor/rocksdb/port/malloc.h +0 -17
  487. package/vendor/librocksdb/vendor/rocksdb/port/mmap.cc +0 -98
  488. package/vendor/librocksdb/vendor/rocksdb/port/mmap.h +0 -90
  489. package/vendor/librocksdb/vendor/rocksdb/port/port.h +0 -21
  490. package/vendor/librocksdb/vendor/rocksdb/port/port_dirent.h +0 -44
  491. package/vendor/librocksdb/vendor/rocksdb/port/port_example.h +0 -101
  492. package/vendor/librocksdb/vendor/rocksdb/port/port_posix.cc +0 -300
  493. package/vendor/librocksdb/vendor/rocksdb/port/port_posix.h +0 -246
  494. package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.cc +0 -418
  495. package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.h +0 -31
  496. package/vendor/librocksdb/vendor/rocksdb/port/sys_time.h +0 -63
  497. package/vendor/librocksdb/vendor/rocksdb/port/util_logger.h +0 -18
  498. package/vendor/librocksdb/vendor/rocksdb/port/win/env_default.cc +0 -45
  499. package/vendor/librocksdb/vendor/rocksdb/port/win/env_win.cc +0 -1436
  500. package/vendor/librocksdb/vendor/rocksdb/port/win/env_win.h +0 -305
  501. package/vendor/librocksdb/vendor/rocksdb/port/win/io_win.cc +0 -1101
  502. package/vendor/librocksdb/vendor/rocksdb/port/win/io_win.h +0 -504
  503. package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.cc +0 -305
  504. package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.h +0 -382
  505. package/vendor/librocksdb/vendor/rocksdb/port/win/win_jemalloc.cc +0 -80
  506. package/vendor/librocksdb/vendor/rocksdb/port/win/win_logger.cc +0 -192
  507. package/vendor/librocksdb/vendor/rocksdb/port/win/win_logger.h +0 -64
  508. package/vendor/librocksdb/vendor/rocksdb/port/win/win_thread.cc +0 -170
  509. package/vendor/librocksdb/vendor/rocksdb/port/win/win_thread.h +0 -117
  510. package/vendor/librocksdb/vendor/rocksdb/port/win/xpress_win.cc +0 -210
  511. package/vendor/librocksdb/vendor/rocksdb/port/win/xpress_win.h +0 -26
  512. package/vendor/librocksdb/vendor/rocksdb/port/xpress.h +0 -17
  513. package/vendor/librocksdb/vendor/rocksdb/rocksdb.pc.in +0 -10
  514. package/vendor/librocksdb/vendor/rocksdb/table/adaptive/adaptive_table_factory.cc +0 -119
  515. package/vendor/librocksdb/vendor/rocksdb/table/adaptive/adaptive_table_factory.h +0 -56
  516. package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.cc +0 -73
  517. package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.h +0 -48
  518. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block.cc +0 -1341
  519. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block.h +0 -969
  520. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.cc +0 -2148
  521. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.h +0 -208
  522. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.cc +0 -980
  523. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.h +0 -102
  524. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.cc +0 -893
  525. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.h +0 -445
  526. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.cc +0 -3296
  527. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.h +0 -785
  528. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_impl.h +0 -205
  529. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +0 -819
  530. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_builder.cc +0 -266
  531. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_builder.h +0 -128
  532. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.cc +0 -108
  533. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.h +0 -190
  534. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.cc +0 -158
  535. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.h +0 -74
  536. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefix_index.cc +0 -226
  537. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefix_index.h +0 -70
  538. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_type.h +0 -34
  539. package/vendor/librocksdb/vendor/rocksdb/table/block_based/cachable_entry.h +0 -249
  540. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_footer.cc +0 -59
  541. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_footer.h +0 -25
  542. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_hash_index.cc +0 -94
  543. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_hash_index.h +0 -137
  544. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block.h +0 -189
  545. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.cc +0 -169
  546. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.h +0 -79
  547. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy.cc +0 -1989
  548. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy_internal.h +0 -341
  549. package/vendor/librocksdb/vendor/rocksdb/table/block_based/flush_block_policy.cc +0 -132
  550. package/vendor/librocksdb/vendor/rocksdb/table/block_based/flush_block_policy_impl.h +0 -40
  551. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.cc +0 -297
  552. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.h +0 -142
  553. package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.cc +0 -146
  554. package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.h +0 -49
  555. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.cc +0 -305
  556. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.h +0 -534
  557. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.cc +0 -62
  558. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.h +0 -94
  559. package/vendor/librocksdb/vendor/rocksdb/table/block_based/mock_block_based_table.h +0 -62
  560. package/vendor/librocksdb/vendor/rocksdb/table/block_based/parsed_full_filter_block.cc +0 -23
  561. package/vendor/librocksdb/vendor/rocksdb/table/block_based/parsed_full_filter_block.h +0 -47
  562. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.cc +0 -610
  563. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.h +0 -188
  564. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_iterator.cc +0 -164
  565. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_iterator.h +0 -160
  566. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.cc +0 -264
  567. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.h +0 -58
  568. package/vendor/librocksdb/vendor/rocksdb/table/block_based/reader_common.cc +0 -64
  569. package/vendor/librocksdb/vendor/rocksdb/table/block_based/reader_common.h +0 -36
  570. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.cc +0 -118
  571. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.h +0 -60
  572. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.cc +0 -458
  573. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.h +0 -168
  574. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.cc +0 -370
  575. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.h +0 -45
  576. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.cc +0 -555
  577. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -136
  578. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.cc +0 -100
  579. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.h +0 -80
  580. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.cc +0 -416
  581. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.h +0 -100
  582. package/vendor/librocksdb/vendor/rocksdb/table/format.cc +0 -708
  583. package/vendor/librocksdb/vendor/rocksdb/table/format.h +0 -439
  584. package/vendor/librocksdb/vendor/rocksdb/table/get_context.cc +0 -622
  585. package/vendor/librocksdb/vendor/rocksdb/table/get_context.h +0 -259
  586. package/vendor/librocksdb/vendor/rocksdb/table/internal_iterator.h +0 -242
  587. package/vendor/librocksdb/vendor/rocksdb/table/iter_heap.h +0 -44
  588. package/vendor/librocksdb/vendor/rocksdb/table/iterator.cc +0 -134
  589. package/vendor/librocksdb/vendor/rocksdb/table/iterator_wrapper.h +0 -225
  590. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.cc +0 -1755
  591. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.h +0 -100
  592. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.cc +0 -590
  593. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.h +0 -181
  594. package/vendor/librocksdb/vendor/rocksdb/table/mock_table.cc +0 -355
  595. package/vendor/librocksdb/vendor/rocksdb/table/mock_table.h +0 -92
  596. package/vendor/librocksdb/vendor/rocksdb/table/multiget_context.h +0 -405
  597. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_helper.cc +0 -110
  598. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_helper.h +0 -46
  599. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_options.h +0 -34
  600. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_bloom.cc +0 -78
  601. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_bloom.h +0 -132
  602. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.cc +0 -348
  603. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.h +0 -151
  604. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_factory.cc +0 -295
  605. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_factory.h +0 -180
  606. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_index.cc +0 -211
  607. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_index.h +0 -246
  608. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_key_coding.cc +0 -508
  609. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_key_coding.h +0 -199
  610. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_reader.cc +0 -778
  611. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_reader.h +0 -243
  612. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.cc +0 -601
  613. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.h +0 -104
  614. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_reader.cc +0 -166
  615. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer.cc +0 -536
  616. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer_collectors.h +0 -97
  617. package/vendor/librocksdb/vendor/rocksdb/table/table_builder.h +0 -239
  618. package/vendor/librocksdb/vendor/rocksdb/table/table_factory.cc +0 -52
  619. package/vendor/librocksdb/vendor/rocksdb/table/table_iterator.h +0 -69
  620. package/vendor/librocksdb/vendor/rocksdb/table/table_properties.cc +0 -357
  621. package/vendor/librocksdb/vendor/rocksdb/table/table_properties_internal.h +0 -14
  622. package/vendor/librocksdb/vendor/rocksdb/table/table_reader.h +0 -202
  623. package/vendor/librocksdb/vendor/rocksdb/table/table_reader_bench.cc +0 -341
  624. package/vendor/librocksdb/vendor/rocksdb/table/two_level_iterator.cc +0 -222
  625. package/vendor/librocksdb/vendor/rocksdb/table/two_level_iterator.h +0 -43
  626. package/vendor/librocksdb/vendor/rocksdb/table/unique_id.cc +0 -223
  627. package/vendor/librocksdb/vendor/rocksdb/table/unique_id_impl.h +0 -93
  628. package/vendor/librocksdb/vendor/rocksdb/test_util/mock_time_env.cc +0 -38
  629. package/vendor/librocksdb/vendor/rocksdb/test_util/mock_time_env.h +0 -109
  630. package/vendor/librocksdb/vendor/rocksdb/test_util/secondary_cache_test_util.cc +0 -93
  631. package/vendor/librocksdb/vendor/rocksdb/test_util/secondary_cache_test_util.h +0 -131
  632. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point.cc +0 -82
  633. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point.h +0 -182
  634. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point_impl.cc +0 -152
  635. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point_impl.h +0 -96
  636. package/vendor/librocksdb/vendor/rocksdb/test_util/testharness.cc +0 -105
  637. package/vendor/librocksdb/vendor/rocksdb/test_util/testharness.h +0 -124
  638. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.cc +0 -776
  639. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.h +0 -908
  640. package/vendor/librocksdb/vendor/rocksdb/test_util/transaction_test_util.cc +0 -400
  641. package/vendor/librocksdb/vendor/rocksdb/test_util/transaction_test_util.h +0 -147
  642. package/vendor/librocksdb/vendor/rocksdb/tools/CMakeLists.txt +0 -30
  643. package/vendor/librocksdb/vendor/rocksdb/tools/blob_dump.cc +0 -103
  644. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +0 -2331
  645. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +0 -398
  646. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +0 -17
  647. package/vendor/librocksdb/vendor/rocksdb/tools/db_bench.cc +0 -21
  648. package/vendor/librocksdb/vendor/rocksdb/tools/db_bench_tool.cc +0 -8743
  649. package/vendor/librocksdb/vendor/rocksdb/tools/db_repl_stress.cc +0 -132
  650. package/vendor/librocksdb/vendor/rocksdb/tools/dump/db_dump_tool.cc +0 -264
  651. package/vendor/librocksdb/vendor/rocksdb/tools/dump/rocksdb_dump.cc +0 -60
  652. package/vendor/librocksdb/vendor/rocksdb/tools/dump/rocksdb_undump.cc +0 -59
  653. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser.cc +0 -17
  654. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser_tool.cc +0 -142
  655. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser_tool.h +0 -38
  656. package/vendor/librocksdb/vendor/rocksdb/tools/ldb.cc +0 -13
  657. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd.cc +0 -5044
  658. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd_impl.h +0 -814
  659. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_tool.cc +0 -192
  660. package/vendor/librocksdb/vendor/rocksdb/tools/simulated_hybrid_file_system.cc +0 -244
  661. package/vendor/librocksdb/vendor/rocksdb/tools/simulated_hybrid_file_system.h +0 -124
  662. package/vendor/librocksdb/vendor/rocksdb/tools/sst_dump.cc +0 -12
  663. package/vendor/librocksdb/vendor/rocksdb/tools/sst_dump_tool.cc +0 -588
  664. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer.cc +0 -17
  665. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer_tool.cc +0 -1935
  666. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer_tool.h +0 -329
  667. package/vendor/librocksdb/vendor/rocksdb/tools/write_stress.cc +0 -305
  668. package/vendor/librocksdb/vendor/rocksdb/trace_replay/block_cache_tracer.cc +0 -509
  669. package/vendor/librocksdb/vendor/rocksdb/trace_replay/block_cache_tracer.h +0 -239
  670. package/vendor/librocksdb/vendor/rocksdb/trace_replay/io_tracer.cc +0 -303
  671. package/vendor/librocksdb/vendor/rocksdb/trace_replay/io_tracer.h +0 -185
  672. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record.cc +0 -206
  673. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_handler.cc +0 -190
  674. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_handler.h +0 -46
  675. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_result.cc +0 -146
  676. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_replay.cc +0 -632
  677. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_replay.h +0 -184
  678. package/vendor/librocksdb/vendor/rocksdb/util/aligned_buffer.h +0 -235
  679. package/vendor/librocksdb/vendor/rocksdb/util/aligned_storage.h +0 -24
  680. package/vendor/librocksdb/vendor/rocksdb/util/async_file_reader.cc +0 -84
  681. package/vendor/librocksdb/vendor/rocksdb/util/async_file_reader.h +0 -144
  682. package/vendor/librocksdb/vendor/rocksdb/util/atomic.h +0 -111
  683. package/vendor/librocksdb/vendor/rocksdb/util/autovector.h +0 -397
  684. package/vendor/librocksdb/vendor/rocksdb/util/bloom_impl.h +0 -489
  685. package/vendor/librocksdb/vendor/rocksdb/util/build_version.cc.in +0 -79
  686. package/vendor/librocksdb/vendor/rocksdb/util/cast_util.h +0 -88
  687. package/vendor/librocksdb/vendor/rocksdb/util/channel.h +0 -69
  688. package/vendor/librocksdb/vendor/rocksdb/util/cleanable.cc +0 -181
  689. package/vendor/librocksdb/vendor/rocksdb/util/coding.cc +0 -90
  690. package/vendor/librocksdb/vendor/rocksdb/util/coding.h +0 -385
  691. package/vendor/librocksdb/vendor/rocksdb/util/coding_lean.h +0 -101
  692. package/vendor/librocksdb/vendor/rocksdb/util/compaction_job_stats_impl.cc +0 -94
  693. package/vendor/librocksdb/vendor/rocksdb/util/comparator.cc +0 -443
  694. package/vendor/librocksdb/vendor/rocksdb/util/compression.cc +0 -122
  695. package/vendor/librocksdb/vendor/rocksdb/util/compression.h +0 -1879
  696. package/vendor/librocksdb/vendor/rocksdb/util/compression_context_cache.cc +0 -106
  697. package/vendor/librocksdb/vendor/rocksdb/util/compression_context_cache.h +0 -47
  698. package/vendor/librocksdb/vendor/rocksdb/util/concurrent_task_limiter_impl.cc +0 -64
  699. package/vendor/librocksdb/vendor/rocksdb/util/concurrent_task_limiter_impl.h +0 -67
  700. package/vendor/librocksdb/vendor/rocksdb/util/core_local.h +0 -85
  701. package/vendor/librocksdb/vendor/rocksdb/util/coro_utils.h +0 -112
  702. package/vendor/librocksdb/vendor/rocksdb/util/crc32c.cc +0 -1295
  703. package/vendor/librocksdb/vendor/rocksdb/util/crc32c.h +0 -56
  704. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_arm64.cc +0 -213
  705. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_arm64.h +0 -51
  706. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc.c +0 -94
  707. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc.h +0 -21
  708. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc_asm.S +0 -756
  709. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc_constants.h +0 -900
  710. package/vendor/librocksdb/vendor/rocksdb/util/data_structure.cc +0 -16
  711. package/vendor/librocksdb/vendor/rocksdb/util/defer.h +0 -82
  712. package/vendor/librocksdb/vendor/rocksdb/util/distributed_mutex.h +0 -50
  713. package/vendor/librocksdb/vendor/rocksdb/util/duplicate_detector.h +0 -69
  714. package/vendor/librocksdb/vendor/rocksdb/util/dynamic_bloom.cc +0 -70
  715. package/vendor/librocksdb/vendor/rocksdb/util/dynamic_bloom.h +0 -214
  716. package/vendor/librocksdb/vendor/rocksdb/util/fastrange.h +0 -114
  717. package/vendor/librocksdb/vendor/rocksdb/util/file_checksum_helper.cc +0 -170
  718. package/vendor/librocksdb/vendor/rocksdb/util/file_checksum_helper.h +0 -101
  719. package/vendor/librocksdb/vendor/rocksdb/util/filter_bench.cc +0 -840
  720. package/vendor/librocksdb/vendor/rocksdb/util/gflags_compat.h +0 -29
  721. package/vendor/librocksdb/vendor/rocksdb/util/hash.cc +0 -201
  722. package/vendor/librocksdb/vendor/rocksdb/util/hash.h +0 -141
  723. package/vendor/librocksdb/vendor/rocksdb/util/hash128.h +0 -26
  724. package/vendor/librocksdb/vendor/rocksdb/util/hash_containers.h +0 -51
  725. package/vendor/librocksdb/vendor/rocksdb/util/hash_map.h +0 -67
  726. package/vendor/librocksdb/vendor/rocksdb/util/heap.h +0 -174
  727. package/vendor/librocksdb/vendor/rocksdb/util/kv_map.h +0 -33
  728. package/vendor/librocksdb/vendor/rocksdb/util/log_write_bench.cc +0 -88
  729. package/vendor/librocksdb/vendor/rocksdb/util/math.h +0 -351
  730. package/vendor/librocksdb/vendor/rocksdb/util/math128.h +0 -338
  731. package/vendor/librocksdb/vendor/rocksdb/util/murmurhash.cc +0 -196
  732. package/vendor/librocksdb/vendor/rocksdb/util/murmurhash.h +0 -43
  733. package/vendor/librocksdb/vendor/rocksdb/util/mutexlock.h +0 -189
  734. package/vendor/librocksdb/vendor/rocksdb/util/overload.h +0 -23
  735. package/vendor/librocksdb/vendor/rocksdb/util/ppc-opcode.h +0 -27
  736. package/vendor/librocksdb/vendor/rocksdb/util/random.cc +0 -63
  737. package/vendor/librocksdb/vendor/rocksdb/util/random.h +0 -190
  738. package/vendor/librocksdb/vendor/rocksdb/util/rate_limiter.cc +0 -391
  739. package/vendor/librocksdb/vendor/rocksdb/util/rate_limiter_impl.h +0 -156
  740. package/vendor/librocksdb/vendor/rocksdb/util/repeatable_thread.h +0 -149
  741. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_alg.h +0 -1225
  742. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_config.cc +0 -498
  743. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_config.h +0 -182
  744. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_impl.h +0 -1137
  745. package/vendor/librocksdb/vendor/rocksdb/util/set_comparator.h +0 -24
  746. package/vendor/librocksdb/vendor/rocksdb/util/single_thread_executor.h +0 -57
  747. package/vendor/librocksdb/vendor/rocksdb/util/slice.cc +0 -366
  748. package/vendor/librocksdb/vendor/rocksdb/util/status.cc +0 -163
  749. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.cc +0 -62
  750. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.h +0 -41
  751. package/vendor/librocksdb/vendor/rocksdb/util/stop_watch.h +0 -136
  752. package/vendor/librocksdb/vendor/rocksdb/util/string_util.cc +0 -554
  753. package/vendor/librocksdb/vendor/rocksdb/util/string_util.h +0 -185
  754. package/vendor/librocksdb/vendor/rocksdb/util/thread_guard.h +0 -41
  755. package/vendor/librocksdb/vendor/rocksdb/util/thread_local.cc +0 -521
  756. package/vendor/librocksdb/vendor/rocksdb/util/thread_local.h +0 -100
  757. package/vendor/librocksdb/vendor/rocksdb/util/thread_operation.h +0 -122
  758. package/vendor/librocksdb/vendor/rocksdb/util/threadpool_imp.cc +0 -550
  759. package/vendor/librocksdb/vendor/rocksdb/util/threadpool_imp.h +0 -120
  760. package/vendor/librocksdb/vendor/rocksdb/util/timer.h +0 -340
  761. package/vendor/librocksdb/vendor/rocksdb/util/timer_queue.h +0 -231
  762. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.cc +0 -418
  763. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.h +0 -275
  764. package/vendor/librocksdb/vendor/rocksdb/util/user_comparator_wrapper.h +0 -64
  765. package/vendor/librocksdb/vendor/rocksdb/util/vector_iterator.h +0 -114
  766. package/vendor/librocksdb/vendor/rocksdb/util/work_queue.h +0 -150
  767. package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.cc +0 -25
  768. package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.h +0 -90
  769. package/vendor/librocksdb/vendor/rocksdb/util/xxhash.cc +0 -48
  770. package/vendor/librocksdb/vendor/rocksdb/util/xxhash.h +0 -6364
  771. package/vendor/librocksdb/vendor/rocksdb/util/xxph3.h +0 -1760
  772. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/agg_merge.cc +0 -237
  773. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/agg_merge_impl.h +0 -49
  774. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/test_agg_merge.cc +0 -103
  775. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/test_agg_merge.h +0 -47
  776. package/vendor/librocksdb/vendor/rocksdb/utilities/backup/backup_engine.cc +0 -3357
  777. package/vendor/librocksdb/vendor/rocksdb/utilities/backup/backup_engine_impl.h +0 -34
  778. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -490
  779. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.h +0 -202
  780. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db.cc +0 -109
  781. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db.h +0 -231
  782. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -54
  783. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.cc +0 -2269
  784. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.h +0 -514
  785. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -127
  786. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_iterator.h +0 -148
  787. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_listener.h +0 -71
  788. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_dump_tool.cc +0 -276
  789. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -56
  790. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_file.cc +0 -311
  791. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_file.h +0 -245
  792. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load.cc +0 -67
  793. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.cc +0 -389
  794. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.h +0 -368
  795. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +0 -104
  796. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +0 -57
  797. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_options.h +0 -41
  798. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/format.cc +0 -365
  799. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/format.h +0 -183
  800. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/merge_operator.cc +0 -76
  801. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/merge_operator.h +0 -43
  802. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/serialize.h +0 -81
  803. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/test_utils.cc +0 -67
  804. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/test_utils.h +0 -42
  805. package/vendor/librocksdb/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.cc +0 -472
  806. package/vendor/librocksdb/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.h +0 -64
  807. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +0 -41
  808. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -24
  809. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -26
  810. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters.cc +0 -52
  811. package/vendor/librocksdb/vendor/rocksdb/utilities/convenience/info_log_finder.cc +0 -26
  812. package/vendor/librocksdb/vendor/rocksdb/utilities/counted_fs.cc +0 -379
  813. package/vendor/librocksdb/vendor/rocksdb/utilities/counted_fs.h +0 -158
  814. package/vendor/librocksdb/vendor/rocksdb/utilities/debug.cc +0 -134
  815. package/vendor/librocksdb/vendor/rocksdb/utilities/env_mirror.cc +0 -280
  816. package/vendor/librocksdb/vendor/rocksdb/utilities/env_timed.cc +0 -181
  817. package/vendor/librocksdb/vendor/rocksdb/utilities/env_timed.h +0 -95
  818. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_env.cc +0 -555
  819. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_env.h +0 -252
  820. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.cc +0 -1507
  821. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.h +0 -760
  822. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_secondary_cache.cc +0 -138
  823. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_secondary_cache.h +0 -115
  824. package/vendor/librocksdb/vendor/rocksdb/utilities/leveldb_options/leveldb_options.cc +0 -57
  825. package/vendor/librocksdb/vendor/rocksdb/utilities/memory/memory_util.cc +0 -50
  826. package/vendor/librocksdb/vendor/rocksdb/utilities/memory_allocators.h +0 -103
  827. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/bytesxor.cc +0 -57
  828. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/bytesxor.h +0 -39
  829. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/max.cc +0 -64
  830. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/max_operator.h +0 -35
  831. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/put.cc +0 -74
  832. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/put_operator.h +0 -56
  833. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/sortlist.cc +0 -97
  834. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/sortlist.h +0 -42
  835. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.cc +0 -76
  836. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.h +0 -32
  837. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +0 -129
  838. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.h +0 -51
  839. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/uint64add.cc +0 -56
  840. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/uint64add.h +0 -35
  841. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators.cc +0 -115
  842. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators.h +0 -36
  843. package/vendor/librocksdb/vendor/rocksdb/utilities/object_registry.cc +0 -381
  844. package/vendor/librocksdb/vendor/rocksdb/utilities/option_change_migration/option_change_migration.cc +0 -169
  845. package/vendor/librocksdb/vendor/rocksdb/utilities/options/options_util.cc +0 -117
  846. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -420
  847. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -154
  848. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +0 -607
  849. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -291
  850. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +0 -127
  851. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -84
  852. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -122
  853. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table.h +0 -237
  854. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table_bench.cc +0 -310
  855. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -166
  856. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/lrulist.h +0 -172
  857. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +0 -355
  858. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -284
  859. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -165
  860. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -340
  861. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_util.h +0 -67
  862. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -138
  863. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -139
  864. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/cache_simulator.cc +0 -287
  865. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/cache_simulator.h +0 -231
  866. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/sim_cache.cc +0 -375
  867. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.cc +0 -144
  868. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.h +0 -45
  869. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +0 -233
  870. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +0 -65
  871. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/file_trace_reader_writer.cc +0 -132
  872. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/file_trace_reader_writer.h +0 -48
  873. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/replayer_impl.cc +0 -313
  874. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/replayer_impl.h +0 -84
  875. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -27
  876. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_manager.h +0 -80
  877. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_tracker.h +0 -207
  878. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +0 -718
  879. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +0 -222
  880. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +0 -324
  881. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -255
  882. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +0 -97
  883. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +0 -34
  884. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +0 -81
  885. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/comparator.h +0 -138
  886. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/ft-status.h +0 -102
  887. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +0 -137
  888. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.h +0 -174
  889. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +0 -220
  890. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.h +0 -141
  891. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +0 -525
  892. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +0 -255
  893. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +0 -1021
  894. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +0 -580
  895. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +0 -525
  896. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +0 -263
  897. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.h +0 -178
  898. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +0 -518
  899. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.h +0 -302
  900. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +0 -118
  901. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.h +0 -92
  902. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +0 -211
  903. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.h +0 -124
  904. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/memory.h +0 -215
  905. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +0 -43
  906. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h +0 -130
  907. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +0 -87
  908. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_instrumentation.h +0 -286
  909. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_portability.h +0 -87
  910. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_pthread.h +0 -520
  911. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_race_tools.h +0 -179
  912. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +0 -197
  913. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +0 -31
  914. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +0 -139
  915. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +0 -165
  916. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.h +0 -98
  917. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +0 -144
  918. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +0 -199
  919. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.h +0 -141
  920. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt.h +0 -794
  921. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt_impl.h +0 -1295
  922. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +0 -165
  923. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/status.h +0 -76
  924. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +0 -501
  925. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +0 -135
  926. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +0 -156
  927. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +0 -146
  928. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -208
  929. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction.h +0 -99
  930. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +0 -111
  931. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +0 -110
  932. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.cc +0 -1278
  933. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.h +0 -345
  934. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +0 -845
  935. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.h +0 -345
  936. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/snapshot_checker.cc +0 -37
  937. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.cc +0 -912
  938. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.h +0 -455
  939. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -133
  940. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -24
  941. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_test.h +0 -589
  942. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.cc +0 -207
  943. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.h +0 -86
  944. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.cc +0 -548
  945. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.h +0 -118
  946. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1100
  947. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.h +0 -1149
  948. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.cc +0 -1089
  949. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.h +0 -333
  950. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -486
  951. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.h +0 -105
  952. package/vendor/librocksdb/vendor/rocksdb/utilities/ttl/db_ttl_impl.cc +0 -638
  953. package/vendor/librocksdb/vendor/rocksdb/utilities/ttl/db_ttl_impl.h +0 -239
  954. package/vendor/librocksdb/vendor/rocksdb/utilities/types_util.cc +0 -88
  955. package/vendor/librocksdb/vendor/rocksdb/utilities/wal_filter.cc +0 -22
  956. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +0 -1134
  957. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +0 -934
  958. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +0 -468
@@ -1,1684 +0,0 @@
1
- // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2
- // This source code is licensed under both the GPLv2 (found in the
3
- // COPYING file in the root directory) and Apache 2.0 License
4
- // (found in the LICENSE.Apache file in the root directory).
5
- //
6
- // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
7
- // Use of this source code is governed by a BSD-style license that can be
8
- // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
-
10
- #include "db/memtable.h"
11
-
12
- #include <algorithm>
13
- #include <array>
14
- #include <limits>
15
- #include <memory>
16
- #include <optional>
17
-
18
- #include "db/dbformat.h"
19
- #include "db/kv_checksum.h"
20
- #include "db/merge_context.h"
21
- #include "db/merge_helper.h"
22
- #include "db/pinned_iterators_manager.h"
23
- #include "db/range_tombstone_fragmenter.h"
24
- #include "db/read_callback.h"
25
- #include "db/wide/wide_column_serialization.h"
26
- #include "logging/logging.h"
27
- #include "memory/arena.h"
28
- #include "memory/memory_usage.h"
29
- #include "monitoring/perf_context_imp.h"
30
- #include "monitoring/statistics_impl.h"
31
- #include "port/lang.h"
32
- #include "port/port.h"
33
- #include "rocksdb/comparator.h"
34
- #include "rocksdb/env.h"
35
- #include "rocksdb/iterator.h"
36
- #include "rocksdb/merge_operator.h"
37
- #include "rocksdb/slice_transform.h"
38
- #include "rocksdb/types.h"
39
- #include "rocksdb/write_buffer_manager.h"
40
- #include "table/internal_iterator.h"
41
- #include "table/iterator_wrapper.h"
42
- #include "table/merging_iterator.h"
43
- #include "util/autovector.h"
44
- #include "util/coding.h"
45
- #include "util/mutexlock.h"
46
-
47
- namespace ROCKSDB_NAMESPACE {
48
-
49
- ImmutableMemTableOptions::ImmutableMemTableOptions(
50
- const ImmutableOptions& ioptions,
51
- const MutableCFOptions& mutable_cf_options)
52
- : arena_block_size(mutable_cf_options.arena_block_size),
53
- memtable_prefix_bloom_bits(
54
- static_cast<uint32_t>(
55
- static_cast<double>(mutable_cf_options.write_buffer_size) *
56
- mutable_cf_options.memtable_prefix_bloom_size_ratio) *
57
- 8u),
58
- memtable_huge_page_size(mutable_cf_options.memtable_huge_page_size),
59
- memtable_whole_key_filtering(
60
- mutable_cf_options.memtable_whole_key_filtering),
61
- inplace_update_support(ioptions.inplace_update_support),
62
- inplace_update_num_locks(mutable_cf_options.inplace_update_num_locks),
63
- inplace_callback(ioptions.inplace_callback),
64
- max_successive_merges(mutable_cf_options.max_successive_merges),
65
- strict_max_successive_merges(
66
- mutable_cf_options.strict_max_successive_merges),
67
- statistics(ioptions.stats),
68
- merge_operator(ioptions.merge_operator.get()),
69
- info_log(ioptions.logger),
70
- allow_data_in_errors(ioptions.allow_data_in_errors),
71
- protection_bytes_per_key(
72
- mutable_cf_options.memtable_protection_bytes_per_key) {}
73
-
74
- MemTable::MemTable(const InternalKeyComparator& cmp,
75
- const ImmutableOptions& ioptions,
76
- const MutableCFOptions& mutable_cf_options,
77
- WriteBufferManager* write_buffer_manager,
78
- SequenceNumber latest_seq, uint32_t column_family_id)
79
- : comparator_(cmp),
80
- moptions_(ioptions, mutable_cf_options),
81
- refs_(0),
82
- kArenaBlockSize(Arena::OptimizeBlockSize(moptions_.arena_block_size)),
83
- mem_tracker_(write_buffer_manager),
84
- arena_(moptions_.arena_block_size,
85
- (write_buffer_manager != nullptr &&
86
- (write_buffer_manager->enabled() ||
87
- write_buffer_manager->cost_to_cache()))
88
- ? &mem_tracker_
89
- : nullptr,
90
- mutable_cf_options.memtable_huge_page_size),
91
- table_(ioptions.memtable_factory->CreateMemTableRep(
92
- comparator_, &arena_, mutable_cf_options.prefix_extractor.get(),
93
- ioptions.logger, column_family_id)),
94
- range_del_table_(SkipListFactory().CreateMemTableRep(
95
- comparator_, &arena_, nullptr /* transform */, ioptions.logger,
96
- column_family_id)),
97
- is_range_del_table_empty_(true),
98
- data_size_(0),
99
- num_entries_(0),
100
- num_deletes_(0),
101
- num_range_deletes_(0),
102
- write_buffer_size_(mutable_cf_options.write_buffer_size),
103
- flush_in_progress_(false),
104
- flush_completed_(false),
105
- file_number_(0),
106
- first_seqno_(0),
107
- earliest_seqno_(latest_seq),
108
- creation_seq_(latest_seq),
109
- mem_next_logfile_number_(0),
110
- min_prep_log_referenced_(0),
111
- locks_(moptions_.inplace_update_support
112
- ? moptions_.inplace_update_num_locks
113
- : 0),
114
- prefix_extractor_(mutable_cf_options.prefix_extractor.get()),
115
- flush_state_(FLUSH_NOT_REQUESTED),
116
- clock_(ioptions.clock),
117
- insert_with_hint_prefix_extractor_(
118
- ioptions.memtable_insert_with_hint_prefix_extractor.get()),
119
- oldest_key_time_(std::numeric_limits<uint64_t>::max()),
120
- atomic_flush_seqno_(kMaxSequenceNumber),
121
- approximate_memory_usage_(0),
122
- memtable_max_range_deletions_(
123
- mutable_cf_options.memtable_max_range_deletions) {
124
- UpdateFlushState();
125
- // something went wrong if we need to flush before inserting anything
126
- assert(!ShouldScheduleFlush());
127
-
128
- // use bloom_filter_ for both whole key and prefix bloom filter
129
- if ((prefix_extractor_ || moptions_.memtable_whole_key_filtering) &&
130
- moptions_.memtable_prefix_bloom_bits > 0) {
131
- bloom_filter_.reset(
132
- new DynamicBloom(&arena_, moptions_.memtable_prefix_bloom_bits,
133
- 6 /* hard coded 6 probes */,
134
- moptions_.memtable_huge_page_size, ioptions.logger));
135
- }
136
- // Initialize cached_range_tombstone_ here since it could
137
- // be read before it is constructed in MemTable::Add(), which could also lead
138
- // to a data race on the global mutex table backing atomic shared_ptr.
139
- auto new_cache = std::make_shared<FragmentedRangeTombstoneListCache>();
140
- size_t size = cached_range_tombstone_.Size();
141
- for (size_t i = 0; i < size; ++i) {
142
- std::shared_ptr<FragmentedRangeTombstoneListCache>* local_cache_ref_ptr =
143
- cached_range_tombstone_.AccessAtCore(i);
144
- auto new_local_cache_ref = std::make_shared<
145
- const std::shared_ptr<FragmentedRangeTombstoneListCache>>(new_cache);
146
- std::atomic_store_explicit(
147
- local_cache_ref_ptr,
148
- std::shared_ptr<FragmentedRangeTombstoneListCache>(new_local_cache_ref,
149
- new_cache.get()),
150
- std::memory_order_relaxed);
151
- }
152
- const Comparator* ucmp = cmp.user_comparator();
153
- assert(ucmp);
154
- ts_sz_ = ucmp->timestamp_size();
155
- persist_user_defined_timestamps_ = ioptions.persist_user_defined_timestamps;
156
- }
157
-
158
- MemTable::~MemTable() {
159
- mem_tracker_.FreeMem();
160
- assert(refs_ == 0);
161
- }
162
-
163
- size_t MemTable::ApproximateMemoryUsage() {
164
- autovector<size_t> usages = {
165
- arena_.ApproximateMemoryUsage(), table_->ApproximateMemoryUsage(),
166
- range_del_table_->ApproximateMemoryUsage(),
167
- ROCKSDB_NAMESPACE::ApproximateMemoryUsage(insert_hints_)};
168
- size_t total_usage = 0;
169
- for (size_t usage : usages) {
170
- // If usage + total_usage >= kMaxSizet, return kMaxSizet.
171
- // the following variation is to avoid numeric overflow.
172
- if (usage >= std::numeric_limits<size_t>::max() - total_usage) {
173
- return std::numeric_limits<size_t>::max();
174
- }
175
- total_usage += usage;
176
- }
177
- approximate_memory_usage_.store(total_usage, std::memory_order_relaxed);
178
- // otherwise, return the actual usage
179
- return total_usage;
180
- }
181
-
182
- bool MemTable::ShouldFlushNow() {
183
- // This is set if memtable_max_range_deletions is > 0,
184
- // and that many range deletions are done
185
- if (memtable_max_range_deletions_ > 0 &&
186
- num_range_deletes_.load(std::memory_order_relaxed) >=
187
- static_cast<uint64_t>(memtable_max_range_deletions_)) {
188
- return true;
189
- }
190
-
191
- size_t write_buffer_size = write_buffer_size_.load(std::memory_order_relaxed);
192
- // In a lot of times, we cannot allocate arena blocks that exactly matches the
193
- // buffer size. Thus we have to decide if we should over-allocate or
194
- // under-allocate.
195
- // This constant variable can be interpreted as: if we still have more than
196
- // "kAllowOverAllocationRatio * kArenaBlockSize" space left, we'd try to over
197
- // allocate one more block.
198
- const double kAllowOverAllocationRatio = 0.6;
199
-
200
- // If arena still have room for new block allocation, we can safely say it
201
- // shouldn't flush.
202
- auto allocated_memory = table_->ApproximateMemoryUsage() +
203
- range_del_table_->ApproximateMemoryUsage() +
204
- arena_.MemoryAllocatedBytes();
205
-
206
- approximate_memory_usage_.store(allocated_memory, std::memory_order_relaxed);
207
-
208
- // if we can still allocate one more block without exceeding the
209
- // over-allocation ratio, then we should not flush.
210
- if (allocated_memory + kArenaBlockSize <
211
- write_buffer_size + kArenaBlockSize * kAllowOverAllocationRatio) {
212
- return false;
213
- }
214
-
215
- // if user keeps adding entries that exceeds write_buffer_size, we need to
216
- // flush earlier even though we still have much available memory left.
217
- if (allocated_memory >
218
- write_buffer_size + kArenaBlockSize * kAllowOverAllocationRatio) {
219
- return true;
220
- }
221
-
222
- // In this code path, Arena has already allocated its "last block", which
223
- // means the total allocatedmemory size is either:
224
- // (1) "moderately" over allocated the memory (no more than `0.6 * arena
225
- // block size`. Or,
226
- // (2) the allocated memory is less than write buffer size, but we'll stop
227
- // here since if we allocate a new arena block, we'll over allocate too much
228
- // more (half of the arena block size) memory.
229
- //
230
- // In either case, to avoid over-allocate, the last block will stop allocation
231
- // when its usage reaches a certain ratio, which we carefully choose "0.75
232
- // full" as the stop condition because it addresses the following issue with
233
- // great simplicity: What if the next inserted entry's size is
234
- // bigger than AllocatedAndUnused()?
235
- //
236
- // The answer is: if the entry size is also bigger than 0.25 *
237
- // kArenaBlockSize, a dedicated block will be allocated for it; otherwise
238
- // arena will anyway skip the AllocatedAndUnused() and allocate a new, empty
239
- // and regular block. In either case, we *overly* over-allocated.
240
- //
241
- // Therefore, setting the last block to be at most "0.75 full" avoids both
242
- // cases.
243
- //
244
- // NOTE: the average percentage of waste space of this approach can be counted
245
- // as: "arena block size * 0.25 / write buffer size". User who specify a small
246
- // write buffer size and/or big arena block size may suffer.
247
- return arena_.AllocatedAndUnused() < kArenaBlockSize / 4;
248
- }
249
-
250
- void MemTable::UpdateFlushState() {
251
- auto state = flush_state_.load(std::memory_order_relaxed);
252
- if (state == FLUSH_NOT_REQUESTED && ShouldFlushNow()) {
253
- // ignore CAS failure, because that means somebody else requested
254
- // a flush
255
- flush_state_.compare_exchange_strong(state, FLUSH_REQUESTED,
256
- std::memory_order_relaxed,
257
- std::memory_order_relaxed);
258
- }
259
- }
260
-
261
- void MemTable::UpdateOldestKeyTime() {
262
- uint64_t oldest_key_time = oldest_key_time_.load(std::memory_order_relaxed);
263
- if (oldest_key_time == std::numeric_limits<uint64_t>::max()) {
264
- int64_t current_time = 0;
265
- auto s = clock_->GetCurrentTime(&current_time);
266
- if (s.ok()) {
267
- assert(current_time >= 0);
268
- // If fail, the timestamp is already set.
269
- oldest_key_time_.compare_exchange_strong(
270
- oldest_key_time, static_cast<uint64_t>(current_time),
271
- std::memory_order_relaxed, std::memory_order_relaxed);
272
- }
273
- }
274
- }
275
-
276
- Status MemTable::VerifyEntryChecksum(const char* entry,
277
- uint32_t protection_bytes_per_key,
278
- bool allow_data_in_errors) {
279
- if (protection_bytes_per_key == 0) {
280
- return Status::OK();
281
- }
282
- uint32_t key_length;
283
- const char* key_ptr = GetVarint32Ptr(entry, entry + 5, &key_length);
284
- if (key_ptr == nullptr) {
285
- return Status::Corruption("Unable to parse internal key length");
286
- }
287
- if (key_length < 8) {
288
- return Status::Corruption("Memtable entry internal key length too short.");
289
- }
290
- Slice user_key = Slice(key_ptr, key_length - 8);
291
-
292
- const uint64_t tag = DecodeFixed64(key_ptr + key_length - 8);
293
- ValueType type;
294
- SequenceNumber seq;
295
- UnPackSequenceAndType(tag, &seq, &type);
296
-
297
- uint32_t value_length = 0;
298
- const char* value_ptr = GetVarint32Ptr(
299
- key_ptr + key_length, key_ptr + key_length + 5, &value_length);
300
- if (value_ptr == nullptr) {
301
- return Status::Corruption("Unable to parse internal key value");
302
- }
303
- Slice value = Slice(value_ptr, value_length);
304
-
305
- const char* checksum_ptr = value_ptr + value_length;
306
- bool match =
307
- ProtectionInfo64()
308
- .ProtectKVO(user_key, value, type)
309
- .ProtectS(seq)
310
- .Verify(static_cast<uint8_t>(protection_bytes_per_key), checksum_ptr);
311
- if (!match) {
312
- std::string msg(
313
- "Corrupted memtable entry, per key-value checksum verification "
314
- "failed.");
315
- if (allow_data_in_errors) {
316
- msg.append("Unrecognized value type: " +
317
- std::to_string(static_cast<int>(type)) + ". ");
318
- msg.append("User key: " + user_key.ToString(/*hex=*/true) + ". ");
319
- msg.append("seq: " + std::to_string(seq) + ".");
320
- }
321
- return Status::Corruption(msg.c_str());
322
- }
323
- return Status::OK();
324
- }
325
-
326
- int MemTable::KeyComparator::operator()(const char* prefix_len_key1,
327
- const char* prefix_len_key2) const {
328
- // Internal keys are encoded as length-prefixed strings.
329
- Slice k1 = GetLengthPrefixedSlice(prefix_len_key1);
330
- Slice k2 = GetLengthPrefixedSlice(prefix_len_key2);
331
- return comparator.CompareKeySeq(k1, k2);
332
- }
333
-
334
- int MemTable::KeyComparator::operator()(
335
- const char* prefix_len_key, const KeyComparator::DecodedType& key) const {
336
- // Internal keys are encoded as length-prefixed strings.
337
- Slice a = GetLengthPrefixedSlice(prefix_len_key);
338
- return comparator.CompareKeySeq(a, key);
339
- }
340
-
341
- void MemTableRep::InsertConcurrently(KeyHandle /*handle*/) {
342
- throw std::runtime_error("concurrent insert not supported");
343
- }
344
-
345
- Slice MemTableRep::UserKey(const char* key) const {
346
- Slice slice = GetLengthPrefixedSlice(key);
347
- return Slice(slice.data(), slice.size() - 8);
348
- }
349
-
350
- KeyHandle MemTableRep::Allocate(const size_t len, char** buf) {
351
- *buf = allocator_->Allocate(len);
352
- return static_cast<KeyHandle>(*buf);
353
- }
354
-
355
- // Encode a suitable internal key target for "target" and return it.
356
- // Uses *scratch as scratch space, and the returned pointer will point
357
- // into this scratch space.
358
- const char* EncodeKey(std::string* scratch, const Slice& target) {
359
- scratch->clear();
360
- PutVarint32(scratch, static_cast<uint32_t>(target.size()));
361
- scratch->append(target.data(), target.size());
362
- return scratch->data();
363
- }
364
-
365
- class MemTableIterator : public InternalIterator {
366
- public:
367
- MemTableIterator(const MemTable& mem, const ReadOptions& read_options,
368
- UnownedPtr<const SeqnoToTimeMapping> seqno_to_time_mapping,
369
- Arena* arena, bool use_range_del_table = false)
370
- : bloom_(nullptr),
371
- prefix_extractor_(mem.prefix_extractor_),
372
- comparator_(mem.comparator_),
373
- valid_(false),
374
- seqno_to_time_mapping_(seqno_to_time_mapping),
375
- arena_mode_(arena != nullptr),
376
- value_pinned_(
377
- !mem.GetImmutableMemTableOptions()->inplace_update_support),
378
- protection_bytes_per_key_(mem.moptions_.protection_bytes_per_key),
379
- status_(Status::OK()),
380
- logger_(mem.moptions_.info_log),
381
- ts_sz_(mem.ts_sz_) {
382
- if (use_range_del_table) {
383
- iter_ = mem.range_del_table_->GetIterator(arena);
384
- } else if (prefix_extractor_ != nullptr && !read_options.total_order_seek &&
385
- !read_options.auto_prefix_mode) {
386
- // Auto prefix mode is not implemented in memtable yet.
387
- bloom_ = mem.bloom_filter_.get();
388
- iter_ = mem.table_->GetDynamicPrefixIterator(arena);
389
- } else {
390
- iter_ = mem.table_->GetIterator(arena);
391
- }
392
- status_.PermitUncheckedError();
393
- }
394
- // No copying allowed
395
- MemTableIterator(const MemTableIterator&) = delete;
396
- void operator=(const MemTableIterator&) = delete;
397
-
398
- ~MemTableIterator() override {
399
- #ifndef NDEBUG
400
- // Assert that the MemTableIterator is never deleted while
401
- // Pinning is Enabled.
402
- assert(!pinned_iters_mgr_ || !pinned_iters_mgr_->PinningEnabled());
403
- #endif
404
- if (arena_mode_) {
405
- iter_->~Iterator();
406
- } else {
407
- delete iter_;
408
- }
409
- }
410
-
411
- #ifndef NDEBUG
412
- void SetPinnedItersMgr(PinnedIteratorsManager* pinned_iters_mgr) override {
413
- pinned_iters_mgr_ = pinned_iters_mgr;
414
- }
415
- PinnedIteratorsManager* pinned_iters_mgr_ = nullptr;
416
- #endif
417
-
418
- bool Valid() const override { return valid_ && status_.ok(); }
419
- void Seek(const Slice& k) override {
420
- PERF_TIMER_GUARD(seek_on_memtable_time);
421
- PERF_COUNTER_ADD(seek_on_memtable_count, 1);
422
- if (bloom_) {
423
- // iterator should only use prefix bloom filter
424
- Slice user_k_without_ts(ExtractUserKeyAndStripTimestamp(k, ts_sz_));
425
- if (prefix_extractor_->InDomain(user_k_without_ts)) {
426
- if (!bloom_->MayContain(
427
- prefix_extractor_->Transform(user_k_without_ts))) {
428
- PERF_COUNTER_ADD(bloom_memtable_miss_count, 1);
429
- valid_ = false;
430
- return;
431
- } else {
432
- PERF_COUNTER_ADD(bloom_memtable_hit_count, 1);
433
- }
434
- }
435
- }
436
- iter_->Seek(k, nullptr);
437
- valid_ = iter_->Valid();
438
- VerifyEntryChecksum();
439
- }
440
- void SeekForPrev(const Slice& k) override {
441
- PERF_TIMER_GUARD(seek_on_memtable_time);
442
- PERF_COUNTER_ADD(seek_on_memtable_count, 1);
443
- if (bloom_) {
444
- Slice user_k_without_ts(ExtractUserKeyAndStripTimestamp(k, ts_sz_));
445
- if (prefix_extractor_->InDomain(user_k_without_ts)) {
446
- if (!bloom_->MayContain(
447
- prefix_extractor_->Transform(user_k_without_ts))) {
448
- PERF_COUNTER_ADD(bloom_memtable_miss_count, 1);
449
- valid_ = false;
450
- return;
451
- } else {
452
- PERF_COUNTER_ADD(bloom_memtable_hit_count, 1);
453
- }
454
- }
455
- }
456
- iter_->Seek(k, nullptr);
457
- valid_ = iter_->Valid();
458
- VerifyEntryChecksum();
459
- if (!Valid() && status().ok()) {
460
- SeekToLast();
461
- }
462
- while (Valid() && comparator_.comparator.Compare(k, key()) < 0) {
463
- Prev();
464
- }
465
- }
466
- void SeekToFirst() override {
467
- iter_->SeekToFirst();
468
- valid_ = iter_->Valid();
469
- VerifyEntryChecksum();
470
- }
471
- void SeekToLast() override {
472
- iter_->SeekToLast();
473
- valid_ = iter_->Valid();
474
- VerifyEntryChecksum();
475
- }
476
- void Next() override {
477
- PERF_COUNTER_ADD(next_on_memtable_count, 1);
478
- assert(Valid());
479
- iter_->Next();
480
- TEST_SYNC_POINT_CALLBACK("MemTableIterator::Next:0", iter_);
481
- valid_ = iter_->Valid();
482
- VerifyEntryChecksum();
483
- }
484
- bool NextAndGetResult(IterateResult* result) override {
485
- Next();
486
- bool is_valid = Valid();
487
- if (is_valid) {
488
- result->key = key();
489
- result->bound_check_result = IterBoundCheck::kUnknown;
490
- result->value_prepared = true;
491
- }
492
- return is_valid;
493
- }
494
- void Prev() override {
495
- PERF_COUNTER_ADD(prev_on_memtable_count, 1);
496
- assert(Valid());
497
- iter_->Prev();
498
- valid_ = iter_->Valid();
499
- VerifyEntryChecksum();
500
- }
501
- Slice key() const override {
502
- assert(Valid());
503
- return GetLengthPrefixedSlice(iter_->key());
504
- }
505
-
506
- uint64_t write_unix_time() const override {
507
- assert(Valid());
508
- ParsedInternalKey pikey;
509
- Status s = ParseInternalKey(key(), &pikey, /*log_err_key=*/false);
510
- if (!s.ok()) {
511
- return std::numeric_limits<uint64_t>::max();
512
- } else if (kTypeValuePreferredSeqno == pikey.type) {
513
- return ParsePackedValueForWriteTime(value());
514
- } else if (!seqno_to_time_mapping_ || seqno_to_time_mapping_->Empty()) {
515
- return std::numeric_limits<uint64_t>::max();
516
- }
517
- return seqno_to_time_mapping_->GetProximalTimeBeforeSeqno(pikey.sequence);
518
- }
519
-
520
- Slice value() const override {
521
- assert(Valid());
522
- Slice key_slice = GetLengthPrefixedSlice(iter_->key());
523
- return GetLengthPrefixedSlice(key_slice.data() + key_slice.size());
524
- }
525
-
526
- Status status() const override { return status_; }
527
-
528
- bool IsKeyPinned() const override {
529
- // memtable data is always pinned
530
- return true;
531
- }
532
-
533
- bool IsValuePinned() const override {
534
- // memtable value is always pinned, except if we allow inplace update.
535
- return value_pinned_;
536
- }
537
-
538
- private:
539
- DynamicBloom* bloom_;
540
- const SliceTransform* const prefix_extractor_;
541
- const MemTable::KeyComparator comparator_;
542
- MemTableRep::Iterator* iter_;
543
- bool valid_;
544
- // The seqno to time mapping is owned by the SuperVersion.
545
- UnownedPtr<const SeqnoToTimeMapping> seqno_to_time_mapping_;
546
- bool arena_mode_;
547
- bool value_pinned_;
548
- uint32_t protection_bytes_per_key_;
549
- Status status_;
550
- Logger* logger_;
551
- size_t ts_sz_;
552
-
553
- void VerifyEntryChecksum() {
554
- if (protection_bytes_per_key_ > 0 && Valid()) {
555
- status_ = MemTable::VerifyEntryChecksum(iter_->key(),
556
- protection_bytes_per_key_);
557
- if (!status_.ok()) {
558
- ROCKS_LOG_ERROR(logger_, "In MemtableIterator: %s", status_.getState());
559
- }
560
- }
561
- }
562
- };
563
-
564
- InternalIterator* MemTable::NewIterator(
565
- const ReadOptions& read_options,
566
- UnownedPtr<const SeqnoToTimeMapping> seqno_to_time_mapping, Arena* arena) {
567
- assert(arena != nullptr);
568
- auto mem = arena->AllocateAligned(sizeof(MemTableIterator));
569
- return new (mem)
570
- MemTableIterator(*this, read_options, seqno_to_time_mapping, arena);
571
- }
572
-
573
- FragmentedRangeTombstoneIterator* MemTable::NewRangeTombstoneIterator(
574
- const ReadOptions& read_options, SequenceNumber read_seq,
575
- bool immutable_memtable) {
576
- if (read_options.ignore_range_deletions ||
577
- is_range_del_table_empty_.load(std::memory_order_relaxed)) {
578
- return nullptr;
579
- }
580
- return NewRangeTombstoneIteratorInternal(read_options, read_seq,
581
- immutable_memtable);
582
- }
583
-
584
- FragmentedRangeTombstoneIterator* MemTable::NewRangeTombstoneIteratorInternal(
585
- const ReadOptions& read_options, SequenceNumber read_seq,
586
- bool immutable_memtable) {
587
- if (immutable_memtable) {
588
- // Note that caller should already have verified that
589
- // !is_range_del_table_empty_
590
- assert(IsFragmentedRangeTombstonesConstructed());
591
- return new FragmentedRangeTombstoneIterator(
592
- fragmented_range_tombstone_list_.get(), comparator_.comparator,
593
- read_seq, read_options.timestamp);
594
- }
595
-
596
- // takes current cache
597
- std::shared_ptr<FragmentedRangeTombstoneListCache> cache =
598
- std::atomic_load_explicit(cached_range_tombstone_.Access(),
599
- std::memory_order_relaxed);
600
- // construct fragmented tombstone list if necessary
601
- if (!cache->initialized.load(std::memory_order_acquire)) {
602
- cache->reader_mutex.lock();
603
- if (!cache->tombstones) {
604
- auto* unfragmented_iter = new MemTableIterator(
605
- *this, read_options, nullptr /* seqno_to_time_mapping= */,
606
- nullptr /* arena */, true /* use_range_del_table */);
607
- cache->tombstones.reset(new FragmentedRangeTombstoneList(
608
- std::unique_ptr<InternalIterator>(unfragmented_iter),
609
- comparator_.comparator));
610
- cache->initialized.store(true, std::memory_order_release);
611
- }
612
- cache->reader_mutex.unlock();
613
- }
614
-
615
- auto* fragmented_iter = new FragmentedRangeTombstoneIterator(
616
- cache, comparator_.comparator, read_seq, read_options.timestamp);
617
- return fragmented_iter;
618
- }
619
-
620
- void MemTable::ConstructFragmentedRangeTombstones() {
621
- // There should be no concurrent Construction.
622
- // We could also check fragmented_range_tombstone_list_ to avoid repeate
623
- // constructions. We just construct them here again to be safe.
624
- if (!is_range_del_table_empty_.load(std::memory_order_relaxed)) {
625
- // TODO: plumb Env::IOActivity, Env::IOPriority
626
- auto* unfragmented_iter = new MemTableIterator(
627
- *this, ReadOptions(), nullptr /*seqno_to_time_mapping=*/,
628
- nullptr /* arena */, true /* use_range_del_table */);
629
-
630
- fragmented_range_tombstone_list_ =
631
- std::make_unique<FragmentedRangeTombstoneList>(
632
- std::unique_ptr<InternalIterator>(unfragmented_iter),
633
- comparator_.comparator);
634
- }
635
- }
636
-
637
- port::RWMutex* MemTable::GetLock(const Slice& key) {
638
- return &locks_[GetSliceRangedNPHash(key, locks_.size())];
639
- }
640
-
641
- MemTable::MemTableStats MemTable::ApproximateStats(const Slice& start_ikey,
642
- const Slice& end_ikey) {
643
- uint64_t entry_count = table_->ApproximateNumEntries(start_ikey, end_ikey);
644
- entry_count += range_del_table_->ApproximateNumEntries(start_ikey, end_ikey);
645
- if (entry_count == 0) {
646
- return {0, 0};
647
- }
648
- uint64_t n = num_entries_.load(std::memory_order_relaxed);
649
- if (n == 0) {
650
- return {0, 0};
651
- }
652
- if (entry_count > n) {
653
- // (range_del_)table_->ApproximateNumEntries() is just an estimate so it can
654
- // be larger than actual entries we have. Cap it to entries we have to limit
655
- // the inaccuracy.
656
- entry_count = n;
657
- }
658
- uint64_t data_size = data_size_.load(std::memory_order_relaxed);
659
- return {entry_count * (data_size / n), entry_count};
660
- }
661
-
662
- Status MemTable::VerifyEncodedEntry(Slice encoded,
663
- const ProtectionInfoKVOS64& kv_prot_info) {
664
- uint32_t ikey_len = 0;
665
- if (!GetVarint32(&encoded, &ikey_len)) {
666
- return Status::Corruption("Unable to parse internal key length");
667
- }
668
- if (ikey_len < 8 + ts_sz_) {
669
- return Status::Corruption("Internal key length too short");
670
- }
671
- if (ikey_len > encoded.size()) {
672
- return Status::Corruption("Internal key length too long");
673
- }
674
- uint32_t value_len = 0;
675
- const size_t user_key_len = ikey_len - 8;
676
- Slice key(encoded.data(), user_key_len);
677
- encoded.remove_prefix(user_key_len);
678
-
679
- uint64_t packed = DecodeFixed64(encoded.data());
680
- ValueType value_type = kMaxValue;
681
- SequenceNumber sequence_number = kMaxSequenceNumber;
682
- UnPackSequenceAndType(packed, &sequence_number, &value_type);
683
- encoded.remove_prefix(8);
684
-
685
- if (!GetVarint32(&encoded, &value_len)) {
686
- return Status::Corruption("Unable to parse value length");
687
- }
688
- if (value_len < encoded.size()) {
689
- return Status::Corruption("Value length too short");
690
- }
691
- if (value_len > encoded.size()) {
692
- return Status::Corruption("Value length too long");
693
- }
694
- Slice value(encoded.data(), value_len);
695
-
696
- return kv_prot_info.StripS(sequence_number)
697
- .StripKVO(key, value, value_type)
698
- .GetStatus();
699
- }
700
-
701
- void MemTable::UpdateEntryChecksum(const ProtectionInfoKVOS64* kv_prot_info,
702
- const Slice& key, const Slice& value,
703
- ValueType type, SequenceNumber s,
704
- char* checksum_ptr) {
705
- if (moptions_.protection_bytes_per_key == 0) {
706
- return;
707
- }
708
-
709
- if (kv_prot_info == nullptr) {
710
- ProtectionInfo64()
711
- .ProtectKVO(key, value, type)
712
- .ProtectS(s)
713
- .Encode(static_cast<uint8_t>(moptions_.protection_bytes_per_key),
714
- checksum_ptr);
715
- } else {
716
- kv_prot_info->Encode(
717
- static_cast<uint8_t>(moptions_.protection_bytes_per_key), checksum_ptr);
718
- }
719
- }
720
-
721
- Status MemTable::Add(SequenceNumber s, ValueType type,
722
- const Slice& key, /* user key */
723
- const Slice& value,
724
- const ProtectionInfoKVOS64* kv_prot_info,
725
- bool allow_concurrent,
726
- MemTablePostProcessInfo* post_process_info, void** hint) {
727
- // Format of an entry is concatenation of:
728
- // key_size : varint32 of internal_key.size()
729
- // key bytes : char[internal_key.size()]
730
- // value_size : varint32 of value.size()
731
- // value bytes : char[value.size()]
732
- // checksum : char[moptions_.protection_bytes_per_key]
733
- uint32_t key_size = static_cast<uint32_t>(key.size());
734
- uint32_t val_size = static_cast<uint32_t>(value.size());
735
- uint32_t internal_key_size = key_size + 8;
736
- const uint32_t encoded_len = VarintLength(internal_key_size) +
737
- internal_key_size + VarintLength(val_size) +
738
- val_size + moptions_.protection_bytes_per_key;
739
- char* buf = nullptr;
740
- std::unique_ptr<MemTableRep>& table =
741
- type == kTypeRangeDeletion ? range_del_table_ : table_;
742
- KeyHandle handle = table->Allocate(encoded_len, &buf);
743
-
744
- char* p = EncodeVarint32(buf, internal_key_size);
745
- memcpy(p, key.data(), key_size);
746
- Slice key_slice(p, key_size);
747
- p += key_size;
748
- uint64_t packed = PackSequenceAndType(s, type);
749
- EncodeFixed64(p, packed);
750
- p += 8;
751
- p = EncodeVarint32(p, val_size);
752
- memcpy(p, value.data(), val_size);
753
- assert((unsigned)(p + val_size - buf + moptions_.protection_bytes_per_key) ==
754
- (unsigned)encoded_len);
755
-
756
- UpdateEntryChecksum(kv_prot_info, key, value, type, s,
757
- buf + encoded_len - moptions_.protection_bytes_per_key);
758
- Slice encoded(buf, encoded_len - moptions_.protection_bytes_per_key);
759
- if (kv_prot_info != nullptr) {
760
- TEST_SYNC_POINT_CALLBACK("MemTable::Add:Encoded", &encoded);
761
- Status status = VerifyEncodedEntry(encoded, *kv_prot_info);
762
- if (!status.ok()) {
763
- return status;
764
- }
765
- }
766
-
767
- Slice key_without_ts = StripTimestampFromUserKey(key, ts_sz_);
768
-
769
- if (!allow_concurrent) {
770
- // Extract prefix for insert with hint. Hints are for point key table
771
- // (`table_`) only, not `range_del_table_`.
772
- if (table == table_ && insert_with_hint_prefix_extractor_ != nullptr &&
773
- insert_with_hint_prefix_extractor_->InDomain(key_slice)) {
774
- Slice prefix = insert_with_hint_prefix_extractor_->Transform(key_slice);
775
- bool res = table->InsertKeyWithHint(handle, &insert_hints_[prefix]);
776
- if (UNLIKELY(!res)) {
777
- return Status::TryAgain("key+seq exists");
778
- }
779
- } else {
780
- bool res = table->InsertKey(handle);
781
- if (UNLIKELY(!res)) {
782
- return Status::TryAgain("key+seq exists");
783
- }
784
- }
785
-
786
- // this is a bit ugly, but is the way to avoid locked instructions
787
- // when incrementing an atomic
788
- num_entries_.store(num_entries_.load(std::memory_order_relaxed) + 1,
789
- std::memory_order_relaxed);
790
- data_size_.store(data_size_.load(std::memory_order_relaxed) + encoded_len,
791
- std::memory_order_relaxed);
792
- if (type == kTypeDeletion || type == kTypeSingleDeletion ||
793
- type == kTypeDeletionWithTimestamp) {
794
- num_deletes_.store(num_deletes_.load(std::memory_order_relaxed) + 1,
795
- std::memory_order_relaxed);
796
- } else if (type == kTypeRangeDeletion) {
797
- uint64_t val = num_range_deletes_.load(std::memory_order_relaxed) + 1;
798
- num_range_deletes_.store(val, std::memory_order_relaxed);
799
- }
800
-
801
- if (bloom_filter_ && prefix_extractor_ &&
802
- prefix_extractor_->InDomain(key_without_ts)) {
803
- bloom_filter_->Add(prefix_extractor_->Transform(key_without_ts));
804
- }
805
- if (bloom_filter_ && moptions_.memtable_whole_key_filtering) {
806
- bloom_filter_->Add(key_without_ts);
807
- }
808
-
809
- // The first sequence number inserted into the memtable
810
- assert(first_seqno_ == 0 || s >= first_seqno_);
811
- if (first_seqno_ == 0) {
812
- first_seqno_.store(s, std::memory_order_relaxed);
813
-
814
- if (earliest_seqno_ == kMaxSequenceNumber) {
815
- earliest_seqno_.store(GetFirstSequenceNumber(),
816
- std::memory_order_relaxed);
817
- }
818
- assert(first_seqno_.load() >= earliest_seqno_.load());
819
- }
820
- assert(post_process_info == nullptr);
821
- // TODO(yuzhangyu): support updating newest UDT for when `allow_concurrent`
822
- // is true.
823
- MaybeUpdateNewestUDT(key_slice);
824
- UpdateFlushState();
825
- } else {
826
- bool res = (hint == nullptr)
827
- ? table->InsertKeyConcurrently(handle)
828
- : table->InsertKeyWithHintConcurrently(handle, hint);
829
- if (UNLIKELY(!res)) {
830
- return Status::TryAgain("key+seq exists");
831
- }
832
-
833
- assert(post_process_info != nullptr);
834
- post_process_info->num_entries++;
835
- post_process_info->data_size += encoded_len;
836
- if (type == kTypeDeletion) {
837
- post_process_info->num_deletes++;
838
- }
839
-
840
- if (bloom_filter_ && prefix_extractor_ &&
841
- prefix_extractor_->InDomain(key_without_ts)) {
842
- bloom_filter_->AddConcurrently(
843
- prefix_extractor_->Transform(key_without_ts));
844
- }
845
- if (bloom_filter_ && moptions_.memtable_whole_key_filtering) {
846
- bloom_filter_->AddConcurrently(key_without_ts);
847
- }
848
-
849
- // atomically update first_seqno_ and earliest_seqno_.
850
- uint64_t cur_seq_num = first_seqno_.load(std::memory_order_relaxed);
851
- while ((cur_seq_num == 0 || s < cur_seq_num) &&
852
- !first_seqno_.compare_exchange_weak(cur_seq_num, s)) {
853
- }
854
- uint64_t cur_earliest_seqno =
855
- earliest_seqno_.load(std::memory_order_relaxed);
856
- while (
857
- (cur_earliest_seqno == kMaxSequenceNumber || s < cur_earliest_seqno) &&
858
- !earliest_seqno_.compare_exchange_weak(cur_earliest_seqno, s)) {
859
- }
860
- }
861
- if (type == kTypeRangeDeletion) {
862
- auto new_cache = std::make_shared<FragmentedRangeTombstoneListCache>();
863
- size_t size = cached_range_tombstone_.Size();
864
- if (allow_concurrent) {
865
- post_process_info->num_range_deletes++;
866
- range_del_mutex_.lock();
867
- }
868
- for (size_t i = 0; i < size; ++i) {
869
- std::shared_ptr<FragmentedRangeTombstoneListCache>* local_cache_ref_ptr =
870
- cached_range_tombstone_.AccessAtCore(i);
871
- auto new_local_cache_ref = std::make_shared<
872
- const std::shared_ptr<FragmentedRangeTombstoneListCache>>(new_cache);
873
- // It is okay for some reader to load old cache during invalidation as
874
- // the new sequence number is not published yet.
875
- // Each core will have a shared_ptr to a shared_ptr to the cached
876
- // fragmented range tombstones, so that ref count is maintianed locally
877
- // per-core using the per-core shared_ptr.
878
- std::atomic_store_explicit(
879
- local_cache_ref_ptr,
880
- std::shared_ptr<FragmentedRangeTombstoneListCache>(
881
- new_local_cache_ref, new_cache.get()),
882
- std::memory_order_relaxed);
883
- }
884
-
885
- if (allow_concurrent) {
886
- range_del_mutex_.unlock();
887
- }
888
- is_range_del_table_empty_.store(false, std::memory_order_relaxed);
889
- }
890
- UpdateOldestKeyTime();
891
-
892
- TEST_SYNC_POINT_CALLBACK("MemTable::Add:BeforeReturn:Encoded", &encoded);
893
- return Status::OK();
894
- }
895
-
896
- // Callback from MemTable::Get()
897
- namespace {
898
-
899
- struct Saver {
900
- Status* status;
901
- const LookupKey* key;
902
- bool* found_final_value; // Is value set correctly? Used by KeyMayExist
903
- bool* merge_in_progress;
904
- std::string* value;
905
- PinnableWideColumns* columns;
906
- SequenceNumber seq;
907
- std::string* timestamp;
908
- const MergeOperator* merge_operator;
909
- // the merge operations encountered;
910
- MergeContext* merge_context;
911
- SequenceNumber max_covering_tombstone_seq;
912
- MemTable* mem;
913
- Logger* logger;
914
- Statistics* statistics;
915
- bool inplace_update_support;
916
- bool do_merge;
917
- SystemClock* clock;
918
-
919
- ReadCallback* callback_;
920
- bool* is_blob_index;
921
- bool allow_data_in_errors;
922
- uint32_t protection_bytes_per_key;
923
- bool CheckCallback(SequenceNumber _seq) {
924
- if (callback_) {
925
- return callback_->IsVisible(_seq);
926
- }
927
- return true;
928
- }
929
- };
930
- } // anonymous namespace
931
-
932
- static bool SaveValue(void* arg, const char* entry) {
933
- Saver* s = static_cast<Saver*>(arg);
934
- assert(s != nullptr);
935
- assert(!s->value || !s->columns);
936
-
937
- MergeContext* merge_context = s->merge_context;
938
- SequenceNumber max_covering_tombstone_seq = s->max_covering_tombstone_seq;
939
- const MergeOperator* merge_operator = s->merge_operator;
940
-
941
- assert(merge_context != nullptr);
942
-
943
- // Refer to comments under MemTable::Add() for entry format.
944
- // Check that it belongs to same user key.
945
- uint32_t key_length = 0;
946
- const char* key_ptr = GetVarint32Ptr(entry, entry + 5, &key_length);
947
- assert(key_length >= 8);
948
- Slice user_key_slice = Slice(key_ptr, key_length - 8);
949
- const Comparator* user_comparator =
950
- s->mem->GetInternalKeyComparator().user_comparator();
951
- size_t ts_sz = user_comparator->timestamp_size();
952
- if (ts_sz && s->timestamp && max_covering_tombstone_seq > 0) {
953
- // timestamp should already be set to range tombstone timestamp
954
- assert(s->timestamp->size() == ts_sz);
955
- }
956
- if (user_comparator->EqualWithoutTimestamp(user_key_slice,
957
- s->key->user_key())) {
958
- // Correct user key
959
- TEST_SYNC_POINT_CALLBACK("Memtable::SaveValue:Found:entry", &entry);
960
- std::optional<ReadLock> read_lock;
961
- if (s->inplace_update_support) {
962
- read_lock.emplace(s->mem->GetLock(s->key->user_key()));
963
- }
964
-
965
- if (s->protection_bytes_per_key > 0) {
966
- *(s->status) = MemTable::VerifyEntryChecksum(
967
- entry, s->protection_bytes_per_key, s->allow_data_in_errors);
968
- if (!s->status->ok()) {
969
- ROCKS_LOG_ERROR(s->logger, "In SaveValue: %s", s->status->getState());
970
- // Memtable entry corrupted
971
- return false;
972
- }
973
- }
974
-
975
- const uint64_t tag = DecodeFixed64(key_ptr + key_length - 8);
976
- ValueType type;
977
- SequenceNumber seq;
978
- UnPackSequenceAndType(tag, &seq, &type);
979
- // If the value is not in the snapshot, skip it
980
- if (!s->CheckCallback(seq)) {
981
- return true; // to continue to the next seq
982
- }
983
-
984
- if (s->seq == kMaxSequenceNumber) {
985
- s->seq = seq;
986
- if (s->seq > max_covering_tombstone_seq) {
987
- if (ts_sz && s->timestamp != nullptr) {
988
- // `timestamp` was set to range tombstone's timestamp before
989
- // `SaveValue` is ever called. This key has a higher sequence number
990
- // than range tombstone, and is the key with the highest seqno across
991
- // all keys with this user_key, so we update timestamp here.
992
- Slice ts = ExtractTimestampFromUserKey(user_key_slice, ts_sz);
993
- s->timestamp->assign(ts.data(), ts_sz);
994
- }
995
- } else {
996
- s->seq = max_covering_tombstone_seq;
997
- }
998
- }
999
-
1000
- if (ts_sz > 0 && s->timestamp != nullptr) {
1001
- if (!s->timestamp->empty()) {
1002
- assert(ts_sz == s->timestamp->size());
1003
- }
1004
- // TODO optimize for smaller size ts
1005
- const std::string kMaxTs(ts_sz, '\xff');
1006
- if (s->timestamp->empty() ||
1007
- user_comparator->CompareTimestamp(*(s->timestamp), kMaxTs) == 0) {
1008
- Slice ts = ExtractTimestampFromUserKey(user_key_slice, ts_sz);
1009
- s->timestamp->assign(ts.data(), ts_sz);
1010
- }
1011
- }
1012
-
1013
- if ((type == kTypeValue || type == kTypeMerge || type == kTypeBlobIndex ||
1014
- type == kTypeWideColumnEntity || type == kTypeDeletion ||
1015
- type == kTypeSingleDeletion || type == kTypeDeletionWithTimestamp ||
1016
- type == kTypeValuePreferredSeqno) &&
1017
- max_covering_tombstone_seq > seq) {
1018
- type = kTypeRangeDeletion;
1019
- }
1020
- switch (type) {
1021
- case kTypeBlobIndex: {
1022
- if (!s->do_merge) {
1023
- *(s->status) = Status::NotSupported(
1024
- "GetMergeOperands not supported by stacked BlobDB");
1025
- *(s->found_final_value) = true;
1026
- return false;
1027
- }
1028
-
1029
- if (*(s->merge_in_progress)) {
1030
- *(s->status) = Status::NotSupported(
1031
- "Merge operator not supported by stacked BlobDB");
1032
- *(s->found_final_value) = true;
1033
- return false;
1034
- }
1035
-
1036
- if (s->is_blob_index == nullptr) {
1037
- ROCKS_LOG_ERROR(s->logger, "Encountered unexpected blob index.");
1038
- *(s->status) = Status::NotSupported(
1039
- "Encountered unexpected blob index. Please open DB with "
1040
- "ROCKSDB_NAMESPACE::blob_db::BlobDB.");
1041
- *(s->found_final_value) = true;
1042
- return false;
1043
- }
1044
-
1045
- Slice v = GetLengthPrefixedSlice(key_ptr + key_length);
1046
-
1047
- *(s->status) = Status::OK();
1048
-
1049
- if (s->value) {
1050
- s->value->assign(v.data(), v.size());
1051
- } else if (s->columns) {
1052
- s->columns->SetPlainValue(v);
1053
- }
1054
-
1055
- *(s->found_final_value) = true;
1056
- *(s->is_blob_index) = true;
1057
-
1058
- return false;
1059
- }
1060
- case kTypeValue:
1061
- case kTypeValuePreferredSeqno: {
1062
- Slice v = GetLengthPrefixedSlice(key_ptr + key_length);
1063
-
1064
- if (type == kTypeValuePreferredSeqno) {
1065
- v = ParsePackedValueForValue(v);
1066
- }
1067
-
1068
- *(s->status) = Status::OK();
1069
-
1070
- if (!s->do_merge) {
1071
- // Preserve the value with the goal of returning it as part of
1072
- // raw merge operands to the user
1073
- // TODO(yanqin) update MergeContext so that timestamps information
1074
- // can also be retained.
1075
-
1076
- merge_context->PushOperand(
1077
- v, s->inplace_update_support == false /* operand_pinned */);
1078
- } else if (*(s->merge_in_progress)) {
1079
- assert(s->do_merge);
1080
-
1081
- if (s->value || s->columns) {
1082
- // `op_failure_scope` (an output parameter) is not provided (set to
1083
- // nullptr) since a failure must be propagated regardless of its
1084
- // value.
1085
- *(s->status) = MergeHelper::TimedFullMerge(
1086
- merge_operator, s->key->user_key(),
1087
- MergeHelper::kPlainBaseValue, v, merge_context->GetOperands(),
1088
- s->logger, s->statistics, s->clock,
1089
- /* update_num_ops_stats */ true, /* op_failure_scope */ nullptr,
1090
- s->value, s->columns);
1091
- }
1092
- } else if (s->value) {
1093
- s->value->assign(v.data(), v.size());
1094
- } else if (s->columns) {
1095
- s->columns->SetPlainValue(v);
1096
- }
1097
-
1098
- *(s->found_final_value) = true;
1099
-
1100
- if (s->is_blob_index != nullptr) {
1101
- *(s->is_blob_index) = false;
1102
- }
1103
-
1104
- return false;
1105
- }
1106
- case kTypeWideColumnEntity: {
1107
- Slice v = GetLengthPrefixedSlice(key_ptr + key_length);
1108
-
1109
- *(s->status) = Status::OK();
1110
-
1111
- if (!s->do_merge) {
1112
- // Preserve the value with the goal of returning it as part of
1113
- // raw merge operands to the user
1114
-
1115
- Slice value_of_default;
1116
- *(s->status) = WideColumnSerialization::GetValueOfDefaultColumn(
1117
- v, value_of_default);
1118
-
1119
- if (s->status->ok()) {
1120
- merge_context->PushOperand(
1121
- value_of_default,
1122
- s->inplace_update_support == false /* operand_pinned */);
1123
- }
1124
- } else if (*(s->merge_in_progress)) {
1125
- assert(s->do_merge);
1126
-
1127
- if (s->value || s->columns) {
1128
- // `op_failure_scope` (an output parameter) is not provided (set
1129
- // to nullptr) since a failure must be propagated regardless of
1130
- // its value.
1131
- *(s->status) = MergeHelper::TimedFullMerge(
1132
- merge_operator, s->key->user_key(), MergeHelper::kWideBaseValue,
1133
- v, merge_context->GetOperands(), s->logger, s->statistics,
1134
- s->clock, /* update_num_ops_stats */ true,
1135
- /* op_failure_scope */ nullptr, s->value, s->columns);
1136
- }
1137
- } else if (s->value) {
1138
- Slice value_of_default;
1139
- *(s->status) = WideColumnSerialization::GetValueOfDefaultColumn(
1140
- v, value_of_default);
1141
- if (s->status->ok()) {
1142
- s->value->assign(value_of_default.data(), value_of_default.size());
1143
- }
1144
- } else if (s->columns) {
1145
- *(s->status) = s->columns->SetWideColumnValue(v);
1146
- }
1147
-
1148
- *(s->found_final_value) = true;
1149
-
1150
- if (s->is_blob_index != nullptr) {
1151
- *(s->is_blob_index) = false;
1152
- }
1153
-
1154
- return false;
1155
- }
1156
- case kTypeDeletion:
1157
- case kTypeDeletionWithTimestamp:
1158
- case kTypeSingleDeletion:
1159
- case kTypeRangeDeletion: {
1160
- if (*(s->merge_in_progress)) {
1161
- if (s->value || s->columns) {
1162
- // `op_failure_scope` (an output parameter) is not provided (set to
1163
- // nullptr) since a failure must be propagated regardless of its
1164
- // value.
1165
- *(s->status) = MergeHelper::TimedFullMerge(
1166
- merge_operator, s->key->user_key(), MergeHelper::kNoBaseValue,
1167
- merge_context->GetOperands(), s->logger, s->statistics,
1168
- s->clock, /* update_num_ops_stats */ true,
1169
- /* op_failure_scope */ nullptr, s->value, s->columns);
1170
- } else {
1171
- // We have found a final value (a base deletion) and have newer
1172
- // merge operands that we do not intend to merge. Nothing remains
1173
- // to be done so assign status to OK.
1174
- *(s->status) = Status::OK();
1175
- }
1176
- } else {
1177
- *(s->status) = Status::NotFound();
1178
- }
1179
- *(s->found_final_value) = true;
1180
- return false;
1181
- }
1182
- case kTypeMerge: {
1183
- if (!merge_operator) {
1184
- *(s->status) = Status::InvalidArgument(
1185
- "merge_operator is not properly initialized.");
1186
- // Normally we continue the loop (return true) when we see a merge
1187
- // operand. But in case of an error, we should stop the loop
1188
- // immediately and pretend we have found the value to stop further
1189
- // seek. Otherwise, the later call will override this error status.
1190
- *(s->found_final_value) = true;
1191
- return false;
1192
- }
1193
- Slice v = GetLengthPrefixedSlice(key_ptr + key_length);
1194
- *(s->merge_in_progress) = true;
1195
- merge_context->PushOperand(
1196
- v, s->inplace_update_support == false /* operand_pinned */);
1197
- PERF_COUNTER_ADD(internal_merge_point_lookup_count, 1);
1198
-
1199
- if (s->do_merge && merge_operator->ShouldMerge(
1200
- merge_context->GetOperandsDirectionBackward())) {
1201
- if (s->value || s->columns) {
1202
- // `op_failure_scope` (an output parameter) is not provided (set to
1203
- // nullptr) since a failure must be propagated regardless of its
1204
- // value.
1205
- *(s->status) = MergeHelper::TimedFullMerge(
1206
- merge_operator, s->key->user_key(), MergeHelper::kNoBaseValue,
1207
- merge_context->GetOperands(), s->logger, s->statistics,
1208
- s->clock, /* update_num_ops_stats */ true,
1209
- /* op_failure_scope */ nullptr, s->value, s->columns);
1210
- }
1211
-
1212
- *(s->found_final_value) = true;
1213
- return false;
1214
- }
1215
- if (merge_context->get_merge_operands_options != nullptr &&
1216
- merge_context->get_merge_operands_options->continue_cb != nullptr &&
1217
- !merge_context->get_merge_operands_options->continue_cb(v)) {
1218
- // We were told not to continue.
1219
- *(s->found_final_value) = true;
1220
- return false;
1221
- }
1222
-
1223
- return true;
1224
- }
1225
- default: {
1226
- std::string msg("Corrupted value not expected.");
1227
- if (s->allow_data_in_errors) {
1228
- msg.append("Unrecognized value type: " +
1229
- std::to_string(static_cast<int>(type)) + ". ");
1230
- msg.append("User key: " + user_key_slice.ToString(/*hex=*/true) +
1231
- ". ");
1232
- msg.append("seq: " + std::to_string(seq) + ".");
1233
- }
1234
- *(s->status) = Status::Corruption(msg.c_str());
1235
- return false;
1236
- }
1237
- }
1238
- }
1239
-
1240
- // s->state could be Corrupt, merge or notfound
1241
- return false;
1242
- }
1243
-
1244
- bool MemTable::Get(const LookupKey& key, std::string* value,
1245
- PinnableWideColumns* columns, std::string* timestamp,
1246
- Status* s, MergeContext* merge_context,
1247
- SequenceNumber* max_covering_tombstone_seq,
1248
- SequenceNumber* seq, const ReadOptions& read_opts,
1249
- bool immutable_memtable, ReadCallback* callback,
1250
- bool* is_blob_index, bool do_merge) {
1251
- // The sequence number is updated synchronously in version_set.h
1252
- if (IsEmpty()) {
1253
- // Avoiding recording stats for speed.
1254
- return false;
1255
- }
1256
-
1257
- PERF_TIMER_GUARD(get_from_memtable_time);
1258
-
1259
- std::unique_ptr<FragmentedRangeTombstoneIterator> range_del_iter(
1260
- NewRangeTombstoneIterator(read_opts,
1261
- GetInternalKeySeqno(key.internal_key()),
1262
- immutable_memtable));
1263
- if (range_del_iter != nullptr) {
1264
- SequenceNumber covering_seq =
1265
- range_del_iter->MaxCoveringTombstoneSeqnum(key.user_key());
1266
- if (covering_seq > *max_covering_tombstone_seq) {
1267
- *max_covering_tombstone_seq = covering_seq;
1268
- if (timestamp) {
1269
- // Will be overwritten in SaveValue() if there is a point key with
1270
- // a higher seqno.
1271
- timestamp->assign(range_del_iter->timestamp().data(),
1272
- range_del_iter->timestamp().size());
1273
- }
1274
- }
1275
- }
1276
-
1277
- bool found_final_value = false;
1278
- bool merge_in_progress = s->IsMergeInProgress();
1279
- bool may_contain = true;
1280
- Slice user_key_without_ts = StripTimestampFromUserKey(key.user_key(), ts_sz_);
1281
- bool bloom_checked = false;
1282
- if (bloom_filter_) {
1283
- // when both memtable_whole_key_filtering and prefix_extractor_ are set,
1284
- // only do whole key filtering for Get() to save CPU
1285
- if (moptions_.memtable_whole_key_filtering) {
1286
- may_contain = bloom_filter_->MayContain(user_key_without_ts);
1287
- bloom_checked = true;
1288
- } else {
1289
- assert(prefix_extractor_);
1290
- if (prefix_extractor_->InDomain(user_key_without_ts)) {
1291
- may_contain = bloom_filter_->MayContain(
1292
- prefix_extractor_->Transform(user_key_without_ts));
1293
- bloom_checked = true;
1294
- }
1295
- }
1296
- }
1297
-
1298
- if (bloom_filter_ && !may_contain) {
1299
- // iter is null if prefix bloom says the key does not exist
1300
- PERF_COUNTER_ADD(bloom_memtable_miss_count, 1);
1301
- *seq = kMaxSequenceNumber;
1302
- } else {
1303
- if (bloom_checked) {
1304
- PERF_COUNTER_ADD(bloom_memtable_hit_count, 1);
1305
- }
1306
- GetFromTable(key, *max_covering_tombstone_seq, do_merge, callback,
1307
- is_blob_index, value, columns, timestamp, s, merge_context,
1308
- seq, &found_final_value, &merge_in_progress);
1309
- }
1310
-
1311
- // No change to value, since we have not yet found a Put/Delete
1312
- // Propagate corruption error
1313
- if (!found_final_value && merge_in_progress && !s->IsCorruption()) {
1314
- *s = Status::MergeInProgress();
1315
- }
1316
- PERF_COUNTER_ADD(get_from_memtable_count, 1);
1317
- return found_final_value;
1318
- }
1319
-
1320
- void MemTable::GetFromTable(const LookupKey& key,
1321
- SequenceNumber max_covering_tombstone_seq,
1322
- bool do_merge, ReadCallback* callback,
1323
- bool* is_blob_index, std::string* value,
1324
- PinnableWideColumns* columns,
1325
- std::string* timestamp, Status* s,
1326
- MergeContext* merge_context, SequenceNumber* seq,
1327
- bool* found_final_value, bool* merge_in_progress) {
1328
- Saver saver;
1329
- saver.status = s;
1330
- saver.found_final_value = found_final_value;
1331
- saver.merge_in_progress = merge_in_progress;
1332
- saver.key = &key;
1333
- saver.value = value;
1334
- saver.columns = columns;
1335
- saver.timestamp = timestamp;
1336
- saver.seq = kMaxSequenceNumber;
1337
- saver.mem = this;
1338
- saver.merge_context = merge_context;
1339
- saver.max_covering_tombstone_seq = max_covering_tombstone_seq;
1340
- saver.merge_operator = moptions_.merge_operator;
1341
- saver.logger = moptions_.info_log;
1342
- saver.inplace_update_support = moptions_.inplace_update_support;
1343
- saver.statistics = moptions_.statistics;
1344
- saver.clock = clock_;
1345
- saver.callback_ = callback;
1346
- saver.is_blob_index = is_blob_index;
1347
- saver.do_merge = do_merge;
1348
- saver.allow_data_in_errors = moptions_.allow_data_in_errors;
1349
- saver.protection_bytes_per_key = moptions_.protection_bytes_per_key;
1350
- table_->Get(key, &saver, SaveValue);
1351
- *seq = saver.seq;
1352
- }
1353
-
1354
- void MemTable::MultiGet(const ReadOptions& read_options, MultiGetRange* range,
1355
- ReadCallback* callback, bool immutable_memtable) {
1356
- // The sequence number is updated synchronously in version_set.h
1357
- if (IsEmpty()) {
1358
- // Avoiding recording stats for speed.
1359
- return;
1360
- }
1361
- PERF_TIMER_GUARD(get_from_memtable_time);
1362
-
1363
- // For now, memtable Bloom filter is effectively disabled if there are any
1364
- // range tombstones. This is the simplest way to ensure range tombstones are
1365
- // handled. TODO: allow Bloom checks where max_covering_tombstone_seq==0
1366
- bool no_range_del = read_options.ignore_range_deletions ||
1367
- is_range_del_table_empty_.load(std::memory_order_relaxed);
1368
- MultiGetRange temp_range(*range, range->begin(), range->end());
1369
- if (bloom_filter_ && no_range_del) {
1370
- bool whole_key =
1371
- !prefix_extractor_ || moptions_.memtable_whole_key_filtering;
1372
- std::array<Slice, MultiGetContext::MAX_BATCH_SIZE> bloom_keys;
1373
- std::array<bool, MultiGetContext::MAX_BATCH_SIZE> may_match;
1374
- std::array<size_t, MultiGetContext::MAX_BATCH_SIZE> range_indexes;
1375
- int num_keys = 0;
1376
- for (auto iter = temp_range.begin(); iter != temp_range.end(); ++iter) {
1377
- if (whole_key) {
1378
- bloom_keys[num_keys] = iter->ukey_without_ts;
1379
- range_indexes[num_keys++] = iter.index();
1380
- } else if (prefix_extractor_->InDomain(iter->ukey_without_ts)) {
1381
- bloom_keys[num_keys] =
1382
- prefix_extractor_->Transform(iter->ukey_without_ts);
1383
- range_indexes[num_keys++] = iter.index();
1384
- }
1385
- }
1386
- bloom_filter_->MayContain(num_keys, bloom_keys.data(), may_match.data());
1387
- for (int i = 0; i < num_keys; ++i) {
1388
- if (!may_match[i]) {
1389
- temp_range.SkipIndex(range_indexes[i]);
1390
- PERF_COUNTER_ADD(bloom_memtable_miss_count, 1);
1391
- } else {
1392
- PERF_COUNTER_ADD(bloom_memtable_hit_count, 1);
1393
- }
1394
- }
1395
- }
1396
- for (auto iter = temp_range.begin(); iter != temp_range.end(); ++iter) {
1397
- bool found_final_value{false};
1398
- bool merge_in_progress = iter->s->IsMergeInProgress();
1399
- if (!no_range_del) {
1400
- std::unique_ptr<FragmentedRangeTombstoneIterator> range_del_iter(
1401
- NewRangeTombstoneIteratorInternal(
1402
- read_options, GetInternalKeySeqno(iter->lkey->internal_key()),
1403
- immutable_memtable));
1404
- SequenceNumber covering_seq =
1405
- range_del_iter->MaxCoveringTombstoneSeqnum(iter->lkey->user_key());
1406
- if (covering_seq > iter->max_covering_tombstone_seq) {
1407
- iter->max_covering_tombstone_seq = covering_seq;
1408
- if (iter->timestamp) {
1409
- // Will be overwritten in SaveValue() if there is a point key with
1410
- // a higher seqno.
1411
- iter->timestamp->assign(range_del_iter->timestamp().data(),
1412
- range_del_iter->timestamp().size());
1413
- }
1414
- }
1415
- }
1416
- SequenceNumber dummy_seq;
1417
- GetFromTable(*(iter->lkey), iter->max_covering_tombstone_seq, true,
1418
- callback, &iter->is_blob_index,
1419
- iter->value ? iter->value->GetSelf() : nullptr, iter->columns,
1420
- iter->timestamp, iter->s, &(iter->merge_context), &dummy_seq,
1421
- &found_final_value, &merge_in_progress);
1422
-
1423
- if (!found_final_value && merge_in_progress) {
1424
- *(iter->s) = Status::MergeInProgress();
1425
- }
1426
-
1427
- if (found_final_value) {
1428
- if (iter->value) {
1429
- iter->value->PinSelf();
1430
- range->AddValueSize(iter->value->size());
1431
- } else {
1432
- assert(iter->columns);
1433
- range->AddValueSize(iter->columns->serialized_size());
1434
- }
1435
-
1436
- range->MarkKeyDone(iter);
1437
- RecordTick(moptions_.statistics, MEMTABLE_HIT);
1438
- if (range->GetValueSize() > read_options.value_size_soft_limit) {
1439
- // Set all remaining keys in range to Abort
1440
- for (auto range_iter = range->begin(); range_iter != range->end();
1441
- ++range_iter) {
1442
- range->MarkKeyDone(range_iter);
1443
- *(range_iter->s) = Status::Aborted();
1444
- }
1445
- break;
1446
- }
1447
- }
1448
- }
1449
- PERF_COUNTER_ADD(get_from_memtable_count, 1);
1450
- }
1451
-
1452
- Status MemTable::Update(SequenceNumber seq, ValueType value_type,
1453
- const Slice& key, const Slice& value,
1454
- const ProtectionInfoKVOS64* kv_prot_info) {
1455
- LookupKey lkey(key, seq);
1456
- Slice mem_key = lkey.memtable_key();
1457
-
1458
- std::unique_ptr<MemTableRep::Iterator> iter(
1459
- table_->GetDynamicPrefixIterator());
1460
- iter->Seek(lkey.internal_key(), mem_key.data());
1461
-
1462
- if (iter->Valid()) {
1463
- // Refer to comments under MemTable::Add() for entry format.
1464
- // Check that it belongs to same user key. We do not check the
1465
- // sequence number since the Seek() call above should have skipped
1466
- // all entries with overly large sequence numbers.
1467
- const char* entry = iter->key();
1468
- uint32_t key_length = 0;
1469
- const char* key_ptr = GetVarint32Ptr(entry, entry + 5, &key_length);
1470
- if (comparator_.comparator.user_comparator()->Equal(
1471
- Slice(key_ptr, key_length - 8), lkey.user_key())) {
1472
- // Correct user key
1473
- const uint64_t tag = DecodeFixed64(key_ptr + key_length - 8);
1474
- ValueType type;
1475
- SequenceNumber existing_seq;
1476
- UnPackSequenceAndType(tag, &existing_seq, &type);
1477
- assert(existing_seq != seq);
1478
- if (type == value_type) {
1479
- Slice prev_value = GetLengthPrefixedSlice(key_ptr + key_length);
1480
- uint32_t prev_size = static_cast<uint32_t>(prev_value.size());
1481
- uint32_t new_size = static_cast<uint32_t>(value.size());
1482
-
1483
- // Update value, if new value size <= previous value size
1484
- if (new_size <= prev_size) {
1485
- WriteLock wl(GetLock(lkey.user_key()));
1486
- char* p =
1487
- EncodeVarint32(const_cast<char*>(key_ptr) + key_length, new_size);
1488
- memcpy(p, value.data(), value.size());
1489
- assert((unsigned)((p + value.size()) - entry) ==
1490
- (unsigned)(VarintLength(key_length) + key_length +
1491
- VarintLength(value.size()) + value.size()));
1492
- RecordTick(moptions_.statistics, NUMBER_KEYS_UPDATED);
1493
- if (kv_prot_info != nullptr) {
1494
- ProtectionInfoKVOS64 updated_kv_prot_info(*kv_prot_info);
1495
- // `seq` is swallowed and `existing_seq` prevails.
1496
- updated_kv_prot_info.UpdateS(seq, existing_seq);
1497
- UpdateEntryChecksum(&updated_kv_prot_info, key, value, type,
1498
- existing_seq, p + value.size());
1499
- Slice encoded(entry, p + value.size() - entry);
1500
- return VerifyEncodedEntry(encoded, updated_kv_prot_info);
1501
- } else {
1502
- UpdateEntryChecksum(nullptr, key, value, type, existing_seq,
1503
- p + value.size());
1504
- }
1505
- return Status::OK();
1506
- }
1507
- }
1508
- }
1509
- }
1510
-
1511
- // The latest value is not value_type or key doesn't exist
1512
- return Add(seq, value_type, key, value, kv_prot_info);
1513
- }
1514
-
1515
- Status MemTable::UpdateCallback(SequenceNumber seq, const Slice& key,
1516
- const Slice& delta,
1517
- const ProtectionInfoKVOS64* kv_prot_info) {
1518
- LookupKey lkey(key, seq);
1519
- Slice memkey = lkey.memtable_key();
1520
-
1521
- std::unique_ptr<MemTableRep::Iterator> iter(
1522
- table_->GetDynamicPrefixIterator());
1523
- iter->Seek(lkey.internal_key(), memkey.data());
1524
-
1525
- if (iter->Valid()) {
1526
- // Refer to comments under MemTable::Add() for entry format.
1527
- // Check that it belongs to same user key. We do not check the
1528
- // sequence number since the Seek() call above should have skipped
1529
- // all entries with overly large sequence numbers.
1530
- const char* entry = iter->key();
1531
- uint32_t key_length = 0;
1532
- const char* key_ptr = GetVarint32Ptr(entry, entry + 5, &key_length);
1533
- if (comparator_.comparator.user_comparator()->Equal(
1534
- Slice(key_ptr, key_length - 8), lkey.user_key())) {
1535
- // Correct user key
1536
- const uint64_t tag = DecodeFixed64(key_ptr + key_length - 8);
1537
- ValueType type;
1538
- uint64_t existing_seq;
1539
- UnPackSequenceAndType(tag, &existing_seq, &type);
1540
- if (type == kTypeValue) {
1541
- Slice prev_value = GetLengthPrefixedSlice(key_ptr + key_length);
1542
- uint32_t prev_size = static_cast<uint32_t>(prev_value.size());
1543
-
1544
- char* prev_buffer = const_cast<char*>(prev_value.data());
1545
- uint32_t new_prev_size = prev_size;
1546
-
1547
- std::string str_value;
1548
- WriteLock wl(GetLock(lkey.user_key()));
1549
- auto status = moptions_.inplace_callback(prev_buffer, &new_prev_size,
1550
- delta, &str_value);
1551
- if (status == UpdateStatus::UPDATED_INPLACE) {
1552
- // Value already updated by callback.
1553
- assert(new_prev_size <= prev_size);
1554
- if (new_prev_size < prev_size) {
1555
- // overwrite the new prev_size
1556
- char* p = EncodeVarint32(const_cast<char*>(key_ptr) + key_length,
1557
- new_prev_size);
1558
- if (VarintLength(new_prev_size) < VarintLength(prev_size)) {
1559
- // shift the value buffer as well.
1560
- memcpy(p, prev_buffer, new_prev_size);
1561
- prev_buffer = p;
1562
- }
1563
- }
1564
- RecordTick(moptions_.statistics, NUMBER_KEYS_UPDATED);
1565
- UpdateFlushState();
1566
- Slice new_value(prev_buffer, new_prev_size);
1567
- if (kv_prot_info != nullptr) {
1568
- ProtectionInfoKVOS64 updated_kv_prot_info(*kv_prot_info);
1569
- // `seq` is swallowed and `existing_seq` prevails.
1570
- updated_kv_prot_info.UpdateS(seq, existing_seq);
1571
- updated_kv_prot_info.UpdateV(delta, new_value);
1572
- Slice encoded(entry, prev_buffer + new_prev_size - entry);
1573
- UpdateEntryChecksum(&updated_kv_prot_info, key, new_value, type,
1574
- existing_seq, prev_buffer + new_prev_size);
1575
- return VerifyEncodedEntry(encoded, updated_kv_prot_info);
1576
- } else {
1577
- UpdateEntryChecksum(nullptr, key, new_value, type, existing_seq,
1578
- prev_buffer + new_prev_size);
1579
- }
1580
- return Status::OK();
1581
- } else if (status == UpdateStatus::UPDATED) {
1582
- Status s;
1583
- if (kv_prot_info != nullptr) {
1584
- ProtectionInfoKVOS64 updated_kv_prot_info(*kv_prot_info);
1585
- updated_kv_prot_info.UpdateV(delta, str_value);
1586
- s = Add(seq, kTypeValue, key, Slice(str_value),
1587
- &updated_kv_prot_info);
1588
- } else {
1589
- s = Add(seq, kTypeValue, key, Slice(str_value),
1590
- nullptr /* kv_prot_info */);
1591
- }
1592
- RecordTick(moptions_.statistics, NUMBER_KEYS_WRITTEN);
1593
- UpdateFlushState();
1594
- return s;
1595
- } else if (status == UpdateStatus::UPDATE_FAILED) {
1596
- // `UPDATE_FAILED` is named incorrectly. It indicates no update
1597
- // happened. It does not indicate a failure happened.
1598
- UpdateFlushState();
1599
- return Status::OK();
1600
- }
1601
- }
1602
- }
1603
- }
1604
- // The latest value is not `kTypeValue` or key doesn't exist
1605
- return Status::NotFound();
1606
- }
1607
-
1608
- size_t MemTable::CountSuccessiveMergeEntries(const LookupKey& key,
1609
- size_t limit) {
1610
- Slice memkey = key.memtable_key();
1611
-
1612
- // A total ordered iterator is costly for some memtablerep (prefix aware
1613
- // reps). By passing in the user key, we allow efficient iterator creation.
1614
- // The iterator only needs to be ordered within the same user key.
1615
- std::unique_ptr<MemTableRep::Iterator> iter(
1616
- table_->GetDynamicPrefixIterator());
1617
- iter->Seek(key.internal_key(), memkey.data());
1618
-
1619
- size_t num_successive_merges = 0;
1620
-
1621
- for (; iter->Valid() && num_successive_merges < limit; iter->Next()) {
1622
- const char* entry = iter->key();
1623
- uint32_t key_length = 0;
1624
- const char* iter_key_ptr = GetVarint32Ptr(entry, entry + 5, &key_length);
1625
- if (!comparator_.comparator.user_comparator()->Equal(
1626
- Slice(iter_key_ptr, key_length - 8), key.user_key())) {
1627
- break;
1628
- }
1629
-
1630
- const uint64_t tag = DecodeFixed64(iter_key_ptr + key_length - 8);
1631
- ValueType type;
1632
- uint64_t unused;
1633
- UnPackSequenceAndType(tag, &unused, &type);
1634
- if (type != kTypeMerge) {
1635
- break;
1636
- }
1637
-
1638
- ++num_successive_merges;
1639
- }
1640
-
1641
- return num_successive_merges;
1642
- }
1643
-
1644
- void MemTableRep::Get(const LookupKey& k, void* callback_args,
1645
- bool (*callback_func)(void* arg, const char* entry)) {
1646
- auto iter = GetDynamicPrefixIterator();
1647
- for (iter->Seek(k.internal_key(), k.memtable_key().data());
1648
- iter->Valid() && callback_func(callback_args, iter->key());
1649
- iter->Next()) {
1650
- }
1651
- }
1652
-
1653
- void MemTable::RefLogContainingPrepSection(uint64_t log) {
1654
- assert(log > 0);
1655
- auto cur = min_prep_log_referenced_.load();
1656
- while ((log < cur || cur == 0) &&
1657
- !min_prep_log_referenced_.compare_exchange_strong(cur, log)) {
1658
- cur = min_prep_log_referenced_.load();
1659
- }
1660
- }
1661
-
1662
- uint64_t MemTable::GetMinLogContainingPrepSection() {
1663
- return min_prep_log_referenced_.load();
1664
- }
1665
-
1666
- void MemTable::MaybeUpdateNewestUDT(const Slice& user_key) {
1667
- if (ts_sz_ == 0 || persist_user_defined_timestamps_) {
1668
- return;
1669
- }
1670
- const Comparator* ucmp = GetInternalKeyComparator().user_comparator();
1671
- Slice udt = ExtractTimestampFromUserKey(user_key, ts_sz_);
1672
- if (newest_udt_.empty() || ucmp->CompareTimestamp(udt, newest_udt_) > 0) {
1673
- newest_udt_ = udt;
1674
- }
1675
- }
1676
-
1677
- const Slice& MemTable::GetNewestUDT() const {
1678
- // This path should not be invoked for MemTables that does not enable the UDT
1679
- // in Memtable only feature.
1680
- assert(ts_sz_ > 0 && !persist_user_defined_timestamps_);
1681
- return newest_udt_;
1682
- }
1683
-
1684
- } // namespace ROCKSDB_NAMESPACE