rocksdb-native 2.6.2 → 2.6.4

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 (956) hide show
  1. package/CMakeLists.txt +29 -17
  2. package/binding.js +1 -1
  3. package/package.json +7 -4
  4. package/prebuilds/darwin-arm64/rocksdb-native.bare +0 -0
  5. package/prebuilds/darwin-arm64/rocksdb-native.node +0 -0
  6. package/prebuilds/darwin-x64/rocksdb-native.bare +0 -0
  7. package/prebuilds/darwin-x64/rocksdb-native.node +0 -0
  8. package/prebuilds/ios-arm64/rocksdb-native.bare +0 -0
  9. package/prebuilds/ios-arm64-simulator/rocksdb-native.bare +0 -0
  10. package/prebuilds/ios-x64-simulator/rocksdb-native.bare +0 -0
  11. package/prebuilds/linux-arm64/rocksdb-native.bare +0 -0
  12. package/prebuilds/linux-arm64/rocksdb-native.node +0 -0
  13. package/prebuilds/linux-x64/rocksdb-native.bare +0 -0
  14. package/prebuilds/linux-x64/rocksdb-native.node +0 -0
  15. package/prebuilds/win32-arm64/rocksdb-native.bare +0 -0
  16. package/prebuilds/win32-arm64/rocksdb-native.node +0 -0
  17. package/prebuilds/win32-x64/rocksdb-native.bare +0 -0
  18. package/prebuilds/win32-x64/rocksdb-native.node +0 -0
  19. package/vendor/librocksdb/CMakeLists.txt +0 -94
  20. package/vendor/librocksdb/LICENSE +0 -201
  21. package/vendor/librocksdb/NOTICE +0 -13
  22. package/vendor/librocksdb/README.md +0 -11
  23. package/vendor/librocksdb/include/rocksdb.h +0 -294
  24. package/vendor/librocksdb/src/rocksdb.cc +0 -714
  25. package/vendor/librocksdb/vendor/rocksdb/CMakeLists.txt +0 -1642
  26. package/vendor/librocksdb/vendor/rocksdb/cache/cache.cc +0 -193
  27. package/vendor/librocksdb/vendor/rocksdb/cache/cache_bench.cc +0 -20
  28. package/vendor/librocksdb/vendor/rocksdb/cache/cache_bench_tool.cc +0 -1177
  29. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_roles.cc +0 -104
  30. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_roles.h +0 -20
  31. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_stats.h +0 -182
  32. package/vendor/librocksdb/vendor/rocksdb/cache/cache_helpers.cc +0 -41
  33. package/vendor/librocksdb/vendor/rocksdb/cache/cache_helpers.h +0 -139
  34. package/vendor/librocksdb/vendor/rocksdb/cache/cache_key.cc +0 -364
  35. package/vendor/librocksdb/vendor/rocksdb/cache/cache_key.h +0 -143
  36. package/vendor/librocksdb/vendor/rocksdb/cache/cache_reservation_manager.cc +0 -184
  37. package/vendor/librocksdb/vendor/rocksdb/cache/cache_reservation_manager.h +0 -318
  38. package/vendor/librocksdb/vendor/rocksdb/cache/charged_cache.cc +0 -111
  39. package/vendor/librocksdb/vendor/rocksdb/cache/charged_cache.h +0 -61
  40. package/vendor/librocksdb/vendor/rocksdb/cache/clock_cache.cc +0 -3657
  41. package/vendor/librocksdb/vendor/rocksdb/cache/clock_cache.h +0 -1165
  42. package/vendor/librocksdb/vendor/rocksdb/cache/compressed_secondary_cache.cc +0 -414
  43. package/vendor/librocksdb/vendor/rocksdb/cache/compressed_secondary_cache.h +0 -151
  44. package/vendor/librocksdb/vendor/rocksdb/cache/lru_cache.cc +0 -726
  45. package/vendor/librocksdb/vendor/rocksdb/cache/lru_cache.h +0 -467
  46. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache.cc +0 -12
  47. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.cc +0 -743
  48. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.h +0 -103
  49. package/vendor/librocksdb/vendor/rocksdb/cache/sharded_cache.cc +0 -147
  50. package/vendor/librocksdb/vendor/rocksdb/cache/sharded_cache.h +0 -322
  51. package/vendor/librocksdb/vendor/rocksdb/cache/tiered_secondary_cache.cc +0 -125
  52. package/vendor/librocksdb/vendor/rocksdb/cache/tiered_secondary_cache.h +0 -158
  53. package/vendor/librocksdb/vendor/rocksdb/cache/typed_cache.h +0 -380
  54. package/vendor/librocksdb/vendor/rocksdb/cmake/RocksDBConfig.cmake.in +0 -54
  55. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.cc +0 -182
  56. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.h +0 -128
  57. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.cc +0 -20
  58. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.h +0 -83
  59. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_constants.h +0 -16
  60. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_contents.cc +0 -42
  61. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_contents.h +0 -60
  62. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_counting_iterator.h +0 -150
  63. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_fetcher.cc +0 -34
  64. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_fetcher.h +0 -37
  65. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_addition.cc +0 -156
  66. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_addition.h +0 -67
  67. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_builder.cc +0 -429
  68. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_builder.h +0 -113
  69. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_cache.cc +0 -101
  70. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_cache.h +0 -56
  71. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_completion_callback.h +0 -84
  72. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_garbage.cc +0 -134
  73. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_garbage.h +0 -57
  74. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_meta.cc +0 -62
  75. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_meta.h +0 -170
  76. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_reader.cc +0 -622
  77. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_reader.h +0 -111
  78. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_garbage_meter.cc +0 -100
  79. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_garbage_meter.h +0 -102
  80. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_index.h +0 -187
  81. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_format.cc +0 -143
  82. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_format.h +0 -164
  83. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_sequential_reader.cc +0 -133
  84. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_sequential_reader.h +0 -83
  85. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_writer.cc +0 -207
  86. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_writer.h +0 -87
  87. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_read_request.h +0 -58
  88. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_source.cc +0 -459
  89. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_source.h +0 -161
  90. package/vendor/librocksdb/vendor/rocksdb/db/blob/prefetch_buffer_collection.cc +0 -23
  91. package/vendor/librocksdb/vendor/rocksdb/db/blob/prefetch_buffer_collection.h +0 -38
  92. package/vendor/librocksdb/vendor/rocksdb/db/builder.cc +0 -517
  93. package/vendor/librocksdb/vendor/rocksdb/db/builder.h +0 -76
  94. package/vendor/librocksdb/vendor/rocksdb/db/c.cc +0 -7133
  95. package/vendor/librocksdb/vendor/rocksdb/db/c_test.c +0 -4052
  96. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.cc +0 -47
  97. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.h +0 -79
  98. package/vendor/librocksdb/vendor/rocksdb/db/column_family.cc +0 -1859
  99. package/vendor/librocksdb/vendor/rocksdb/db/column_family.h +0 -918
  100. package/vendor/librocksdb/vendor/rocksdb/db/compaction/clipping_iterator.h +0 -281
  101. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.cc +0 -995
  102. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.h +0 -602
  103. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iteration_stats.h +0 -56
  104. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.cc +0 -1523
  105. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.h +0 -557
  106. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.cc +0 -2155
  107. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.h +0 -520
  108. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.cc +0 -802
  109. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.h +0 -411
  110. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.cc +0 -1245
  111. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.h +0 -322
  112. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_fifo.cc +0 -478
  113. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_fifo.h +0 -61
  114. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.cc +0 -977
  115. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.h +0 -32
  116. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.cc +0 -1578
  117. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.h +0 -29
  118. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_service_job.cc +0 -835
  119. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_state.cc +0 -46
  120. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_state.h +0 -42
  121. package/vendor/librocksdb/vendor/rocksdb/db/compaction/file_pri.h +0 -94
  122. package/vendor/librocksdb/vendor/rocksdb/db/compaction/sst_partitioner.cc +0 -83
  123. package/vendor/librocksdb/vendor/rocksdb/db/compaction/subcompaction_state.cc +0 -106
  124. package/vendor/librocksdb/vendor/rocksdb/db/compaction/subcompaction_state.h +0 -220
  125. package/vendor/librocksdb/vendor/rocksdb/db/convenience.cc +0 -101
  126. package/vendor/librocksdb/vendor/rocksdb/db/convenience_impl.h +0 -15
  127. package/vendor/librocksdb/vendor/rocksdb/db/db_filesnapshot.cc +0 -506
  128. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/compacted_db_impl.cc +0 -275
  129. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/compacted_db_impl.h +0 -147
  130. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.cc +0 -6767
  131. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.h +0 -3056
  132. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_compaction_flush.cc +0 -4390
  133. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_debug.cc +0 -327
  134. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_experimental.cc +0 -164
  135. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_files.cc +0 -1032
  136. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.cc +0 -348
  137. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.h +0 -54
  138. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_open.cc +0 -2325
  139. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_readonly.cc +0 -376
  140. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_readonly.h +0 -179
  141. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.cc +0 -1025
  142. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.h +0 -322
  143. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_write.cc +0 -2624
  144. package/vendor/librocksdb/vendor/rocksdb/db/db_info_dumper.cc +0 -165
  145. package/vendor/librocksdb/vendor/rocksdb/db/db_info_dumper.h +0 -15
  146. package/vendor/librocksdb/vendor/rocksdb/db/db_iter.cc +0 -1774
  147. package/vendor/librocksdb/vendor/rocksdb/db/db_iter.h +0 -444
  148. package/vendor/librocksdb/vendor/rocksdb/db/db_test2.cc +0 -7839
  149. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.cc +0 -1800
  150. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.h +0 -1427
  151. package/vendor/librocksdb/vendor/rocksdb/db/db_with_timestamp_test_util.cc +0 -96
  152. package/vendor/librocksdb/vendor/rocksdb/db/db_with_timestamp_test_util.h +0 -126
  153. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.cc +0 -282
  154. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.h +0 -1101
  155. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.cc +0 -806
  156. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.h +0 -149
  157. package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.cc +0 -332
  158. package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.h +0 -78
  159. package/vendor/librocksdb/vendor/rocksdb/db/experimental.cc +0 -1212
  160. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.cc +0 -1249
  161. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.h +0 -268
  162. package/vendor/librocksdb/vendor/rocksdb/db/file_indexer.cc +0 -216
  163. package/vendor/librocksdb/vendor/rocksdb/db/file_indexer.h +0 -140
  164. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.cc +0 -1217
  165. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.h +0 -240
  166. package/vendor/librocksdb/vendor/rocksdb/db/flush_scheduler.cc +0 -86
  167. package/vendor/librocksdb/vendor/rocksdb/db/flush_scheduler.h +0 -55
  168. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator.cc +0 -1082
  169. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator.h +0 -166
  170. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator_bench.cc +0 -378
  171. package/vendor/librocksdb/vendor/rocksdb/db/history_trimming_iterator.h +0 -95
  172. package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.cc +0 -463
  173. package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.h +0 -91
  174. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.cc +0 -2198
  175. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.h +0 -896
  176. package/vendor/librocksdb/vendor/rocksdb/db/job_context.h +0 -254
  177. package/vendor/librocksdb/vendor/rocksdb/db/kv_checksum.h +0 -484
  178. package/vendor/librocksdb/vendor/rocksdb/db/log_format.h +0 -55
  179. package/vendor/librocksdb/vendor/rocksdb/db/log_reader.cc +0 -958
  180. package/vendor/librocksdb/vendor/rocksdb/db/log_reader.h +0 -245
  181. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.cc +0 -355
  182. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.h +0 -151
  183. package/vendor/librocksdb/vendor/rocksdb/db/logs_with_prep_tracker.cc +0 -67
  184. package/vendor/librocksdb/vendor/rocksdb/db/logs_with_prep_tracker.h +0 -62
  185. package/vendor/librocksdb/vendor/rocksdb/db/lookup_key.h +0 -68
  186. package/vendor/librocksdb/vendor/rocksdb/db/malloc_stats.cc +0 -52
  187. package/vendor/librocksdb/vendor/rocksdb/db/malloc_stats.h +0 -22
  188. package/vendor/librocksdb/vendor/rocksdb/db/memtable.cc +0 -1684
  189. package/vendor/librocksdb/vendor/rocksdb/db/memtable.h +0 -712
  190. package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.cc +0 -1028
  191. package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.h +0 -514
  192. package/vendor/librocksdb/vendor/rocksdb/db/merge_context.h +0 -150
  193. package/vendor/librocksdb/vendor/rocksdb/db/merge_helper.cc +0 -699
  194. package/vendor/librocksdb/vendor/rocksdb/db/merge_helper.h +0 -318
  195. package/vendor/librocksdb/vendor/rocksdb/db/merge_operator.cc +0 -167
  196. package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator_impl.h +0 -296
  197. package/vendor/librocksdb/vendor/rocksdb/db/output_validator.cc +0 -29
  198. package/vendor/librocksdb/vendor/rocksdb/db/output_validator.h +0 -45
  199. package/vendor/librocksdb/vendor/rocksdb/db/periodic_task_scheduler.cc +0 -110
  200. package/vendor/librocksdb/vendor/rocksdb/db/periodic_task_scheduler.h +0 -108
  201. package/vendor/librocksdb/vendor/rocksdb/db/pinned_iterators_manager.h +0 -92
  202. package/vendor/librocksdb/vendor/rocksdb/db/post_memtable_callback.h +0 -25
  203. package/vendor/librocksdb/vendor/rocksdb/db/pre_release_callback.h +0 -37
  204. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator.cc +0 -553
  205. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator.h +0 -481
  206. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator_bench.cc +0 -280
  207. package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.cc +0 -515
  208. package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.h +0 -361
  209. package/vendor/librocksdb/vendor/rocksdb/db/read_callback.h +0 -54
  210. package/vendor/librocksdb/vendor/rocksdb/db/repair.cc +0 -864
  211. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.cc +0 -573
  212. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.h +0 -307
  213. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_checker.h +0 -58
  214. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_impl.cc +0 -25
  215. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_impl.h +0 -239
  216. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.cc +0 -745
  217. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.h +0 -298
  218. package/vendor/librocksdb/vendor/rocksdb/db/table_cache_sync_and_async.h +0 -135
  219. package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.cc +0 -74
  220. package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.h +0 -185
  221. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.cc +0 -296
  222. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.h +0 -128
  223. package/vendor/librocksdb/vendor/rocksdb/db/trim_history_scheduler.cc +0 -54
  224. package/vendor/librocksdb/vendor/rocksdb/db/trim_history_scheduler.h +0 -46
  225. package/vendor/librocksdb/vendor/rocksdb/db/version_builder.cc +0 -1431
  226. package/vendor/librocksdb/vendor/rocksdb/db/version_builder.h +0 -93
  227. package/vendor/librocksdb/vendor/rocksdb/db/version_edit.cc +0 -1119
  228. package/vendor/librocksdb/vendor/rocksdb/db/version_edit.h +0 -769
  229. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.cc +0 -1264
  230. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.h +0 -390
  231. package/vendor/librocksdb/vendor/rocksdb/db/version_set.cc +0 -7562
  232. package/vendor/librocksdb/vendor/rocksdb/db/version_set.h +0 -1799
  233. package/vendor/librocksdb/vendor/rocksdb/db/version_set_sync_and_async.h +0 -169
  234. package/vendor/librocksdb/vendor/rocksdb/db/version_util.h +0 -77
  235. package/vendor/librocksdb/vendor/rocksdb/db/wal_edit.cc +0 -211
  236. package/vendor/librocksdb/vendor/rocksdb/db/wal_edit.h +0 -177
  237. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.cc +0 -539
  238. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.h +0 -138
  239. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_column_serialization.cc +0 -166
  240. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_column_serialization.h +0 -57
  241. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns.cc +0 -22
  242. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.cc +0 -52
  243. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.h +0 -40
  244. package/vendor/librocksdb/vendor/rocksdb/db/write_batch.cc +0 -3394
  245. package/vendor/librocksdb/vendor/rocksdb/db/write_batch_base.cc +0 -94
  246. package/vendor/librocksdb/vendor/rocksdb/db/write_batch_internal.h +0 -408
  247. package/vendor/librocksdb/vendor/rocksdb/db/write_callback.h +0 -27
  248. package/vendor/librocksdb/vendor/rocksdb/db/write_controller.cc +0 -121
  249. package/vendor/librocksdb/vendor/rocksdb/db/write_controller.h +0 -148
  250. package/vendor/librocksdb/vendor/rocksdb/db/write_stall_stats.cc +0 -179
  251. package/vendor/librocksdb/vendor/rocksdb/db/write_stall_stats.h +0 -47
  252. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.cc +0 -931
  253. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.h +0 -498
  254. package/vendor/librocksdb/vendor/rocksdb/env/composite_env.cc +0 -534
  255. package/vendor/librocksdb/vendor/rocksdb/env/composite_env_wrapper.h +0 -399
  256. package/vendor/librocksdb/vendor/rocksdb/env/emulated_clock.h +0 -114
  257. package/vendor/librocksdb/vendor/rocksdb/env/env.cc +0 -1253
  258. package/vendor/librocksdb/vendor/rocksdb/env/env_chroot.cc +0 -149
  259. package/vendor/librocksdb/vendor/rocksdb/env/env_chroot.h +0 -55
  260. package/vendor/librocksdb/vendor/rocksdb/env/env_encryption.cc +0 -1192
  261. package/vendor/librocksdb/vendor/rocksdb/env/env_encryption_ctr.h +0 -97
  262. package/vendor/librocksdb/vendor/rocksdb/env/env_posix.cc +0 -530
  263. package/vendor/librocksdb/vendor/rocksdb/env/file_system.cc +0 -278
  264. package/vendor/librocksdb/vendor/rocksdb/env/file_system_tracer.cc +0 -564
  265. package/vendor/librocksdb/vendor/rocksdb/env/file_system_tracer.h +0 -461
  266. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.cc +0 -331
  267. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.h +0 -139
  268. package/vendor/librocksdb/vendor/rocksdb/env/fs_posix.cc +0 -1285
  269. package/vendor/librocksdb/vendor/rocksdb/env/fs_readonly.h +0 -105
  270. package/vendor/librocksdb/vendor/rocksdb/env/fs_remap.cc +0 -341
  271. package/vendor/librocksdb/vendor/rocksdb/env/fs_remap.h +0 -137
  272. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.cc +0 -1738
  273. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.h +0 -517
  274. package/vendor/librocksdb/vendor/rocksdb/env/mock_env.cc +0 -1058
  275. package/vendor/librocksdb/vendor/rocksdb/env/mock_env.h +0 -144
  276. package/vendor/librocksdb/vendor/rocksdb/env/unique_id_gen.cc +0 -243
  277. package/vendor/librocksdb/vendor/rocksdb/env/unique_id_gen.h +0 -119
  278. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.cc +0 -513
  279. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.h +0 -200
  280. package/vendor/librocksdb/vendor/rocksdb/file/file_prefetch_buffer.cc +0 -992
  281. package/vendor/librocksdb/vendor/rocksdb/file/file_prefetch_buffer.h +0 -629
  282. package/vendor/librocksdb/vendor/rocksdb/file/file_util.cc +0 -308
  283. package/vendor/librocksdb/vendor/rocksdb/file/file_util.h +0 -123
  284. package/vendor/librocksdb/vendor/rocksdb/file/filename.cc +0 -538
  285. package/vendor/librocksdb/vendor/rocksdb/file/filename.h +0 -186
  286. package/vendor/librocksdb/vendor/rocksdb/file/line_file_reader.cc +0 -73
  287. package/vendor/librocksdb/vendor/rocksdb/file/line_file_reader.h +0 -60
  288. package/vendor/librocksdb/vendor/rocksdb/file/random_access_file_reader.cc +0 -639
  289. package/vendor/librocksdb/vendor/rocksdb/file/random_access_file_reader.h +0 -197
  290. package/vendor/librocksdb/vendor/rocksdb/file/read_write_util.cc +0 -33
  291. package/vendor/librocksdb/vendor/rocksdb/file/read_write_util.h +0 -31
  292. package/vendor/librocksdb/vendor/rocksdb/file/readahead_file_info.h +0 -33
  293. package/vendor/librocksdb/vendor/rocksdb/file/readahead_raf.cc +0 -169
  294. package/vendor/librocksdb/vendor/rocksdb/file/readahead_raf.h +0 -29
  295. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.cc +0 -324
  296. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.h +0 -127
  297. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.cc +0 -525
  298. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.h +0 -220
  299. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.cc +0 -1007
  300. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.h +0 -370
  301. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_cache.h +0 -665
  302. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_options.h +0 -1101
  303. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/attribute_groups.h +0 -114
  304. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/block_cache_trace_writer.h +0 -149
  305. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/c.h +0 -3122
  306. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache.h +0 -579
  307. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache_bench_tool.h +0 -14
  308. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cleanable.h +0 -128
  309. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compaction_filter.h +0 -374
  310. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compaction_job_stats.h +0 -112
  311. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/comparator.h +0 -231
  312. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compression_type.h +0 -186
  313. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/concurrent_task_limiter.h +0 -51
  314. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/configurable.h +0 -390
  315. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/convenience.h +0 -466
  316. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/customizable.h +0 -229
  317. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/data_structure.h +0 -186
  318. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db.h +0 -2174
  319. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_bench_tool.h +0 -11
  320. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_dump_tool.h +0 -43
  321. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_stress_tool.h +0 -11
  322. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env.h +0 -1920
  323. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env_encryption.h +0 -363
  324. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/experimental.h +0 -492
  325. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_checksum.h +0 -146
  326. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_system.h +0 -1961
  327. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/filter_policy.h +0 -211
  328. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/flush_block_policy.h +0 -75
  329. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/functor_wrapper.h +0 -56
  330. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/io_status.h +0 -244
  331. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iostats_context.h +0 -98
  332. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator.h +0 -104
  333. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator_base.h +0 -90
  334. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/ldb_tool.h +0 -42
  335. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/listener.h +0 -869
  336. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/memory_allocator.h +0 -87
  337. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/memtablerep.h +0 -421
  338. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/merge_operator.h +0 -337
  339. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/metadata.h +0 -258
  340. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/options.h +0 -2339
  341. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_context.h +0 -319
  342. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_level.h +0 -39
  343. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/persistent_cache.h +0 -74
  344. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/port_defs.h +0 -26
  345. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/rate_limiter.h +0 -172
  346. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/rocksdb_namespace.h +0 -16
  347. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/secondary_cache.h +0 -220
  348. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/slice.h +0 -264
  349. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/slice_transform.h +0 -135
  350. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/snapshot.h +0 -53
  351. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_dump_tool.h +0 -17
  352. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_manager.h +0 -139
  353. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_reader.h +0 -61
  354. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_writer.h +0 -203
  355. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_partitioner.h +0 -142
  356. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/statistics.h +0 -794
  357. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/stats_history.h +0 -70
  358. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/status.h +0 -609
  359. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/system_clock.h +0 -129
  360. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table.h +0 -938
  361. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_properties.h +0 -380
  362. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_reader_caller.h +0 -41
  363. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/thread_status.h +0 -197
  364. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/threadpool.h +0 -67
  365. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_reader_writer.h +0 -52
  366. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_record.h +0 -248
  367. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_record_result.h +0 -187
  368. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/transaction_log.h +0 -128
  369. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/types.h +0 -113
  370. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/unique_id.h +0 -55
  371. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/universal_compaction.h +0 -127
  372. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/user_write_callback.h +0 -29
  373. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/agg_merge.h +0 -138
  374. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/backup_engine.h +0 -689
  375. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/cache_dump_load.h +0 -144
  376. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/checkpoint.h +0 -65
  377. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/convenience.h +0 -10
  378. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/customizable_util.h +0 -321
  379. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/db_ttl.h +0 -70
  380. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/debug.h +0 -46
  381. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -179
  382. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/info_log_finder.h +0 -19
  383. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd.h +0 -338
  384. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +0 -75
  385. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/leveldb_options.h +0 -145
  386. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +0 -43
  387. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +0 -55
  388. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/memory_util.h +0 -48
  389. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/object_registry.h +0 -583
  390. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +0 -129
  391. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/option_change_migration.h +0 -24
  392. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/options_type.h +0 -1222
  393. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/options_util.h +0 -105
  394. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/replayer.h +0 -85
  395. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/sim_cache.h +0 -92
  396. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/stackable_db.h +0 -593
  397. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +0 -133
  398. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction.h +0 -765
  399. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db.h +0 -510
  400. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -89
  401. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/types_util.h +0 -36
  402. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -402
  403. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/version.h +0 -43
  404. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wal_filter.h +0 -111
  405. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wide_columns.h +0 -303
  406. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch.h +0 -518
  407. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch_base.h +0 -165
  408. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_buffer_manager.h +0 -183
  409. package/vendor/librocksdb/vendor/rocksdb/logging/auto_roll_logger.cc +0 -366
  410. package/vendor/librocksdb/vendor/rocksdb/logging/auto_roll_logger.h +0 -165
  411. package/vendor/librocksdb/vendor/rocksdb/logging/env_logger.h +0 -195
  412. package/vendor/librocksdb/vendor/rocksdb/logging/event_logger.cc +0 -68
  413. package/vendor/librocksdb/vendor/rocksdb/logging/event_logger.h +0 -202
  414. package/vendor/librocksdb/vendor/rocksdb/logging/log_buffer.cc +0 -91
  415. package/vendor/librocksdb/vendor/rocksdb/logging/log_buffer.h +0 -57
  416. package/vendor/librocksdb/vendor/rocksdb/logging/logging.h +0 -62
  417. package/vendor/librocksdb/vendor/rocksdb/memory/allocator.h +0 -58
  418. package/vendor/librocksdb/vendor/rocksdb/memory/arena.cc +0 -170
  419. package/vendor/librocksdb/vendor/rocksdb/memory/arena.h +0 -146
  420. package/vendor/librocksdb/vendor/rocksdb/memory/concurrent_arena.cc +0 -45
  421. package/vendor/librocksdb/vendor/rocksdb/memory/concurrent_arena.h +0 -215
  422. package/vendor/librocksdb/vendor/rocksdb/memory/jemalloc_nodump_allocator.cc +0 -304
  423. package/vendor/librocksdb/vendor/rocksdb/memory/jemalloc_nodump_allocator.h +0 -99
  424. package/vendor/librocksdb/vendor/rocksdb/memory/memkind_kmem_allocator.cc +0 -44
  425. package/vendor/librocksdb/vendor/rocksdb/memory/memkind_kmem_allocator.h +0 -43
  426. package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator.cc +0 -81
  427. package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator_impl.h +0 -47
  428. package/vendor/librocksdb/vendor/rocksdb/memory/memory_usage.h +0 -38
  429. package/vendor/librocksdb/vendor/rocksdb/memtable/alloc_tracker.cc +0 -63
  430. package/vendor/librocksdb/vendor/rocksdb/memtable/hash_linklist_rep.cc +0 -925
  431. package/vendor/librocksdb/vendor/rocksdb/memtable/hash_skiplist_rep.cc +0 -392
  432. package/vendor/librocksdb/vendor/rocksdb/memtable/inlineskiplist.h +0 -1051
  433. package/vendor/librocksdb/vendor/rocksdb/memtable/memtablerep_bench.cc +0 -687
  434. package/vendor/librocksdb/vendor/rocksdb/memtable/skiplist.h +0 -498
  435. package/vendor/librocksdb/vendor/rocksdb/memtable/skiplistrep.cc +0 -368
  436. package/vendor/librocksdb/vendor/rocksdb/memtable/stl_wrappers.h +0 -33
  437. package/vendor/librocksdb/vendor/rocksdb/memtable/vectorrep.cc +0 -307
  438. package/vendor/librocksdb/vendor/rocksdb/memtable/write_buffer_manager.cc +0 -185
  439. package/vendor/librocksdb/vendor/rocksdb/monitoring/file_read_sample.h +0 -23
  440. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram.cc +0 -280
  441. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram.h +0 -143
  442. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram_windowing.cc +0 -198
  443. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram_windowing.h +0 -84
  444. package/vendor/librocksdb/vendor/rocksdb/monitoring/in_memory_stats_history.cc +0 -50
  445. package/vendor/librocksdb/vendor/rocksdb/monitoring/in_memory_stats_history.h +0 -74
  446. package/vendor/librocksdb/vendor/rocksdb/monitoring/instrumented_mutex.cc +0 -90
  447. package/vendor/librocksdb/vendor/rocksdb/monitoring/instrumented_mutex.h +0 -126
  448. package/vendor/librocksdb/vendor/rocksdb/monitoring/iostats_context.cc +0 -78
  449. package/vendor/librocksdb/vendor/rocksdb/monitoring/iostats_context_imp.h +0 -62
  450. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_context.cc +0 -317
  451. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_context_imp.h +0 -103
  452. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_level.cc +0 -23
  453. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_level_imp.h +0 -14
  454. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_step_timer.h +0 -77
  455. package/vendor/librocksdb/vendor/rocksdb/monitoring/persistent_stats_history.cc +0 -173
  456. package/vendor/librocksdb/vendor/rocksdb/monitoring/persistent_stats_history.h +0 -83
  457. package/vendor/librocksdb/vendor/rocksdb/monitoring/statistics.cc +0 -561
  458. package/vendor/librocksdb/vendor/rocksdb/monitoring/statistics_impl.h +0 -143
  459. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_impl.cc +0 -163
  460. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater.cc +0 -328
  461. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater.h +0 -226
  462. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater_debug.cc +0 -43
  463. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util.cc +0 -214
  464. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util.h +0 -139
  465. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util_debug.cc +0 -60
  466. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.cc +0 -1218
  467. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.h +0 -352
  468. package/vendor/librocksdb/vendor/rocksdb/options/configurable.cc +0 -720
  469. package/vendor/librocksdb/vendor/rocksdb/options/configurable_helper.h +0 -185
  470. package/vendor/librocksdb/vendor/rocksdb/options/configurable_test.h +0 -116
  471. package/vendor/librocksdb/vendor/rocksdb/options/customizable.cc +0 -133
  472. package/vendor/librocksdb/vendor/rocksdb/options/db_options.cc +0 -1113
  473. package/vendor/librocksdb/vendor/rocksdb/options/db_options.h +0 -160
  474. package/vendor/librocksdb/vendor/rocksdb/options/offpeak_time_info.cc +0 -59
  475. package/vendor/librocksdb/vendor/rocksdb/options/offpeak_time_info.h +0 -37
  476. package/vendor/librocksdb/vendor/rocksdb/options/options.cc +0 -717
  477. package/vendor/librocksdb/vendor/rocksdb/options/options_helper.cc +0 -1438
  478. package/vendor/librocksdb/vendor/rocksdb/options/options_helper.h +0 -115
  479. package/vendor/librocksdb/vendor/rocksdb/options/options_parser.cc +0 -745
  480. package/vendor/librocksdb/vendor/rocksdb/options/options_parser.h +0 -151
  481. package/vendor/librocksdb/vendor/rocksdb/port/jemalloc_helper.h +0 -107
  482. package/vendor/librocksdb/vendor/rocksdb/port/lang.h +0 -97
  483. package/vendor/librocksdb/vendor/rocksdb/port/likely.h +0 -18
  484. package/vendor/librocksdb/vendor/rocksdb/port/malloc.h +0 -17
  485. package/vendor/librocksdb/vendor/rocksdb/port/mmap.cc +0 -98
  486. package/vendor/librocksdb/vendor/rocksdb/port/mmap.h +0 -90
  487. package/vendor/librocksdb/vendor/rocksdb/port/port.h +0 -21
  488. package/vendor/librocksdb/vendor/rocksdb/port/port_dirent.h +0 -44
  489. package/vendor/librocksdb/vendor/rocksdb/port/port_example.h +0 -101
  490. package/vendor/librocksdb/vendor/rocksdb/port/port_posix.cc +0 -300
  491. package/vendor/librocksdb/vendor/rocksdb/port/port_posix.h +0 -246
  492. package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.cc +0 -418
  493. package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.h +0 -31
  494. package/vendor/librocksdb/vendor/rocksdb/port/sys_time.h +0 -63
  495. package/vendor/librocksdb/vendor/rocksdb/port/util_logger.h +0 -18
  496. package/vendor/librocksdb/vendor/rocksdb/port/win/env_default.cc +0 -45
  497. package/vendor/librocksdb/vendor/rocksdb/port/win/env_win.cc +0 -1436
  498. package/vendor/librocksdb/vendor/rocksdb/port/win/env_win.h +0 -305
  499. package/vendor/librocksdb/vendor/rocksdb/port/win/io_win.cc +0 -1101
  500. package/vendor/librocksdb/vendor/rocksdb/port/win/io_win.h +0 -504
  501. package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.cc +0 -305
  502. package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.h +0 -382
  503. package/vendor/librocksdb/vendor/rocksdb/port/win/win_jemalloc.cc +0 -80
  504. package/vendor/librocksdb/vendor/rocksdb/port/win/win_logger.cc +0 -192
  505. package/vendor/librocksdb/vendor/rocksdb/port/win/win_logger.h +0 -64
  506. package/vendor/librocksdb/vendor/rocksdb/port/win/win_thread.cc +0 -170
  507. package/vendor/librocksdb/vendor/rocksdb/port/win/win_thread.h +0 -117
  508. package/vendor/librocksdb/vendor/rocksdb/port/win/xpress_win.cc +0 -210
  509. package/vendor/librocksdb/vendor/rocksdb/port/win/xpress_win.h +0 -26
  510. package/vendor/librocksdb/vendor/rocksdb/port/xpress.h +0 -17
  511. package/vendor/librocksdb/vendor/rocksdb/rocksdb.pc.in +0 -10
  512. package/vendor/librocksdb/vendor/rocksdb/table/adaptive/adaptive_table_factory.cc +0 -119
  513. package/vendor/librocksdb/vendor/rocksdb/table/adaptive/adaptive_table_factory.h +0 -56
  514. package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.cc +0 -73
  515. package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.h +0 -48
  516. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block.cc +0 -1341
  517. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block.h +0 -969
  518. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.cc +0 -2148
  519. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.h +0 -208
  520. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.cc +0 -980
  521. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.h +0 -102
  522. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.cc +0 -893
  523. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.h +0 -445
  524. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.cc +0 -3296
  525. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.h +0 -785
  526. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_impl.h +0 -205
  527. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +0 -819
  528. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_builder.cc +0 -266
  529. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_builder.h +0 -128
  530. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.cc +0 -108
  531. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.h +0 -190
  532. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.cc +0 -158
  533. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.h +0 -74
  534. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefix_index.cc +0 -226
  535. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefix_index.h +0 -70
  536. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_type.h +0 -34
  537. package/vendor/librocksdb/vendor/rocksdb/table/block_based/cachable_entry.h +0 -249
  538. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_footer.cc +0 -59
  539. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_footer.h +0 -25
  540. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_hash_index.cc +0 -94
  541. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_hash_index.h +0 -137
  542. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block.h +0 -189
  543. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.cc +0 -169
  544. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.h +0 -79
  545. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy.cc +0 -1989
  546. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy_internal.h +0 -341
  547. package/vendor/librocksdb/vendor/rocksdb/table/block_based/flush_block_policy.cc +0 -132
  548. package/vendor/librocksdb/vendor/rocksdb/table/block_based/flush_block_policy_impl.h +0 -40
  549. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.cc +0 -297
  550. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.h +0 -142
  551. package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.cc +0 -146
  552. package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.h +0 -49
  553. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.cc +0 -305
  554. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.h +0 -534
  555. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.cc +0 -62
  556. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.h +0 -94
  557. package/vendor/librocksdb/vendor/rocksdb/table/block_based/mock_block_based_table.h +0 -62
  558. package/vendor/librocksdb/vendor/rocksdb/table/block_based/parsed_full_filter_block.cc +0 -23
  559. package/vendor/librocksdb/vendor/rocksdb/table/block_based/parsed_full_filter_block.h +0 -47
  560. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.cc +0 -610
  561. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.h +0 -188
  562. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_iterator.cc +0 -164
  563. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_iterator.h +0 -160
  564. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.cc +0 -264
  565. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.h +0 -58
  566. package/vendor/librocksdb/vendor/rocksdb/table/block_based/reader_common.cc +0 -64
  567. package/vendor/librocksdb/vendor/rocksdb/table/block_based/reader_common.h +0 -36
  568. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.cc +0 -118
  569. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.h +0 -60
  570. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.cc +0 -458
  571. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.h +0 -168
  572. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.cc +0 -370
  573. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.h +0 -45
  574. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.cc +0 -555
  575. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -136
  576. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.cc +0 -100
  577. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.h +0 -80
  578. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.cc +0 -416
  579. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.h +0 -100
  580. package/vendor/librocksdb/vendor/rocksdb/table/format.cc +0 -708
  581. package/vendor/librocksdb/vendor/rocksdb/table/format.h +0 -439
  582. package/vendor/librocksdb/vendor/rocksdb/table/get_context.cc +0 -622
  583. package/vendor/librocksdb/vendor/rocksdb/table/get_context.h +0 -259
  584. package/vendor/librocksdb/vendor/rocksdb/table/internal_iterator.h +0 -242
  585. package/vendor/librocksdb/vendor/rocksdb/table/iter_heap.h +0 -44
  586. package/vendor/librocksdb/vendor/rocksdb/table/iterator.cc +0 -134
  587. package/vendor/librocksdb/vendor/rocksdb/table/iterator_wrapper.h +0 -225
  588. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.cc +0 -1755
  589. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.h +0 -100
  590. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.cc +0 -590
  591. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.h +0 -181
  592. package/vendor/librocksdb/vendor/rocksdb/table/mock_table.cc +0 -355
  593. package/vendor/librocksdb/vendor/rocksdb/table/mock_table.h +0 -92
  594. package/vendor/librocksdb/vendor/rocksdb/table/multiget_context.h +0 -405
  595. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_helper.cc +0 -110
  596. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_helper.h +0 -46
  597. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_options.h +0 -34
  598. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_bloom.cc +0 -78
  599. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_bloom.h +0 -132
  600. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.cc +0 -348
  601. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.h +0 -151
  602. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_factory.cc +0 -295
  603. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_factory.h +0 -180
  604. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_index.cc +0 -211
  605. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_index.h +0 -246
  606. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_key_coding.cc +0 -508
  607. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_key_coding.h +0 -199
  608. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_reader.cc +0 -778
  609. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_reader.h +0 -243
  610. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.cc +0 -601
  611. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.h +0 -104
  612. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_reader.cc +0 -166
  613. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer.cc +0 -536
  614. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer_collectors.h +0 -97
  615. package/vendor/librocksdb/vendor/rocksdb/table/table_builder.h +0 -239
  616. package/vendor/librocksdb/vendor/rocksdb/table/table_factory.cc +0 -52
  617. package/vendor/librocksdb/vendor/rocksdb/table/table_iterator.h +0 -69
  618. package/vendor/librocksdb/vendor/rocksdb/table/table_properties.cc +0 -357
  619. package/vendor/librocksdb/vendor/rocksdb/table/table_properties_internal.h +0 -14
  620. package/vendor/librocksdb/vendor/rocksdb/table/table_reader.h +0 -202
  621. package/vendor/librocksdb/vendor/rocksdb/table/table_reader_bench.cc +0 -341
  622. package/vendor/librocksdb/vendor/rocksdb/table/two_level_iterator.cc +0 -222
  623. package/vendor/librocksdb/vendor/rocksdb/table/two_level_iterator.h +0 -43
  624. package/vendor/librocksdb/vendor/rocksdb/table/unique_id.cc +0 -223
  625. package/vendor/librocksdb/vendor/rocksdb/table/unique_id_impl.h +0 -93
  626. package/vendor/librocksdb/vendor/rocksdb/test_util/mock_time_env.cc +0 -38
  627. package/vendor/librocksdb/vendor/rocksdb/test_util/mock_time_env.h +0 -109
  628. package/vendor/librocksdb/vendor/rocksdb/test_util/secondary_cache_test_util.cc +0 -93
  629. package/vendor/librocksdb/vendor/rocksdb/test_util/secondary_cache_test_util.h +0 -131
  630. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point.cc +0 -82
  631. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point.h +0 -182
  632. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point_impl.cc +0 -152
  633. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point_impl.h +0 -96
  634. package/vendor/librocksdb/vendor/rocksdb/test_util/testharness.cc +0 -105
  635. package/vendor/librocksdb/vendor/rocksdb/test_util/testharness.h +0 -124
  636. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.cc +0 -776
  637. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.h +0 -908
  638. package/vendor/librocksdb/vendor/rocksdb/test_util/transaction_test_util.cc +0 -400
  639. package/vendor/librocksdb/vendor/rocksdb/test_util/transaction_test_util.h +0 -147
  640. package/vendor/librocksdb/vendor/rocksdb/tools/CMakeLists.txt +0 -30
  641. package/vendor/librocksdb/vendor/rocksdb/tools/blob_dump.cc +0 -103
  642. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +0 -2331
  643. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +0 -398
  644. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +0 -17
  645. package/vendor/librocksdb/vendor/rocksdb/tools/db_bench.cc +0 -21
  646. package/vendor/librocksdb/vendor/rocksdb/tools/db_bench_tool.cc +0 -8743
  647. package/vendor/librocksdb/vendor/rocksdb/tools/db_repl_stress.cc +0 -132
  648. package/vendor/librocksdb/vendor/rocksdb/tools/dump/db_dump_tool.cc +0 -264
  649. package/vendor/librocksdb/vendor/rocksdb/tools/dump/rocksdb_dump.cc +0 -60
  650. package/vendor/librocksdb/vendor/rocksdb/tools/dump/rocksdb_undump.cc +0 -59
  651. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser.cc +0 -17
  652. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser_tool.cc +0 -142
  653. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser_tool.h +0 -38
  654. package/vendor/librocksdb/vendor/rocksdb/tools/ldb.cc +0 -13
  655. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd.cc +0 -5044
  656. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd_impl.h +0 -814
  657. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_tool.cc +0 -192
  658. package/vendor/librocksdb/vendor/rocksdb/tools/simulated_hybrid_file_system.cc +0 -244
  659. package/vendor/librocksdb/vendor/rocksdb/tools/simulated_hybrid_file_system.h +0 -124
  660. package/vendor/librocksdb/vendor/rocksdb/tools/sst_dump.cc +0 -12
  661. package/vendor/librocksdb/vendor/rocksdb/tools/sst_dump_tool.cc +0 -588
  662. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer.cc +0 -17
  663. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer_tool.cc +0 -1935
  664. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer_tool.h +0 -329
  665. package/vendor/librocksdb/vendor/rocksdb/tools/write_stress.cc +0 -305
  666. package/vendor/librocksdb/vendor/rocksdb/trace_replay/block_cache_tracer.cc +0 -509
  667. package/vendor/librocksdb/vendor/rocksdb/trace_replay/block_cache_tracer.h +0 -239
  668. package/vendor/librocksdb/vendor/rocksdb/trace_replay/io_tracer.cc +0 -303
  669. package/vendor/librocksdb/vendor/rocksdb/trace_replay/io_tracer.h +0 -185
  670. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record.cc +0 -206
  671. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_handler.cc +0 -190
  672. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_handler.h +0 -46
  673. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_result.cc +0 -146
  674. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_replay.cc +0 -632
  675. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_replay.h +0 -184
  676. package/vendor/librocksdb/vendor/rocksdb/util/aligned_buffer.h +0 -235
  677. package/vendor/librocksdb/vendor/rocksdb/util/aligned_storage.h +0 -24
  678. package/vendor/librocksdb/vendor/rocksdb/util/async_file_reader.cc +0 -84
  679. package/vendor/librocksdb/vendor/rocksdb/util/async_file_reader.h +0 -144
  680. package/vendor/librocksdb/vendor/rocksdb/util/atomic.h +0 -111
  681. package/vendor/librocksdb/vendor/rocksdb/util/autovector.h +0 -397
  682. package/vendor/librocksdb/vendor/rocksdb/util/bloom_impl.h +0 -489
  683. package/vendor/librocksdb/vendor/rocksdb/util/build_version.cc.in +0 -79
  684. package/vendor/librocksdb/vendor/rocksdb/util/cast_util.h +0 -88
  685. package/vendor/librocksdb/vendor/rocksdb/util/channel.h +0 -69
  686. package/vendor/librocksdb/vendor/rocksdb/util/cleanable.cc +0 -181
  687. package/vendor/librocksdb/vendor/rocksdb/util/coding.cc +0 -90
  688. package/vendor/librocksdb/vendor/rocksdb/util/coding.h +0 -385
  689. package/vendor/librocksdb/vendor/rocksdb/util/coding_lean.h +0 -101
  690. package/vendor/librocksdb/vendor/rocksdb/util/compaction_job_stats_impl.cc +0 -94
  691. package/vendor/librocksdb/vendor/rocksdb/util/comparator.cc +0 -443
  692. package/vendor/librocksdb/vendor/rocksdb/util/compression.cc +0 -122
  693. package/vendor/librocksdb/vendor/rocksdb/util/compression.h +0 -1879
  694. package/vendor/librocksdb/vendor/rocksdb/util/compression_context_cache.cc +0 -106
  695. package/vendor/librocksdb/vendor/rocksdb/util/compression_context_cache.h +0 -47
  696. package/vendor/librocksdb/vendor/rocksdb/util/concurrent_task_limiter_impl.cc +0 -64
  697. package/vendor/librocksdb/vendor/rocksdb/util/concurrent_task_limiter_impl.h +0 -67
  698. package/vendor/librocksdb/vendor/rocksdb/util/core_local.h +0 -85
  699. package/vendor/librocksdb/vendor/rocksdb/util/coro_utils.h +0 -112
  700. package/vendor/librocksdb/vendor/rocksdb/util/crc32c.cc +0 -1295
  701. package/vendor/librocksdb/vendor/rocksdb/util/crc32c.h +0 -56
  702. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_arm64.cc +0 -213
  703. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_arm64.h +0 -51
  704. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc.c +0 -94
  705. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc.h +0 -21
  706. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc_asm.S +0 -756
  707. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc_constants.h +0 -900
  708. package/vendor/librocksdb/vendor/rocksdb/util/data_structure.cc +0 -16
  709. package/vendor/librocksdb/vendor/rocksdb/util/defer.h +0 -82
  710. package/vendor/librocksdb/vendor/rocksdb/util/distributed_mutex.h +0 -50
  711. package/vendor/librocksdb/vendor/rocksdb/util/duplicate_detector.h +0 -69
  712. package/vendor/librocksdb/vendor/rocksdb/util/dynamic_bloom.cc +0 -70
  713. package/vendor/librocksdb/vendor/rocksdb/util/dynamic_bloom.h +0 -214
  714. package/vendor/librocksdb/vendor/rocksdb/util/fastrange.h +0 -114
  715. package/vendor/librocksdb/vendor/rocksdb/util/file_checksum_helper.cc +0 -170
  716. package/vendor/librocksdb/vendor/rocksdb/util/file_checksum_helper.h +0 -101
  717. package/vendor/librocksdb/vendor/rocksdb/util/filter_bench.cc +0 -840
  718. package/vendor/librocksdb/vendor/rocksdb/util/gflags_compat.h +0 -29
  719. package/vendor/librocksdb/vendor/rocksdb/util/hash.cc +0 -201
  720. package/vendor/librocksdb/vendor/rocksdb/util/hash.h +0 -141
  721. package/vendor/librocksdb/vendor/rocksdb/util/hash128.h +0 -26
  722. package/vendor/librocksdb/vendor/rocksdb/util/hash_containers.h +0 -51
  723. package/vendor/librocksdb/vendor/rocksdb/util/hash_map.h +0 -67
  724. package/vendor/librocksdb/vendor/rocksdb/util/heap.h +0 -174
  725. package/vendor/librocksdb/vendor/rocksdb/util/kv_map.h +0 -33
  726. package/vendor/librocksdb/vendor/rocksdb/util/log_write_bench.cc +0 -88
  727. package/vendor/librocksdb/vendor/rocksdb/util/math.h +0 -351
  728. package/vendor/librocksdb/vendor/rocksdb/util/math128.h +0 -338
  729. package/vendor/librocksdb/vendor/rocksdb/util/murmurhash.cc +0 -196
  730. package/vendor/librocksdb/vendor/rocksdb/util/murmurhash.h +0 -43
  731. package/vendor/librocksdb/vendor/rocksdb/util/mutexlock.h +0 -189
  732. package/vendor/librocksdb/vendor/rocksdb/util/overload.h +0 -23
  733. package/vendor/librocksdb/vendor/rocksdb/util/ppc-opcode.h +0 -27
  734. package/vendor/librocksdb/vendor/rocksdb/util/random.cc +0 -63
  735. package/vendor/librocksdb/vendor/rocksdb/util/random.h +0 -190
  736. package/vendor/librocksdb/vendor/rocksdb/util/rate_limiter.cc +0 -391
  737. package/vendor/librocksdb/vendor/rocksdb/util/rate_limiter_impl.h +0 -156
  738. package/vendor/librocksdb/vendor/rocksdb/util/repeatable_thread.h +0 -149
  739. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_alg.h +0 -1225
  740. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_config.cc +0 -498
  741. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_config.h +0 -182
  742. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_impl.h +0 -1137
  743. package/vendor/librocksdb/vendor/rocksdb/util/set_comparator.h +0 -24
  744. package/vendor/librocksdb/vendor/rocksdb/util/single_thread_executor.h +0 -57
  745. package/vendor/librocksdb/vendor/rocksdb/util/slice.cc +0 -366
  746. package/vendor/librocksdb/vendor/rocksdb/util/status.cc +0 -163
  747. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.cc +0 -62
  748. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.h +0 -41
  749. package/vendor/librocksdb/vendor/rocksdb/util/stop_watch.h +0 -136
  750. package/vendor/librocksdb/vendor/rocksdb/util/string_util.cc +0 -554
  751. package/vendor/librocksdb/vendor/rocksdb/util/string_util.h +0 -185
  752. package/vendor/librocksdb/vendor/rocksdb/util/thread_guard.h +0 -41
  753. package/vendor/librocksdb/vendor/rocksdb/util/thread_local.cc +0 -521
  754. package/vendor/librocksdb/vendor/rocksdb/util/thread_local.h +0 -100
  755. package/vendor/librocksdb/vendor/rocksdb/util/thread_operation.h +0 -122
  756. package/vendor/librocksdb/vendor/rocksdb/util/threadpool_imp.cc +0 -550
  757. package/vendor/librocksdb/vendor/rocksdb/util/threadpool_imp.h +0 -120
  758. package/vendor/librocksdb/vendor/rocksdb/util/timer.h +0 -340
  759. package/vendor/librocksdb/vendor/rocksdb/util/timer_queue.h +0 -231
  760. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.cc +0 -418
  761. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.h +0 -275
  762. package/vendor/librocksdb/vendor/rocksdb/util/user_comparator_wrapper.h +0 -64
  763. package/vendor/librocksdb/vendor/rocksdb/util/vector_iterator.h +0 -114
  764. package/vendor/librocksdb/vendor/rocksdb/util/work_queue.h +0 -150
  765. package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.cc +0 -25
  766. package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.h +0 -90
  767. package/vendor/librocksdb/vendor/rocksdb/util/xxhash.cc +0 -48
  768. package/vendor/librocksdb/vendor/rocksdb/util/xxhash.h +0 -6364
  769. package/vendor/librocksdb/vendor/rocksdb/util/xxph3.h +0 -1760
  770. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/agg_merge.cc +0 -237
  771. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/agg_merge_impl.h +0 -49
  772. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/test_agg_merge.cc +0 -103
  773. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/test_agg_merge.h +0 -47
  774. package/vendor/librocksdb/vendor/rocksdb/utilities/backup/backup_engine.cc +0 -3357
  775. package/vendor/librocksdb/vendor/rocksdb/utilities/backup/backup_engine_impl.h +0 -34
  776. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -490
  777. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.h +0 -202
  778. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db.cc +0 -109
  779. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db.h +0 -231
  780. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -54
  781. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.cc +0 -2269
  782. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.h +0 -514
  783. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -127
  784. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_iterator.h +0 -148
  785. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_listener.h +0 -71
  786. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_dump_tool.cc +0 -276
  787. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -56
  788. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_file.cc +0 -311
  789. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_file.h +0 -245
  790. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load.cc +0 -67
  791. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.cc +0 -389
  792. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.h +0 -368
  793. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +0 -104
  794. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +0 -57
  795. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_options.h +0 -41
  796. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/format.cc +0 -365
  797. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/format.h +0 -183
  798. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/merge_operator.cc +0 -76
  799. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/merge_operator.h +0 -43
  800. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/serialize.h +0 -81
  801. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/test_utils.cc +0 -67
  802. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/test_utils.h +0 -42
  803. package/vendor/librocksdb/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.cc +0 -472
  804. package/vendor/librocksdb/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.h +0 -64
  805. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +0 -41
  806. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -24
  807. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -26
  808. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters.cc +0 -52
  809. package/vendor/librocksdb/vendor/rocksdb/utilities/convenience/info_log_finder.cc +0 -26
  810. package/vendor/librocksdb/vendor/rocksdb/utilities/counted_fs.cc +0 -379
  811. package/vendor/librocksdb/vendor/rocksdb/utilities/counted_fs.h +0 -158
  812. package/vendor/librocksdb/vendor/rocksdb/utilities/debug.cc +0 -134
  813. package/vendor/librocksdb/vendor/rocksdb/utilities/env_mirror.cc +0 -280
  814. package/vendor/librocksdb/vendor/rocksdb/utilities/env_timed.cc +0 -181
  815. package/vendor/librocksdb/vendor/rocksdb/utilities/env_timed.h +0 -95
  816. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_env.cc +0 -555
  817. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_env.h +0 -252
  818. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.cc +0 -1507
  819. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.h +0 -760
  820. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_secondary_cache.cc +0 -138
  821. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_secondary_cache.h +0 -115
  822. package/vendor/librocksdb/vendor/rocksdb/utilities/leveldb_options/leveldb_options.cc +0 -57
  823. package/vendor/librocksdb/vendor/rocksdb/utilities/memory/memory_util.cc +0 -50
  824. package/vendor/librocksdb/vendor/rocksdb/utilities/memory_allocators.h +0 -103
  825. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/bytesxor.cc +0 -57
  826. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/bytesxor.h +0 -39
  827. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/max.cc +0 -64
  828. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/max_operator.h +0 -35
  829. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/put.cc +0 -74
  830. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/put_operator.h +0 -56
  831. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/sortlist.cc +0 -97
  832. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/sortlist.h +0 -42
  833. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.cc +0 -76
  834. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.h +0 -32
  835. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +0 -129
  836. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.h +0 -51
  837. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/uint64add.cc +0 -56
  838. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/uint64add.h +0 -35
  839. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators.cc +0 -115
  840. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators.h +0 -36
  841. package/vendor/librocksdb/vendor/rocksdb/utilities/object_registry.cc +0 -381
  842. package/vendor/librocksdb/vendor/rocksdb/utilities/option_change_migration/option_change_migration.cc +0 -169
  843. package/vendor/librocksdb/vendor/rocksdb/utilities/options/options_util.cc +0 -117
  844. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -420
  845. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -154
  846. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +0 -607
  847. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -291
  848. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +0 -127
  849. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -84
  850. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -122
  851. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table.h +0 -237
  852. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table_bench.cc +0 -310
  853. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -166
  854. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/lrulist.h +0 -172
  855. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +0 -355
  856. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -284
  857. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -165
  858. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -340
  859. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_util.h +0 -67
  860. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -138
  861. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -139
  862. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/cache_simulator.cc +0 -287
  863. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/cache_simulator.h +0 -231
  864. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/sim_cache.cc +0 -375
  865. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.cc +0 -144
  866. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.h +0 -45
  867. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +0 -233
  868. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +0 -65
  869. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/file_trace_reader_writer.cc +0 -132
  870. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/file_trace_reader_writer.h +0 -48
  871. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/replayer_impl.cc +0 -313
  872. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/replayer_impl.h +0 -84
  873. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -27
  874. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_manager.h +0 -80
  875. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_tracker.h +0 -207
  876. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +0 -718
  877. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +0 -222
  878. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +0 -324
  879. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -255
  880. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +0 -97
  881. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +0 -34
  882. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +0 -81
  883. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/comparator.h +0 -138
  884. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/ft-status.h +0 -102
  885. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +0 -137
  886. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.h +0 -174
  887. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +0 -220
  888. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.h +0 -141
  889. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +0 -525
  890. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +0 -255
  891. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +0 -1021
  892. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +0 -580
  893. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +0 -525
  894. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +0 -263
  895. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.h +0 -178
  896. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +0 -518
  897. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.h +0 -302
  898. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +0 -118
  899. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.h +0 -92
  900. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +0 -211
  901. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.h +0 -124
  902. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/memory.h +0 -215
  903. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +0 -43
  904. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h +0 -130
  905. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +0 -87
  906. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_instrumentation.h +0 -286
  907. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_portability.h +0 -87
  908. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_pthread.h +0 -520
  909. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_race_tools.h +0 -179
  910. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +0 -197
  911. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +0 -31
  912. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +0 -139
  913. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +0 -165
  914. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.h +0 -98
  915. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +0 -144
  916. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +0 -199
  917. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.h +0 -141
  918. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt.h +0 -794
  919. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt_impl.h +0 -1295
  920. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +0 -165
  921. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/status.h +0 -76
  922. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +0 -501
  923. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +0 -135
  924. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +0 -156
  925. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +0 -146
  926. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -208
  927. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction.h +0 -99
  928. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +0 -111
  929. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +0 -110
  930. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.cc +0 -1278
  931. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.h +0 -345
  932. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +0 -845
  933. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.h +0 -345
  934. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/snapshot_checker.cc +0 -37
  935. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.cc +0 -912
  936. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.h +0 -455
  937. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -133
  938. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -24
  939. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_test.h +0 -589
  940. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.cc +0 -207
  941. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.h +0 -86
  942. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.cc +0 -548
  943. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.h +0 -118
  944. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1100
  945. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.h +0 -1149
  946. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.cc +0 -1089
  947. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.h +0 -333
  948. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -486
  949. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.h +0 -105
  950. package/vendor/librocksdb/vendor/rocksdb/utilities/ttl/db_ttl_impl.cc +0 -638
  951. package/vendor/librocksdb/vendor/rocksdb/utilities/ttl/db_ttl_impl.h +0 -239
  952. package/vendor/librocksdb/vendor/rocksdb/utilities/types_util.cc +0 -88
  953. package/vendor/librocksdb/vendor/rocksdb/utilities/wal_filter.cc +0 -22
  954. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +0 -1134
  955. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +0 -934
  956. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +0 -468
@@ -1,1774 +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/db_iter.h"
11
-
12
- #include <iostream>
13
- #include <limits>
14
- #include <string>
15
-
16
- #include "db/dbformat.h"
17
- #include "db/merge_context.h"
18
- #include "db/merge_helper.h"
19
- #include "db/pinned_iterators_manager.h"
20
- #include "db/wide/wide_column_serialization.h"
21
- #include "db/wide/wide_columns_helper.h"
22
- #include "file/filename.h"
23
- #include "logging/logging.h"
24
- #include "memory/arena.h"
25
- #include "monitoring/perf_context_imp.h"
26
- #include "rocksdb/env.h"
27
- #include "rocksdb/iterator.h"
28
- #include "rocksdb/merge_operator.h"
29
- #include "rocksdb/options.h"
30
- #include "rocksdb/system_clock.h"
31
- #include "table/internal_iterator.h"
32
- #include "table/iterator_wrapper.h"
33
- #include "trace_replay/trace_replay.h"
34
- #include "util/mutexlock.h"
35
- #include "util/string_util.h"
36
- #include "util/user_comparator_wrapper.h"
37
-
38
- namespace ROCKSDB_NAMESPACE {
39
-
40
- DBIter::DBIter(Env* _env, const ReadOptions& read_options,
41
- const ImmutableOptions& ioptions,
42
- const MutableCFOptions& mutable_cf_options,
43
- const Comparator* cmp, InternalIterator* iter,
44
- const Version* version, SequenceNumber s, bool arena_mode,
45
- uint64_t max_sequential_skip_in_iterations,
46
- ReadCallback* read_callback, ColumnFamilyHandleImpl* cfh,
47
- bool expose_blob_index)
48
- : prefix_extractor_(mutable_cf_options.prefix_extractor.get()),
49
- env_(_env),
50
- clock_(ioptions.clock),
51
- logger_(ioptions.logger),
52
- user_comparator_(cmp),
53
- merge_operator_(ioptions.merge_operator.get()),
54
- iter_(iter),
55
- version_(version),
56
- read_callback_(read_callback),
57
- sequence_(s),
58
- statistics_(ioptions.stats),
59
- max_skip_(max_sequential_skip_in_iterations),
60
- max_skippable_internal_keys_(read_options.max_skippable_internal_keys),
61
- num_internal_keys_skipped_(0),
62
- iterate_lower_bound_(read_options.iterate_lower_bound),
63
- iterate_upper_bound_(read_options.iterate_upper_bound),
64
- direction_(kForward),
65
- valid_(false),
66
- current_entry_is_merged_(false),
67
- is_key_seqnum_zero_(false),
68
- prefix_same_as_start_(mutable_cf_options.prefix_extractor
69
- ? read_options.prefix_same_as_start
70
- : false),
71
- pin_thru_lifetime_(read_options.pin_data),
72
- expect_total_order_inner_iter_(prefix_extractor_ == nullptr ||
73
- read_options.total_order_seek ||
74
- read_options.auto_prefix_mode),
75
- read_tier_(read_options.read_tier),
76
- fill_cache_(read_options.fill_cache),
77
- verify_checksums_(read_options.verify_checksums),
78
- expose_blob_index_(expose_blob_index),
79
- is_blob_(false),
80
- arena_mode_(arena_mode),
81
- io_activity_(read_options.io_activity),
82
- cfh_(cfh),
83
- timestamp_ub_(read_options.timestamp),
84
- timestamp_lb_(read_options.iter_start_ts),
85
- timestamp_size_(timestamp_ub_ ? timestamp_ub_->size() : 0) {
86
- RecordTick(statistics_, NO_ITERATOR_CREATED);
87
- if (pin_thru_lifetime_) {
88
- pinned_iters_mgr_.StartPinning();
89
- }
90
- if (iter_.iter()) {
91
- iter_.iter()->SetPinnedItersMgr(&pinned_iters_mgr_);
92
- }
93
- status_.PermitUncheckedError();
94
- assert(timestamp_size_ ==
95
- user_comparator_.user_comparator()->timestamp_size());
96
- }
97
-
98
- Status DBIter::GetProperty(std::string prop_name, std::string* prop) {
99
- if (prop == nullptr) {
100
- return Status::InvalidArgument("prop is nullptr");
101
- }
102
- if (prop_name == "rocksdb.iterator.super-version-number") {
103
- // First try to pass the value returned from inner iterator.
104
- return iter_.iter()->GetProperty(prop_name, prop);
105
- } else if (prop_name == "rocksdb.iterator.is-key-pinned") {
106
- if (valid_) {
107
- *prop = (pin_thru_lifetime_ && saved_key_.IsKeyPinned()) ? "1" : "0";
108
- } else {
109
- *prop = "Iterator is not valid.";
110
- }
111
- return Status::OK();
112
- } else if (prop_name == "rocksdb.iterator.is-value-pinned") {
113
- if (valid_) {
114
- *prop = (pin_thru_lifetime_ && iter_.Valid() &&
115
- iter_.value().data() == value_.data())
116
- ? "1"
117
- : "0";
118
- } else {
119
- *prop = "Iterator is not valid.";
120
- }
121
- return Status::OK();
122
- } else if (prop_name == "rocksdb.iterator.internal-key") {
123
- *prop = saved_key_.GetUserKey().ToString();
124
- return Status::OK();
125
- } else if (prop_name == "rocksdb.iterator.write-time") {
126
- PutFixed64(prop, saved_write_unix_time_);
127
- return Status::OK();
128
- }
129
- return Status::InvalidArgument("Unidentified property.");
130
- }
131
-
132
- bool DBIter::ParseKey(ParsedInternalKey* ikey) {
133
- Status s = ParseInternalKey(iter_.key(), ikey, false /* log_err_key */);
134
- if (!s.ok()) {
135
- status_ = Status::Corruption("In DBIter: ", s.getState());
136
- valid_ = false;
137
- ROCKS_LOG_ERROR(logger_, "In DBIter: %s", status_.getState());
138
- return false;
139
- } else {
140
- return true;
141
- }
142
- }
143
-
144
- void DBIter::Next() {
145
- assert(valid_);
146
- assert(status_.ok());
147
-
148
- PERF_COUNTER_ADD(iter_next_count, 1);
149
- PERF_CPU_TIMER_GUARD(iter_next_cpu_nanos, clock_);
150
- // Release temporarily pinned blocks from last operation
151
- ReleaseTempPinnedData();
152
- ResetBlobValue();
153
- ResetValueAndColumns();
154
- local_stats_.skip_count_ += num_internal_keys_skipped_;
155
- local_stats_.skip_count_--;
156
- num_internal_keys_skipped_ = 0;
157
- bool ok = true;
158
- if (direction_ == kReverse) {
159
- is_key_seqnum_zero_ = false;
160
- if (!ReverseToForward()) {
161
- ok = false;
162
- }
163
- } else if (!current_entry_is_merged_) {
164
- // If the current value is not a merge, the iter position is the
165
- // current key, which is already returned. We can safely issue a
166
- // Next() without checking the current key.
167
- // If the current key is a merge, very likely iter already points
168
- // to the next internal position.
169
- assert(iter_.Valid());
170
- iter_.Next();
171
- PERF_COUNTER_ADD(internal_key_skipped_count, 1);
172
- }
173
-
174
- local_stats_.next_count_++;
175
- if (ok && iter_.Valid()) {
176
- ClearSavedValue();
177
-
178
- if (prefix_same_as_start_) {
179
- assert(prefix_extractor_ != nullptr);
180
- const Slice prefix = prefix_.GetUserKey();
181
- FindNextUserEntry(true /* skipping the current user key */, &prefix);
182
- } else {
183
- FindNextUserEntry(true /* skipping the current user key */, nullptr);
184
- }
185
- } else {
186
- is_key_seqnum_zero_ = false;
187
- valid_ = false;
188
- }
189
- if (statistics_ != nullptr && valid_) {
190
- local_stats_.next_found_count_++;
191
- local_stats_.bytes_read_ += (key().size() + value().size());
192
- }
193
- }
194
-
195
- bool DBIter::SetBlobValueIfNeeded(const Slice& user_key,
196
- const Slice& blob_index) {
197
- assert(!is_blob_);
198
- assert(blob_value_.empty());
199
-
200
- if (expose_blob_index_) { // Stacked BlobDB implementation
201
- is_blob_ = true;
202
- return true;
203
- }
204
-
205
- if (!version_) {
206
- status_ = Status::Corruption("Encountered unexpected blob index.");
207
- valid_ = false;
208
- return false;
209
- }
210
-
211
- // TODO: consider moving ReadOptions from ArenaWrappedDBIter to DBIter to
212
- // avoid having to copy options back and forth.
213
- // TODO: plumb Env::IOActivity, Env::IOPriority
214
- ReadOptions read_options;
215
- read_options.read_tier = read_tier_;
216
- read_options.fill_cache = fill_cache_;
217
- read_options.verify_checksums = verify_checksums_;
218
- read_options.io_activity = io_activity_;
219
- constexpr FilePrefetchBuffer* prefetch_buffer = nullptr;
220
- constexpr uint64_t* bytes_read = nullptr;
221
-
222
- const Status s = version_->GetBlob(read_options, user_key, blob_index,
223
- prefetch_buffer, &blob_value_, bytes_read);
224
-
225
- if (!s.ok()) {
226
- status_ = s;
227
- valid_ = false;
228
- return false;
229
- }
230
-
231
- is_blob_ = true;
232
- return true;
233
- }
234
-
235
- bool DBIter::SetValueAndColumnsFromEntity(Slice slice) {
236
- assert(value_.empty());
237
- assert(wide_columns_.empty());
238
-
239
- const Status s = WideColumnSerialization::Deserialize(slice, wide_columns_);
240
-
241
- if (!s.ok()) {
242
- status_ = s;
243
- valid_ = false;
244
- wide_columns_.clear();
245
- return false;
246
- }
247
-
248
- if (WideColumnsHelper::HasDefaultColumn(wide_columns_)) {
249
- value_ = WideColumnsHelper::GetDefaultColumn(wide_columns_);
250
- }
251
-
252
- return true;
253
- }
254
-
255
- bool DBIter::SetValueAndColumnsFromMergeResult(const Status& merge_status,
256
- ValueType result_type) {
257
- if (!merge_status.ok()) {
258
- valid_ = false;
259
- status_ = merge_status;
260
- return false;
261
- }
262
-
263
- if (result_type == kTypeWideColumnEntity) {
264
- if (!SetValueAndColumnsFromEntity(saved_value_)) {
265
- assert(!valid_);
266
- return false;
267
- }
268
-
269
- valid_ = true;
270
- return true;
271
- }
272
-
273
- assert(result_type == kTypeValue);
274
- SetValueAndColumnsFromPlain(pinned_value_.data() ? pinned_value_
275
- : saved_value_);
276
- valid_ = true;
277
- return true;
278
- }
279
-
280
- // PRE: saved_key_ has the current user key if skipping_saved_key
281
- // POST: saved_key_ should have the next user key if valid_,
282
- // if the current entry is a result of merge
283
- // current_entry_is_merged_ => true
284
- // saved_value_ => the merged value
285
- //
286
- // NOTE: In between, saved_key_ can point to a user key that has
287
- // a delete marker or a sequence number higher than sequence_
288
- // saved_key_ MUST have a proper user_key before calling this function
289
- //
290
- // The prefix parameter, if not null, indicates that we need to iterate
291
- // within the prefix, and the iterator needs to be made invalid, if no
292
- // more entry for the prefix can be found.
293
- bool DBIter::FindNextUserEntry(bool skipping_saved_key, const Slice* prefix) {
294
- PERF_TIMER_GUARD(find_next_user_entry_time);
295
- return FindNextUserEntryInternal(skipping_saved_key, prefix);
296
- }
297
-
298
- // Actual implementation of DBIter::FindNextUserEntry()
299
- bool DBIter::FindNextUserEntryInternal(bool skipping_saved_key,
300
- const Slice* prefix) {
301
- // Loop until we hit an acceptable entry to yield
302
- assert(iter_.Valid());
303
- assert(status_.ok());
304
- assert(direction_ == kForward);
305
- current_entry_is_merged_ = false;
306
-
307
- // How many times in a row we have skipped an entry with user key less than
308
- // or equal to saved_key_. We could skip these entries either because
309
- // sequence numbers were too high or because skipping_saved_key = true.
310
- // What saved_key_ contains throughout this method:
311
- // - if skipping_saved_key : saved_key_ contains the key that we need
312
- // to skip, and we haven't seen any keys greater
313
- // than that,
314
- // - if num_skipped > 0 : saved_key_ contains the key that we have skipped
315
- // num_skipped times, and we haven't seen any keys
316
- // greater than that,
317
- // - none of the above : saved_key_ can contain anything, it doesn't
318
- // matter.
319
- uint64_t num_skipped = 0;
320
- // For write unprepared, the target sequence number in reseek could be larger
321
- // than the snapshot, and thus needs to be skipped again. This could result in
322
- // an infinite loop of reseeks. To avoid that, we limit the number of reseeks
323
- // to one.
324
- bool reseek_done = false;
325
-
326
- do {
327
- // Will update is_key_seqnum_zero_ as soon as we parsed the current key
328
- // but we need to save the previous value to be used in the loop.
329
- bool is_prev_key_seqnum_zero = is_key_seqnum_zero_;
330
- if (!ParseKey(&ikey_)) {
331
- is_key_seqnum_zero_ = false;
332
- return false;
333
- }
334
- Slice user_key_without_ts =
335
- StripTimestampFromUserKey(ikey_.user_key, timestamp_size_);
336
-
337
- is_key_seqnum_zero_ = (ikey_.sequence == 0);
338
-
339
- assert(iterate_upper_bound_ == nullptr ||
340
- iter_.UpperBoundCheckResult() != IterBoundCheck::kInbound ||
341
- user_comparator_.CompareWithoutTimestamp(
342
- user_key_without_ts, /*a_has_ts=*/false, *iterate_upper_bound_,
343
- /*b_has_ts=*/false) < 0);
344
- if (iterate_upper_bound_ != nullptr &&
345
- iter_.UpperBoundCheckResult() != IterBoundCheck::kInbound &&
346
- user_comparator_.CompareWithoutTimestamp(
347
- user_key_without_ts, /*a_has_ts=*/false, *iterate_upper_bound_,
348
- /*b_has_ts=*/false) >= 0) {
349
- break;
350
- }
351
-
352
- assert(prefix == nullptr || prefix_extractor_ != nullptr);
353
- if (prefix != nullptr &&
354
- prefix_extractor_->Transform(user_key_without_ts).compare(*prefix) !=
355
- 0) {
356
- assert(prefix_same_as_start_);
357
- break;
358
- }
359
-
360
- if (TooManyInternalKeysSkipped()) {
361
- return false;
362
- }
363
-
364
- assert(ikey_.user_key.size() >= timestamp_size_);
365
- Slice ts = timestamp_size_ > 0 ? ExtractTimestampFromUserKey(
366
- ikey_.user_key, timestamp_size_)
367
- : Slice();
368
- bool more_recent = false;
369
- if (IsVisible(ikey_.sequence, ts, &more_recent)) {
370
- // If the previous entry is of seqnum 0, the current entry will not
371
- // possibly be skipped. This condition can potentially be relaxed to
372
- // prev_key.seq <= ikey_.sequence. We are cautious because it will be more
373
- // prone to bugs causing the same user key with the same sequence number.
374
- // Note that with current timestamp implementation, the same user key can
375
- // have different timestamps and zero sequence number on the bottommost
376
- // level. This may change in the future.
377
- if ((!is_prev_key_seqnum_zero || timestamp_size_ > 0) &&
378
- skipping_saved_key &&
379
- CompareKeyForSkip(ikey_.user_key, saved_key_.GetUserKey()) <= 0) {
380
- num_skipped++; // skip this entry
381
- PERF_COUNTER_ADD(internal_key_skipped_count, 1);
382
- } else {
383
- assert(!skipping_saved_key ||
384
- CompareKeyForSkip(ikey_.user_key, saved_key_.GetUserKey()) > 0);
385
- num_skipped = 0;
386
- reseek_done = false;
387
- switch (ikey_.type) {
388
- case kTypeDeletion:
389
- case kTypeDeletionWithTimestamp:
390
- case kTypeSingleDeletion:
391
- // Arrange to skip all upcoming entries for this key since
392
- // they are hidden by this deletion.
393
- if (timestamp_lb_) {
394
- saved_key_.SetInternalKey(ikey_);
395
- valid_ = true;
396
- return true;
397
- } else {
398
- saved_key_.SetUserKey(
399
- ikey_.user_key, !pin_thru_lifetime_ ||
400
- !iter_.iter()->IsKeyPinned() /* copy */);
401
- skipping_saved_key = true;
402
- PERF_COUNTER_ADD(internal_delete_skipped_count, 1);
403
- }
404
- break;
405
- case kTypeValue:
406
- case kTypeValuePreferredSeqno:
407
- case kTypeBlobIndex:
408
- case kTypeWideColumnEntity:
409
- if (!PrepareValue()) {
410
- return false;
411
- }
412
- if (timestamp_lb_) {
413
- saved_key_.SetInternalKey(ikey_);
414
- } else {
415
- saved_key_.SetUserKey(
416
- ikey_.user_key, !pin_thru_lifetime_ ||
417
- !iter_.iter()->IsKeyPinned() /* copy */);
418
- }
419
-
420
- if (ikey_.type == kTypeBlobIndex) {
421
- if (!SetBlobValueIfNeeded(ikey_.user_key, iter_.value())) {
422
- return false;
423
- }
424
-
425
- SetValueAndColumnsFromPlain(expose_blob_index_ ? iter_.value()
426
- : blob_value_);
427
- } else if (ikey_.type == kTypeWideColumnEntity) {
428
- if (!SetValueAndColumnsFromEntity(iter_.value())) {
429
- return false;
430
- }
431
- } else {
432
- assert(ikey_.type == kTypeValue ||
433
- ikey_.type == kTypeValuePreferredSeqno);
434
- Slice value = iter_.value();
435
- saved_write_unix_time_ = iter_.write_unix_time();
436
- if (ikey_.type == kTypeValuePreferredSeqno) {
437
- value = ParsePackedValueForValue(value);
438
- }
439
- SetValueAndColumnsFromPlain(value);
440
- }
441
-
442
- valid_ = true;
443
- return true;
444
- break;
445
- case kTypeMerge:
446
- if (!PrepareValue()) {
447
- return false;
448
- }
449
- saved_key_.SetUserKey(
450
- ikey_.user_key,
451
- !pin_thru_lifetime_ || !iter_.iter()->IsKeyPinned() /* copy */);
452
- // By now, we are sure the current ikey is going to yield a value
453
- current_entry_is_merged_ = true;
454
- valid_ = true;
455
- return MergeValuesNewToOld(); // Go to a different state machine
456
- break;
457
- default:
458
- valid_ = false;
459
- status_ = Status::Corruption(
460
- "Unknown value type: " +
461
- std::to_string(static_cast<unsigned int>(ikey_.type)));
462
- return false;
463
- }
464
- }
465
- } else {
466
- if (more_recent) {
467
- PERF_COUNTER_ADD(internal_recent_skipped_count, 1);
468
- }
469
-
470
- // This key was inserted after our snapshot was taken or skipped by
471
- // timestamp range. If this happens too many times in a row for the same
472
- // user key, we want to seek to the target sequence number.
473
- int cmp = user_comparator_.CompareWithoutTimestamp(
474
- ikey_.user_key, saved_key_.GetUserKey());
475
- if (cmp == 0 || (skipping_saved_key && cmp < 0)) {
476
- num_skipped++;
477
- } else {
478
- saved_key_.SetUserKey(
479
- ikey_.user_key,
480
- !iter_.iter()->IsKeyPinned() || !pin_thru_lifetime_ /* copy */);
481
- skipping_saved_key = false;
482
- num_skipped = 0;
483
- reseek_done = false;
484
- }
485
- }
486
-
487
- // If we have sequentially iterated via numerous equal keys, then it's
488
- // better to seek so that we can avoid too many key comparisons.
489
- //
490
- // To avoid infinite loops, do not reseek if we have already attempted to
491
- // reseek previously.
492
- //
493
- // TODO(lth): If we reseek to sequence number greater than ikey_.sequence,
494
- // then it does not make sense to reseek as we would actually land further
495
- // away from the desired key. There is opportunity for optimization here.
496
- if (num_skipped > max_skip_ && !reseek_done) {
497
- is_key_seqnum_zero_ = false;
498
- num_skipped = 0;
499
- reseek_done = true;
500
- std::string last_key;
501
- if (skipping_saved_key) {
502
- // We're looking for the next user-key but all we see are the same
503
- // user-key with decreasing sequence numbers. Fast forward to
504
- // sequence number 0 and type deletion (the smallest type).
505
- if (timestamp_size_ == 0) {
506
- AppendInternalKey(
507
- &last_key,
508
- ParsedInternalKey(saved_key_.GetUserKey(), 0, kTypeDeletion));
509
- } else {
510
- const std::string kTsMin(timestamp_size_, '\0');
511
- AppendInternalKeyWithDifferentTimestamp(
512
- &last_key,
513
- ParsedInternalKey(saved_key_.GetUserKey(), 0, kTypeDeletion),
514
- kTsMin);
515
- }
516
- // Don't set skipping_saved_key = false because we may still see more
517
- // user-keys equal to saved_key_.
518
- } else {
519
- // We saw multiple entries with this user key and sequence numbers
520
- // higher than sequence_. Fast forward to sequence_.
521
- // Note that this only covers a case when a higher key was overwritten
522
- // many times since our snapshot was taken, not the case when a lot of
523
- // different keys were inserted after our snapshot was taken.
524
- if (timestamp_size_ == 0) {
525
- AppendInternalKey(
526
- &last_key, ParsedInternalKey(saved_key_.GetUserKey(), sequence_,
527
- kValueTypeForSeek));
528
- } else {
529
- AppendInternalKeyWithDifferentTimestamp(
530
- &last_key,
531
- ParsedInternalKey(saved_key_.GetUserKey(), sequence_,
532
- kValueTypeForSeek),
533
- *timestamp_ub_);
534
- }
535
- }
536
- iter_.Seek(last_key);
537
- RecordTick(statistics_, NUMBER_OF_RESEEKS_IN_ITERATION);
538
- } else {
539
- iter_.Next();
540
- }
541
- } while (iter_.Valid());
542
-
543
- valid_ = false;
544
- return iter_.status().ok();
545
- }
546
-
547
- // Merge values of the same user key starting from the current iter_ position
548
- // Scan from the newer entries to older entries.
549
- // PRE: iter_.key() points to the first merge type entry
550
- // saved_key_ stores the user key
551
- // iter_.PrepareValue() has been called
552
- // POST: saved_value_ has the merged value for the user key
553
- // iter_ points to the next entry (or invalid)
554
- bool DBIter::MergeValuesNewToOld() {
555
- if (!merge_operator_) {
556
- ROCKS_LOG_ERROR(logger_, "Options::merge_operator is null.");
557
- status_ = Status::InvalidArgument("merge_operator_ must be set.");
558
- valid_ = false;
559
- return false;
560
- }
561
-
562
- // Temporarily pin the blocks that hold merge operands
563
- TempPinData();
564
- merge_context_.Clear();
565
- // Start the merge process by pushing the first operand
566
- merge_context_.PushOperand(
567
- iter_.value(), iter_.iter()->IsValuePinned() /* operand_pinned */);
568
- PERF_COUNTER_ADD(internal_merge_count, 1);
569
-
570
- TEST_SYNC_POINT("DBIter::MergeValuesNewToOld:PushedFirstOperand");
571
-
572
- ParsedInternalKey ikey;
573
- for (iter_.Next(); iter_.Valid(); iter_.Next()) {
574
- TEST_SYNC_POINT("DBIter::MergeValuesNewToOld:SteppedToNextOperand");
575
- if (!ParseKey(&ikey)) {
576
- return false;
577
- }
578
-
579
- if (!user_comparator_.EqualWithoutTimestamp(ikey.user_key,
580
- saved_key_.GetUserKey())) {
581
- // hit the next user key, stop right here
582
- break;
583
- }
584
- if (kTypeDeletion == ikey.type || kTypeSingleDeletion == ikey.type ||
585
- kTypeDeletionWithTimestamp == ikey.type) {
586
- // hit a delete with the same user key, stop right here
587
- // iter_ is positioned after delete
588
- iter_.Next();
589
- break;
590
- }
591
- if (!PrepareValue()) {
592
- return false;
593
- }
594
-
595
- if (kTypeValue == ikey.type || kTypeValuePreferredSeqno == ikey.type) {
596
- Slice value = iter_.value();
597
- saved_write_unix_time_ = iter_.write_unix_time();
598
- if (kTypeValuePreferredSeqno == ikey.type) {
599
- value = ParsePackedValueForValue(value);
600
- }
601
- // hit a put or put equivalent, merge the put value with operands and
602
- // store the final result in saved_value_. We are done!
603
- if (!MergeWithPlainBaseValue(value, ikey.user_key)) {
604
- return false;
605
- }
606
- // iter_ is positioned after put
607
- iter_.Next();
608
- if (!iter_.status().ok()) {
609
- valid_ = false;
610
- return false;
611
- }
612
- return true;
613
- } else if (kTypeMerge == ikey.type) {
614
- // hit a merge, add the value as an operand and run associative merge.
615
- // when complete, add result to operands and continue.
616
- merge_context_.PushOperand(
617
- iter_.value(), iter_.iter()->IsValuePinned() /* operand_pinned */);
618
- PERF_COUNTER_ADD(internal_merge_count, 1);
619
- } else if (kTypeBlobIndex == ikey.type) {
620
- if (expose_blob_index_) {
621
- status_ =
622
- Status::NotSupported("BlobDB does not support merge operator.");
623
- valid_ = false;
624
- return false;
625
- }
626
- // hit a put, merge the put value with operands and store the
627
- // final result in saved_value_. We are done!
628
- if (!SetBlobValueIfNeeded(ikey.user_key, iter_.value())) {
629
- return false;
630
- }
631
- valid_ = true;
632
- if (!MergeWithPlainBaseValue(blob_value_, ikey.user_key)) {
633
- return false;
634
- }
635
-
636
- ResetBlobValue();
637
-
638
- // iter_ is positioned after put
639
- iter_.Next();
640
- if (!iter_.status().ok()) {
641
- valid_ = false;
642
- return false;
643
- }
644
- return true;
645
- } else if (kTypeWideColumnEntity == ikey.type) {
646
- if (!MergeWithWideColumnBaseValue(iter_.value(), ikey.user_key)) {
647
- return false;
648
- }
649
-
650
- // iter_ is positioned after put
651
- iter_.Next();
652
- if (!iter_.status().ok()) {
653
- valid_ = false;
654
- return false;
655
- }
656
-
657
- return true;
658
- } else {
659
- valid_ = false;
660
- status_ = Status::Corruption(
661
- "Unrecognized value type: " +
662
- std::to_string(static_cast<unsigned int>(ikey.type)));
663
- return false;
664
- }
665
- }
666
-
667
- if (!iter_.status().ok()) {
668
- valid_ = false;
669
- return false;
670
- }
671
-
672
- // we either exhausted all internal keys under this user key, or hit
673
- // a deletion marker.
674
- // feed null as the existing value to the merge operator, such that
675
- // client can differentiate this scenario and do things accordingly.
676
- if (!MergeWithNoBaseValue(saved_key_.GetUserKey())) {
677
- return false;
678
- }
679
- assert(status_.ok());
680
- return true;
681
- }
682
-
683
- void DBIter::Prev() {
684
- assert(valid_);
685
- assert(status_.ok());
686
-
687
- PERF_COUNTER_ADD(iter_prev_count, 1);
688
- PERF_CPU_TIMER_GUARD(iter_prev_cpu_nanos, clock_);
689
- ReleaseTempPinnedData();
690
- ResetBlobValue();
691
- ResetValueAndColumns();
692
- ResetInternalKeysSkippedCounter();
693
- bool ok = true;
694
- if (direction_ == kForward) {
695
- if (!ReverseToBackward()) {
696
- ok = false;
697
- }
698
- }
699
- if (ok) {
700
- ClearSavedValue();
701
-
702
- Slice prefix;
703
- if (prefix_same_as_start_) {
704
- assert(prefix_extractor_ != nullptr);
705
- prefix = prefix_.GetUserKey();
706
- }
707
- PrevInternal(prefix_same_as_start_ ? &prefix : nullptr);
708
- }
709
-
710
- if (statistics_ != nullptr) {
711
- local_stats_.prev_count_++;
712
- if (valid_) {
713
- local_stats_.prev_found_count_++;
714
- local_stats_.bytes_read_ += (key().size() + value().size());
715
- }
716
- }
717
- }
718
-
719
- bool DBIter::ReverseToForward() {
720
- assert(iter_.status().ok());
721
-
722
- // When moving backwards, iter_ is positioned on _previous_ key, which may
723
- // not exist or may have different prefix than the current key().
724
- // If that's the case, seek iter_ to current key.
725
- if (!expect_total_order_inner_iter() || !iter_.Valid()) {
726
- std::string last_key;
727
- if (timestamp_size_ == 0) {
728
- AppendInternalKey(
729
- &last_key, ParsedInternalKey(saved_key_.GetUserKey(),
730
- kMaxSequenceNumber, kValueTypeForSeek));
731
- } else {
732
- // TODO: pre-create kTsMax.
733
- const std::string kTsMax(timestamp_size_, '\xff');
734
- AppendInternalKeyWithDifferentTimestamp(
735
- &last_key,
736
- ParsedInternalKey(saved_key_.GetUserKey(), kMaxSequenceNumber,
737
- kValueTypeForSeek),
738
- kTsMax);
739
- }
740
- iter_.Seek(last_key);
741
- RecordTick(statistics_, NUMBER_OF_RESEEKS_IN_ITERATION);
742
- }
743
-
744
- direction_ = kForward;
745
- // Skip keys less than the current key() (a.k.a. saved_key_).
746
- while (iter_.Valid()) {
747
- ParsedInternalKey ikey;
748
- if (!ParseKey(&ikey)) {
749
- return false;
750
- }
751
- if (user_comparator_.Compare(ikey.user_key, saved_key_.GetUserKey()) >= 0) {
752
- return true;
753
- }
754
- iter_.Next();
755
- }
756
-
757
- if (!iter_.status().ok()) {
758
- valid_ = false;
759
- return false;
760
- }
761
-
762
- return true;
763
- }
764
-
765
- // Move iter_ to the key before saved_key_.
766
- bool DBIter::ReverseToBackward() {
767
- assert(iter_.status().ok());
768
-
769
- // When current_entry_is_merged_ is true, iter_ may be positioned on the next
770
- // key, which may not exist or may have prefix different from current.
771
- // If that's the case, seek to saved_key_.
772
- if (current_entry_is_merged_ &&
773
- (!expect_total_order_inner_iter() || !iter_.Valid())) {
774
- IterKey last_key;
775
- // Using kMaxSequenceNumber and kValueTypeForSeek
776
- // (not kValueTypeForSeekForPrev) to seek to a key strictly smaller
777
- // than saved_key_.
778
- last_key.SetInternalKey(ParsedInternalKey(
779
- saved_key_.GetUserKey(), kMaxSequenceNumber, kValueTypeForSeek));
780
- if (!expect_total_order_inner_iter()) {
781
- iter_.SeekForPrev(last_key.GetInternalKey());
782
- } else {
783
- // Some iterators may not support SeekForPrev(), so we avoid using it
784
- // when prefix seek mode is disabled. This is somewhat expensive
785
- // (an extra Prev(), as well as an extra change of direction of iter_),
786
- // so we may need to reconsider it later.
787
- iter_.Seek(last_key.GetInternalKey());
788
- if (!iter_.Valid() && iter_.status().ok()) {
789
- iter_.SeekToLast();
790
- }
791
- }
792
- RecordTick(statistics_, NUMBER_OF_RESEEKS_IN_ITERATION);
793
- }
794
-
795
- direction_ = kReverse;
796
- return FindUserKeyBeforeSavedKey();
797
- }
798
-
799
- void DBIter::PrevInternal(const Slice* prefix) {
800
- while (iter_.Valid()) {
801
- saved_key_.SetUserKey(
802
- ExtractUserKey(iter_.key()),
803
- !iter_.iter()->IsKeyPinned() || !pin_thru_lifetime_ /* copy */);
804
-
805
- assert(prefix == nullptr || prefix_extractor_ != nullptr);
806
- if (prefix != nullptr &&
807
- prefix_extractor_
808
- ->Transform(StripTimestampFromUserKey(saved_key_.GetUserKey(),
809
- timestamp_size_))
810
- .compare(*prefix) != 0) {
811
- assert(prefix_same_as_start_);
812
- // Current key does not have the same prefix as start
813
- valid_ = false;
814
- return;
815
- }
816
-
817
- assert(iterate_lower_bound_ == nullptr || iter_.MayBeOutOfLowerBound() ||
818
- user_comparator_.CompareWithoutTimestamp(
819
- saved_key_.GetUserKey(), /*a_has_ts=*/true,
820
- *iterate_lower_bound_, /*b_has_ts=*/false) >= 0);
821
- if (iterate_lower_bound_ != nullptr && iter_.MayBeOutOfLowerBound() &&
822
- user_comparator_.CompareWithoutTimestamp(
823
- saved_key_.GetUserKey(), /*a_has_ts=*/true, *iterate_lower_bound_,
824
- /*b_has_ts=*/false) < 0) {
825
- // We've iterated earlier than the user-specified lower bound.
826
- valid_ = false;
827
- return;
828
- }
829
-
830
- if (!FindValueForCurrentKey()) { // assigns valid_
831
- return;
832
- }
833
-
834
- // Whether or not we found a value for current key, we need iter_ to end up
835
- // on a smaller key.
836
- if (!FindUserKeyBeforeSavedKey()) {
837
- return;
838
- }
839
-
840
- if (valid_) {
841
- // Found the value.
842
- return;
843
- }
844
-
845
- if (TooManyInternalKeysSkipped(false)) {
846
- return;
847
- }
848
- }
849
-
850
- // We haven't found any key - iterator is not valid
851
- valid_ = false;
852
- }
853
-
854
- // Used for backwards iteration.
855
- // Looks at the entries with user key saved_key_ and finds the most up-to-date
856
- // value for it, or executes a merge, or determines that the value was deleted.
857
- // Sets valid_ to true if the value is found and is ready to be presented to
858
- // the user through value().
859
- // Sets valid_ to false if the value was deleted, and we should try another key.
860
- // Returns false if an error occurred, and !status().ok() and !valid_.
861
- //
862
- // PRE: iter_ is positioned on the last entry with user key equal to saved_key_.
863
- // POST: iter_ is positioned on one of the entries equal to saved_key_, or on
864
- // the entry just before them, or on the entry just after them.
865
- bool DBIter::FindValueForCurrentKey() {
866
- assert(iter_.Valid());
867
- merge_context_.Clear();
868
- current_entry_is_merged_ = false;
869
- // last entry before merge (could be kTypeDeletion,
870
- // kTypeDeletionWithTimestamp, kTypeSingleDeletion, kTypeValue
871
- // kTypeBlobIndex, kTypeWideColumnEntity or kTypeValuePreferredSeqno)
872
- ValueType last_not_merge_type = kTypeDeletion;
873
- ValueType last_key_entry_type = kTypeDeletion;
874
-
875
- // If false, it indicates that we have not seen any valid entry, even though
876
- // last_key_entry_type is initialized to kTypeDeletion.
877
- bool valid_entry_seen = false;
878
-
879
- // Temporarily pin blocks that hold (merge operands / the value)
880
- ReleaseTempPinnedData();
881
- TempPinData();
882
- size_t num_skipped = 0;
883
- while (iter_.Valid()) {
884
- ParsedInternalKey ikey;
885
- if (!ParseKey(&ikey)) {
886
- return false;
887
- }
888
-
889
- if (!user_comparator_.EqualWithoutTimestamp(ikey.user_key,
890
- saved_key_.GetUserKey())) {
891
- // Found a smaller user key, thus we are done with current user key.
892
- break;
893
- }
894
-
895
- assert(ikey.user_key.size() >= timestamp_size_);
896
- Slice ts;
897
- if (timestamp_size_ > 0) {
898
- ts = Slice(ikey.user_key.data() + ikey.user_key.size() - timestamp_size_,
899
- timestamp_size_);
900
- }
901
-
902
- bool visible = IsVisible(ikey.sequence, ts);
903
- if (!visible &&
904
- (timestamp_lb_ == nullptr ||
905
- user_comparator_.CompareTimestamp(ts, *timestamp_ub_) > 0)) {
906
- // Found an invisible version of the current user key, and it must have
907
- // a higher sequence number or timestamp. Therefore, we are done with the
908
- // current user key.
909
- break;
910
- }
911
-
912
- if (!ts.empty()) {
913
- saved_timestamp_.assign(ts.data(), ts.size());
914
- }
915
-
916
- if (TooManyInternalKeysSkipped()) {
917
- return false;
918
- }
919
-
920
- // This user key has lots of entries.
921
- // We're going from old to new, and it's taking too long. Let's do a Seek()
922
- // and go from new to old. This helps when a key was overwritten many times.
923
- if (num_skipped >= max_skip_) {
924
- return FindValueForCurrentKeyUsingSeek();
925
- }
926
-
927
- if (!PrepareValue()) {
928
- return false;
929
- }
930
-
931
- if (timestamp_lb_ != nullptr) {
932
- // Only needed when timestamp_lb_ is not null
933
- [[maybe_unused]] const bool ret = ParseKey(&ikey_);
934
- // Since the preceding ParseKey(&ikey) succeeds, so must this.
935
- assert(ret);
936
- saved_key_.SetInternalKey(ikey);
937
- } else if (user_comparator_.Compare(ikey.user_key,
938
- saved_key_.GetUserKey()) < 0) {
939
- saved_key_.SetUserKey(
940
- ikey.user_key,
941
- !pin_thru_lifetime_ || !iter_.iter()->IsKeyPinned() /* copy */);
942
- }
943
-
944
- valid_entry_seen = true;
945
- last_key_entry_type = ikey.type;
946
- switch (last_key_entry_type) {
947
- case kTypeValue:
948
- case kTypeValuePreferredSeqno:
949
- case kTypeBlobIndex:
950
- case kTypeWideColumnEntity:
951
- if (iter_.iter()->IsValuePinned()) {
952
- saved_write_unix_time_ = iter_.write_unix_time();
953
- if (last_key_entry_type == kTypeValuePreferredSeqno) {
954
- pinned_value_ = ParsePackedValueForValue(iter_.value());
955
- } else {
956
- pinned_value_ = iter_.value();
957
- }
958
- } else {
959
- valid_ = false;
960
- status_ = Status::NotSupported(
961
- "Backward iteration not supported if underlying iterator's value "
962
- "cannot be pinned.");
963
- }
964
- merge_context_.Clear();
965
- last_not_merge_type = last_key_entry_type;
966
- if (!status_.ok()) {
967
- return false;
968
- }
969
- break;
970
- case kTypeDeletion:
971
- case kTypeDeletionWithTimestamp:
972
- case kTypeSingleDeletion:
973
- merge_context_.Clear();
974
- last_not_merge_type = last_key_entry_type;
975
- PERF_COUNTER_ADD(internal_delete_skipped_count, 1);
976
- break;
977
- case kTypeMerge: {
978
- assert(merge_operator_ != nullptr);
979
- merge_context_.PushOperandBack(
980
- iter_.value(), iter_.iter()->IsValuePinned() /* operand_pinned */);
981
- PERF_COUNTER_ADD(internal_merge_count, 1);
982
- } break;
983
- default:
984
- valid_ = false;
985
- status_ = Status::Corruption(
986
- "Unknown value type: " +
987
- std::to_string(static_cast<unsigned int>(last_key_entry_type)));
988
- return false;
989
- }
990
-
991
- PERF_COUNTER_ADD(internal_key_skipped_count, 1);
992
- iter_.Prev();
993
- ++num_skipped;
994
-
995
- if (visible && timestamp_lb_ != nullptr) {
996
- // If timestamp_lb_ is not nullptr, we do not have to look further for
997
- // another internal key. We can return this current internal key. Yet we
998
- // still keep the invariant that iter_ is positioned before the returned
999
- // key.
1000
- break;
1001
- }
1002
- }
1003
-
1004
- if (!iter_.status().ok()) {
1005
- valid_ = false;
1006
- return false;
1007
- }
1008
-
1009
- if (!valid_entry_seen) {
1010
- // Since we haven't seen any valid entry, last_key_entry_type remains
1011
- // unchanged and the same as its initial value.
1012
- assert(last_key_entry_type == kTypeDeletion);
1013
- assert(last_not_merge_type == kTypeDeletion);
1014
- valid_ = false;
1015
- return true;
1016
- }
1017
-
1018
- if (timestamp_lb_ != nullptr) {
1019
- assert(last_key_entry_type == ikey_.type);
1020
- }
1021
-
1022
- switch (last_key_entry_type) {
1023
- case kTypeDeletion:
1024
- case kTypeDeletionWithTimestamp:
1025
- case kTypeSingleDeletion:
1026
- if (timestamp_lb_ == nullptr) {
1027
- valid_ = false;
1028
- } else {
1029
- valid_ = true;
1030
- }
1031
- return true;
1032
- case kTypeMerge:
1033
- current_entry_is_merged_ = true;
1034
- if (last_not_merge_type == kTypeDeletion ||
1035
- last_not_merge_type == kTypeSingleDeletion ||
1036
- last_not_merge_type == kTypeDeletionWithTimestamp) {
1037
- if (!MergeWithNoBaseValue(saved_key_.GetUserKey())) {
1038
- return false;
1039
- }
1040
- return true;
1041
- } else if (last_not_merge_type == kTypeBlobIndex) {
1042
- if (expose_blob_index_) {
1043
- status_ =
1044
- Status::NotSupported("BlobDB does not support merge operator.");
1045
- valid_ = false;
1046
- return false;
1047
- }
1048
- if (!SetBlobValueIfNeeded(saved_key_.GetUserKey(), pinned_value_)) {
1049
- return false;
1050
- }
1051
- valid_ = true;
1052
- if (!MergeWithPlainBaseValue(blob_value_, saved_key_.GetUserKey())) {
1053
- return false;
1054
- }
1055
-
1056
- ResetBlobValue();
1057
-
1058
- return true;
1059
- } else if (last_not_merge_type == kTypeWideColumnEntity) {
1060
- if (!MergeWithWideColumnBaseValue(pinned_value_,
1061
- saved_key_.GetUserKey())) {
1062
- return false;
1063
- }
1064
-
1065
- return true;
1066
- } else {
1067
- assert(last_not_merge_type == kTypeValue ||
1068
- last_not_merge_type == kTypeValuePreferredSeqno);
1069
- if (!MergeWithPlainBaseValue(pinned_value_, saved_key_.GetUserKey())) {
1070
- return false;
1071
- }
1072
- return true;
1073
- }
1074
- break;
1075
- case kTypeValue:
1076
- case kTypeValuePreferredSeqno:
1077
- SetValueAndColumnsFromPlain(pinned_value_);
1078
-
1079
- break;
1080
- case kTypeBlobIndex:
1081
- if (!SetBlobValueIfNeeded(saved_key_.GetUserKey(), pinned_value_)) {
1082
- return false;
1083
- }
1084
-
1085
- SetValueAndColumnsFromPlain(expose_blob_index_ ? pinned_value_
1086
- : blob_value_);
1087
-
1088
- break;
1089
- case kTypeWideColumnEntity:
1090
- if (!SetValueAndColumnsFromEntity(pinned_value_)) {
1091
- return false;
1092
- }
1093
- break;
1094
- default:
1095
- valid_ = false;
1096
- status_ = Status::Corruption(
1097
- "Unknown value type: " +
1098
- std::to_string(static_cast<unsigned int>(last_key_entry_type)));
1099
- return false;
1100
- }
1101
- valid_ = true;
1102
- return true;
1103
- }
1104
-
1105
- // This function is used in FindValueForCurrentKey.
1106
- // We use Seek() function instead of Prev() to find necessary value
1107
- // TODO: This is very similar to FindNextUserEntry() and MergeValuesNewToOld().
1108
- // Would be nice to reuse some code.
1109
- bool DBIter::FindValueForCurrentKeyUsingSeek() {
1110
- // FindValueForCurrentKey will enable pinning before calling
1111
- // FindValueForCurrentKeyUsingSeek()
1112
- assert(pinned_iters_mgr_.PinningEnabled());
1113
- std::string last_key;
1114
- if (0 == timestamp_size_) {
1115
- AppendInternalKey(&last_key,
1116
- ParsedInternalKey(saved_key_.GetUserKey(), sequence_,
1117
- kValueTypeForSeek));
1118
- } else {
1119
- AppendInternalKeyWithDifferentTimestamp(
1120
- &last_key,
1121
- ParsedInternalKey(saved_key_.GetUserKey(), sequence_,
1122
- kValueTypeForSeek),
1123
- timestamp_lb_ == nullptr ? *timestamp_ub_ : *timestamp_lb_);
1124
- }
1125
- iter_.Seek(last_key);
1126
- RecordTick(statistics_, NUMBER_OF_RESEEKS_IN_ITERATION);
1127
-
1128
- // In case read_callback presents, the value we seek to may not be visible.
1129
- // Find the next value that's visible.
1130
- ParsedInternalKey ikey;
1131
-
1132
- while (true) {
1133
- if (!iter_.Valid()) {
1134
- valid_ = false;
1135
- return iter_.status().ok();
1136
- }
1137
-
1138
- if (!ParseKey(&ikey)) {
1139
- return false;
1140
- }
1141
- assert(ikey.user_key.size() >= timestamp_size_);
1142
- Slice ts;
1143
- if (timestamp_size_ > 0) {
1144
- ts = Slice(ikey.user_key.data() + ikey.user_key.size() - timestamp_size_,
1145
- timestamp_size_);
1146
- }
1147
-
1148
- if (!user_comparator_.EqualWithoutTimestamp(ikey.user_key,
1149
- saved_key_.GetUserKey())) {
1150
- // No visible values for this key, even though FindValueForCurrentKey()
1151
- // has seen some. This is possible if we're using a tailing iterator, and
1152
- // the entries were discarded in a compaction.
1153
- valid_ = false;
1154
- return true;
1155
- }
1156
-
1157
- if (IsVisible(ikey.sequence, ts)) {
1158
- break;
1159
- }
1160
-
1161
- iter_.Next();
1162
- }
1163
-
1164
- if (ikey.type == kTypeDeletion || ikey.type == kTypeSingleDeletion ||
1165
- kTypeDeletionWithTimestamp == ikey.type) {
1166
- if (timestamp_lb_ == nullptr) {
1167
- valid_ = false;
1168
- } else {
1169
- valid_ = true;
1170
- saved_key_.SetInternalKey(ikey);
1171
- }
1172
- return true;
1173
- }
1174
- if (!PrepareValue()) {
1175
- return false;
1176
- }
1177
- if (timestamp_size_ > 0) {
1178
- Slice ts = ExtractTimestampFromUserKey(ikey.user_key, timestamp_size_);
1179
- saved_timestamp_.assign(ts.data(), ts.size());
1180
- }
1181
- if (ikey.type == kTypeValue || ikey.type == kTypeValuePreferredSeqno ||
1182
- ikey.type == kTypeBlobIndex || ikey.type == kTypeWideColumnEntity) {
1183
- assert(iter_.iter()->IsValuePinned());
1184
- saved_write_unix_time_ = iter_.write_unix_time();
1185
- if (ikey.type == kTypeValuePreferredSeqno) {
1186
- pinned_value_ = ParsePackedValueForValue(iter_.value());
1187
- } else {
1188
- pinned_value_ = iter_.value();
1189
- }
1190
- if (ikey.type == kTypeBlobIndex) {
1191
- if (!SetBlobValueIfNeeded(ikey.user_key, pinned_value_)) {
1192
- return false;
1193
- }
1194
-
1195
- SetValueAndColumnsFromPlain(expose_blob_index_ ? pinned_value_
1196
- : blob_value_);
1197
- } else if (ikey.type == kTypeWideColumnEntity) {
1198
- if (!SetValueAndColumnsFromEntity(pinned_value_)) {
1199
- return false;
1200
- }
1201
- } else {
1202
- assert(ikey.type == kTypeValue || ikey.type == kTypeValuePreferredSeqno);
1203
- SetValueAndColumnsFromPlain(pinned_value_);
1204
- }
1205
-
1206
- if (timestamp_lb_ != nullptr) {
1207
- saved_key_.SetInternalKey(ikey);
1208
- }
1209
-
1210
- valid_ = true;
1211
- return true;
1212
- }
1213
-
1214
- // kTypeMerge. We need to collect all kTypeMerge values and save them
1215
- // in operands
1216
- assert(ikey.type == kTypeMerge);
1217
- current_entry_is_merged_ = true;
1218
- merge_context_.Clear();
1219
- merge_context_.PushOperand(
1220
- iter_.value(), iter_.iter()->IsValuePinned() /* operand_pinned */);
1221
- PERF_COUNTER_ADD(internal_merge_count, 1);
1222
-
1223
- while (true) {
1224
- iter_.Next();
1225
-
1226
- if (!iter_.Valid()) {
1227
- if (!iter_.status().ok()) {
1228
- valid_ = false;
1229
- return false;
1230
- }
1231
- break;
1232
- }
1233
- if (!ParseKey(&ikey)) {
1234
- return false;
1235
- }
1236
- if (!user_comparator_.EqualWithoutTimestamp(ikey.user_key,
1237
- saved_key_.GetUserKey())) {
1238
- break;
1239
- }
1240
- if (ikey.type == kTypeDeletion || ikey.type == kTypeSingleDeletion ||
1241
- ikey.type == kTypeDeletionWithTimestamp) {
1242
- break;
1243
- }
1244
- if (!PrepareValue()) {
1245
- return false;
1246
- }
1247
-
1248
- if (ikey.type == kTypeValue || ikey.type == kTypeValuePreferredSeqno) {
1249
- Slice value = iter_.value();
1250
- if (ikey.type == kTypeValuePreferredSeqno) {
1251
- value = ParsePackedValueForValue(value);
1252
- }
1253
- if (!MergeWithPlainBaseValue(value, saved_key_.GetUserKey())) {
1254
- return false;
1255
- }
1256
- return true;
1257
- } else if (ikey.type == kTypeMerge) {
1258
- merge_context_.PushOperand(
1259
- iter_.value(), iter_.iter()->IsValuePinned() /* operand_pinned */);
1260
- PERF_COUNTER_ADD(internal_merge_count, 1);
1261
- } else if (ikey.type == kTypeBlobIndex) {
1262
- if (expose_blob_index_) {
1263
- status_ =
1264
- Status::NotSupported("BlobDB does not support merge operator.");
1265
- valid_ = false;
1266
- return false;
1267
- }
1268
- if (!SetBlobValueIfNeeded(ikey.user_key, iter_.value())) {
1269
- return false;
1270
- }
1271
- valid_ = true;
1272
- if (!MergeWithPlainBaseValue(blob_value_, saved_key_.GetUserKey())) {
1273
- return false;
1274
- }
1275
-
1276
- ResetBlobValue();
1277
-
1278
- return true;
1279
- } else if (ikey.type == kTypeWideColumnEntity) {
1280
- if (!MergeWithWideColumnBaseValue(iter_.value(),
1281
- saved_key_.GetUserKey())) {
1282
- return false;
1283
- }
1284
-
1285
- return true;
1286
- } else {
1287
- valid_ = false;
1288
- status_ = Status::Corruption(
1289
- "Unknown value type: " +
1290
- std::to_string(static_cast<unsigned int>(ikey.type)));
1291
- return false;
1292
- }
1293
- }
1294
-
1295
- if (!MergeWithNoBaseValue(saved_key_.GetUserKey())) {
1296
- return false;
1297
- }
1298
-
1299
- // Make sure we leave iter_ in a good state. If it's valid and we don't care
1300
- // about prefixes, that's already good enough. Otherwise it needs to be
1301
- // seeked to the current key.
1302
- if (!expect_total_order_inner_iter() || !iter_.Valid()) {
1303
- if (!expect_total_order_inner_iter()) {
1304
- iter_.SeekForPrev(last_key);
1305
- } else {
1306
- iter_.Seek(last_key);
1307
- if (!iter_.Valid() && iter_.status().ok()) {
1308
- iter_.SeekToLast();
1309
- }
1310
- }
1311
- RecordTick(statistics_, NUMBER_OF_RESEEKS_IN_ITERATION);
1312
- }
1313
-
1314
- valid_ = true;
1315
- return true;
1316
- }
1317
-
1318
- bool DBIter::MergeWithNoBaseValue(const Slice& user_key) {
1319
- // `op_failure_scope` (an output parameter) is not provided (set to nullptr)
1320
- // since a failure must be propagated regardless of its value.
1321
- ValueType result_type;
1322
- const Status s = MergeHelper::TimedFullMerge(
1323
- merge_operator_, user_key, MergeHelper::kNoBaseValue,
1324
- merge_context_.GetOperands(), logger_, statistics_, clock_,
1325
- /* update_num_ops_stats */ true, /* op_failure_scope */ nullptr,
1326
- &saved_value_, &pinned_value_, &result_type);
1327
- return SetValueAndColumnsFromMergeResult(s, result_type);
1328
- }
1329
-
1330
- bool DBIter::MergeWithPlainBaseValue(const Slice& value,
1331
- const Slice& user_key) {
1332
- // `op_failure_scope` (an output parameter) is not provided (set to nullptr)
1333
- // since a failure must be propagated regardless of its value.
1334
- ValueType result_type;
1335
- const Status s = MergeHelper::TimedFullMerge(
1336
- merge_operator_, user_key, MergeHelper::kPlainBaseValue, value,
1337
- merge_context_.GetOperands(), logger_, statistics_, clock_,
1338
- /* update_num_ops_stats */ true, /* op_failure_scope */ nullptr,
1339
- &saved_value_, &pinned_value_, &result_type);
1340
- return SetValueAndColumnsFromMergeResult(s, result_type);
1341
- }
1342
-
1343
- bool DBIter::MergeWithWideColumnBaseValue(const Slice& entity,
1344
- const Slice& user_key) {
1345
- // `op_failure_scope` (an output parameter) is not provided (set to nullptr)
1346
- // since a failure must be propagated regardless of its value.
1347
- ValueType result_type;
1348
- const Status s = MergeHelper::TimedFullMerge(
1349
- merge_operator_, user_key, MergeHelper::kWideBaseValue, entity,
1350
- merge_context_.GetOperands(), logger_, statistics_, clock_,
1351
- /* update_num_ops_stats */ true, /* op_failure_scope */ nullptr,
1352
- &saved_value_, &pinned_value_, &result_type);
1353
- return SetValueAndColumnsFromMergeResult(s, result_type);
1354
- }
1355
-
1356
- // Move backwards until the key smaller than saved_key_.
1357
- // Changes valid_ only if return value is false.
1358
- bool DBIter::FindUserKeyBeforeSavedKey() {
1359
- assert(status_.ok());
1360
- size_t num_skipped = 0;
1361
- while (iter_.Valid()) {
1362
- ParsedInternalKey ikey;
1363
- if (!ParseKey(&ikey)) {
1364
- return false;
1365
- }
1366
-
1367
- if (CompareKeyForSkip(ikey.user_key, saved_key_.GetUserKey()) < 0) {
1368
- return true;
1369
- }
1370
-
1371
- if (TooManyInternalKeysSkipped()) {
1372
- return false;
1373
- }
1374
-
1375
- assert(ikey.sequence != kMaxSequenceNumber);
1376
- assert(ikey.user_key.size() >= timestamp_size_);
1377
- Slice ts;
1378
- if (timestamp_size_ > 0) {
1379
- ts = Slice(ikey.user_key.data() + ikey.user_key.size() - timestamp_size_,
1380
- timestamp_size_);
1381
- }
1382
- if (!IsVisible(ikey.sequence, ts)) {
1383
- PERF_COUNTER_ADD(internal_recent_skipped_count, 1);
1384
- } else {
1385
- PERF_COUNTER_ADD(internal_key_skipped_count, 1);
1386
- }
1387
-
1388
- if (num_skipped >= max_skip_) {
1389
- num_skipped = 0;
1390
- std::string last_key;
1391
- if (timestamp_size_ == 0) {
1392
- AppendInternalKey(&last_key, ParsedInternalKey(saved_key_.GetUserKey(),
1393
- kMaxSequenceNumber,
1394
- kValueTypeForSeek));
1395
- } else {
1396
- // TODO: pre-create kTsMax.
1397
- const std::string kTsMax(timestamp_size_, '\xff');
1398
- AppendInternalKeyWithDifferentTimestamp(
1399
- &last_key,
1400
- ParsedInternalKey(saved_key_.GetUserKey(), kMaxSequenceNumber,
1401
- kValueTypeForSeek),
1402
- kTsMax);
1403
- }
1404
- // It would be more efficient to use SeekForPrev() here, but some
1405
- // iterators may not support it.
1406
- iter_.Seek(last_key);
1407
- RecordTick(statistics_, NUMBER_OF_RESEEKS_IN_ITERATION);
1408
- if (!iter_.Valid()) {
1409
- break;
1410
- }
1411
- } else {
1412
- ++num_skipped;
1413
- }
1414
-
1415
- iter_.Prev();
1416
- }
1417
-
1418
- if (!iter_.status().ok()) {
1419
- valid_ = false;
1420
- return false;
1421
- }
1422
-
1423
- return true;
1424
- }
1425
-
1426
- bool DBIter::TooManyInternalKeysSkipped(bool increment) {
1427
- if ((max_skippable_internal_keys_ > 0) &&
1428
- (num_internal_keys_skipped_ > max_skippable_internal_keys_)) {
1429
- valid_ = false;
1430
- status_ = Status::Incomplete("Too many internal keys skipped.");
1431
- return true;
1432
- } else if (increment) {
1433
- num_internal_keys_skipped_++;
1434
- }
1435
- return false;
1436
- }
1437
-
1438
- bool DBIter::IsVisible(SequenceNumber sequence, const Slice& ts,
1439
- bool* more_recent) {
1440
- // Remember that comparator orders preceding timestamp as larger.
1441
- // TODO(yanqin): support timestamp in read_callback_.
1442
- bool visible_by_seq = (read_callback_ == nullptr)
1443
- ? sequence <= sequence_
1444
- : read_callback_->IsVisible(sequence);
1445
-
1446
- bool visible_by_ts =
1447
- (timestamp_ub_ == nullptr ||
1448
- user_comparator_.CompareTimestamp(ts, *timestamp_ub_) <= 0) &&
1449
- (timestamp_lb_ == nullptr ||
1450
- user_comparator_.CompareTimestamp(ts, *timestamp_lb_) >= 0);
1451
-
1452
- if (more_recent) {
1453
- *more_recent = !visible_by_seq;
1454
- }
1455
- return visible_by_seq && visible_by_ts;
1456
- }
1457
-
1458
- void DBIter::SetSavedKeyToSeekTarget(const Slice& target) {
1459
- is_key_seqnum_zero_ = false;
1460
- SequenceNumber seq = sequence_;
1461
- saved_key_.Clear();
1462
- saved_key_.SetInternalKey(target, seq, kValueTypeForSeek, timestamp_ub_);
1463
-
1464
- if (iterate_lower_bound_ != nullptr &&
1465
- user_comparator_.CompareWithoutTimestamp(
1466
- saved_key_.GetUserKey(), /*a_has_ts=*/true, *iterate_lower_bound_,
1467
- /*b_has_ts=*/false) < 0) {
1468
- // Seek key is smaller than the lower bound.
1469
- saved_key_.Clear();
1470
- saved_key_.SetInternalKey(*iterate_lower_bound_, seq, kValueTypeForSeek,
1471
- timestamp_ub_);
1472
- }
1473
- }
1474
-
1475
- void DBIter::SetSavedKeyToSeekForPrevTarget(const Slice& target) {
1476
- is_key_seqnum_zero_ = false;
1477
- saved_key_.Clear();
1478
- // now saved_key is used to store internal key.
1479
- saved_key_.SetInternalKey(target, 0 /* sequence_number */,
1480
- kValueTypeForSeekForPrev, timestamp_ub_);
1481
-
1482
- if (timestamp_size_ > 0) {
1483
- const std::string kTsMin(timestamp_size_, '\0');
1484
- Slice ts = kTsMin;
1485
- saved_key_.UpdateInternalKey(
1486
- /*seq=*/0, kValueTypeForSeekForPrev,
1487
- timestamp_lb_ == nullptr ? &ts : timestamp_lb_);
1488
- }
1489
-
1490
- if (iterate_upper_bound_ != nullptr &&
1491
- user_comparator_.CompareWithoutTimestamp(
1492
- saved_key_.GetUserKey(), /*a_has_ts=*/true, *iterate_upper_bound_,
1493
- /*b_has_ts=*/false) >= 0) {
1494
- saved_key_.Clear();
1495
- saved_key_.SetInternalKey(*iterate_upper_bound_, kMaxSequenceNumber,
1496
- kValueTypeForSeekForPrev, timestamp_ub_);
1497
- if (timestamp_size_ > 0) {
1498
- const std::string kTsMax(timestamp_size_, '\xff');
1499
- Slice ts = kTsMax;
1500
- saved_key_.UpdateInternalKey(kMaxSequenceNumber, kValueTypeForSeekForPrev,
1501
- &ts);
1502
- }
1503
- }
1504
- }
1505
-
1506
- void DBIter::Seek(const Slice& target) {
1507
- PERF_COUNTER_ADD(iter_seek_count, 1);
1508
- PERF_CPU_TIMER_GUARD(iter_seek_cpu_nanos, clock_);
1509
- StopWatch sw(clock_, statistics_, DB_SEEK);
1510
-
1511
- if (cfh_ != nullptr) {
1512
- // TODO: What do we do if this returns an error?
1513
- Slice lower_bound, upper_bound;
1514
- if (iterate_lower_bound_ != nullptr) {
1515
- lower_bound = *iterate_lower_bound_;
1516
- } else {
1517
- lower_bound = Slice("");
1518
- }
1519
- if (iterate_upper_bound_ != nullptr) {
1520
- upper_bound = *iterate_upper_bound_;
1521
- } else {
1522
- upper_bound = Slice("");
1523
- }
1524
- cfh_->db()
1525
- ->TraceIteratorSeek(cfh_->cfd()->GetID(), target, lower_bound,
1526
- upper_bound)
1527
- .PermitUncheckedError();
1528
- }
1529
-
1530
- status_ = Status::OK();
1531
- ReleaseTempPinnedData();
1532
- ResetBlobValue();
1533
- ResetValueAndColumns();
1534
- ResetInternalKeysSkippedCounter();
1535
-
1536
- // Seek the inner iterator based on the target key.
1537
- {
1538
- PERF_TIMER_GUARD(seek_internal_seek_time);
1539
-
1540
- SetSavedKeyToSeekTarget(target);
1541
- iter_.Seek(saved_key_.GetInternalKey());
1542
-
1543
- RecordTick(statistics_, NUMBER_DB_SEEK);
1544
- }
1545
- if (!iter_.Valid()) {
1546
- valid_ = false;
1547
- return;
1548
- }
1549
- direction_ = kForward;
1550
-
1551
- // Now the inner iterator is placed to the target position. From there,
1552
- // we need to find out the next key that is visible to the user.
1553
- ClearSavedValue();
1554
- if (prefix_same_as_start_) {
1555
- // The case where the iterator needs to be invalidated if it has exhausted
1556
- // keys within the same prefix of the seek key.
1557
- assert(prefix_extractor_ != nullptr);
1558
- Slice target_prefix = prefix_extractor_->Transform(target);
1559
- FindNextUserEntry(false /* not skipping saved_key */,
1560
- &target_prefix /* prefix */);
1561
- if (valid_) {
1562
- // Remember the prefix of the seek key for the future Next() call to
1563
- // check.
1564
- prefix_.SetUserKey(target_prefix);
1565
- }
1566
- } else {
1567
- FindNextUserEntry(false /* not skipping saved_key */, nullptr);
1568
- }
1569
- if (!valid_) {
1570
- return;
1571
- }
1572
-
1573
- // Updating stats and perf context counters.
1574
- if (statistics_ != nullptr) {
1575
- // Decrement since we don't want to count this key as skipped
1576
- RecordTick(statistics_, NUMBER_DB_SEEK_FOUND);
1577
- RecordTick(statistics_, ITER_BYTES_READ, key().size() + value().size());
1578
- }
1579
- PERF_COUNTER_ADD(iter_read_bytes, key().size() + value().size());
1580
- }
1581
-
1582
- void DBIter::SeekForPrev(const Slice& target) {
1583
- PERF_COUNTER_ADD(iter_seek_count, 1);
1584
- PERF_CPU_TIMER_GUARD(iter_seek_cpu_nanos, clock_);
1585
- StopWatch sw(clock_, statistics_, DB_SEEK);
1586
-
1587
- if (cfh_ != nullptr) {
1588
- // TODO: What do we do if this returns an error?
1589
- Slice lower_bound, upper_bound;
1590
- if (iterate_lower_bound_ != nullptr) {
1591
- lower_bound = *iterate_lower_bound_;
1592
- } else {
1593
- lower_bound = Slice("");
1594
- }
1595
- if (iterate_upper_bound_ != nullptr) {
1596
- upper_bound = *iterate_upper_bound_;
1597
- } else {
1598
- upper_bound = Slice("");
1599
- }
1600
- cfh_->db()
1601
- ->TraceIteratorSeekForPrev(cfh_->cfd()->GetID(), target, lower_bound,
1602
- upper_bound)
1603
- .PermitUncheckedError();
1604
- }
1605
-
1606
- status_ = Status::OK();
1607
- ReleaseTempPinnedData();
1608
- ResetBlobValue();
1609
- ResetValueAndColumns();
1610
- ResetInternalKeysSkippedCounter();
1611
-
1612
- // Seek the inner iterator based on the target key.
1613
- {
1614
- PERF_TIMER_GUARD(seek_internal_seek_time);
1615
- SetSavedKeyToSeekForPrevTarget(target);
1616
- iter_.SeekForPrev(saved_key_.GetInternalKey());
1617
- RecordTick(statistics_, NUMBER_DB_SEEK);
1618
- }
1619
- if (!iter_.Valid()) {
1620
- valid_ = false;
1621
- return;
1622
- }
1623
- direction_ = kReverse;
1624
-
1625
- // Now the inner iterator is placed to the target position. From there,
1626
- // we need to find out the first key that is visible to the user in the
1627
- // backward direction.
1628
- ClearSavedValue();
1629
- if (prefix_same_as_start_) {
1630
- // The case where the iterator needs to be invalidated if it has exhausted
1631
- // keys within the same prefix of the seek key.
1632
- assert(prefix_extractor_ != nullptr);
1633
- Slice target_prefix = prefix_extractor_->Transform(target);
1634
- PrevInternal(&target_prefix);
1635
- if (valid_) {
1636
- // Remember the prefix of the seek key for the future Prev() call to
1637
- // check.
1638
- prefix_.SetUserKey(target_prefix);
1639
- }
1640
- } else {
1641
- PrevInternal(nullptr);
1642
- }
1643
-
1644
- // Report stats and perf context.
1645
- if (statistics_ != nullptr && valid_) {
1646
- RecordTick(statistics_, NUMBER_DB_SEEK_FOUND);
1647
- RecordTick(statistics_, ITER_BYTES_READ, key().size() + value().size());
1648
- PERF_COUNTER_ADD(iter_read_bytes, key().size() + value().size());
1649
- }
1650
- }
1651
-
1652
- void DBIter::SeekToFirst() {
1653
- if (iterate_lower_bound_ != nullptr) {
1654
- Seek(*iterate_lower_bound_);
1655
- return;
1656
- }
1657
- PERF_COUNTER_ADD(iter_seek_count, 1);
1658
- PERF_CPU_TIMER_GUARD(iter_seek_cpu_nanos, clock_);
1659
- // Don't use iter_::Seek() if we set a prefix extractor
1660
- // because prefix seek will be used.
1661
- if (!expect_total_order_inner_iter()) {
1662
- max_skip_ = std::numeric_limits<uint64_t>::max();
1663
- }
1664
- status_ = Status::OK();
1665
- // if iterator is empty, this status_ could be unchecked.
1666
- status_.PermitUncheckedError();
1667
- direction_ = kForward;
1668
- ReleaseTempPinnedData();
1669
- ResetBlobValue();
1670
- ResetValueAndColumns();
1671
- ResetInternalKeysSkippedCounter();
1672
- ClearSavedValue();
1673
- is_key_seqnum_zero_ = false;
1674
-
1675
- {
1676
- PERF_TIMER_GUARD(seek_internal_seek_time);
1677
- iter_.SeekToFirst();
1678
- }
1679
-
1680
- RecordTick(statistics_, NUMBER_DB_SEEK);
1681
- if (iter_.Valid()) {
1682
- saved_key_.SetUserKey(
1683
- ExtractUserKey(iter_.key()),
1684
- !iter_.iter()->IsKeyPinned() || !pin_thru_lifetime_ /* copy */);
1685
- FindNextUserEntry(false /* not skipping saved_key */,
1686
- nullptr /* no prefix check */);
1687
- if (statistics_ != nullptr) {
1688
- if (valid_) {
1689
- RecordTick(statistics_, NUMBER_DB_SEEK_FOUND);
1690
- RecordTick(statistics_, ITER_BYTES_READ, key().size() + value().size());
1691
- PERF_COUNTER_ADD(iter_read_bytes, key().size() + value().size());
1692
- }
1693
- }
1694
- } else {
1695
- valid_ = false;
1696
- }
1697
- if (valid_ && prefix_same_as_start_) {
1698
- assert(prefix_extractor_ != nullptr);
1699
- prefix_.SetUserKey(prefix_extractor_->Transform(
1700
- StripTimestampFromUserKey(saved_key_.GetUserKey(), timestamp_size_)));
1701
- }
1702
- }
1703
-
1704
- void DBIter::SeekToLast() {
1705
- if (iterate_upper_bound_ != nullptr) {
1706
- // Seek to last key strictly less than ReadOptions.iterate_upper_bound.
1707
- SeekForPrev(*iterate_upper_bound_);
1708
- #ifndef NDEBUG
1709
- Slice k = Valid() ? key() : Slice();
1710
- if (Valid() && timestamp_size_ > 0 && timestamp_lb_) {
1711
- k.remove_suffix(kNumInternalBytes + timestamp_size_);
1712
- }
1713
- assert(!Valid() || user_comparator_.CompareWithoutTimestamp(
1714
- k, /*a_has_ts=*/false, *iterate_upper_bound_,
1715
- /*b_has_ts=*/false) < 0);
1716
- #endif
1717
- return;
1718
- }
1719
-
1720
- PERF_COUNTER_ADD(iter_seek_count, 1);
1721
- PERF_CPU_TIMER_GUARD(iter_seek_cpu_nanos, clock_);
1722
- // Don't use iter_::Seek() if we set a prefix extractor
1723
- // because prefix seek will be used.
1724
- if (!expect_total_order_inner_iter()) {
1725
- max_skip_ = std::numeric_limits<uint64_t>::max();
1726
- }
1727
- status_ = Status::OK();
1728
- // if iterator is empty, this status_ could be unchecked.
1729
- status_.PermitUncheckedError();
1730
- direction_ = kReverse;
1731
- ReleaseTempPinnedData();
1732
- ResetBlobValue();
1733
- ResetValueAndColumns();
1734
- ResetInternalKeysSkippedCounter();
1735
- ClearSavedValue();
1736
- is_key_seqnum_zero_ = false;
1737
-
1738
- {
1739
- PERF_TIMER_GUARD(seek_internal_seek_time);
1740
- iter_.SeekToLast();
1741
- }
1742
- PrevInternal(nullptr);
1743
- if (statistics_ != nullptr) {
1744
- RecordTick(statistics_, NUMBER_DB_SEEK);
1745
- if (valid_) {
1746
- RecordTick(statistics_, NUMBER_DB_SEEK_FOUND);
1747
- RecordTick(statistics_, ITER_BYTES_READ, key().size() + value().size());
1748
- PERF_COUNTER_ADD(iter_read_bytes, key().size() + value().size());
1749
- }
1750
- }
1751
- if (valid_ && prefix_same_as_start_) {
1752
- assert(prefix_extractor_ != nullptr);
1753
- prefix_.SetUserKey(prefix_extractor_->Transform(
1754
- StripTimestampFromUserKey(saved_key_.GetUserKey(), timestamp_size_)));
1755
- }
1756
- }
1757
-
1758
- Iterator* NewDBIterator(Env* env, const ReadOptions& read_options,
1759
- const ImmutableOptions& ioptions,
1760
- const MutableCFOptions& mutable_cf_options,
1761
- const Comparator* user_key_comparator,
1762
- InternalIterator* internal_iter, const Version* version,
1763
- const SequenceNumber& sequence,
1764
- uint64_t max_sequential_skip_in_iterations,
1765
- ReadCallback* read_callback,
1766
- ColumnFamilyHandleImpl* cfh, bool expose_blob_index) {
1767
- DBIter* db_iter = new DBIter(
1768
- env, read_options, ioptions, mutable_cf_options, user_key_comparator,
1769
- internal_iter, version, sequence, false,
1770
- max_sequential_skip_in_iterations, read_callback, cfh, expose_blob_index);
1771
- return db_iter;
1772
- }
1773
-
1774
- } // namespace ROCKSDB_NAMESPACE