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,1225 +0,0 @@
1
- // Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
2
- // This source code is licensed under both the GPLv2 (found in the
3
- // COPYING file in the root directory) and Apache 2.0 License
4
- // (found in the LICENSE.Apache file in the root directory).
5
-
6
- #pragma once
7
-
8
- #include <array>
9
- #include <memory>
10
-
11
- #include "rocksdb/rocksdb_namespace.h"
12
- #include "util/math128.h"
13
-
14
- namespace ROCKSDB_NAMESPACE {
15
-
16
- namespace ribbon {
17
-
18
- // RIBBON PHSF & RIBBON Filter (Rapid Incremental Boolean Banding ON-the-fly)
19
- //
20
- // ribbon_alg.h: generic versions of core algorithms.
21
- //
22
- // Ribbon is a Perfect Hash Static Function construction useful as a compact
23
- // static Bloom filter alternative. It combines (a) a boolean (GF(2)) linear
24
- // system construction that approximates a Band Matrix with hashing,
25
- // (b) an incremental, on-the-fly Gaussian Elimination algorithm that is
26
- // remarkably efficient and adaptable at constructing an upper-triangular
27
- // band matrix from a set of band-approximating inputs from (a), and
28
- // (c) a storage layout that is fast and adaptable as a filter.
29
- //
30
- // Footnotes: (a) "Efficient Gauss Elimination for Near-Quadratic Matrices
31
- // with One Short Random Block per Row, with Applications" by Stefan
32
- // Walzer and Martin Dietzfelbinger ("DW paper")
33
- // (b) developed by Peter C. Dillinger, though not the first on-the-fly
34
- // GE algorithm. See "On the fly Gaussian Elimination for LT codes" by
35
- // Bioglio, Grangetto, Gaeta, and Sereno.
36
- // (c) see "interleaved" solution storage below.
37
- //
38
- // See ribbon_impl.h for high-level behavioral summary. This file focuses
39
- // on the core design details.
40
- //
41
- // ######################################################################
42
- // ################# PHSF -> static filter reduction ####################
43
- //
44
- // A Perfect Hash Static Function is a data structure representing a
45
- // map from anything hashable (a "key") to values of some fixed size.
46
- // Crucially, it is allowed to return garbage values for anything not in
47
- // the original set of map keys, and it is a "static" structure: entries
48
- // cannot be added or deleted after construction. PHSFs representing n
49
- // mappings to b-bit values (assume uniformly distributed) require at least
50
- // n * b bits to represent, or at least b bits per entry. We typically
51
- // describe the compactness of a PHSF by typical bits per entry as some
52
- // function of b. For example, the MWHC construction (k=3 "peeling")
53
- // requires about 1.0222*b and a variant called Xor+ requires about
54
- // 1.08*b + 0.5 bits per entry.
55
- //
56
- // With more hashing, a PHSF can over-approximate a set as a Bloom filter
57
- // does, with no FN queries and predictable false positive (FP) query
58
- // rate. Instead of the user providing a value to map each input key to,
59
- // a hash function provides the value. Keys in the original set will
60
- // return a positive membership query because the underlying PHSF returns
61
- // the same value as hashing the key. When a key is not in the original set,
62
- // the PHSF returns a "garbage" value, which is only equal to the key's
63
- // hash with (false positive) probability 1 in 2^b.
64
- //
65
- // For a matching false positive rate, standard Bloom filters require
66
- // 1.44*b bits per entry. Cache-local Bloom filters (like bloom_impl.h)
67
- // require a bit more, around 1.5*b bits per entry. Thus, a Bloom
68
- // alternative could save up to or nearly 1/3rd of memory and storage
69
- // that RocksDB uses for SST (static) Bloom filters. (Memtable Bloom filter
70
- // is dynamic.)
71
- //
72
- // Recommended reading:
73
- // "Xor Filters: Faster and Smaller Than Bloom and Cuckoo Filters"
74
- // by Graf and Lemire
75
- // First three sections of "Fast Scalable Construction of (Minimal
76
- // Perfect Hash) Functions" by Genuzio, Ottaviano, and Vigna
77
- //
78
- // ######################################################################
79
- // ################## PHSF vs. hash table vs. Bloom #####################
80
- //
81
- // You can think of traditional hash tables and related filter variants
82
- // such as Cuckoo filters as utilizing an "OR" construction: a hash
83
- // function associates a key with some slots and the data is returned if
84
- // the data is found in any one of those slots. The collision resolution
85
- // is visible in the final data structure and requires extra information.
86
- // For example, Cuckoo filter uses roughly 1.05b + 2 bits per entry, and
87
- // Golomb-Rice code (aka "GCS") as little as b + 1.5. When the data
88
- // structure associates each input key with data in one slot, the
89
- // structure implicitly constructs a (near-)minimal (near-)perfect hash
90
- // (MPH) of the keys, which requires at least 1.44 bits per key to
91
- // represent. This is why approaches with visible collision resolution
92
- // have a fixed + 1.5 or more in storage overhead per entry, often in
93
- // addition to an overhead multiplier on b.
94
- //
95
- // By contrast Bloom filters utilize an "AND" construction: a query only
96
- // returns true if all bit positions associated with a key are set to 1.
97
- // There is no collision resolution, so Bloom filters do not suffer a
98
- // fixed bits per entry overhead like the above structures.
99
- //
100
- // PHSFs typically use a bitwise XOR construction: the data you want is
101
- // not in a single slot, but in a linear combination of several slots.
102
- // For static data, this gives the best of "AND" and "OR" constructions:
103
- // avoids the +1.44 or more fixed overhead by not approximating a MPH and
104
- // can do much better than Bloom's 1.44 factor on b with collision
105
- // resolution, which here is done ahead of time and invisible at query
106
- // time.
107
- //
108
- // ######################################################################
109
- // ######################## PHSF construction ###########################
110
- //
111
- // For a typical PHSF, construction is solving a linear system of
112
- // equations, typically in GF(2), which is to say that values are boolean
113
- // and XOR serves both as addition and subtraction. We can use matrices to
114
- // represent the problem:
115
- //
116
- // C * S = R
117
- // (n x m) (m x b) (n x b)
118
- // where C = coefficients, S = solution, R = results
119
- // and solving for S given C and R.
120
- //
121
- // Note that C and R each have n rows, one for each input entry for the
122
- // PHSF. A row in C is given by a hash function on the PHSF input key,
123
- // and the corresponding row in R is the b-bit value to associate with
124
- // that input key. (In a filter, rows of R are given by another hash
125
- // function on the input key.)
126
- //
127
- // On solving, the matrix S (solution) is the final PHSF data, as it
128
- // maps any row from the original C to its corresponding desired result
129
- // in R. We just have to hash our query inputs and compute a linear
130
- // combination of rows in S.
131
- //
132
- // In theory, we could chose m = n and let a hash function associate
133
- // each input key with random rows in C. A solution exists with high
134
- // probability, and uses essentially minimum space, b bits per entry
135
- // (because we set m = n) but this has terrible scaling, something
136
- // like O(n^2) space and O(n^3) time during construction (Gaussian
137
- // elimination) and O(n) query time. But computational efficiency is
138
- // key, and the core of this is avoiding scanning all of S to answer
139
- // each query.
140
- //
141
- // The traditional approach (MWHC, aka Xor filter) starts with setting
142
- // only some small fixed number of columns (typically k=3) to 1 for each
143
- // row of C, with remaining entries implicitly 0. This is implemented as
144
- // three hash functions over [0,m), and S can be implemented as a vector
145
- // of b-bit values. Now, a query only involves looking up k rows
146
- // (values) in S and computing their bitwise XOR. Additionally, this
147
- // construction can use a linear time algorithm called "peeling" for
148
- // finding a solution in many cases of one existing, but peeling
149
- // generally requires a larger space overhead factor in the solution
150
- // (m/n) than is required with Gaussian elimination.
151
- //
152
- // Recommended reading:
153
- // "Peeling Close to the Orientability Threshold - Spatial Coupling in
154
- // Hashing-Based Data Structures" by Stefan Walzer
155
- //
156
- // ######################################################################
157
- // ##################### Ribbon PHSF construction #######################
158
- //
159
- // Ribbon constructs coefficient rows essentially the same as in the
160
- // Walzer/Dietzfelbinger paper cited above: for some chosen fixed width
161
- // r (kCoeffBits in code), each key is hashed to a starting column in
162
- // [0, m - r] (GetStart() in code) and an r-bit sequence of boolean
163
- // coefficients (GetCoeffRow() in code). If you sort the rows by start,
164
- // the C matrix would look something like this:
165
- //
166
- // [####00000000000000000000]
167
- // [####00000000000000000000]
168
- // [000####00000000000000000]
169
- // [0000####0000000000000000]
170
- // [0000000####0000000000000]
171
- // [000000000####00000000000]
172
- // [000000000####00000000000]
173
- // [0000000000000####0000000]
174
- // [0000000000000000####0000]
175
- // [00000000000000000####000]
176
- // [00000000000000000000####]
177
- //
178
- // where each # could be a 0 or 1, chosen uniformly by a hash function.
179
- // (Except we typically set the start column value to 1.) This scheme
180
- // uses hashing to approximate a band matrix, and it has a solution iff
181
- // it reduces to an upper-triangular boolean r-band matrix, like this:
182
- //
183
- // [1###00000000000000000000]
184
- // [01##00000000000000000000]
185
- // [000000000000000000000000]
186
- // [0001###00000000000000000]
187
- // [000000000000000000000000]
188
- // [000001##0000000000000000]
189
- // [000000000000000000000000]
190
- // [00000001###0000000000000]
191
- // [000000001###000000000000]
192
- // [0000000001##000000000000]
193
- // ...
194
- // [00000000000000000000001#]
195
- // [000000000000000000000001]
196
- //
197
- // where we have expanded to an m x m matrix by filling with rows of
198
- // all zeros as needed. As in Gaussian elimination, this form is ready for
199
- // generating a solution through back-substitution.
200
- //
201
- // The awesome thing about the Ribbon construction (from the DW paper) is
202
- // how row reductions keep each row representable as a start column and
203
- // r coefficients, because row reductions are only needed when two rows
204
- // have the same number of leading zero columns. Thus, the combination
205
- // of those rows, the bitwise XOR of the r-bit coefficient rows, cancels
206
- // out the leading 1s, so starts (at least) one column later and only
207
- // needs (at most) r - 1 coefficients.
208
- //
209
- // ######################################################################
210
- // ###################### Ribbon PHSF scalability #######################
211
- //
212
- // Although more practical detail is in ribbon_impl.h, it's worth
213
- // understanding some of the overall benefits and limitations of the
214
- // Ribbon PHSFs.
215
- //
216
- // High-end scalability is a primary issue for Ribbon PHSFs, because in
217
- // a single Ribbon linear system with fixed r and fixed m/n ratio, the
218
- // solution probability approaches zero as n approaches infinity.
219
- // For a given n, solution probability improves with larger r and larger
220
- // m/n.
221
- //
222
- // By contrast, peeling-based PHSFs have somewhat worse storage ratio
223
- // or solution probability for small n (less than ~1000). This is
224
- // especially true with spatial-coupling, where benefits are only
225
- // notable for n on the order of 100k or 1m or more.
226
- //
227
- // To make best use of current hardware, r=128 seems to be closest to
228
- // a "generally good" choice for Ribbon, at least in RocksDB where SST
229
- // Bloom filters typically hold around 10-100k keys, and almost always
230
- // less than 10m keys. r=128 ribbon has a high chance of encoding success
231
- // (with first hash seed) when storage overhead is around 5% (m/n ~ 1.05)
232
- // for roughly 10k - 10m keys in a single linear system. r=64 only scales
233
- // up to about 10k keys with the same storage overhead. Construction and
234
- // access times for r=128 are similar to r=64. r=128 tracks nearly
235
- // twice as much data during construction, but in most cases we expect
236
- // the scalability benefits of r=128 vs. r=64 to make it preferred.
237
- //
238
- // A natural approach to scaling Ribbon beyond ~10m keys is splitting
239
- // (or "sharding") the inputs into multiple linear systems with their
240
- // own hash seeds. This can also help to control peak memory consumption.
241
- // TODO: much more to come
242
- //
243
- // ######################################################################
244
- // #################### Ribbon on-the-fly banding #######################
245
- //
246
- // "Banding" is what we call the process of reducing the inputs to an
247
- // upper-triangular r-band matrix ready for finishing a solution with
248
- // back-substitution. Although the DW paper presents an algorithm for
249
- // this ("SGauss"), the awesome properties of their construction enable
250
- // an even simpler, faster, and more backtrackable algorithm. In simplest
251
- // terms, the SGauss algorithm requires sorting the inputs by start
252
- // columns, but it's possible to make Gaussian elimination resemble hash
253
- // table insertion!
254
- //
255
- // The enhanced algorithm is based on these observations:
256
- // - When processing a coefficient row with first 1 in column j,
257
- // - If it's the first at column j to be processed, it can be part of
258
- // the banding at row j. (And that decision never overwritten, with
259
- // no loss of generality!)
260
- // - Else, it can be combined with existing row j and re-processed,
261
- // which will look for a later "empty" row or reach "no solution".
262
- //
263
- // We call our banding algorithm "incremental" and "on-the-fly" because
264
- // (like hash table insertion) we are "finished" after each input
265
- // processed, with respect to all inputs processed so far. Although the
266
- // band matrix is an intermediate step to the solution structure, we have
267
- // eliminated intermediate steps and unnecessary data tracking for
268
- // banding.
269
- //
270
- // Building on "incremental" and "on-the-fly", the banding algorithm is
271
- // easily backtrackable because no (non-empty) rows are overwritten in
272
- // the banding. Thus, if we want to "try" adding an additional set of
273
- // inputs to the banding, we only have to record which rows were written
274
- // in order to efficiently backtrack to our state before considering
275
- // the additional set. (TODO: how this can mitigate scalability and
276
- // reach sub-1% overheads)
277
- //
278
- // Like in a linear-probed hash table, as the occupancy approaches and
279
- // surpasses 90-95%, collision resolution dominates the construction
280
- // time. (Ribbon doesn't usually pay at query time; see solution
281
- // storage below.) This means that we can speed up construction time
282
- // by using a higher m/n ratio, up to negative returns around 1.2.
283
- // At m/n ~= 1.2, which still saves memory substantially vs. Bloom
284
- // filter's 1.5, construction speed (including back-substitution) is not
285
- // far from sorting speed, but still a few times slower than cache-local
286
- // Bloom construction speed.
287
- //
288
- // Back-substitution from an upper-triangular boolean band matrix is
289
- // especially fast and easy. All the memory accesses are sequential or at
290
- // least local, no random. If the number of result bits (b) is a
291
- // compile-time constant, the back-substitution state can even be tracked
292
- // in CPU registers. Regardless of the solution representation, we prefer
293
- // column-major representation for tracking back-substitution state, as
294
- // r (the band width) will typically be much larger than b (result bits
295
- // or columns), so better to handle r-bit values b times (per solution
296
- // row) than b-bit values r times.
297
- //
298
- // ######################################################################
299
- // ##################### Ribbon solution storage ########################
300
- //
301
- // Row-major layout is typical for boolean (bit) matrices, including for
302
- // MWHC (Xor) filters where a query combines k b-bit values, and k is
303
- // typically smaller than b. Even for k=4 and b=2, at least k=4 random
304
- // look-ups are required regardless of layout.
305
- //
306
- // Ribbon PHSFs are quite different, however, because
307
- // (a) all of the solution rows relevant to a query are within a single
308
- // range of r rows, and
309
- // (b) the number of solution rows involved (r/2 on average, or r if
310
- // avoiding conditional accesses) is typically much greater than
311
- // b, the number of solution columns.
312
- //
313
- // Row-major for Ribbon PHSFs therefore tends to incur undue CPU overhead
314
- // by processing (up to) r entries of b bits each, where b is typically
315
- // less than 10 for filter applications.
316
- //
317
- // Column-major layout has poor locality because of accessing up to b
318
- // memory locations in different pages (and obviously cache lines). Note
319
- // that negative filter queries do not typically need to access all
320
- // solution columns, as they can return when a mismatch is found in any
321
- // result/solution column. This optimization doesn't always pay off on
322
- // recent hardware, where the penalty for unpredictable conditional
323
- // branching can exceed the penalty for unnecessary work, but the
324
- // optimization is essentially unavailable with row-major layout.
325
- //
326
- // The best compromise seems to be interleaving column-major on the small
327
- // scale with row-major on the large scale. For example, let a solution
328
- // "block" be r rows column-major encoded as b r-bit values in sequence.
329
- // Each query accesses (up to) 2 adjacent blocks, which will typically
330
- // span 1-3 cache lines in adjacent memory. We get very close to the same
331
- // locality as row-major, but with much faster reconstruction of each
332
- // result column, at least for filter applications where b is relatively
333
- // small and negative queries can return early.
334
- //
335
- // ######################################################################
336
- // ###################### Fractional result bits ########################
337
- //
338
- // Bloom filters have great flexibility that alternatives mostly do not
339
- // have. One of those flexibilities is in utilizing any ratio of data
340
- // structure bits per key. With a typical memory allocator like jemalloc,
341
- // this flexibility can save roughly 10% of the filters' footprint in
342
- // DRAM by rounding up and down filter sizes to minimize memory internal
343
- // fragmentation (see optimize_filters_for_memory RocksDB option).
344
- //
345
- // At first glance, PHSFs only offer a whole number of bits per "slot"
346
- // (m rather than number of keys n), but coefficient locality in the
347
- // Ribbon construction makes fractional bits/key quite possible and
348
- // attractive for filter applications. This works by a prefix of the
349
- // structure using b-1 solution columns and the rest using b solution
350
- // columns. See InterleavedSolutionStorage below for more detail.
351
- //
352
- // Because false positive rates are non-linear in bits/key, this approach
353
- // is not quite optimal in terms of information theory. In common cases,
354
- // we see additional space overhead up to about 1.5% vs. theoretical
355
- // optimal to achieve the same FP rate. We consider this a quite acceptable
356
- // overhead for very efficiently utilizing space that might otherwise be
357
- // wasted.
358
- //
359
- // This property of Ribbon even makes it "elastic." A Ribbon filter and
360
- // its small metadata for answering queries can be adapted into another
361
- // Ribbon filter filling any smaller multiple of r bits (plus small
362
- // metadata), with a correspondingly higher FP rate. None of the data
363
- // thrown away during construction needs to be recalled for this reduction.
364
- // Similarly a single Ribbon construction can be separated (by solution
365
- // column) into two or more structures (or "layers" or "levels") with
366
- // independent filtering ability (no FP correlation, just as solution or
367
- // result columns in a single structure) despite being constructed as part
368
- // of a single linear system. (TODO: implement)
369
- // See also "ElasticBF: Fine-grained and Elastic Bloom Filter Towards
370
- // Efficient Read for LSM-tree-based KV Stores."
371
- //
372
-
373
- // ######################################################################
374
- // ################### CODE: Ribbon core algorithms #####################
375
- // ######################################################################
376
- //
377
- // These algorithms are templatized for genericity but near-maximum
378
- // performance in a given application. The template parameters
379
- // adhere to informal class/struct type concepts outlined below. (This
380
- // code is written for C++11 so does not use formal C++ concepts.)
381
-
382
- // Rough architecture for these algorithms:
383
- //
384
- // +-----------+ +---+ +-----------------+
385
- // | AddInputs | --> | H | --> | BandingStorage |
386
- // +-----------+ | a | +-----------------+
387
- // | s | |
388
- // | h | Back substitution
389
- // | e | V
390
- // +-----------+ | r | +-----------------+
391
- // | Query Key | --> | | >+< | SolutionStorage |
392
- // +-----------+ +---+ | +-----------------+
393
- // V
394
- // Query result
395
-
396
- // Common to other concepts
397
- // concept RibbonTypes {
398
- // // An unsigned integer type for an r-bit subsequence of coefficients.
399
- // // r (or kCoeffBits) is taken to be sizeof(CoeffRow) * 8, as it would
400
- // // generally only hurt scalability to leave bits of CoeffRow unused.
401
- // typename CoeffRow;
402
- // // An unsigned integer type big enough to hold a result row (b bits,
403
- // // or number of solution/result columns).
404
- // // In many applications, especially filters, the number of result
405
- // // columns is decided at run time, so ResultRow simply needs to be
406
- // // big enough for the largest number of columns allowed.
407
- // typename ResultRow;
408
- // // An unsigned integer type sufficient for representing the number of
409
- // // rows in the solution structure, and at least the arithmetic
410
- // // promotion size (usually 32 bits). uint32_t recommended because a
411
- // // single Ribbon construction doesn't really scale to billions of
412
- // // entries.
413
- // typename Index;
414
- // };
415
-
416
- // ######################################################################
417
- // ######################## Hashers and Banding #########################
418
-
419
- // Hasher concepts abstract out hashing details.
420
-
421
- // concept PhsfQueryHasher extends RibbonTypes {
422
- // // Type for a lookup key, which is hashable.
423
- // typename Key;
424
- //
425
- // // Type for hashed summary of a Key. uint64_t is recommended.
426
- // typename Hash;
427
- //
428
- // // Compute a hash value summarizing a Key
429
- // Hash GetHash(const Key &) const;
430
- //
431
- // // Given a hash value and a number of columns that can start an
432
- // // r-sequence of coefficients (== m - r + 1), return the start
433
- // // column to associate with that hash value. (Starts can be chosen
434
- // // uniformly or "smash" extra entries into the beginning and end for
435
- // // better utilization at those extremes of the structure. Details in
436
- // // ribbon.impl.h)
437
- // Index GetStart(Hash, Index num_starts) const;
438
- //
439
- // // Given a hash value, return the r-bit sequence of coefficients to
440
- // // associate with it. It's generally OK if
441
- // // sizeof(CoeffRow) > sizeof(Hash)
442
- // // as long as the hash itself is not too prone to collisions for the
443
- // // applications and the CoeffRow is generated uniformly from
444
- // // available hash data, but relatively independent of the start.
445
- // //
446
- // // Must be non-zero, because that's required for a solution to exist
447
- // // when mapping to non-zero result row. (Note: BandingAdd could be
448
- // // modified to allow 0 coeff row if that only occurs with 0 result
449
- // // row, which really only makes sense for filter implementation,
450
- // // where both values are hash-derived. Or BandingAdd could reject 0
451
- // // coeff row, forcing next seed, but that has potential problems with
452
- // // generality/scalability.)
453
- // CoeffRow GetCoeffRow(Hash) const;
454
- // };
455
-
456
- // concept FilterQueryHasher extends PhsfQueryHasher {
457
- // // For building or querying a filter, this returns the expected
458
- // // result row associated with a hashed input. For general PHSF,
459
- // // this must return 0.
460
- // //
461
- // // Although not strictly required, there's a slightly better chance of
462
- // // solver success if result row is masked down here to only the bits
463
- // // actually needed.
464
- // ResultRow GetResultRowFromHash(Hash) const;
465
- // }
466
-
467
- // concept BandingHasher extends FilterQueryHasher {
468
- // // For a filter, this will generally be the same as Key.
469
- // // For a general PHSF, it must either
470
- // // (a) include a key and a result it maps to (e.g. in a std::pair), or
471
- // // (b) GetResultRowFromInput looks up the result somewhere rather than
472
- // // extracting it.
473
- // typename AddInput;
474
- //
475
- // // Instead of requiring a way to extract a Key from an
476
- // // AddInput, we require getting the hash of the Key part
477
- // // of an AddInput, which is trivial if AddInput == Key.
478
- // Hash GetHash(const AddInput &) const;
479
- //
480
- // // For building a non-filter PHSF, this extracts or looks up the result
481
- // // row to associate with an input. For filter PHSF, this must return 0.
482
- // ResultRow GetResultRowFromInput(const AddInput &) const;
483
- //
484
- // // Whether the solver can assume the lowest bit of GetCoeffRow is
485
- // // always 1. When true, it should improve solver efficiency slightly.
486
- // static bool kFirstCoeffAlwaysOne;
487
- // }
488
-
489
- // Abstract storage for the the result of "banding" the inputs (Gaussian
490
- // elimination to an upper-triangular boolean band matrix). Because the
491
- // banding is an incremental / on-the-fly algorithm, this also represents
492
- // all the intermediate state between input entries.
493
- //
494
- // concept BandingStorage extends RibbonTypes {
495
- // // Tells the banding algorithm to prefetch memory associated with
496
- // // the next input before processing the current input. Generally
497
- // // recommended iff the BandingStorage doesn't easily fit in CPU
498
- // // cache.
499
- // bool UsePrefetch() const;
500
- //
501
- // // Prefetches (e.g. __builtin_prefetch) memory associated with a
502
- // // slot index i.
503
- // void Prefetch(Index i) const;
504
- //
505
- // // Load or store CoeffRow and ResultRow for slot index i.
506
- // // (Gaussian row operations involve both sides of the equation.)
507
- // // Bool `for_back_subst` indicates that customizing values for
508
- // // unconstrained solution rows (cr == 0) is allowed.
509
- // void LoadRow(Index i, CoeffRow *cr, ResultRow *rr, bool for_back_subst)
510
- // const;
511
- // void StoreRow(Index i, CoeffRow cr, ResultRow rr);
512
- //
513
- // // Returns the number of columns that can start an r-sequence of
514
- // // coefficients, which is the number of slots minus r (kCoeffBits)
515
- // // plus one. (m - r + 1)
516
- // Index GetNumStarts() const;
517
- // };
518
-
519
- // Optional storage for backtracking data in banding a set of input
520
- // entries. It exposes an array structure which will generally be
521
- // used as a stack. It must be able to accommodate as many entries
522
- // as are passed in as inputs to `BandingAddRange`.
523
- //
524
- // concept BacktrackStorage extends RibbonTypes {
525
- // // If false, backtracking support will be disabled in the algorithm.
526
- // // This should preferably be an inline compile-time constant function.
527
- // bool UseBacktrack() const;
528
- //
529
- // // Records `to_save` as the `i`th backtrack entry
530
- // void BacktrackPut(Index i, Index to_save);
531
- //
532
- // // Recalls the `i`th backtrack entry
533
- // Index BacktrackGet(Index i) const;
534
- // }
535
-
536
- // Adds a single entry to BandingStorage (and optionally, BacktrackStorage),
537
- // returning true if successful or false if solution is impossible with
538
- // current hasher (and presumably its seed) and number of "slots" (solution
539
- // or banding rows). (A solution is impossible when there is a linear
540
- // dependence among the inputs that doesn't "cancel out".)
541
- //
542
- // Pre- and post-condition: the BandingStorage represents a band matrix
543
- // ready for back substitution (row echelon form except for zero rows),
544
- // augmented with result values such that back substitution would give a
545
- // solution satisfying all the cr@start -> rr entries added.
546
- template <bool kFirstCoeffAlwaysOne, typename BandingStorage,
547
- typename BacktrackStorage>
548
- bool BandingAdd(BandingStorage *bs, typename BandingStorage::Index start,
549
- typename BandingStorage::ResultRow rr,
550
- typename BandingStorage::CoeffRow cr, BacktrackStorage *bts,
551
- typename BandingStorage::Index *backtrack_pos) {
552
- using CoeffRow = typename BandingStorage::CoeffRow;
553
- using ResultRow = typename BandingStorage::ResultRow;
554
- using Index = typename BandingStorage::Index;
555
-
556
- Index i = start;
557
-
558
- if (!kFirstCoeffAlwaysOne) {
559
- // Requires/asserts that cr != 0
560
- int tz = CountTrailingZeroBits(cr);
561
- i += static_cast<Index>(tz);
562
- cr >>= tz;
563
- }
564
-
565
- for (;;) {
566
- assert((cr & 1) == 1);
567
- CoeffRow cr_at_i;
568
- ResultRow rr_at_i;
569
- bs->LoadRow(i, &cr_at_i, &rr_at_i, /* for_back_subst */ false);
570
- if (cr_at_i == 0) {
571
- bs->StoreRow(i, cr, rr);
572
- bts->BacktrackPut(*backtrack_pos, i);
573
- ++*backtrack_pos;
574
- return true;
575
- }
576
- assert((cr_at_i & 1) == 1);
577
- // Gaussian row reduction
578
- cr ^= cr_at_i;
579
- rr ^= rr_at_i;
580
- if (cr == 0) {
581
- // Inconsistency or (less likely) redundancy
582
- break;
583
- }
584
- // Find relative offset of next non-zero coefficient.
585
- int tz = CountTrailingZeroBits(cr);
586
- i += static_cast<Index>(tz);
587
- cr >>= tz;
588
- }
589
-
590
- // Failed, unless result row == 0 because e.g. a duplicate input or a
591
- // stock hash collision, with same result row. (For filter, stock hash
592
- // collision implies same result row.) Or we could have a full equation
593
- // equal to sum of other equations, which is very possible with
594
- // small range of values for result row.
595
- return rr == 0;
596
- }
597
-
598
- // Adds a range of entries to BandingStorage returning true if successful
599
- // or false if solution is impossible with current hasher (and presumably
600
- // its seed) and number of "slots" (solution or banding rows). (A solution
601
- // is impossible when there is a linear dependence among the inputs that
602
- // doesn't "cancel out".) Here "InputIterator" is an iterator over AddInputs.
603
- //
604
- // If UseBacktrack in the BacktrackStorage, this function call rolls back
605
- // to prior state on failure. If !UseBacktrack, some subset of the entries
606
- // will have been added to the BandingStorage, so best considered to be in
607
- // an indeterminate state.
608
- //
609
- template <typename BandingStorage, typename BacktrackStorage,
610
- typename BandingHasher, typename InputIterator>
611
- bool BandingAddRange(BandingStorage *bs, BacktrackStorage *bts,
612
- const BandingHasher &bh, InputIterator begin,
613
- InputIterator end) {
614
- using CoeffRow = typename BandingStorage::CoeffRow;
615
- using Index = typename BandingStorage::Index;
616
- using ResultRow = typename BandingStorage::ResultRow;
617
- using Hash = typename BandingHasher::Hash;
618
-
619
- static_assert(IsUnsignedUpTo128<CoeffRow>::value, "must be unsigned");
620
- static_assert(IsUnsignedUpTo128<Index>::value, "must be unsigned");
621
- static_assert(IsUnsignedUpTo128<ResultRow>::value, "must be unsigned");
622
-
623
- constexpr bool kFCA1 = BandingHasher::kFirstCoeffAlwaysOne;
624
-
625
- if (begin == end) {
626
- // trivial
627
- return true;
628
- }
629
-
630
- const Index num_starts = bs->GetNumStarts();
631
-
632
- InputIterator cur = begin;
633
- Index backtrack_pos = 0;
634
- if (!bs->UsePrefetch()) {
635
- // Simple version, no prefetch
636
- for (;;) {
637
- Hash h = bh.GetHash(*cur);
638
- Index start = bh.GetStart(h, num_starts);
639
- ResultRow rr =
640
- bh.GetResultRowFromInput(*cur) | bh.GetResultRowFromHash(h);
641
- CoeffRow cr = bh.GetCoeffRow(h);
642
-
643
- if (!BandingAdd<kFCA1>(bs, start, rr, cr, bts, &backtrack_pos)) {
644
- break;
645
- }
646
- if ((++cur) == end) {
647
- return true;
648
- }
649
- }
650
- } else {
651
- // Pipelined w/prefetch
652
- // Prime the pipeline
653
- Hash h = bh.GetHash(*cur);
654
- Index start = bh.GetStart(h, num_starts);
655
- ResultRow rr = bh.GetResultRowFromInput(*cur);
656
- bs->Prefetch(start);
657
-
658
- // Pipeline
659
- for (;;) {
660
- rr |= bh.GetResultRowFromHash(h);
661
- CoeffRow cr = bh.GetCoeffRow(h);
662
- if ((++cur) == end) {
663
- if (!BandingAdd<kFCA1>(bs, start, rr, cr, bts, &backtrack_pos)) {
664
- break;
665
- }
666
- return true;
667
- }
668
- Hash next_h = bh.GetHash(*cur);
669
- Index next_start = bh.GetStart(next_h, num_starts);
670
- ResultRow next_rr = bh.GetResultRowFromInput(*cur);
671
- bs->Prefetch(next_start);
672
- if (!BandingAdd<kFCA1>(bs, start, rr, cr, bts, &backtrack_pos)) {
673
- break;
674
- }
675
- h = next_h;
676
- start = next_start;
677
- rr = next_rr;
678
- }
679
- }
680
- // failed; backtrack (if implemented)
681
- if (bts->UseBacktrack()) {
682
- while (backtrack_pos > 0) {
683
- --backtrack_pos;
684
- Index i = bts->BacktrackGet(backtrack_pos);
685
- // Clearing the ResultRow is not strictly required, but is required
686
- // for good FP rate on inputs that might have been backtracked out.
687
- // (We don't want anything we've backtracked on to leak into final
688
- // result, as that might not be "harmless".)
689
- bs->StoreRow(i, 0, 0);
690
- }
691
- }
692
- return false;
693
- }
694
-
695
- // Adds a range of entries to BandingStorage returning true if successful
696
- // or false if solution is impossible with current hasher (and presumably
697
- // its seed) and number of "slots" (solution or banding rows). (A solution
698
- // is impossible when there is a linear dependence among the inputs that
699
- // doesn't "cancel out".) Here "InputIterator" is an iterator over AddInputs.
700
- //
701
- // On failure, some subset of the entries will have been added to the
702
- // BandingStorage, so best considered to be in an indeterminate state.
703
- //
704
- template <typename BandingStorage, typename BandingHasher,
705
- typename InputIterator>
706
- bool BandingAddRange(BandingStorage *bs, const BandingHasher &bh,
707
- InputIterator begin, InputIterator end) {
708
- using Index = typename BandingStorage::Index;
709
- struct NoopBacktrackStorage {
710
- bool UseBacktrack() { return false; }
711
- void BacktrackPut(Index, Index) {}
712
- Index BacktrackGet(Index) {
713
- assert(false);
714
- return 0;
715
- }
716
- } nbts;
717
- return BandingAddRange(bs, &nbts, bh, begin, end);
718
- }
719
-
720
- // ######################################################################
721
- // ######################### Solution Storage ###########################
722
-
723
- // Back-substitution and query algorithms unfortunately depend on some
724
- // details of data layout in the final data structure ("solution"). Thus,
725
- // there is no common SolutionStorage covering all the reasonable
726
- // possibilities.
727
-
728
- // ###################### SimpleSolutionStorage #########################
729
-
730
- // SimpleSolutionStorage is for a row-major storage, typically with no
731
- // unused bits in each ResultRow. This is mostly for demonstration
732
- // purposes as the simplest solution storage scheme. It is relatively slow
733
- // for filter queries.
734
-
735
- // concept SimpleSolutionStorage extends RibbonTypes {
736
- // // This is called at the beginning of back-substitution for the
737
- // // solution storage to do any remaining configuration before data
738
- // // is stored to it. If configuration is previously finalized, this
739
- // // could be a simple assertion or even no-op. Ribbon algorithms
740
- // // only call this from back-substitution, and only once per call,
741
- // // before other functions here.
742
- // void PrepareForNumStarts(Index num_starts) const;
743
- // // Must return num_starts passed to PrepareForNumStarts, or the most
744
- // // recent call to PrepareForNumStarts if this storage object can be
745
- // // reused. Note that num_starts == num_slots - kCoeffBits + 1 because
746
- // // there must be a run of kCoeffBits slots starting from each start.
747
- // Index GetNumStarts() const;
748
- // // Load the solution row (type ResultRow) for a slot
749
- // ResultRow Load(Index slot_num) const;
750
- // // Store the solution row (type ResultRow) for a slot
751
- // void Store(Index slot_num, ResultRow data);
752
- // };
753
-
754
- // Back-substitution for generating a solution from BandingStorage to
755
- // SimpleSolutionStorage.
756
- template <typename SimpleSolutionStorage, typename BandingStorage>
757
- void SimpleBackSubst(SimpleSolutionStorage *sss, const BandingStorage &bs) {
758
- using CoeffRow = typename BandingStorage::CoeffRow;
759
- using Index = typename BandingStorage::Index;
760
- using ResultRow = typename BandingStorage::ResultRow;
761
-
762
- static_assert(sizeof(Index) == sizeof(typename SimpleSolutionStorage::Index),
763
- "must be same");
764
- static_assert(
765
- sizeof(CoeffRow) == sizeof(typename SimpleSolutionStorage::CoeffRow),
766
- "must be same");
767
- static_assert(
768
- sizeof(ResultRow) == sizeof(typename SimpleSolutionStorage::ResultRow),
769
- "must be same");
770
-
771
- constexpr auto kCoeffBits = static_cast<Index>(sizeof(CoeffRow) * 8U);
772
- constexpr auto kResultBits = static_cast<Index>(sizeof(ResultRow) * 8U);
773
-
774
- // A column-major buffer of the solution matrix, containing enough
775
- // recently-computed solution data to compute the next solution row
776
- // (based also on banding data).
777
- std::array<CoeffRow, kResultBits> state;
778
- state.fill(0);
779
-
780
- const Index num_starts = bs.GetNumStarts();
781
- sss->PrepareForNumStarts(num_starts);
782
- const Index num_slots = num_starts + kCoeffBits - 1;
783
-
784
- for (Index i = num_slots; i > 0;) {
785
- --i;
786
- CoeffRow cr;
787
- ResultRow rr;
788
- bs.LoadRow(i, &cr, &rr, /* for_back_subst */ true);
789
- // solution row
790
- ResultRow sr = 0;
791
- for (Index j = 0; j < kResultBits; ++j) {
792
- // Compute next solution bit at row i, column j (see derivation below)
793
- CoeffRow tmp = state[j] << 1;
794
- bool bit = (BitParity(tmp & cr) ^ ((rr >> j) & 1)) != 0;
795
- tmp |= bit ? CoeffRow{1} : CoeffRow{0};
796
-
797
- // Now tmp is solution at column j from row i for next kCoeffBits
798
- // more rows. Thus, for valid solution, the dot product of the
799
- // solution column with the coefficient row has to equal the result
800
- // at that column,
801
- // BitParity(tmp & cr) == ((rr >> j) & 1)
802
-
803
- // Update state.
804
- state[j] = tmp;
805
- // add to solution row
806
- sr |= (bit ? ResultRow{1} : ResultRow{0}) << j;
807
- }
808
- sss->Store(i, sr);
809
- }
810
- }
811
-
812
- // Common functionality for querying a key (already hashed) in
813
- // SimpleSolutionStorage.
814
- template <typename SimpleSolutionStorage>
815
- typename SimpleSolutionStorage::ResultRow SimpleQueryHelper(
816
- typename SimpleSolutionStorage::Index start_slot,
817
- typename SimpleSolutionStorage::CoeffRow cr,
818
- const SimpleSolutionStorage &sss) {
819
- using CoeffRow = typename SimpleSolutionStorage::CoeffRow;
820
- using ResultRow = typename SimpleSolutionStorage::ResultRow;
821
-
822
- constexpr unsigned kCoeffBits = static_cast<unsigned>(sizeof(CoeffRow) * 8U);
823
-
824
- ResultRow result = 0;
825
- for (unsigned i = 0; i < kCoeffBits; ++i) {
826
- // Bit masking whole value is generally faster here than 'if'
827
- result ^= sss.Load(start_slot + i) &
828
- (ResultRow{0} - (static_cast<ResultRow>(cr >> i) & ResultRow{1}));
829
- }
830
- return result;
831
- }
832
-
833
- // General PHSF query a key from SimpleSolutionStorage.
834
- template <typename SimpleSolutionStorage, typename PhsfQueryHasher>
835
- typename SimpleSolutionStorage::ResultRow SimplePhsfQuery(
836
- const typename PhsfQueryHasher::Key &key, const PhsfQueryHasher &hasher,
837
- const SimpleSolutionStorage &sss) {
838
- const typename PhsfQueryHasher::Hash hash = hasher.GetHash(key);
839
-
840
- static_assert(sizeof(typename SimpleSolutionStorage::Index) ==
841
- sizeof(typename PhsfQueryHasher::Index),
842
- "must be same");
843
- static_assert(sizeof(typename SimpleSolutionStorage::CoeffRow) ==
844
- sizeof(typename PhsfQueryHasher::CoeffRow),
845
- "must be same");
846
-
847
- return SimpleQueryHelper(hasher.GetStart(hash, sss.GetNumStarts()),
848
- hasher.GetCoeffRow(hash), sss);
849
- }
850
-
851
- // Filter query a key from SimpleSolutionStorage.
852
- template <typename SimpleSolutionStorage, typename FilterQueryHasher>
853
- bool SimpleFilterQuery(const typename FilterQueryHasher::Key &key,
854
- const FilterQueryHasher &hasher,
855
- const SimpleSolutionStorage &sss) {
856
- const typename FilterQueryHasher::Hash hash = hasher.GetHash(key);
857
- const typename SimpleSolutionStorage::ResultRow expected =
858
- hasher.GetResultRowFromHash(hash);
859
-
860
- static_assert(sizeof(typename SimpleSolutionStorage::Index) ==
861
- sizeof(typename FilterQueryHasher::Index),
862
- "must be same");
863
- static_assert(sizeof(typename SimpleSolutionStorage::CoeffRow) ==
864
- sizeof(typename FilterQueryHasher::CoeffRow),
865
- "must be same");
866
- static_assert(sizeof(typename SimpleSolutionStorage::ResultRow) ==
867
- sizeof(typename FilterQueryHasher::ResultRow),
868
- "must be same");
869
-
870
- return expected ==
871
- SimpleQueryHelper(hasher.GetStart(hash, sss.GetNumStarts()),
872
- hasher.GetCoeffRow(hash), sss);
873
- }
874
-
875
- // #################### InterleavedSolutionStorage ######################
876
-
877
- // InterleavedSolutionStorage is row-major at a high level, for good
878
- // locality, and column-major at a low level, for CPU efficiency
879
- // especially in filter queries or relatively small number of result bits
880
- // (== solution columns). The storage is a sequence of "blocks" where a
881
- // block has one CoeffRow-sized segment for each solution column. Each
882
- // query spans at most two blocks; the starting solution row is typically
883
- // in the row-logical middle of a block and spans to the middle of the
884
- // next block. (See diagram below.)
885
- //
886
- // InterleavedSolutionStorage supports choosing b (number of result or
887
- // solution columns) at run time, and even supports mixing b and b-1 solution
888
- // columns in a single linear system solution, for filters that can
889
- // effectively utilize any size space (multiple of CoeffRow) for minimizing
890
- // FP rate for any number of added keys. To simplify query implementation
891
- // (with lower-index columns first), the b-bit portion comes after the b-1
892
- // portion of the structure.
893
- //
894
- // Diagram (=== marks logical block boundary; b=4; ### is data used by a
895
- // query crossing the b-1 to b boundary, each Segment has type CoeffRow):
896
- // ...
897
- // +======================+
898
- // | S e g m e n t col=0 |
899
- // +----------------------+
900
- // | S e g m e n t col=1 |
901
- // +----------------------+
902
- // | S e g m e n t col=2 |
903
- // +======================+
904
- // | S e g m e n #########|
905
- // +----------------------+
906
- // | S e g m e n #########|
907
- // +----------------------+
908
- // | S e g m e n #########|
909
- // +======================+ Result/solution columns: above = 3, below = 4
910
- // |#############t col=0 |
911
- // +----------------------+
912
- // |#############t col=1 |
913
- // +----------------------+
914
- // |#############t col=2 |
915
- // +----------------------+
916
- // | S e g m e n t col=3 |
917
- // +======================+
918
- // | S e g m e n t col=0 |
919
- // +----------------------+
920
- // | S e g m e n t col=1 |
921
- // +----------------------+
922
- // | S e g m e n t col=2 |
923
- // +----------------------+
924
- // | S e g m e n t col=3 |
925
- // +======================+
926
- // ...
927
- //
928
- // InterleavedSolutionStorage will be adapted by the algorithms from
929
- // simple array-like segment storage. That array-like storage is templatized
930
- // in part so that an implementation may choose to handle byte ordering
931
- // at access time.
932
- //
933
- // concept InterleavedSolutionStorage extends RibbonTypes {
934
- // // This is called at the beginning of back-substitution for the
935
- // // solution storage to do any remaining configuration before data
936
- // // is stored to it. If configuration is previously finalized, this
937
- // // could be a simple assertion or even no-op. Ribbon algorithms
938
- // // only call this from back-substitution, and only once per call,
939
- // // before other functions here.
940
- // void PrepareForNumStarts(Index num_starts) const;
941
- // // Must return num_starts passed to PrepareForNumStarts, or the most
942
- // // recent call to PrepareForNumStarts if this storage object can be
943
- // // reused. Note that num_starts == num_slots - kCoeffBits + 1 because
944
- // // there must be a run of kCoeffBits slots starting from each start.
945
- // Index GetNumStarts() const;
946
- // // The larger number of solution columns used (called "b" above).
947
- // Index GetUpperNumColumns() const;
948
- // // If returns > 0, then block numbers below that use
949
- // // GetUpperNumColumns() - 1 columns per solution row, and the rest
950
- // // use GetUpperNumColumns(). A block represents kCoeffBits "slots",
951
- // // where all but the last kCoeffBits - 1 slots are also starts. And
952
- // // a block contains a segment for each solution column.
953
- // // An implementation may only support uniform columns per solution
954
- // // row and return constant 0 here.
955
- // Index GetUpperStartBlock() const;
956
- //
957
- // // ### "Array of segments" portion of API ###
958
- // // The number of values of type CoeffRow used in this solution
959
- // // representation. (This value can be inferred from the previous
960
- // // three functions, but is expected at least for sanity / assertion
961
- // // checking.)
962
- // Index GetNumSegments() const;
963
- // // Load an entry from the logical array of segments
964
- // CoeffRow LoadSegment(Index segment_num) const;
965
- // // Store an entry to the logical array of segments
966
- // void StoreSegment(Index segment_num, CoeffRow data);
967
- // };
968
-
969
- // A helper for InterleavedBackSubst.
970
- template <typename BandingStorage>
971
- inline void BackSubstBlock(typename BandingStorage::CoeffRow *state,
972
- typename BandingStorage::Index num_columns,
973
- const BandingStorage &bs,
974
- typename BandingStorage::Index start_slot) {
975
- using CoeffRow = typename BandingStorage::CoeffRow;
976
- using Index = typename BandingStorage::Index;
977
- using ResultRow = typename BandingStorage::ResultRow;
978
-
979
- constexpr auto kCoeffBits = static_cast<Index>(sizeof(CoeffRow) * 8U);
980
-
981
- for (Index i = start_slot + kCoeffBits; i > start_slot;) {
982
- --i;
983
- CoeffRow cr;
984
- ResultRow rr;
985
- bs.LoadRow(i, &cr, &rr, /* for_back_subst */ true);
986
- for (Index j = 0; j < num_columns; ++j) {
987
- // Compute next solution bit at row i, column j (see derivation below)
988
- CoeffRow tmp = state[j] << 1;
989
- int bit = BitParity(tmp & cr) ^ ((rr >> j) & 1);
990
- tmp |= static_cast<CoeffRow>(bit);
991
-
992
- // Now tmp is solution at column j from row i for next kCoeffBits
993
- // more rows. Thus, for valid solution, the dot product of the
994
- // solution column with the coefficient row has to equal the result
995
- // at that column,
996
- // BitParity(tmp & cr) == ((rr >> j) & 1)
997
-
998
- // Update state.
999
- state[j] = tmp;
1000
- }
1001
- }
1002
- }
1003
-
1004
- // Back-substitution for generating a solution from BandingStorage to
1005
- // InterleavedSolutionStorage.
1006
- template <typename InterleavedSolutionStorage, typename BandingStorage>
1007
- void InterleavedBackSubst(InterleavedSolutionStorage *iss,
1008
- const BandingStorage &bs) {
1009
- using CoeffRow = typename BandingStorage::CoeffRow;
1010
- using Index = typename BandingStorage::Index;
1011
-
1012
- static_assert(
1013
- sizeof(Index) == sizeof(typename InterleavedSolutionStorage::Index),
1014
- "must be same");
1015
- static_assert(
1016
- sizeof(CoeffRow) == sizeof(typename InterleavedSolutionStorage::CoeffRow),
1017
- "must be same");
1018
-
1019
- constexpr auto kCoeffBits = static_cast<Index>(sizeof(CoeffRow) * 8U);
1020
-
1021
- const Index num_starts = bs.GetNumStarts();
1022
- // Although it might be nice to have a filter that returns "always false"
1023
- // when no key is added, we aren't specifically supporting that here
1024
- // because it would require another condition branch in the query.
1025
- assert(num_starts > 0);
1026
- iss->PrepareForNumStarts(num_starts);
1027
-
1028
- const Index num_slots = num_starts + kCoeffBits - 1;
1029
- assert(num_slots % kCoeffBits == 0);
1030
- const Index num_blocks = num_slots / kCoeffBits;
1031
- const Index num_segments = iss->GetNumSegments();
1032
-
1033
- // For now upper, then lower
1034
- Index num_columns = iss->GetUpperNumColumns();
1035
- const Index upper_start_block = iss->GetUpperStartBlock();
1036
-
1037
- if (num_columns == 0) {
1038
- // Nothing to do, presumably because there's not enough space for even
1039
- // a single segment.
1040
- assert(num_segments == 0);
1041
- // When num_columns == 0, a Ribbon filter query will always return true,
1042
- // or a PHSF query always 0.
1043
- return;
1044
- }
1045
-
1046
- // We should be utilizing all available segments
1047
- assert(num_segments == (upper_start_block * (num_columns - 1)) +
1048
- ((num_blocks - upper_start_block) * num_columns));
1049
-
1050
- // TODO: consider fixed-column specializations with stack-allocated state
1051
-
1052
- // A column-major buffer of the solution matrix, containing enough
1053
- // recently-computed solution data to compute the next solution row
1054
- // (based also on banding data).
1055
- std::unique_ptr<CoeffRow[]> state{new CoeffRow[num_columns]()};
1056
-
1057
- Index block = num_blocks;
1058
- Index segment_num = num_segments;
1059
- while (block > upper_start_block) {
1060
- --block;
1061
- BackSubstBlock(state.get(), num_columns, bs, block * kCoeffBits);
1062
- segment_num -= num_columns;
1063
- for (Index i = 0; i < num_columns; ++i) {
1064
- iss->StoreSegment(segment_num + i, state[i]);
1065
- }
1066
- }
1067
- // Now (if applicable), region using lower number of columns
1068
- // (This should be optimized away if GetUpperStartBlock() returns
1069
- // constant 0.)
1070
- --num_columns;
1071
- while (block > 0) {
1072
- --block;
1073
- BackSubstBlock(state.get(), num_columns, bs, block * kCoeffBits);
1074
- segment_num -= num_columns;
1075
- for (Index i = 0; i < num_columns; ++i) {
1076
- iss->StoreSegment(segment_num + i, state[i]);
1077
- }
1078
- }
1079
- // Verify everything processed
1080
- assert(block == 0);
1081
- assert(segment_num == 0);
1082
- }
1083
-
1084
- // Prefetch memory for a key in InterleavedSolutionStorage.
1085
- template <typename InterleavedSolutionStorage, typename PhsfQueryHasher>
1086
- inline void InterleavedPrepareQuery(
1087
- const typename PhsfQueryHasher::Key &key, const PhsfQueryHasher &hasher,
1088
- const InterleavedSolutionStorage &iss,
1089
- typename PhsfQueryHasher::Hash *saved_hash,
1090
- typename InterleavedSolutionStorage::Index *saved_segment_num,
1091
- typename InterleavedSolutionStorage::Index *saved_num_columns,
1092
- typename InterleavedSolutionStorage::Index *saved_start_bit) {
1093
- using Hash = typename PhsfQueryHasher::Hash;
1094
- using CoeffRow = typename InterleavedSolutionStorage::CoeffRow;
1095
- using Index = typename InterleavedSolutionStorage::Index;
1096
-
1097
- static_assert(sizeof(Index) == sizeof(typename PhsfQueryHasher::Index),
1098
- "must be same");
1099
-
1100
- const Hash hash = hasher.GetHash(key);
1101
- const Index start_slot = hasher.GetStart(hash, iss.GetNumStarts());
1102
-
1103
- constexpr auto kCoeffBits = static_cast<Index>(sizeof(CoeffRow) * 8U);
1104
-
1105
- const Index upper_start_block = iss.GetUpperStartBlock();
1106
- Index num_columns = iss.GetUpperNumColumns();
1107
- Index start_block_num = start_slot / kCoeffBits;
1108
- Index segment_num = start_block_num * num_columns -
1109
- std::min(start_block_num, upper_start_block);
1110
- // Change to lower num columns if applicable.
1111
- // (This should not compile to a conditional branch.)
1112
- num_columns -= (start_block_num < upper_start_block) ? 1 : 0;
1113
-
1114
- Index start_bit = start_slot % kCoeffBits;
1115
-
1116
- Index segment_count = num_columns + (start_bit == 0 ? 0 : num_columns);
1117
-
1118
- iss.PrefetchSegmentRange(segment_num, segment_num + segment_count);
1119
-
1120
- *saved_hash = hash;
1121
- *saved_segment_num = segment_num;
1122
- *saved_num_columns = num_columns;
1123
- *saved_start_bit = start_bit;
1124
- }
1125
-
1126
- // General PHSF query from InterleavedSolutionStorage, using data for
1127
- // the query key from InterleavedPrepareQuery
1128
- template <typename InterleavedSolutionStorage, typename PhsfQueryHasher>
1129
- inline typename InterleavedSolutionStorage::ResultRow InterleavedPhsfQuery(
1130
- typename PhsfQueryHasher::Hash hash,
1131
- typename InterleavedSolutionStorage::Index segment_num,
1132
- typename InterleavedSolutionStorage::Index num_columns,
1133
- typename InterleavedSolutionStorage::Index start_bit,
1134
- const PhsfQueryHasher &hasher, const InterleavedSolutionStorage &iss) {
1135
- using CoeffRow = typename InterleavedSolutionStorage::CoeffRow;
1136
- using Index = typename InterleavedSolutionStorage::Index;
1137
- using ResultRow = typename InterleavedSolutionStorage::ResultRow;
1138
-
1139
- static_assert(sizeof(Index) == sizeof(typename PhsfQueryHasher::Index),
1140
- "must be same");
1141
- static_assert(sizeof(CoeffRow) == sizeof(typename PhsfQueryHasher::CoeffRow),
1142
- "must be same");
1143
-
1144
- constexpr auto kCoeffBits = static_cast<Index>(sizeof(CoeffRow) * 8U);
1145
-
1146
- const CoeffRow cr = hasher.GetCoeffRow(hash);
1147
-
1148
- ResultRow sr = 0;
1149
- const CoeffRow cr_left = cr << static_cast<unsigned>(start_bit);
1150
- for (Index i = 0; i < num_columns; ++i) {
1151
- sr ^= BitParity(iss.LoadSegment(segment_num + i) & cr_left) << i;
1152
- }
1153
-
1154
- if (start_bit > 0) {
1155
- segment_num += num_columns;
1156
- const CoeffRow cr_right =
1157
- cr >> static_cast<unsigned>(kCoeffBits - start_bit);
1158
- for (Index i = 0; i < num_columns; ++i) {
1159
- sr ^= BitParity(iss.LoadSegment(segment_num + i) & cr_right) << i;
1160
- }
1161
- }
1162
-
1163
- return sr;
1164
- }
1165
-
1166
- // Filter query a key from InterleavedFilterQuery.
1167
- template <typename InterleavedSolutionStorage, typename FilterQueryHasher>
1168
- inline bool InterleavedFilterQuery(
1169
- typename FilterQueryHasher::Hash hash,
1170
- typename InterleavedSolutionStorage::Index segment_num,
1171
- typename InterleavedSolutionStorage::Index num_columns,
1172
- typename InterleavedSolutionStorage::Index start_bit,
1173
- const FilterQueryHasher &hasher, const InterleavedSolutionStorage &iss) {
1174
- using CoeffRow = typename InterleavedSolutionStorage::CoeffRow;
1175
- using Index = typename InterleavedSolutionStorage::Index;
1176
- using ResultRow = typename InterleavedSolutionStorage::ResultRow;
1177
-
1178
- static_assert(sizeof(Index) == sizeof(typename FilterQueryHasher::Index),
1179
- "must be same");
1180
- static_assert(
1181
- sizeof(CoeffRow) == sizeof(typename FilterQueryHasher::CoeffRow),
1182
- "must be same");
1183
- static_assert(
1184
- sizeof(ResultRow) == sizeof(typename FilterQueryHasher::ResultRow),
1185
- "must be same");
1186
-
1187
- constexpr auto kCoeffBits = static_cast<Index>(sizeof(CoeffRow) * 8U);
1188
-
1189
- const CoeffRow cr = hasher.GetCoeffRow(hash);
1190
- const ResultRow expected = hasher.GetResultRowFromHash(hash);
1191
-
1192
- // TODO: consider optimizations such as
1193
- // * get rid of start_bit == 0 condition with careful fetching & shifting
1194
- if (start_bit == 0) {
1195
- for (Index i = 0; i < num_columns; ++i) {
1196
- if (BitParity(iss.LoadSegment(segment_num + i) & cr) !=
1197
- (static_cast<int>(expected >> i) & 1)) {
1198
- return false;
1199
- }
1200
- }
1201
- } else {
1202
- const CoeffRow cr_left = cr << static_cast<unsigned>(start_bit);
1203
- const CoeffRow cr_right =
1204
- cr >> static_cast<unsigned>(kCoeffBits - start_bit);
1205
-
1206
- for (Index i = 0; i < num_columns; ++i) {
1207
- CoeffRow soln_data =
1208
- (iss.LoadSegment(segment_num + i) & cr_left) ^
1209
- (iss.LoadSegment(segment_num + num_columns + i) & cr_right);
1210
- if (BitParity(soln_data) != (static_cast<int>(expected >> i) & 1)) {
1211
- return false;
1212
- }
1213
- }
1214
- }
1215
- // otherwise, all match
1216
- return true;
1217
- }
1218
-
1219
- // TODO: refactor Interleaved*Query so that queries can be "prepared" by
1220
- // prefetching memory, to hide memory latency for multiple queries in a
1221
- // single thread.
1222
-
1223
- } // namespace ribbon
1224
-
1225
- } // namespace ROCKSDB_NAMESPACE