@nxtedition/rocksdb 1.0.0

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 (1088) hide show
  1. package/CHANGELOG.md +294 -0
  2. package/LICENSE +21 -0
  3. package/README.md +102 -0
  4. package/UPGRADING.md +91 -0
  5. package/binding.cc +1276 -0
  6. package/binding.gyp +73 -0
  7. package/binding.js +1 -0
  8. package/chained-batch.js +44 -0
  9. package/deps/rocksdb/build_version.cc +4 -0
  10. package/deps/rocksdb/rocksdb/CMakeLists.txt +1356 -0
  11. package/deps/rocksdb/rocksdb/COPYING +339 -0
  12. package/deps/rocksdb/rocksdb/LICENSE.Apache +202 -0
  13. package/deps/rocksdb/rocksdb/LICENSE.leveldb +29 -0
  14. package/deps/rocksdb/rocksdb/Makefile +2521 -0
  15. package/deps/rocksdb/rocksdb/TARGETS +2100 -0
  16. package/deps/rocksdb/rocksdb/cache/cache.cc +63 -0
  17. package/deps/rocksdb/rocksdb/cache/cache_bench.cc +381 -0
  18. package/deps/rocksdb/rocksdb/cache/cache_helpers.h +114 -0
  19. package/deps/rocksdb/rocksdb/cache/cache_test.cc +775 -0
  20. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +769 -0
  21. package/deps/rocksdb/rocksdb/cache/clock_cache.h +16 -0
  22. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +574 -0
  23. package/deps/rocksdb/rocksdb/cache/lru_cache.h +339 -0
  24. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +199 -0
  25. package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +162 -0
  26. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +111 -0
  27. package/deps/rocksdb/rocksdb/cmake/RocksDBConfig.cmake.in +54 -0
  28. package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
  29. package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
  30. package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
  31. package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
  32. package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
  33. package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
  34. package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
  35. package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
  36. package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
  37. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +108 -0
  38. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +115 -0
  39. package/deps/rocksdb/rocksdb/db/blob/blob_constants.h +16 -0
  40. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition.cc +154 -0
  41. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition.h +67 -0
  42. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition_test.cc +206 -0
  43. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +316 -0
  44. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +91 -0
  45. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +660 -0
  46. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +99 -0
  47. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +49 -0
  48. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +268 -0
  49. package/deps/rocksdb/rocksdb/db/blob/blob_file_garbage.cc +134 -0
  50. package/deps/rocksdb/rocksdb/db/blob/blob_file_garbage.h +57 -0
  51. package/deps/rocksdb/rocksdb/db/blob/blob_file_garbage_test.cc +173 -0
  52. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.cc +55 -0
  53. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +164 -0
  54. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +423 -0
  55. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +81 -0
  56. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +771 -0
  57. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +184 -0
  58. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.cc +145 -0
  59. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +148 -0
  60. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +132 -0
  61. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.h +76 -0
  62. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +168 -0
  63. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.h +83 -0
  64. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +307 -0
  65. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +464 -0
  66. package/deps/rocksdb/rocksdb/db/builder.cc +358 -0
  67. package/deps/rocksdb/rocksdb/db/builder.h +95 -0
  68. package/deps/rocksdb/rocksdb/db/c.cc +5281 -0
  69. package/deps/rocksdb/rocksdb/db/c_test.c +2883 -0
  70. package/deps/rocksdb/rocksdb/db/column_family.cc +1602 -0
  71. package/deps/rocksdb/rocksdb/db/column_family.h +787 -0
  72. package/deps/rocksdb/rocksdb/db/column_family_test.cc +3427 -0
  73. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +425 -0
  74. package/deps/rocksdb/rocksdb/db/compacted_db_impl.cc +169 -0
  75. package/deps/rocksdb/rocksdb/db/compacted_db_impl.h +118 -0
  76. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +591 -0
  77. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +389 -0
  78. package/deps/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +37 -0
  79. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +1023 -0
  80. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +353 -0
  81. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +1254 -0
  82. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +1917 -0
  83. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +208 -0
  84. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +1037 -0
  85. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +1224 -0
  86. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +1135 -0
  87. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +318 -0
  88. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +255 -0
  89. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +57 -0
  90. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +510 -0
  91. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +33 -0
  92. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +2190 -0
  93. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1103 -0
  94. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +32 -0
  95. package/deps/rocksdb/rocksdb/db/compaction/sst_partitioner.cc +44 -0
  96. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +660 -0
  97. package/deps/rocksdb/rocksdb/db/convenience.cc +78 -0
  98. package/deps/rocksdb/rocksdb/db/corruption_test.cc +921 -0
  99. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +359 -0
  100. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +3820 -0
  101. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +1058 -0
  102. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +2128 -0
  103. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +851 -0
  104. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +6292 -0
  105. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +509 -0
  106. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +130 -0
  107. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +137 -0
  108. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1119 -0
  109. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +5057 -0
  110. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +2274 -0
  111. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +3421 -0
  112. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +298 -0
  113. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +151 -0
  114. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +967 -0
  115. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +1806 -0
  116. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +270 -0
  117. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +146 -0
  118. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +683 -0
  119. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +333 -0
  120. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +2024 -0
  121. package/deps/rocksdb/rocksdb/db/db_impl/db_secondary_test.cc +932 -0
  122. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +137 -0
  123. package/deps/rocksdb/rocksdb/db/db_info_dumper.h +15 -0
  124. package/deps/rocksdb/rocksdb/db/db_inplace_update_test.cc +178 -0
  125. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +592 -0
  126. package/deps/rocksdb/rocksdb/db/db_iter.cc +1493 -0
  127. package/deps/rocksdb/rocksdb/db/db_iter.h +390 -0
  128. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +657 -0
  129. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +3268 -0
  130. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +3197 -0
  131. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +299 -0
  132. package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +513 -0
  133. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +329 -0
  134. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +241 -0
  135. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +671 -0
  136. package/deps/rocksdb/rocksdb/db/db_options_test.cc +1022 -0
  137. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +1723 -0
  138. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +1694 -0
  139. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +1261 -0
  140. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +164 -0
  141. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +488 -0
  142. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +567 -0
  143. package/deps/rocksdb/rocksdb/db/db_test.cc +6736 -0
  144. package/deps/rocksdb/rocksdb/db/db_test2.cc +5408 -0
  145. package/deps/rocksdb/rocksdb/db/db_test_util.cc +1633 -0
  146. package/deps/rocksdb/rocksdb/db/db_test_util.h +1194 -0
  147. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +2235 -0
  148. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +1780 -0
  149. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +2520 -0
  150. package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +119 -0
  151. package/deps/rocksdb/rocksdb/db/db_write_test.cc +465 -0
  152. package/deps/rocksdb/rocksdb/db/dbformat.cc +222 -0
  153. package/deps/rocksdb/rocksdb/db/dbformat.h +786 -0
  154. package/deps/rocksdb/rocksdb/db/dbformat_test.cc +206 -0
  155. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +580 -0
  156. package/deps/rocksdb/rocksdb/db/error_handler.cc +726 -0
  157. package/deps/rocksdb/rocksdb/db/error_handler.h +117 -0
  158. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +2598 -0
  159. package/deps/rocksdb/rocksdb/db/event_helpers.cc +233 -0
  160. package/deps/rocksdb/rocksdb/db/event_helpers.h +57 -0
  161. package/deps/rocksdb/rocksdb/db/experimental.cc +50 -0
  162. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +1559 -0
  163. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +910 -0
  164. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +195 -0
  165. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +2936 -0
  166. package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +556 -0
  167. package/deps/rocksdb/rocksdb/db/file_indexer.cc +216 -0
  168. package/deps/rocksdb/rocksdb/db/file_indexer.h +142 -0
  169. package/deps/rocksdb/rocksdb/db/file_indexer_test.cc +350 -0
  170. package/deps/rocksdb/rocksdb/db/filename_test.cc +179 -0
  171. package/deps/rocksdb/rocksdb/db/flush_job.cc +514 -0
  172. package/deps/rocksdb/rocksdb/db/flush_job.h +169 -0
  173. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +647 -0
  174. package/deps/rocksdb/rocksdb/db/flush_scheduler.cc +86 -0
  175. package/deps/rocksdb/rocksdb/db/flush_scheduler.h +54 -0
  176. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1023 -0
  177. package/deps/rocksdb/rocksdb/db/forward_iterator.h +163 -0
  178. package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +377 -0
  179. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +282 -0
  180. package/deps/rocksdb/rocksdb/db/import_column_family_job.h +75 -0
  181. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +632 -0
  182. package/deps/rocksdb/rocksdb/db/internal_stats.cc +1461 -0
  183. package/deps/rocksdb/rocksdb/db/internal_stats.h +712 -0
  184. package/deps/rocksdb/rocksdb/db/job_context.h +226 -0
  185. package/deps/rocksdb/rocksdb/db/listener_test.cc +1118 -0
  186. package/deps/rocksdb/rocksdb/db/log_format.h +48 -0
  187. package/deps/rocksdb/rocksdb/db/log_reader.cc +654 -0
  188. package/deps/rocksdb/rocksdb/db/log_reader.h +192 -0
  189. package/deps/rocksdb/rocksdb/db/log_test.cc +901 -0
  190. package/deps/rocksdb/rocksdb/db/log_writer.cc +164 -0
  191. package/deps/rocksdb/rocksdb/db/log_writer.h +115 -0
  192. package/deps/rocksdb/rocksdb/db/logs_with_prep_tracker.cc +67 -0
  193. package/deps/rocksdb/rocksdb/db/logs_with_prep_tracker.h +63 -0
  194. package/deps/rocksdb/rocksdb/db/lookup_key.h +66 -0
  195. package/deps/rocksdb/rocksdb/db/malloc_stats.cc +54 -0
  196. package/deps/rocksdb/rocksdb/db/malloc_stats.h +24 -0
  197. package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +296 -0
  198. package/deps/rocksdb/rocksdb/db/memtable.cc +1169 -0
  199. package/deps/rocksdb/rocksdb/db/memtable.h +554 -0
  200. package/deps/rocksdb/rocksdb/db/memtable_list.cc +888 -0
  201. package/deps/rocksdb/rocksdb/db/memtable_list.h +438 -0
  202. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +935 -0
  203. package/deps/rocksdb/rocksdb/db/merge_context.h +134 -0
  204. package/deps/rocksdb/rocksdb/db/merge_helper.cc +421 -0
  205. package/deps/rocksdb/rocksdb/db/merge_helper.h +197 -0
  206. package/deps/rocksdb/rocksdb/db/merge_helper_test.cc +290 -0
  207. package/deps/rocksdb/rocksdb/db/merge_operator.cc +86 -0
  208. package/deps/rocksdb/rocksdb/db/merge_test.cc +608 -0
  209. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +338 -0
  210. package/deps/rocksdb/rocksdb/db/options_file_test.cc +119 -0
  211. package/deps/rocksdb/rocksdb/db/output_validator.cc +30 -0
  212. package/deps/rocksdb/rocksdb/db/output_validator.h +47 -0
  213. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +993 -0
  214. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.cc +113 -0
  215. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.h +76 -0
  216. package/deps/rocksdb/rocksdb/db/periodic_work_scheduler_test.cc +231 -0
  217. package/deps/rocksdb/rocksdb/db/pinned_iterators_manager.h +87 -0
  218. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +1374 -0
  219. package/deps/rocksdb/rocksdb/db/pre_release_callback.h +38 -0
  220. package/deps/rocksdb/rocksdb/db/prefix_test.cc +910 -0
  221. package/deps/rocksdb/rocksdb/db/range_del_aggregator.cc +489 -0
  222. package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +446 -0
  223. package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +260 -0
  224. package/deps/rocksdb/rocksdb/db/range_del_aggregator_test.cc +709 -0
  225. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +439 -0
  226. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +256 -0
  227. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter_test.cc +552 -0
  228. package/deps/rocksdb/rocksdb/db/read_callback.h +53 -0
  229. package/deps/rocksdb/rocksdb/db/repair.cc +722 -0
  230. package/deps/rocksdb/rocksdb/db/repair_test.cc +390 -0
  231. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +61 -0
  232. package/deps/rocksdb/rocksdb/db/snapshot_impl.cc +26 -0
  233. package/deps/rocksdb/rocksdb/db/snapshot_impl.h +167 -0
  234. package/deps/rocksdb/rocksdb/db/table_cache.cc +704 -0
  235. package/deps/rocksdb/rocksdb/db/table_cache.h +233 -0
  236. package/deps/rocksdb/rocksdb/db/table_properties_collector.cc +75 -0
  237. package/deps/rocksdb/rocksdb/db/table_properties_collector.h +107 -0
  238. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +517 -0
  239. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +318 -0
  240. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +128 -0
  241. package/deps/rocksdb/rocksdb/db/trim_history_scheduler.cc +54 -0
  242. package/deps/rocksdb/rocksdb/db/trim_history_scheduler.h +44 -0
  243. package/deps/rocksdb/rocksdb/db/version_builder.cc +1078 -0
  244. package/deps/rocksdb/rocksdb/db/version_builder.h +69 -0
  245. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +1551 -0
  246. package/deps/rocksdb/rocksdb/db/version_edit.cc +955 -0
  247. package/deps/rocksdb/rocksdb/db/version_edit.h +609 -0
  248. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +699 -0
  249. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +252 -0
  250. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +597 -0
  251. package/deps/rocksdb/rocksdb/db/version_set.cc +6333 -0
  252. package/deps/rocksdb/rocksdb/db/version_set.h +1485 -0
  253. package/deps/rocksdb/rocksdb/db/version_set_test.cc +3035 -0
  254. package/deps/rocksdb/rocksdb/db/wal_edit.cc +204 -0
  255. package/deps/rocksdb/rocksdb/db/wal_edit.h +166 -0
  256. package/deps/rocksdb/rocksdb/db/wal_edit_test.cc +214 -0
  257. package/deps/rocksdb/rocksdb/db/wal_manager.cc +517 -0
  258. package/deps/rocksdb/rocksdb/db/wal_manager.h +119 -0
  259. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +340 -0
  260. package/deps/rocksdb/rocksdb/db/write_batch.cc +2174 -0
  261. package/deps/rocksdb/rocksdb/db/write_batch_base.cc +94 -0
  262. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +250 -0
  263. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +907 -0
  264. package/deps/rocksdb/rocksdb/db/write_callback.h +27 -0
  265. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +457 -0
  266. package/deps/rocksdb/rocksdb/db/write_controller.cc +128 -0
  267. package/deps/rocksdb/rocksdb/db/write_controller.h +144 -0
  268. package/deps/rocksdb/rocksdb/db/write_controller_test.cc +135 -0
  269. package/deps/rocksdb/rocksdb/db/write_thread.cc +796 -0
  270. package/deps/rocksdb/rocksdb/db/write_thread.h +433 -0
  271. package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +14 -0
  272. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +341 -0
  273. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +520 -0
  274. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress.cc +23 -0
  275. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +337 -0
  276. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +554 -0
  277. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +79 -0
  278. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +173 -0
  279. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.h +17 -0
  280. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +38 -0
  281. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +763 -0
  282. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +222 -0
  283. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +27 -0
  284. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +428 -0
  285. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_stat.h +218 -0
  286. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +64 -0
  287. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +2430 -0
  288. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +237 -0
  289. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +343 -0
  290. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +800 -0
  291. package/deps/rocksdb/rocksdb/env/composite_env_wrapper.h +920 -0
  292. package/deps/rocksdb/rocksdb/env/env.cc +733 -0
  293. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +352 -0
  294. package/deps/rocksdb/rocksdb/env/env_chroot.cc +346 -0
  295. package/deps/rocksdb/rocksdb/env/env_chroot.h +22 -0
  296. package/deps/rocksdb/rocksdb/env/env_encryption.cc +1148 -0
  297. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +137 -0
  298. package/deps/rocksdb/rocksdb/env/env_hdfs.cc +648 -0
  299. package/deps/rocksdb/rocksdb/env/env_posix.cc +514 -0
  300. package/deps/rocksdb/rocksdb/env/env_test.cc +2230 -0
  301. package/deps/rocksdb/rocksdb/env/file_system.cc +132 -0
  302. package/deps/rocksdb/rocksdb/env/file_system_tracer.cc +448 -0
  303. package/deps/rocksdb/rocksdb/env/file_system_tracer.h +415 -0
  304. package/deps/rocksdb/rocksdb/env/fs_posix.cc +1086 -0
  305. package/deps/rocksdb/rocksdb/env/io_posix.cc +1499 -0
  306. package/deps/rocksdb/rocksdb/env/io_posix.h +402 -0
  307. package/deps/rocksdb/rocksdb/env/io_posix_test.cc +140 -0
  308. package/deps/rocksdb/rocksdb/env/mock_env.cc +1066 -0
  309. package/deps/rocksdb/rocksdb/env/mock_env.h +41 -0
  310. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +85 -0
  311. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +402 -0
  312. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +150 -0
  313. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +717 -0
  314. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +156 -0
  315. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +99 -0
  316. package/deps/rocksdb/rocksdb/file/file_util.cc +268 -0
  317. package/deps/rocksdb/rocksdb/file/file_util.h +96 -0
  318. package/deps/rocksdb/rocksdb/file/filename.cc +473 -0
  319. package/deps/rocksdb/rocksdb/file/filename.h +182 -0
  320. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +188 -0
  321. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +315 -0
  322. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +142 -0
  323. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +482 -0
  324. package/deps/rocksdb/rocksdb/file/read_write_util.cc +67 -0
  325. package/deps/rocksdb/rocksdb/file/read_write_util.h +34 -0
  326. package/deps/rocksdb/rocksdb/file/readahead_raf.cc +169 -0
  327. package/deps/rocksdb/rocksdb/file/readahead_raf.h +29 -0
  328. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +237 -0
  329. package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +63 -0
  330. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +552 -0
  331. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +203 -0
  332. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +523 -0
  333. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +251 -0
  334. package/deps/rocksdb/rocksdb/hdfs/env_hdfs.h +386 -0
  335. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +839 -0
  336. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +2218 -0
  337. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +294 -0
  338. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +71 -0
  339. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +214 -0
  340. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +98 -0
  341. package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +137 -0
  342. package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +40 -0
  343. package/deps/rocksdb/rocksdb/include/rocksdb/concurrent_task_limiter.h +46 -0
  344. package/deps/rocksdb/rocksdb/include/rocksdb/configurable.h +359 -0
  345. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +499 -0
  346. package/deps/rocksdb/rocksdb/include/rocksdb/customizable.h +138 -0
  347. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +1697 -0
  348. package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +11 -0
  349. package/deps/rocksdb/rocksdb/include/rocksdb/db_dump_tool.h +45 -0
  350. package/deps/rocksdb/rocksdb/include/rocksdb/db_stress_tool.h +11 -0
  351. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1671 -0
  352. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +405 -0
  353. package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +29 -0
  354. package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +129 -0
  355. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +1472 -0
  356. package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +238 -0
  357. package/deps/rocksdb/rocksdb/include/rocksdb/flush_block_policy.h +61 -0
  358. package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +269 -0
  359. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +56 -0
  360. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +128 -0
  361. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +43 -0
  362. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +556 -0
  363. package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +77 -0
  364. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +385 -0
  365. package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +257 -0
  366. package/deps/rocksdb/rocksdb/include/rocksdb/metadata.h +155 -0
  367. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +1702 -0
  368. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +237 -0
  369. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +35 -0
  370. package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +73 -0
  371. package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +139 -0
  372. package/deps/rocksdb/rocksdb/include/rocksdb/rocksdb_namespace.h +10 -0
  373. package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +269 -0
  374. package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +103 -0
  375. package/deps/rocksdb/rocksdb/include/rocksdb/snapshot.h +48 -0
  376. package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +19 -0
  377. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +136 -0
  378. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +47 -0
  379. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +145 -0
  380. package/deps/rocksdb/rocksdb/include/rocksdb/sst_partitioner.h +135 -0
  381. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +592 -0
  382. package/deps/rocksdb/rocksdb/include/rocksdb/stats_history.h +69 -0
  383. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +608 -0
  384. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +711 -0
  385. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +280 -0
  386. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +188 -0
  387. package/deps/rocksdb/rocksdb/include/rocksdb/threadpool.h +58 -0
  388. package/deps/rocksdb/rocksdb/include/rocksdb/trace_reader_writer.h +48 -0
  389. package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +121 -0
  390. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +74 -0
  391. package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +86 -0
  392. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backupable_db.h +535 -0
  393. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +61 -0
  394. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/convenience.h +10 -0
  395. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/db_ttl.h +72 -0
  396. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +49 -0
  397. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_librados.h +175 -0
  398. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +180 -0
  399. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/info_log_finder.h +19 -0
  400. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +288 -0
  401. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +71 -0
  402. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/leveldb_options.h +145 -0
  403. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +43 -0
  404. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +55 -0
  405. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +50 -0
  406. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +205 -0
  407. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +100 -0
  408. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +19 -0
  409. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +876 -0
  410. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +128 -0
  411. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +94 -0
  412. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +504 -0
  413. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +95 -0
  414. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +626 -0
  415. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +432 -0
  416. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +92 -0
  417. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/utility_db.h +34 -0
  418. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +279 -0
  419. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +16 -0
  420. package/deps/rocksdb/rocksdb/include/rocksdb/wal_filter.h +102 -0
  421. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +377 -0
  422. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch_base.h +127 -0
  423. package/deps/rocksdb/rocksdb/include/rocksdb/write_buffer_manager.h +106 -0
  424. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +300 -0
  425. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +165 -0
  426. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +684 -0
  427. package/deps/rocksdb/rocksdb/logging/env_logger.h +165 -0
  428. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +162 -0
  429. package/deps/rocksdb/rocksdb/logging/event_logger.cc +70 -0
  430. package/deps/rocksdb/rocksdb/logging/event_logger.h +203 -0
  431. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +43 -0
  432. package/deps/rocksdb/rocksdb/logging/log_buffer.cc +92 -0
  433. package/deps/rocksdb/rocksdb/logging/log_buffer.h +56 -0
  434. package/deps/rocksdb/rocksdb/logging/logging.h +68 -0
  435. package/deps/rocksdb/rocksdb/logging/posix_logger.h +185 -0
  436. package/deps/rocksdb/rocksdb/memory/allocator.h +57 -0
  437. package/deps/rocksdb/rocksdb/memory/arena.cc +233 -0
  438. package/deps/rocksdb/rocksdb/memory/arena.h +141 -0
  439. package/deps/rocksdb/rocksdb/memory/arena_test.cc +204 -0
  440. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +47 -0
  441. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +218 -0
  442. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +206 -0
  443. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +78 -0
  444. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.cc +33 -0
  445. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.h +27 -0
  446. package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator_test.cc +102 -0
  447. package/deps/rocksdb/rocksdb/memory/memory_allocator.h +38 -0
  448. package/deps/rocksdb/rocksdb/memory/memory_usage.h +25 -0
  449. package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +62 -0
  450. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +844 -0
  451. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.h +49 -0
  452. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +349 -0
  453. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.h +44 -0
  454. package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +997 -0
  455. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +663 -0
  456. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +677 -0
  457. package/deps/rocksdb/rocksdb/memtable/skiplist.h +496 -0
  458. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +388 -0
  459. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +280 -0
  460. package/deps/rocksdb/rocksdb/memtable/stl_wrappers.h +33 -0
  461. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +301 -0
  462. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +148 -0
  463. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +203 -0
  464. package/deps/rocksdb/rocksdb/monitoring/file_read_sample.h +23 -0
  465. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +287 -0
  466. package/deps/rocksdb/rocksdb/monitoring/histogram.h +149 -0
  467. package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +231 -0
  468. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +200 -0
  469. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +84 -0
  470. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +49 -0
  471. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.h +74 -0
  472. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.cc +71 -0
  473. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +98 -0
  474. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +62 -0
  475. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +60 -0
  476. package/deps/rocksdb/rocksdb/monitoring/iostats_context_test.cc +29 -0
  477. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +566 -0
  478. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +97 -0
  479. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +28 -0
  480. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +18 -0
  481. package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +79 -0
  482. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +169 -0
  483. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.h +83 -0
  484. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +431 -0
  485. package/deps/rocksdb/rocksdb/monitoring/statistics.h +138 -0
  486. package/deps/rocksdb/rocksdb/monitoring/statistics_test.cc +47 -0
  487. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +652 -0
  488. package/deps/rocksdb/rocksdb/monitoring/thread_status_impl.cc +163 -0
  489. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +314 -0
  490. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +233 -0
  491. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater_debug.cc +43 -0
  492. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +206 -0
  493. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +134 -0
  494. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +32 -0
  495. package/deps/rocksdb/rocksdb/options/cf_options.cc +1026 -0
  496. package/deps/rocksdb/rocksdb/options/cf_options.h +308 -0
  497. package/deps/rocksdb/rocksdb/options/configurable.cc +681 -0
  498. package/deps/rocksdb/rocksdb/options/configurable_helper.h +251 -0
  499. package/deps/rocksdb/rocksdb/options/configurable_test.cc +757 -0
  500. package/deps/rocksdb/rocksdb/options/configurable_test.h +127 -0
  501. package/deps/rocksdb/rocksdb/options/customizable.cc +77 -0
  502. package/deps/rocksdb/rocksdb/options/customizable_helper.h +216 -0
  503. package/deps/rocksdb/rocksdb/options/customizable_test.cc +625 -0
  504. package/deps/rocksdb/rocksdb/options/db_options.cc +835 -0
  505. package/deps/rocksdb/rocksdb/options/db_options.h +126 -0
  506. package/deps/rocksdb/rocksdb/options/options.cc +664 -0
  507. package/deps/rocksdb/rocksdb/options/options_helper.cc +1391 -0
  508. package/deps/rocksdb/rocksdb/options/options_helper.h +118 -0
  509. package/deps/rocksdb/rocksdb/options/options_parser.cc +721 -0
  510. package/deps/rocksdb/rocksdb/options/options_parser.h +151 -0
  511. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +583 -0
  512. package/deps/rocksdb/rocksdb/options/options_test.cc +3794 -0
  513. package/deps/rocksdb/rocksdb/port/jemalloc_helper.h +106 -0
  514. package/deps/rocksdb/rocksdb/port/lang.h +16 -0
  515. package/deps/rocksdb/rocksdb/port/likely.h +18 -0
  516. package/deps/rocksdb/rocksdb/port/malloc.h +17 -0
  517. package/deps/rocksdb/rocksdb/port/port.h +21 -0
  518. package/deps/rocksdb/rocksdb/port/port_dirent.h +44 -0
  519. package/deps/rocksdb/rocksdb/port/port_example.h +101 -0
  520. package/deps/rocksdb/rocksdb/port/port_posix.cc +266 -0
  521. package/deps/rocksdb/rocksdb/port/port_posix.h +223 -0
  522. package/deps/rocksdb/rocksdb/port/stack_trace.cc +179 -0
  523. package/deps/rocksdb/rocksdb/port/stack_trace.h +28 -0
  524. package/deps/rocksdb/rocksdb/port/sys_time.h +47 -0
  525. package/deps/rocksdb/rocksdb/port/util_logger.h +20 -0
  526. package/deps/rocksdb/rocksdb/port/win/env_default.cc +45 -0
  527. package/deps/rocksdb/rocksdb/port/win/env_win.cc +1449 -0
  528. package/deps/rocksdb/rocksdb/port/win/env_win.h +294 -0
  529. package/deps/rocksdb/rocksdb/port/win/io_win.cc +1084 -0
  530. package/deps/rocksdb/rocksdb/port/win/io_win.h +494 -0
  531. package/deps/rocksdb/rocksdb/port/win/port_win.cc +283 -0
  532. package/deps/rocksdb/rocksdb/port/win/port_win.h +411 -0
  533. package/deps/rocksdb/rocksdb/port/win/win_jemalloc.cc +79 -0
  534. package/deps/rocksdb/rocksdb/port/win/win_logger.cc +194 -0
  535. package/deps/rocksdb/rocksdb/port/win/win_logger.h +67 -0
  536. package/deps/rocksdb/rocksdb/port/win/win_thread.cc +183 -0
  537. package/deps/rocksdb/rocksdb/port/win/win_thread.h +122 -0
  538. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +221 -0
  539. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +26 -0
  540. package/deps/rocksdb/rocksdb/port/xpress.h +17 -0
  541. package/deps/rocksdb/rocksdb/src.mk +631 -0
  542. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +126 -0
  543. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +57 -0
  544. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +73 -0
  545. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.h +48 -0
  546. package/deps/rocksdb/rocksdb/table/block_based/block.cc +1049 -0
  547. package/deps/rocksdb/rocksdb/table/block_based/block.h +720 -0
  548. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +348 -0
  549. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.h +119 -0
  550. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block_test.cc +434 -0
  551. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1835 -0
  552. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +193 -0
  553. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +839 -0
  554. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +95 -0
  555. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +383 -0
  556. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +251 -0
  557. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3563 -0
  558. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +681 -0
  559. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +190 -0
  560. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +347 -0
  561. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +201 -0
  562. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +78 -0
  563. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +66 -0
  564. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +32 -0
  565. package/deps/rocksdb/rocksdb/table/block_based/block_prefix_index.cc +232 -0
  566. package/deps/rocksdb/rocksdb/table/block_based/block_prefix_index.h +66 -0
  567. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +623 -0
  568. package/deps/rocksdb/rocksdb/table/block_based/block_type.h +30 -0
  569. package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +220 -0
  570. package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.cc +59 -0
  571. package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.h +25 -0
  572. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.cc +93 -0
  573. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +136 -0
  574. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +717 -0
  575. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +180 -0
  576. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +102 -0
  577. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +55 -0
  578. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +1407 -0
  579. package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +168 -0
  580. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +88 -0
  581. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.h +41 -0
  582. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +344 -0
  583. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +139 -0
  584. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +333 -0
  585. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +147 -0
  586. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.h +49 -0
  587. package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +248 -0
  588. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +444 -0
  589. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +54 -0
  590. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +85 -0
  591. package/deps/rocksdb/rocksdb/table/block_based/mock_block_based_table.h +56 -0
  592. package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.cc +22 -0
  593. package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.h +40 -0
  594. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +521 -0
  595. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +144 -0
  596. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +424 -0
  597. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +163 -0
  598. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +142 -0
  599. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +186 -0
  600. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.h +51 -0
  601. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +64 -0
  602. package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +38 -0
  603. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +120 -0
  604. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +59 -0
  605. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +324 -0
  606. package/deps/rocksdb/rocksdb/table/block_fetcher.h +129 -0
  607. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +534 -0
  608. package/deps/rocksdb/rocksdb/table/cleanable_test.cc +277 -0
  609. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +543 -0
  610. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +136 -0
  611. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +663 -0
  612. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.cc +107 -0
  613. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +81 -0
  614. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +404 -0
  615. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +101 -0
  616. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +585 -0
  617. package/deps/rocksdb/rocksdb/table/format.cc +422 -0
  618. package/deps/rocksdb/rocksdb/table/format.h +348 -0
  619. package/deps/rocksdb/rocksdb/table/get_context.cc +408 -0
  620. package/deps/rocksdb/rocksdb/table/get_context.h +212 -0
  621. package/deps/rocksdb/rocksdb/table/internal_iterator.h +205 -0
  622. package/deps/rocksdb/rocksdb/table/iter_heap.h +42 -0
  623. package/deps/rocksdb/rocksdb/table/iterator.cc +210 -0
  624. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +180 -0
  625. package/deps/rocksdb/rocksdb/table/merger_test.cc +180 -0
  626. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +481 -0
  627. package/deps/rocksdb/rocksdb/table/merging_iterator.h +64 -0
  628. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +541 -0
  629. package/deps/rocksdb/rocksdb/table/meta_blocks.h +154 -0
  630. package/deps/rocksdb/rocksdb/table/mock_table.cc +328 -0
  631. package/deps/rocksdb/rocksdb/table/mock_table.h +89 -0
  632. package/deps/rocksdb/rocksdb/table/multiget_context.h +282 -0
  633. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +116 -0
  634. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.h +44 -0
  635. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +34 -0
  636. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.cc +78 -0
  637. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.h +135 -0
  638. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +332 -0
  639. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +153 -0
  640. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +263 -0
  641. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +182 -0
  642. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +211 -0
  643. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +249 -0
  644. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +506 -0
  645. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +201 -0
  646. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +781 -0
  647. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +247 -0
  648. package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +61 -0
  649. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +502 -0
  650. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +96 -0
  651. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +98 -0
  652. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +228 -0
  653. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +340 -0
  654. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +94 -0
  655. package/deps/rocksdb/rocksdb/table/table_builder.h +203 -0
  656. package/deps/rocksdb/rocksdb/table/table_factory.cc +38 -0
  657. package/deps/rocksdb/rocksdb/table/table_properties.cc +300 -0
  658. package/deps/rocksdb/rocksdb/table/table_properties_internal.h +30 -0
  659. package/deps/rocksdb/rocksdb/table/table_reader.h +147 -0
  660. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +347 -0
  661. package/deps/rocksdb/rocksdb/table/table_reader_caller.h +39 -0
  662. package/deps/rocksdb/rocksdb/table/table_test.cc +4769 -0
  663. package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +215 -0
  664. package/deps/rocksdb/rocksdb/table/two_level_iterator.h +43 -0
  665. package/deps/rocksdb/rocksdb/test_util/mock_time_env.cc +38 -0
  666. package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +74 -0
  667. package/deps/rocksdb/rocksdb/test_util/sync_point.cc +93 -0
  668. package/deps/rocksdb/rocksdb/test_util/sync_point.h +161 -0
  669. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +129 -0
  670. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +74 -0
  671. package/deps/rocksdb/rocksdb/test_util/testharness.cc +56 -0
  672. package/deps/rocksdb/rocksdb/test_util/testharness.h +53 -0
  673. package/deps/rocksdb/rocksdb/test_util/testutil.cc +566 -0
  674. package/deps/rocksdb/rocksdb/test_util/testutil.h +887 -0
  675. package/deps/rocksdb/rocksdb/test_util/testutil_test.cc +43 -0
  676. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +388 -0
  677. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +132 -0
  678. package/deps/rocksdb/rocksdb/third-party/folly/folly/CPortability.h +27 -0
  679. package/deps/rocksdb/rocksdb/third-party/folly/folly/ConstexprMath.h +45 -0
  680. package/deps/rocksdb/rocksdb/third-party/folly/folly/Indestructible.h +166 -0
  681. package/deps/rocksdb/rocksdb/third-party/folly/folly/Optional.h +570 -0
  682. package/deps/rocksdb/rocksdb/third-party/folly/folly/Portability.h +92 -0
  683. package/deps/rocksdb/rocksdb/third-party/folly/folly/ScopeGuard.h +54 -0
  684. package/deps/rocksdb/rocksdb/third-party/folly/folly/Traits.h +152 -0
  685. package/deps/rocksdb/rocksdb/third-party/folly/folly/Unit.h +59 -0
  686. package/deps/rocksdb/rocksdb/third-party/folly/folly/Utility.h +141 -0
  687. package/deps/rocksdb/rocksdb/third-party/folly/folly/chrono/Hardware.h +33 -0
  688. package/deps/rocksdb/rocksdb/third-party/folly/folly/container/Array.h +74 -0
  689. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex-inl.h +117 -0
  690. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.cpp +263 -0
  691. package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.h +96 -0
  692. package/deps/rocksdb/rocksdb/third-party/folly/folly/functional/Invoke.h +40 -0
  693. package/deps/rocksdb/rocksdb/third-party/folly/folly/hash/Hash.h +29 -0
  694. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Align.h +144 -0
  695. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Bits.h +30 -0
  696. package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Launder.h +51 -0
  697. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/Asm.h +28 -0
  698. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysSyscall.h +10 -0
  699. package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysTypes.h +26 -0
  700. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification-inl.h +138 -0
  701. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.cpp +23 -0
  702. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.h +57 -0
  703. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil-inl.h +260 -0
  704. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil.h +52 -0
  705. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/Baton.h +328 -0
  706. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex-inl.h +1703 -0
  707. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.cpp +16 -0
  708. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.h +304 -0
  709. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutexSpecializations.h +39 -0
  710. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.cpp +26 -0
  711. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.h +318 -0
  712. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/WaitOptions.cpp +12 -0
  713. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/WaitOptions.h +57 -0
  714. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/InlineFunctionRef.h +219 -0
  715. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h +207 -0
  716. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable.h +164 -0
  717. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Sleeper.h +57 -0
  718. package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Spin.h +77 -0
  719. package/deps/rocksdb/rocksdb/third-party/gcc/ppc-asm.h +390 -0
  720. package/deps/rocksdb/rocksdb/thirdparty.inc +268 -0
  721. package/deps/rocksdb/rocksdb/tools/CMakeLists.txt +30 -0
  722. package/deps/rocksdb/rocksdb/tools/blob_dump.cc +110 -0
  723. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/__init__.py +2 -0
  724. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +2000 -0
  725. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim.sh +156 -0
  726. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py +734 -0
  727. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +2307 -0
  728. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +395 -0
  729. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_plot.py +721 -0
  730. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +719 -0
  731. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +25 -0
  732. package/deps/rocksdb/rocksdb/tools/db_bench.cc +21 -0
  733. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +7416 -0
  734. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +328 -0
  735. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +130 -0
  736. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +297 -0
  737. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +259 -0
  738. package/deps/rocksdb/rocksdb/tools/dump/rocksdb_dump.cc +63 -0
  739. package/deps/rocksdb/rocksdb/tools/dump/rocksdb_undump.cc +62 -0
  740. package/deps/rocksdb/rocksdb/tools/io_tracer_parser.cc +25 -0
  741. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +187 -0
  742. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.cc +120 -0
  743. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.h +40 -0
  744. package/deps/rocksdb/rocksdb/tools/ldb.cc +21 -0
  745. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +3609 -0
  746. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +665 -0
  747. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +746 -0
  748. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +159 -0
  749. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +221 -0
  750. package/deps/rocksdb/rocksdb/tools/sst_dump.cc +20 -0
  751. package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +427 -0
  752. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +541 -0
  753. package/deps/rocksdb/rocksdb/tools/trace_analyzer.cc +25 -0
  754. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +752 -0
  755. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +2001 -0
  756. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +292 -0
  757. package/deps/rocksdb/rocksdb/tools/write_stress.cc +305 -0
  758. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.cc +496 -0
  759. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +294 -0
  760. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer_test.cc +379 -0
  761. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +229 -0
  762. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.h +174 -0
  763. package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +215 -0
  764. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +491 -0
  765. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.h +195 -0
  766. package/deps/rocksdb/rocksdb/util/aligned_buffer.h +255 -0
  767. package/deps/rocksdb/rocksdb/util/autovector.h +367 -0
  768. package/deps/rocksdb/rocksdb/util/autovector_test.cc +330 -0
  769. package/deps/rocksdb/rocksdb/util/bloom_impl.h +485 -0
  770. package/deps/rocksdb/rocksdb/util/bloom_test.cc +1191 -0
  771. package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -0
  772. package/deps/rocksdb/rocksdb/util/build_version.h +15 -0
  773. package/deps/rocksdb/rocksdb/util/cast_util.h +20 -0
  774. package/deps/rocksdb/rocksdb/util/channel.h +67 -0
  775. package/deps/rocksdb/rocksdb/util/coding.cc +89 -0
  776. package/deps/rocksdb/rocksdb/util/coding.h +419 -0
  777. package/deps/rocksdb/rocksdb/util/coding_lean.h +101 -0
  778. package/deps/rocksdb/rocksdb/util/coding_test.cc +217 -0
  779. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +92 -0
  780. package/deps/rocksdb/rocksdb/util/comparator.cc +219 -0
  781. package/deps/rocksdb/rocksdb/util/compression.h +1529 -0
  782. package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +108 -0
  783. package/deps/rocksdb/rocksdb/util/compression_context_cache.h +47 -0
  784. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.cc +67 -0
  785. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +67 -0
  786. package/deps/rocksdb/rocksdb/util/core_local.h +83 -0
  787. package/deps/rocksdb/rocksdb/util/crc32c.cc +1283 -0
  788. package/deps/rocksdb/rocksdb/util/crc32c.h +51 -0
  789. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +169 -0
  790. package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +50 -0
  791. package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +94 -0
  792. package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +19 -0
  793. package/deps/rocksdb/rocksdb/util/crc32c_ppc_asm.S +756 -0
  794. package/deps/rocksdb/rocksdb/util/crc32c_ppc_constants.h +900 -0
  795. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +180 -0
  796. package/deps/rocksdb/rocksdb/util/defer.h +52 -0
  797. package/deps/rocksdb/rocksdb/util/defer_test.cc +39 -0
  798. package/deps/rocksdb/rocksdb/util/duplicate_detector.h +68 -0
  799. package/deps/rocksdb/rocksdb/util/dynamic_bloom.cc +70 -0
  800. package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +214 -0
  801. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +323 -0
  802. package/deps/rocksdb/rocksdb/util/fastrange.h +112 -0
  803. package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +136 -0
  804. package/deps/rocksdb/rocksdb/util/file_checksum_helper.h +98 -0
  805. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +449 -0
  806. package/deps/rocksdb/rocksdb/util/filelock_test.cc +152 -0
  807. package/deps/rocksdb/rocksdb/util/filter_bench.cc +781 -0
  808. package/deps/rocksdb/rocksdb/util/gflags_compat.h +20 -0
  809. package/deps/rocksdb/rocksdb/util/hash.cc +83 -0
  810. package/deps/rocksdb/rocksdb/util/hash.h +107 -0
  811. package/deps/rocksdb/rocksdb/util/hash_map.h +67 -0
  812. package/deps/rocksdb/rocksdb/util/hash_test.cc +593 -0
  813. package/deps/rocksdb/rocksdb/util/heap.h +166 -0
  814. package/deps/rocksdb/rocksdb/util/heap_test.cc +139 -0
  815. package/deps/rocksdb/rocksdb/util/kv_map.h +33 -0
  816. package/deps/rocksdb/rocksdb/util/log_write_bench.cc +86 -0
  817. package/deps/rocksdb/rocksdb/util/math.h +186 -0
  818. package/deps/rocksdb/rocksdb/util/math128.h +298 -0
  819. package/deps/rocksdb/rocksdb/util/murmurhash.cc +191 -0
  820. package/deps/rocksdb/rocksdb/util/murmurhash.h +42 -0
  821. package/deps/rocksdb/rocksdb/util/mutexlock.h +186 -0
  822. package/deps/rocksdb/rocksdb/util/ppc-opcode.h +27 -0
  823. package/deps/rocksdb/rocksdb/util/random.cc +56 -0
  824. package/deps/rocksdb/rocksdb/util/random.h +186 -0
  825. package/deps/rocksdb/rocksdb/util/random_test.cc +105 -0
  826. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +340 -0
  827. package/deps/rocksdb/rocksdb/util/rate_limiter.h +113 -0
  828. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +251 -0
  829. package/deps/rocksdb/rocksdb/util/repeatable_thread.h +151 -0
  830. package/deps/rocksdb/rocksdb/util/repeatable_thread_test.cc +107 -0
  831. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1201 -0
  832. package/deps/rocksdb/rocksdb/util/ribbon_impl.h +1062 -0
  833. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +931 -0
  834. package/deps/rocksdb/rocksdb/util/set_comparator.h +22 -0
  835. package/deps/rocksdb/rocksdb/util/slice.cc +243 -0
  836. package/deps/rocksdb/rocksdb/util/slice_test.cc +163 -0
  837. package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +153 -0
  838. package/deps/rocksdb/rocksdb/util/status.cc +149 -0
  839. package/deps/rocksdb/rocksdb/util/stderr_logger.h +31 -0
  840. package/deps/rocksdb/rocksdb/util/stop_watch.h +118 -0
  841. package/deps/rocksdb/rocksdb/util/string_util.cc +422 -0
  842. package/deps/rocksdb/rocksdb/util/string_util.h +144 -0
  843. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +354 -0
  844. package/deps/rocksdb/rocksdb/util/thread_local.cc +554 -0
  845. package/deps/rocksdb/rocksdb/util/thread_local.h +101 -0
  846. package/deps/rocksdb/rocksdb/util/thread_local_test.cc +583 -0
  847. package/deps/rocksdb/rocksdb/util/thread_operation.h +121 -0
  848. package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +506 -0
  849. package/deps/rocksdb/rocksdb/util/threadpool_imp.h +112 -0
  850. package/deps/rocksdb/rocksdb/util/timer.h +331 -0
  851. package/deps/rocksdb/rocksdb/util/timer_queue.h +230 -0
  852. package/deps/rocksdb/rocksdb/util/timer_queue_test.cc +72 -0
  853. package/deps/rocksdb/rocksdb/util/timer_test.cc +399 -0
  854. package/deps/rocksdb/rocksdb/util/user_comparator_wrapper.h +80 -0
  855. package/deps/rocksdb/rocksdb/util/vector_iterator.h +101 -0
  856. package/deps/rocksdb/rocksdb/util/work_queue.h +148 -0
  857. package/deps/rocksdb/rocksdb/util/work_queue_test.cc +268 -0
  858. package/deps/rocksdb/rocksdb/util/xxh3p.h +1392 -0
  859. package/deps/rocksdb/rocksdb/util/xxhash.cc +1158 -0
  860. package/deps/rocksdb/rocksdb/util/xxhash.h +598 -0
  861. package/deps/rocksdb/rocksdb/utilities/backupable/backupable_db.cc +2354 -0
  862. package/deps/rocksdb/rocksdb/utilities/backupable/backupable_db_test.cc +2955 -0
  863. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +488 -0
  864. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +199 -0
  865. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +112 -0
  866. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +266 -0
  867. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +52 -0
  868. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +2167 -0
  869. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +500 -0
  870. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +113 -0
  871. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_iterator.h +147 -0
  872. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +66 -0
  873. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +2386 -0
  874. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +281 -0
  875. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +58 -0
  876. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +314 -0
  877. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +244 -0
  878. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +47 -0
  879. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +42 -0
  880. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +375 -0
  881. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +327 -0
  882. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +114 -0
  883. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +187 -0
  884. package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +390 -0
  885. package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +184 -0
  886. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +67 -0
  887. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +44 -0
  888. package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +75 -0
  889. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +72 -0
  890. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +43 -0
  891. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +588 -0
  892. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +82 -0
  893. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +821 -0
  894. package/deps/rocksdb/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +37 -0
  895. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +29 -0
  896. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +27 -0
  897. package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +25 -0
  898. package/deps/rocksdb/rocksdb/utilities/debug.cc +82 -0
  899. package/deps/rocksdb/rocksdb/utilities/env_librados.cc +1497 -0
  900. package/deps/rocksdb/rocksdb/utilities/env_librados_test.cc +1146 -0
  901. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +262 -0
  902. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +223 -0
  903. package/deps/rocksdb/rocksdb/utilities/env_timed.cc +145 -0
  904. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +44 -0
  905. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.cc +490 -0
  906. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +242 -0
  907. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +581 -0
  908. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +437 -0
  909. package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +56 -0
  910. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +275 -0
  911. package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +52 -0
  912. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.cc +59 -0
  913. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +39 -0
  914. package/deps/rocksdb/rocksdb/utilities/merge_operators/max.cc +77 -0
  915. package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +83 -0
  916. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +97 -0
  917. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.h +38 -0
  918. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +59 -0
  919. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +31 -0
  920. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +117 -0
  921. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +49 -0
  922. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +598 -0
  923. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +69 -0
  924. package/deps/rocksdb/rocksdb/utilities/merge_operators.h +55 -0
  925. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +87 -0
  926. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +174 -0
  927. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +168 -0
  928. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +431 -0
  929. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +159 -0
  930. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +655 -0
  931. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +425 -0
  932. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +156 -0
  933. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +609 -0
  934. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +296 -0
  935. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +127 -0
  936. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +86 -0
  937. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +125 -0
  938. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +238 -0
  939. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_bench.cc +308 -0
  940. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +168 -0
  941. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +160 -0
  942. package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +174 -0
  943. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +360 -0
  944. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +456 -0
  945. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +286 -0
  946. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +167 -0
  947. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +339 -0
  948. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_util.h +67 -0
  949. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +140 -0
  950. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +142 -0
  951. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator.cc +285 -0
  952. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator.h +231 -0
  953. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator_test.cc +494 -0
  954. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +356 -0
  955. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +224 -0
  956. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +122 -0
  957. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +72 -0
  958. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +244 -0
  959. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +125 -0
  960. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.h +48 -0
  961. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +29 -0
  962. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +82 -0
  963. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_tracker.h +209 -0
  964. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +720 -0
  965. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +223 -0
  966. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +181 -0
  967. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +319 -0
  968. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +270 -0
  969. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +99 -0
  970. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +30 -0
  971. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +306 -0
  972. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.AGPLv3 +661 -0
  973. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.APACHEv2 +174 -0
  974. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/COPYING.GPLv2 +339 -0
  975. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +76 -0
  976. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/comparator.h +138 -0
  977. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/ft-status.h +102 -0
  978. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +139 -0
  979. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.h +174 -0
  980. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +222 -0
  981. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.h +141 -0
  982. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +525 -0
  983. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +253 -0
  984. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +1007 -0
  985. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +560 -0
  986. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +527 -0
  987. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +265 -0
  988. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.h +178 -0
  989. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +520 -0
  990. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.h +302 -0
  991. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +120 -0
  992. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.h +92 -0
  993. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +213 -0
  994. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.h +124 -0
  995. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/memory.h +215 -0
  996. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +39 -0
  997. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h +130 -0
  998. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +82 -0
  999. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_instrumentation.h +286 -0
  1000. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_portability.h +87 -0
  1001. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_pthread.h +520 -0
  1002. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_race_tools.h +179 -0
  1003. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +172 -0
  1004. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +27 -0
  1005. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +132 -0
  1006. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +153 -0
  1007. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.h +98 -0
  1008. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +144 -0
  1009. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +201 -0
  1010. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.h +141 -0
  1011. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt.h +794 -0
  1012. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt_impl.h +1295 -0
  1013. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +165 -0
  1014. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/status.h +76 -0
  1015. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +479 -0
  1016. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +130 -0
  1017. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +156 -0
  1018. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +146 -0
  1019. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +196 -0
  1020. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +101 -0
  1021. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +111 -0
  1022. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +87 -0
  1023. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +1418 -0
  1024. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +752 -0
  1025. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +232 -0
  1026. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +628 -0
  1027. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +228 -0
  1028. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +49 -0
  1029. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +678 -0
  1030. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +373 -0
  1031. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +135 -0
  1032. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +26 -0
  1033. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +6350 -0
  1034. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +522 -0
  1035. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +188 -0
  1036. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +80 -0
  1037. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3531 -0
  1038. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +483 -0
  1039. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +119 -0
  1040. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +999 -0
  1041. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +1109 -0
  1042. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +786 -0
  1043. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1039 -0
  1044. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +341 -0
  1045. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +470 -0
  1046. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +108 -0
  1047. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +332 -0
  1048. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +353 -0
  1049. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +703 -0
  1050. package/deps/rocksdb/rocksdb/utilities/util_merge_operators_test.cc +99 -0
  1051. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +617 -0
  1052. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +345 -0
  1053. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +569 -0
  1054. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +1867 -0
  1055. package/deps/rocksdb/rocksdb.gyp +475 -0
  1056. package/deps/snappy/freebsd/config.h +135 -0
  1057. package/deps/snappy/freebsd/snappy-stubs-public.h +100 -0
  1058. package/deps/snappy/linux/config.h +135 -0
  1059. package/deps/snappy/linux/snappy-stubs-public.h +100 -0
  1060. package/deps/snappy/mac/config.h +137 -0
  1061. package/deps/snappy/mac/snappy-stubs-public.h +100 -0
  1062. package/deps/snappy/openbsd/config.h +135 -0
  1063. package/deps/snappy/openbsd/snappy-stubs-public.h +100 -0
  1064. package/deps/snappy/snappy-1.1.7/COPYING +54 -0
  1065. package/deps/snappy/snappy-1.1.7/cmake/SnappyConfig.cmake +1 -0
  1066. package/deps/snappy/snappy-1.1.7/cmake/config.h.in +62 -0
  1067. package/deps/snappy/snappy-1.1.7/snappy-c.cc +90 -0
  1068. package/deps/snappy/snappy-1.1.7/snappy-c.h +138 -0
  1069. package/deps/snappy/snappy-1.1.7/snappy-internal.h +224 -0
  1070. package/deps/snappy/snappy-1.1.7/snappy-sinksource.cc +104 -0
  1071. package/deps/snappy/snappy-1.1.7/snappy-sinksource.h +182 -0
  1072. package/deps/snappy/snappy-1.1.7/snappy-stubs-internal.cc +42 -0
  1073. package/deps/snappy/snappy-1.1.7/snappy-stubs-internal.h +561 -0
  1074. package/deps/snappy/snappy-1.1.7/snappy-stubs-public.h.in +94 -0
  1075. package/deps/snappy/snappy-1.1.7/snappy-test.cc +612 -0
  1076. package/deps/snappy/snappy-1.1.7/snappy-test.h +573 -0
  1077. package/deps/snappy/snappy-1.1.7/snappy.cc +1515 -0
  1078. package/deps/snappy/snappy-1.1.7/snappy.h +203 -0
  1079. package/deps/snappy/snappy-1.1.7/snappy_unittest.cc +1410 -0
  1080. package/deps/snappy/snappy.gyp +90 -0
  1081. package/deps/snappy/solaris/config.h +135 -0
  1082. package/deps/snappy/solaris/snappy-stubs-public.h +100 -0
  1083. package/deps/snappy/win32/config.h +29 -0
  1084. package/deps/snappy/win32/snappy-stubs-public.h +100 -0
  1085. package/iterator.js +55 -0
  1086. package/leveldown.js +113 -0
  1087. package/package-lock.json +23687 -0
  1088. package/package.json +70 -0
@@ -0,0 +1,2521 @@
1
+ # Copyright (c) 2011 The LevelDB Authors. All rights reserved.
2
+ # Use of this source code is governed by a BSD-style license that can be
3
+ # found in the LICENSE file. See the AUTHORS file for names of contributors.
4
+
5
+ # Inherit some settings from environment variables, if available
6
+
7
+ #-----------------------------------------------
8
+
9
+ BASH_EXISTS := $(shell which bash)
10
+ SHELL := $(shell which bash)
11
+ # Default to python3. Some distros like CentOS 8 do not have `python`.
12
+ ifeq ($(origin PYTHON), undefined)
13
+ PYTHON := $(shell which python3 || which python || echo python3)
14
+ endif
15
+ export PYTHON
16
+
17
+ CLEAN_FILES = # deliberately empty, so we can append below.
18
+ CFLAGS += ${EXTRA_CFLAGS}
19
+ CXXFLAGS += ${EXTRA_CXXFLAGS}
20
+ LDFLAGS += $(EXTRA_LDFLAGS)
21
+ MACHINE ?= $(shell uname -m)
22
+ ARFLAGS = ${EXTRA_ARFLAGS} rs
23
+ STRIPFLAGS = -S -x
24
+
25
+ # Transform parallel LOG output into something more readable.
26
+ perl_command = perl -n \
27
+ -e '@a=split("\t",$$_,-1); $$t=$$a[8];' \
28
+ -e '$$t =~ /.*if\s\[\[\s"(.*?\.[\w\/]+)/ and $$t=$$1;' \
29
+ -e '$$t =~ s,^\./,,;' \
30
+ -e '$$t =~ s, >.*,,; chomp $$t;' \
31
+ -e '$$t =~ /.*--gtest_filter=(.*?\.[\w\/]+)/ and $$t=$$1;' \
32
+ -e 'printf "%7.3f %s %s\n", $$a[3], $$a[6] == 0 ? "PASS" : "FAIL", $$t'
33
+ quoted_perl_command = $(subst ','\'',$(perl_command))
34
+
35
+ # DEBUG_LEVEL can have three values:
36
+ # * DEBUG_LEVEL=2; this is the ultimate debug mode. It will compile rocksdb
37
+ # without any optimizations. To compile with level 2, issue `make dbg`
38
+ # * DEBUG_LEVEL=1; debug level 1 enables all assertions and debug code, but
39
+ # compiles rocksdb with -O2 optimizations. this is the default debug level.
40
+ # `make all` or `make <binary_target>` compile RocksDB with debug level 1.
41
+ # We use this debug level when developing RocksDB.
42
+ # * DEBUG_LEVEL=0; this is the debug level we use for release. If you're
43
+ # running rocksdb in production you most definitely want to compile RocksDB
44
+ # with debug level 0. To compile with level 0, run `make shared_lib`,
45
+ # `make install-shared`, `make static_lib`, `make install-static` or
46
+ # `make install`
47
+
48
+ # Set the default DEBUG_LEVEL to 1
49
+ DEBUG_LEVEL?=1
50
+
51
+ # LIB_MODE says whether or not to use/build "shared" or "static" libraries.
52
+ # Mode "static" means to link against static libraries (.a)
53
+ # Mode "shared" means to link against shared libraries (.so, .sl, .dylib, etc)
54
+ #
55
+ # Set the default LIB_MODE to static
56
+ LIB_MODE?=static
57
+
58
+ ifeq ($(MAKECMDGOALS),dbg)
59
+ DEBUG_LEVEL=2
60
+ endif
61
+
62
+ ifeq ($(MAKECMDGOALS),clean)
63
+ DEBUG_LEVEL=0
64
+ endif
65
+
66
+ ifeq ($(MAKECMDGOALS),release)
67
+ DEBUG_LEVEL=0
68
+ endif
69
+
70
+ ifeq ($(MAKECMDGOALS),shared_lib)
71
+ LIB_MODE=shared
72
+ DEBUG_LEVEL=0
73
+ endif
74
+
75
+ ifeq ($(MAKECMDGOALS),install-shared)
76
+ LIB_MODE=shared
77
+ DEBUG_LEVEL=0
78
+ endif
79
+
80
+ ifeq ($(MAKECMDGOALS),static_lib)
81
+ DEBUG_LEVEL=0
82
+ LIB_MODE=static
83
+ endif
84
+
85
+ ifeq ($(MAKECMDGOALS),install-static)
86
+ DEBUG_LEVEL=0
87
+ LIB_MODE=static
88
+ endif
89
+
90
+ ifeq ($(MAKECMDGOALS),install)
91
+ DEBUG_LEVEL=0
92
+ endif
93
+
94
+
95
+ ifneq ($(findstring jtest, $(MAKECMDGOALS)),)
96
+ OBJ_DIR=jl
97
+ LIB_MODE=shared
98
+ endif
99
+
100
+ ifneq ($(findstring rocksdbjava, $(MAKECMDGOALS)),)
101
+ LIB_MODE=shared
102
+ ifneq ($(findstring rocksdbjavastatic, $(MAKECMDGOALS)),)
103
+ OBJ_DIR=jls
104
+ ifneq ($(DEBUG_LEVEL),2)
105
+ DEBUG_LEVEL=0
106
+ endif
107
+ ifeq ($(MAKECMDGOALS),rocksdbjavastaticpublish)
108
+ DEBUG_LEVEL=0
109
+ endif
110
+ else
111
+ OBJ_DIR=jl
112
+ endif
113
+ endif
114
+
115
+ $(info $$DEBUG_LEVEL is ${DEBUG_LEVEL})
116
+
117
+ # Lite build flag.
118
+ LITE ?= 0
119
+ ifeq ($(LITE), 0)
120
+ ifneq ($(filter -DROCKSDB_LITE,$(OPT)),)
121
+ # Be backward compatible and support older format where OPT=-DROCKSDB_LITE is
122
+ # specified instead of LITE=1 on the command line.
123
+ LITE=1
124
+ endif
125
+ else ifeq ($(LITE), 1)
126
+ ifeq ($(filter -DROCKSDB_LITE,$(OPT)),)
127
+ OPT += -DROCKSDB_LITE
128
+ endif
129
+ endif
130
+
131
+ # Figure out optimize level.
132
+ ifneq ($(DEBUG_LEVEL), 2)
133
+ ifeq ($(LITE), 0)
134
+ OPTIMIZE_LEVEL ?= -O2
135
+ else
136
+ OPTIMIZE_LEVEL ?= -Os
137
+ endif
138
+ endif
139
+ # `OPTIMIZE_LEVEL` is empty when the user does not set it and `DEBUG_LEVEL=2`.
140
+ # In that case, the compiler default (`-O0` for gcc and clang) will be used.
141
+ OPT += $(OPTIMIZE_LEVEL)
142
+
143
+ # compile with -O2 if debug level is not 2
144
+ ifneq ($(DEBUG_LEVEL), 2)
145
+ OPT += -fno-omit-frame-pointer
146
+ # Skip for archs that don't support -momit-leaf-frame-pointer
147
+ ifeq (,$(shell $(CXX) -fsyntax-only -momit-leaf-frame-pointer -xc /dev/null 2>&1))
148
+ OPT += -momit-leaf-frame-pointer
149
+ endif
150
+ endif
151
+
152
+ ifeq (,$(shell $(CXX) -fsyntax-only -maltivec -xc /dev/null 2>&1))
153
+ CXXFLAGS += -DHAS_ALTIVEC
154
+ CFLAGS += -DHAS_ALTIVEC
155
+ HAS_ALTIVEC=1
156
+ endif
157
+
158
+ ifeq (,$(shell $(CXX) -fsyntax-only -mcpu=power8 -xc /dev/null 2>&1))
159
+ CXXFLAGS += -DHAVE_POWER8
160
+ CFLAGS += -DHAVE_POWER8
161
+ HAVE_POWER8=1
162
+ endif
163
+
164
+ ifeq (,$(shell $(CXX) -fsyntax-only -march=armv8-a+crc+crypto -xc /dev/null 2>&1))
165
+ CXXFLAGS += -march=armv8-a+crc+crypto
166
+ CFLAGS += -march=armv8-a+crc+crypto
167
+ ARMCRC_SOURCE=1
168
+ endif
169
+
170
+ # if we're compiling for shared libraries, add the shared flags
171
+ ifeq ($(LIB_MODE),shared)
172
+ CXXFLAGS += $(PLATFORM_SHARED_CFLAGS) -DROCKSDB_DLL
173
+ CFLAGS += $(PLATFORM_SHARED_CFLAGS) -DROCKSDB_DLL
174
+ endif
175
+
176
+ # if we're compiling for release, compile without debug code (-DNDEBUG)
177
+ ifeq ($(DEBUG_LEVEL),0)
178
+ OPT += -DNDEBUG
179
+
180
+ ifneq ($(USE_RTTI), 1)
181
+ CXXFLAGS += -fno-rtti
182
+ else
183
+ CXXFLAGS += -DROCKSDB_USE_RTTI
184
+ endif
185
+ else
186
+ ifneq ($(USE_RTTI), 0)
187
+ CXXFLAGS += -DROCKSDB_USE_RTTI
188
+ else
189
+ CXXFLAGS += -fno-rtti
190
+ endif
191
+
192
+ ifdef ASSERT_STATUS_CHECKED
193
+ # For ASC, turn off constructor elision, preventing the case where a constructor returned
194
+ # by a method may pass the ASC check if the status is checked in the inner method. Forcing
195
+ # the copy constructor to be invoked disables the optimization and will cause the calling method
196
+ # to check the status in order to prevent an error from being raised.
197
+ PLATFORM_CXXFLAGS += -fno-elide-constructors
198
+ ifeq ($(filter -DROCKSDB_ASSERT_STATUS_CHECKED,$(OPT)),)
199
+ OPT += -DROCKSDB_ASSERT_STATUS_CHECKED
200
+ endif
201
+ endif
202
+
203
+ $(warning Warning: Compiling in debug mode. Don't use the resulting binary in production)
204
+ endif
205
+
206
+ # `USE_LTO=1` enables link-time optimizations. Among other things, this enables
207
+ # more devirtualization opportunities and inlining across translation units.
208
+ # This can save significant overhead introduced by RocksDB's pluggable
209
+ # interfaces/internal abstractions, like in the iterator hierarchy. It works
210
+ # better when combined with profile-guided optimizations (not currently
211
+ # supported natively in Makefile).
212
+ ifeq ($(USE_LTO), 1)
213
+ CXXFLAGS += -flto
214
+ LDFLAGS += -flto -fuse-linker-plugin
215
+ endif
216
+
217
+ #-----------------------------------------------
218
+ include src.mk
219
+
220
+ AM_DEFAULT_VERBOSITY ?= 0
221
+
222
+ AM_V_GEN = $(am__v_GEN_$(V))
223
+ am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
224
+ am__v_GEN_0 = @echo " GEN " $@;
225
+ am__v_GEN_1 =
226
+ AM_V_at = $(am__v_at_$(V))
227
+ am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
228
+ am__v_at_0 = @
229
+ am__v_at_1 =
230
+
231
+ AM_V_CC = $(am__v_CC_$(V))
232
+ am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
233
+ am__v_CC_0 = @echo " CC " $@;
234
+ am__v_CC_1 =
235
+
236
+ AM_V_CCLD = $(am__v_CCLD_$(V))
237
+ am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
238
+ ifneq ($(SKIP_LINK), 1)
239
+ am__v_CCLD_0 = @echo " CCLD " $@;
240
+ am__v_CCLD_1 =
241
+ else
242
+ am__v_CCLD_0 = @echo " !CCLD " $@; true skip
243
+ am__v_CCLD_1 = true skip
244
+ endif
245
+ AM_V_AR = $(am__v_AR_$(V))
246
+ am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
247
+ am__v_AR_0 = @echo " AR " $@;
248
+ am__v_AR_1 =
249
+
250
+ ifdef ROCKSDB_USE_LIBRADOS
251
+ LIB_SOURCES += utilities/env_librados.cc
252
+ LDFLAGS += -lrados
253
+ endif
254
+
255
+ AM_LINK = $(AM_V_CCLD)$(CXX) -L. $(patsubst lib%.a, -l%, $(patsubst lib%.$(PLATFORM_SHARED_EXT), -l%, $^)) $(EXEC_LDFLAGS) -o $@ $(LDFLAGS) $(COVERAGEFLAGS)
256
+ AM_SHARE = $(AM_V_CCLD) $(CXX) $(PLATFORM_SHARED_LDFLAGS)$@ -L. $(patsubst lib%.$(PLATFORM_SHARED_EXT), -l%, $^) $(LDFLAGS) -o $@
257
+
258
+ # Detect what platform we're building on.
259
+ # Export some common variables that might have been passed as Make variables
260
+ # instead of environment variables.
261
+ dummy := $(shell (export ROCKSDB_ROOT="$(CURDIR)"; \
262
+ export COMPILE_WITH_ASAN="$(COMPILE_WITH_ASAN)"; \
263
+ export COMPILE_WITH_TSAN="$(COMPILE_WITH_TSAN)"; \
264
+ export COMPILE_WITH_UBSAN="$(COMPILE_WITH_UBSAN)"; \
265
+ export PORTABLE="$(PORTABLE)"; \
266
+ export ROCKSDB_NO_FBCODE="$(ROCKSDB_NO_FBCODE)"; \
267
+ export USE_CLANG="$(USE_CLANG)"; \
268
+ "$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/make_config.mk"))
269
+ # this file is generated by the previous line to set build flags and sources
270
+ include make_config.mk
271
+
272
+ export JAVAC_ARGS
273
+ CLEAN_FILES += make_config.mk rocksdb.pc
274
+
275
+ ifeq ($(V), 1)
276
+ $(info $(shell uname -a))
277
+ $(info $(shell $(CC) --version))
278
+ $(info $(shell $(CXX) --version))
279
+ endif
280
+
281
+ missing_make_config_paths := $(shell \
282
+ grep "\./\S*\|/\S*" -o $(CURDIR)/make_config.mk | \
283
+ while read path; \
284
+ do [ -e $$path ] || echo $$path; \
285
+ done | sort | uniq)
286
+
287
+ $(foreach path, $(missing_make_config_paths), \
288
+ $(warning Warning: $(path) does not exist))
289
+
290
+ ifeq ($(PLATFORM), OS_AIX)
291
+ # no debug info
292
+ else ifneq ($(PLATFORM), IOS)
293
+ CFLAGS += -g
294
+ CXXFLAGS += -g
295
+ else
296
+ # no debug info for IOS, that will make our library big
297
+ OPT += -DNDEBUG
298
+ endif
299
+
300
+ ifeq ($(PLATFORM), OS_AIX)
301
+ ARFLAGS = -X64 rs
302
+ STRIPFLAGS = -X64 -x
303
+ endif
304
+
305
+ ifeq ($(PLATFORM), OS_SOLARIS)
306
+ PLATFORM_CXXFLAGS += -D _GLIBCXX_USE_C99
307
+ endif
308
+ ifneq ($(filter -DROCKSDB_LITE,$(OPT)),)
309
+ # found
310
+ CFLAGS += -fno-exceptions
311
+ CXXFLAGS += -fno-exceptions
312
+ # LUA is not supported under ROCKSDB_LITE
313
+ LUA_PATH =
314
+ endif
315
+
316
+ ifeq ($(LIB_MODE),shared)
317
+ # So that binaries are executable from build location, in addition to install location
318
+ EXEC_LDFLAGS += -Wl,-rpath -Wl,'$$ORIGIN'
319
+ endif
320
+
321
+ # ASAN doesn't work well with jemalloc. If we're compiling with ASAN, we should use regular malloc.
322
+ ifdef COMPILE_WITH_ASAN
323
+ DISABLE_JEMALLOC=1
324
+ EXEC_LDFLAGS += -fsanitize=address
325
+ PLATFORM_CCFLAGS += -fsanitize=address
326
+ PLATFORM_CXXFLAGS += -fsanitize=address
327
+ endif
328
+
329
+ # TSAN doesn't work well with jemalloc. If we're compiling with TSAN, we should use regular malloc.
330
+ ifdef COMPILE_WITH_TSAN
331
+ DISABLE_JEMALLOC=1
332
+ EXEC_LDFLAGS += -fsanitize=thread
333
+ PLATFORM_CCFLAGS += -fsanitize=thread -fPIC -DFOLLY_SANITIZE_THREAD
334
+ PLATFORM_CXXFLAGS += -fsanitize=thread -fPIC -DFOLLY_SANITIZE_THREAD
335
+ # Turn off -pg when enabling TSAN testing, because that induces
336
+ # a link failure. TODO: find the root cause
337
+ PROFILING_FLAGS =
338
+ # LUA is not supported under TSAN
339
+ LUA_PATH =
340
+ # Limit keys for crash test under TSAN to avoid error:
341
+ # "ThreadSanitizer: DenseSlabAllocator overflow. Dying."
342
+ CRASH_TEST_EXT_ARGS += --max_key=1000000
343
+ endif
344
+
345
+ # AIX doesn't work with -pg
346
+ ifeq ($(PLATFORM), OS_AIX)
347
+ PROFILING_FLAGS =
348
+ endif
349
+
350
+ # USAN doesn't work well with jemalloc. If we're compiling with USAN, we should use regular malloc.
351
+ ifdef COMPILE_WITH_UBSAN
352
+ DISABLE_JEMALLOC=1
353
+ # Suppress alignment warning because murmurhash relies on casting unaligned
354
+ # memory to integer. Fixing it may cause performance regression. 3-way crc32
355
+ # relies on it too, although it can be rewritten to eliminate with minimal
356
+ # performance regression.
357
+ EXEC_LDFLAGS += -fsanitize=undefined -fno-sanitize-recover=all
358
+ PLATFORM_CCFLAGS += -fsanitize=undefined -fno-sanitize-recover=all -DROCKSDB_UBSAN_RUN
359
+ PLATFORM_CXXFLAGS += -fsanitize=undefined -fno-sanitize-recover=all -DROCKSDB_UBSAN_RUN
360
+ endif
361
+
362
+ ifdef ROCKSDB_VALGRIND_RUN
363
+ PLATFORM_CCFLAGS += -DROCKSDB_VALGRIND_RUN
364
+ PLATFORM_CXXFLAGS += -DROCKSDB_VALGRIND_RUN
365
+ endif
366
+
367
+ ifndef DISABLE_JEMALLOC
368
+ ifdef JEMALLOC
369
+ PLATFORM_CXXFLAGS += -DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE
370
+ PLATFORM_CCFLAGS += -DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE
371
+ endif
372
+ ifdef WITH_JEMALLOC_FLAG
373
+ PLATFORM_LDFLAGS += -ljemalloc
374
+ JAVA_LDFLAGS += -ljemalloc
375
+ endif
376
+ EXEC_LDFLAGS := $(JEMALLOC_LIB) $(EXEC_LDFLAGS)
377
+ PLATFORM_CXXFLAGS += $(JEMALLOC_INCLUDE)
378
+ PLATFORM_CCFLAGS += $(JEMALLOC_INCLUDE)
379
+ endif
380
+
381
+ ifndef USE_FOLLY_DISTRIBUTED_MUTEX
382
+ USE_FOLLY_DISTRIBUTED_MUTEX=0
383
+ endif
384
+
385
+ ifndef GTEST_THROW_ON_FAILURE
386
+ export GTEST_THROW_ON_FAILURE=1
387
+ endif
388
+ ifndef GTEST_HAS_EXCEPTIONS
389
+ export GTEST_HAS_EXCEPTIONS=1
390
+ endif
391
+
392
+ GTEST_DIR = third-party/gtest-1.8.1/fused-src
393
+ # AIX: pre-defined system headers are surrounded by an extern "C" block
394
+ ifeq ($(PLATFORM), OS_AIX)
395
+ PLATFORM_CCFLAGS += -I$(GTEST_DIR)
396
+ PLATFORM_CXXFLAGS += -I$(GTEST_DIR)
397
+ else
398
+ PLATFORM_CCFLAGS += -isystem $(GTEST_DIR)
399
+ PLATFORM_CXXFLAGS += -isystem $(GTEST_DIR)
400
+ endif
401
+
402
+ ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1)
403
+ FOLLY_DIR = ./third-party/folly
404
+ # AIX: pre-defined system headers are surrounded by an extern "C" block
405
+ ifeq ($(PLATFORM), OS_AIX)
406
+ PLATFORM_CCFLAGS += -I$(FOLLY_DIR)
407
+ PLATFORM_CXXFLAGS += -I$(FOLLY_DIR)
408
+ else
409
+ PLATFORM_CCFLAGS += -isystem $(FOLLY_DIR)
410
+ PLATFORM_CXXFLAGS += -isystem $(FOLLY_DIR)
411
+ endif
412
+ endif
413
+
414
+ ifdef TEST_CACHE_LINE_SIZE
415
+ PLATFORM_CCFLAGS += -DTEST_CACHE_LINE_SIZE=$(TEST_CACHE_LINE_SIZE)
416
+ PLATFORM_CXXFLAGS += -DTEST_CACHE_LINE_SIZE=$(TEST_CACHE_LINE_SIZE)
417
+ endif
418
+ ifdef TEST_UINT128_COMPAT
419
+ PLATFORM_CCFLAGS += -DTEST_UINT128_COMPAT=1
420
+ PLATFORM_CXXFLAGS += -DTEST_UINT128_COMPAT=1
421
+ endif
422
+ ifdef ROCKSDB_MODIFY_NPHASH
423
+ PLATFORM_CCFLAGS += -DROCKSDB_MODIFY_NPHASH=1
424
+ PLATFORM_CXXFLAGS += -DROCKSDB_MODIFY_NPHASH=1
425
+ endif
426
+
427
+ # This (the first rule) must depend on "all".
428
+ default: all
429
+
430
+ WARNING_FLAGS = -W -Wextra -Wall -Wsign-compare -Wshadow \
431
+ -Wunused-parameter
432
+
433
+ ifdef USE_CLANG
434
+ # Used by some teams in Facebook
435
+ WARNING_FLAGS += -Wshift-sign-overflow
436
+ endif
437
+
438
+ ifeq ($(PLATFORM), OS_OPENBSD)
439
+ WARNING_FLAGS += -Wno-unused-lambda-capture
440
+ endif
441
+
442
+ ifndef DISABLE_WARNING_AS_ERROR
443
+ WARNING_FLAGS += -Werror
444
+ endif
445
+
446
+
447
+ ifdef LUA_PATH
448
+
449
+ ifndef LUA_INCLUDE
450
+ LUA_INCLUDE=$(LUA_PATH)/include
451
+ endif
452
+
453
+ LUA_INCLUDE_FILE=$(LUA_INCLUDE)/lualib.h
454
+
455
+ ifeq ("$(wildcard $(LUA_INCLUDE_FILE))", "")
456
+ # LUA_INCLUDE_FILE does not exist
457
+ $(error Cannot find lualib.h under $(LUA_INCLUDE). Try to specify both LUA_PATH and LUA_INCLUDE manually)
458
+ endif
459
+ LUA_FLAGS = -I$(LUA_INCLUDE) -DLUA -DLUA_COMPAT_ALL
460
+ CFLAGS += $(LUA_FLAGS)
461
+ CXXFLAGS += $(LUA_FLAGS)
462
+
463
+ ifndef LUA_LIB
464
+ LUA_LIB = $(LUA_PATH)/lib/liblua.a
465
+ endif
466
+ ifeq ("$(wildcard $(LUA_LIB))", "") # LUA_LIB does not exist
467
+ $(error $(LUA_LIB) does not exist. Try to specify both LUA_PATH and LUA_LIB manually)
468
+ endif
469
+ EXEC_LDFLAGS += $(LUA_LIB)
470
+
471
+ endif
472
+
473
+ ifeq ($(NO_THREEWAY_CRC32C), 1)
474
+ CXXFLAGS += -DNO_THREEWAY_CRC32C
475
+ endif
476
+
477
+ CFLAGS += $(WARNING_FLAGS) -I. -I./include $(PLATFORM_CCFLAGS) $(OPT)
478
+ CXXFLAGS += $(WARNING_FLAGS) -I. -I./include $(PLATFORM_CXXFLAGS) $(OPT) -Woverloaded-virtual -Wnon-virtual-dtor -Wno-missing-field-initializers
479
+
480
+ LDFLAGS += $(PLATFORM_LDFLAGS)
481
+
482
+ # If NO_UPDATE_BUILD_VERSION is set we don't update util/build_version.cc, but
483
+ # the file needs to already exist or else the build will fail
484
+ ifndef NO_UPDATE_BUILD_VERSION
485
+ date := $(shell date +%F)
486
+ ifdef FORCE_GIT_SHA
487
+ git_sha := $(FORCE_GIT_SHA)
488
+ else
489
+ git_sha := $(shell git rev-parse HEAD 2>/dev/null)
490
+ endif
491
+ gen_build_version = sed -e s/@@GIT_SHA@@/$(git_sha)/ -e s/@@GIT_DATE_TIME@@/$(date)/ util/build_version.cc.in
492
+
493
+ # Record the version of the source that we are compiling.
494
+ # We keep a record of the git revision in this file. It is then built
495
+ # as a regular source file as part of the compilation process.
496
+ # One can run "strings executable_filename | grep _build_" to find
497
+ # the version of the source that we used to build the executable file.
498
+ FORCE:
499
+ util/build_version.cc: FORCE
500
+ $(AM_V_GEN)rm -f $@-t
501
+ $(AM_V_at)$(gen_build_version) > $@-t
502
+ $(AM_V_at)if test -f $@; then \
503
+ cmp -s $@-t $@ && rm -f $@-t || mv -f $@-t $@; \
504
+ else mv -f $@-t $@; fi
505
+ endif
506
+
507
+ OBJ_DIR?=.
508
+ LIB_OBJECTS = $(patsubst %.cc, $(OBJ_DIR)/%.o, $(LIB_SOURCES))
509
+ ifeq ($(HAVE_POWER8),1)
510
+ LIB_OBJECTS += $(patsubst %.c, $(OBJ_DIR)/%.o, $(LIB_SOURCES_C))
511
+ LIB_OBJECTS += $(patsubst %.S, $(OBJ_DIR)/%.o, $(LIB_SOURCES_ASM))
512
+ endif
513
+
514
+ ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1)
515
+ LIB_OBJECTS += $(patsubst %.cpp, $(OBJ_DIR)/%.o, $(FOLLY_SOURCES))
516
+ endif
517
+
518
+ GTEST = $(OBJ_DIR)/$(GTEST_DIR)/gtest/gtest-all.o
519
+ TESTUTIL = $(OBJ_DIR)/test_util/testutil.o
520
+ TESTHARNESS = $(OBJ_DIR)/test_util/testharness.o $(TESTUTIL) $(GTEST)
521
+ VALGRIND_ERROR = 2
522
+ VALGRIND_VER := $(join $(VALGRIND_VER),valgrind)
523
+
524
+ VALGRIND_OPTS = --error-exitcode=$(VALGRIND_ERROR) --leak-check=full
525
+
526
+ TEST_OBJECTS = $(patsubst %.cc, $(OBJ_DIR)/%.o, $(TEST_LIB_SOURCES) $(MOCK_LIB_SOURCES)) $(GTEST)
527
+ BENCH_OBJECTS = $(patsubst %.cc, $(OBJ_DIR)/%.o, $(BENCH_LIB_SOURCES))
528
+ TOOL_OBJECTS = $(patsubst %.cc, $(OBJ_DIR)/%.o, $(TOOL_LIB_SOURCES))
529
+ ANALYZE_OBJECTS = $(patsubst %.cc, $(OBJ_DIR)/%.o, $(ANALYZER_LIB_SOURCES))
530
+ STRESS_OBJECTS = $(patsubst %.cc, $(OBJ_DIR)/%.o, $(STRESS_LIB_SOURCES))
531
+
532
+ ALL_SOURCES = $(LIB_SOURCES) $(TEST_LIB_SOURCES) $(MOCK_LIB_SOURCES) $(GTEST_DIR)/gtest/gtest-all.cc
533
+ ALL_SOURCES += $(TOOL_LIB_SOURCES) $(BENCH_LIB_SOURCES) $(ANALYZER_LIB_SOURCES) $(STRESS_LIB_SOURCES)
534
+ ALL_SOURCES += $(TEST_MAIN_SOURCES) $(TOOL_MAIN_SOURCES) $(BENCH_MAIN_SOURCES)
535
+
536
+ TESTS = $(patsubst %.cc, %, $(notdir $(TEST_MAIN_SOURCES)))
537
+ TESTS += $(patsubst %.c, %, $(notdir $(TEST_MAIN_SOURCES_C)))
538
+
539
+ ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1)
540
+ TESTS += folly_synchronization_distributed_mutex_test
541
+ ALL_SOURCES += third-party/folly/folly/synchronization/test/DistributedMutexTest.cc
542
+ endif
543
+
544
+ PARALLEL_TEST = \
545
+ backupable_db_test \
546
+ db_bloom_filter_test \
547
+ db_compaction_filter_test \
548
+ db_compaction_test \
549
+ db_merge_operator_test \
550
+ db_sst_test \
551
+ db_test \
552
+ db_test2 \
553
+ db_universal_compaction_test \
554
+ db_wal_test \
555
+ column_family_test \
556
+ external_sst_file_test \
557
+ import_column_family_test \
558
+ fault_injection_test \
559
+ file_reader_writer_test \
560
+ inlineskiplist_test \
561
+ manual_compaction_test \
562
+ persistent_cache_test \
563
+ table_test \
564
+ transaction_test \
565
+ point_lock_manager_test \
566
+ range_locking_test \
567
+ write_prepared_transaction_test \
568
+ write_unprepared_transaction_test \
569
+
570
+ ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1)
571
+ TESTS += folly_synchronization_distributed_mutex_test
572
+ PARALLEL_TEST += folly_synchronization_distributed_mutex_test
573
+ TESTS_PASSING_ASC = folly_synchronization_distributed_mutex_test
574
+ endif
575
+
576
+ # options_settable_test doesn't pass with UBSAN as we use hack in the test
577
+ ifdef COMPILE_WITH_UBSAN
578
+ TESTS := $(shell echo $(TESTS) | sed 's/\boptions_settable_test\b//g')
579
+ endif
580
+ ifdef ASSERT_STATUS_CHECKED
581
+ # This is a new check for which we will add support incrementally. This
582
+ # list can be removed once support is fully added.
583
+ TESTS_PASSING_ASC = \
584
+ arena_test \
585
+ autovector_test \
586
+ cache_test \
587
+ lru_cache_test \
588
+ blob_file_addition_test \
589
+ blob_file_builder_test \
590
+ blob_file_cache_test \
591
+ blob_file_garbage_test \
592
+ blob_file_reader_test \
593
+ bloom_test \
594
+ cassandra_format_test \
595
+ cassandra_functional_test \
596
+ cassandra_row_merge_test \
597
+ cassandra_serialize_test \
598
+ cleanable_test \
599
+ checkpoint_test \
600
+ coding_test \
601
+ crc32c_test \
602
+ dbformat_test \
603
+ db_basic_test \
604
+ compact_files_test \
605
+ compaction_picker_test \
606
+ comparator_db_test \
607
+ db_encryption_test \
608
+ db_iter_test \
609
+ db_iter_stress_test \
610
+ db_log_iter_test \
611
+ db_bloom_filter_test \
612
+ db_blob_basic_test \
613
+ db_blob_index_test \
614
+ db_block_cache_test \
615
+ db_compaction_test \
616
+ db_compaction_filter_test \
617
+ db_dynamic_level_test \
618
+ db_flush_test \
619
+ db_inplace_update_test \
620
+ db_io_failure_test \
621
+ db_iterator_test \
622
+ db_logical_block_size_cache_test \
623
+ db_memtable_test \
624
+ db_merge_operand_test \
625
+ db_merge_operator_test \
626
+ db_wal_test \
627
+ db_with_timestamp_basic_test \
628
+ db_with_timestamp_compaction_test \
629
+ db_write_test \
630
+ db_options_test \
631
+ db_properties_test \
632
+ db_range_del_test \
633
+ db_secondary_test \
634
+ deletefile_test \
635
+ external_sst_file_test \
636
+ options_file_test \
637
+ db_sst_test \
638
+ db_statistics_test \
639
+ db_table_properties_test \
640
+ db_tailing_iter_test \
641
+ fault_injection_test \
642
+ listener_test \
643
+ log_test \
644
+ manual_compaction_test \
645
+ obsolete_files_test \
646
+ perf_context_test \
647
+ periodic_work_scheduler_test \
648
+ perf_context_test \
649
+ version_set_test \
650
+ wal_manager_test \
651
+ defer_test \
652
+ filename_test \
653
+ dynamic_bloom_test \
654
+ env_basic_test \
655
+ env_test \
656
+ env_logger_test \
657
+ event_logger_test \
658
+ error_handler_fs_test \
659
+ external_sst_file_basic_test \
660
+ auto_roll_logger_test \
661
+ file_indexer_test \
662
+ delete_scheduler_test \
663
+ flush_job_test \
664
+ hash_table_test \
665
+ hash_test \
666
+ heap_test \
667
+ histogram_test \
668
+ inlineskiplist_test \
669
+ io_posix_test \
670
+ iostats_context_test \
671
+ ldb_cmd_test \
672
+ memkind_kmem_allocator_test \
673
+ merge_test \
674
+ merger_test \
675
+ mock_env_test \
676
+ object_registry_test \
677
+ optimistic_transaction_test \
678
+ prefix_test \
679
+ plain_table_db_test \
680
+ repair_test \
681
+ configurable_test \
682
+ customizable_test \
683
+ options_settable_test \
684
+ options_test \
685
+ point_lock_manager_test \
686
+ random_access_file_reader_test \
687
+ random_test \
688
+ range_del_aggregator_test \
689
+ sst_file_reader_test \
690
+ range_tombstone_fragmenter_test \
691
+ repeatable_thread_test \
692
+ ribbon_test \
693
+ skiplist_test \
694
+ slice_test \
695
+ slice_transform_test \
696
+ sst_dump_test \
697
+ statistics_test \
698
+ stats_history_test \
699
+ stringappend_test \
700
+ thread_local_test \
701
+ trace_analyzer_test \
702
+ transaction_test \
703
+ env_timed_test \
704
+ filelock_test \
705
+ timer_queue_test \
706
+ timer_test \
707
+ options_util_test \
708
+ persistent_cache_test \
709
+ util_merge_operators_test \
710
+ block_cache_trace_analyzer_test \
711
+ block_cache_tracer_test \
712
+ cache_simulator_test \
713
+ sim_cache_test \
714
+ version_builder_test \
715
+ version_edit_test \
716
+ work_queue_test \
717
+ write_buffer_manager_test \
718
+ write_controller_test \
719
+ write_prepared_transaction_test \
720
+ write_unprepared_transaction_test \
721
+ compaction_iterator_test \
722
+ compaction_job_test \
723
+ compaction_job_stats_test \
724
+ io_tracer_test \
725
+ io_tracer_parser_test \
726
+ prefetch_test \
727
+ merge_helper_test \
728
+ memtable_list_test \
729
+ flush_job_test \
730
+ block_based_filter_block_test \
731
+ block_fetcher_test \
732
+ block_test \
733
+ data_block_hash_index_test \
734
+ full_filter_block_test \
735
+ partitioned_filter_block_test \
736
+ column_family_test \
737
+ file_reader_writer_test \
738
+ rate_limiter_test \
739
+ corruption_test \
740
+ reduce_levels_test \
741
+ thread_list_test \
742
+ compact_on_deletion_collector_test \
743
+ db_universal_compaction_test \
744
+ import_column_family_test \
745
+ option_change_migration_test \
746
+ cuckoo_table_builder_test \
747
+ cuckoo_table_db_test \
748
+ cuckoo_table_reader_test \
749
+ memory_test \
750
+ table_test \
751
+ backupable_db_test \
752
+ blob_db_test \
753
+ ttl_test \
754
+ write_batch_test \
755
+ write_batch_with_index_test \
756
+
757
+ ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1)
758
+ TESTS_PASSING_ASC += folly_synchronization_distributed_mutex_test
759
+ endif
760
+
761
+ # Enable building all unit tests, but use check_some to run only tests
762
+ # known to pass ASC (ASSERT_STATUS_CHECKED)
763
+ ROCKSDBTESTS_SUBSET ?= $(TESTS_PASSING_ASC)
764
+ # Alternate: only build unit tests known to pass ASC, and run them
765
+ # with make check
766
+ #TESTS := $(filter $(TESTS_PASSING_ASC),$(TESTS))
767
+ #PARALLEL_TEST := $(filter $(TESTS_PASSING_ASC),$(PARALLEL_TEST))
768
+ else
769
+ ROCKSDBTESTS_SUBSET ?= $(TESTS)
770
+ endif
771
+ # Not necessarily well thought out or up-to-date, but matches old list
772
+ TESTS_PLATFORM_DEPENDENT := \
773
+ db_basic_test \
774
+ db_blob_basic_test \
775
+ db_with_timestamp_basic_test \
776
+ db_encryption_test \
777
+ db_test2 \
778
+ external_sst_file_basic_test \
779
+ auto_roll_logger_test \
780
+ bloom_test \
781
+ dynamic_bloom_test \
782
+ c_test \
783
+ checkpoint_test \
784
+ crc32c_test \
785
+ coding_test \
786
+ inlineskiplist_test \
787
+ env_basic_test \
788
+ env_test \
789
+ env_logger_test \
790
+ io_posix_test \
791
+ hash_test \
792
+ random_test \
793
+ ribbon_test \
794
+ thread_local_test \
795
+ work_queue_test \
796
+ rate_limiter_test \
797
+ perf_context_test \
798
+ iostats_context_test \
799
+ db_wal_test \
800
+
801
+ # Sort ROCKSDBTESTS_SUBSET for filtering, except db_test is special (expensive)
802
+ # so is placed first (out-of-order)
803
+ ROCKSDBTESTS_SUBSET := $(filter db_test, $(ROCKSDBTESTS_SUBSET)) $(sort $(filter-out db_test, $(ROCKSDBTESTS_SUBSET)))
804
+
805
+ ifdef ROCKSDBTESTS_START
806
+ ROCKSDBTESTS_SUBSET := $(shell echo $(ROCKSDBTESTS_SUBSET) | sed 's/^.*$(ROCKSDBTESTS_START)/$(ROCKSDBTESTS_START)/')
807
+ endif
808
+
809
+ ifdef ROCKSDBTESTS_END
810
+ ROCKSDBTESTS_SUBSET := $(shell echo $(ROCKSDBTESTS_SUBSET) | sed 's/$(ROCKSDBTESTS_END).*//')
811
+ endif
812
+
813
+ ifeq ($(ROCKSDBTESTS_PLATFORM_DEPENDENT), only)
814
+ ROCKSDBTESTS_SUBSET := $(filter $(TESTS_PLATFORM_DEPENDENT), $(ROCKSDBTESTS_SUBSET))
815
+ else ifeq ($(ROCKSDBTESTS_PLATFORM_DEPENDENT), exclude)
816
+ ROCKSDBTESTS_SUBSET := $(filter-out $(TESTS_PLATFORM_DEPENDENT), $(ROCKSDBTESTS_SUBSET))
817
+ endif
818
+
819
+ # bench_tool_analyer main is in bench_tool_analyzer_tool, or this would be simpler...
820
+ TOOLS = $(patsubst %.cc, %, $(notdir $(patsubst %_tool.cc, %.cc, $(TOOLS_MAIN_SOURCES))))
821
+
822
+ TEST_LIBS = \
823
+ librocksdb_env_basic_test.a
824
+
825
+ # TODO: add back forward_iterator_bench, after making it build in all environemnts.
826
+ BENCHMARKS = $(patsubst %.cc, %, $(notdir $(BENCH_MAIN_SOURCES)))
827
+
828
+ # if user didn't config LIBNAME, set the default
829
+ ifeq ($(LIBNAME),)
830
+ LIBNAME=librocksdb
831
+ # we should only run rocksdb in production with DEBUG_LEVEL 0
832
+ ifneq ($(DEBUG_LEVEL),0)
833
+ LIBDEBUG=_debug
834
+ endif
835
+ endif
836
+ STATIC_LIBRARY = ${LIBNAME}$(LIBDEBUG).a
837
+ STATIC_TEST_LIBRARY = ${LIBNAME}_test$(LIBDEBUG).a
838
+ STATIC_TOOLS_LIBRARY = ${LIBNAME}_tools$(LIBDEBUG).a
839
+ STATIC_STRESS_LIBRARY = ${LIBNAME}_stress$(LIBDEBUG).a
840
+
841
+ ALL_STATIC_LIBS = $(STATIC_LIBRARY) $(STATIC_TEST_LIBRARY) $(STATIC_TOOLS_LIBRARY) $(STATIC_STRESS_LIBRARY)
842
+
843
+ SHARED_TEST_LIBRARY = ${LIBNAME}_test$(LIBDEBUG).$(PLATFORM_SHARED_EXT)
844
+ SHARED_TOOLS_LIBRARY = ${LIBNAME}_tools$(LIBDEBUG).$(PLATFORM_SHARED_EXT)
845
+ SHARED_STRESS_LIBRARY = ${LIBNAME}_stress$(LIBDEBUG).$(PLATFORM_SHARED_EXT)
846
+
847
+ ALL_SHARED_LIBS = $(SHARED1) $(SHARED2) $(SHARED3) $(SHARED4) $(SHARED_TEST_LIBRARY) $(SHARED_TOOLS_LIBRARY) $(SHARED_STRESS_LIBRARY)
848
+
849
+ ifeq ($(LIB_MODE),shared)
850
+ LIBRARY=$(SHARED1)
851
+ TEST_LIBRARY=$(SHARED_TEST_LIBRARY)
852
+ TOOLS_LIBRARY=$(SHARED_TOOLS_LIBRARY)
853
+ STRESS_LIBRARY=$(SHARED_STRESS_LIBRARY)
854
+ CLOUD_LIBRARY=$(SHARED_CLOUD_LIBRARY)
855
+ else
856
+ LIBRARY=$(STATIC_LIBRARY)
857
+ TEST_LIBRARY=$(STATIC_TEST_LIBRARY)
858
+ TOOLS_LIBRARY=$(STATIC_TOOLS_LIBRARY)
859
+ STRESS_LIBRARY=$(STATIC_STRESS_LIBRARY)
860
+ endif
861
+
862
+ ROCKSDB_MAJOR = $(shell egrep "ROCKSDB_MAJOR.[0-9]" include/rocksdb/version.h | cut -d ' ' -f 3)
863
+ ROCKSDB_MINOR = $(shell egrep "ROCKSDB_MINOR.[0-9]" include/rocksdb/version.h | cut -d ' ' -f 3)
864
+ ROCKSDB_PATCH = $(shell egrep "ROCKSDB_PATCH.[0-9]" include/rocksdb/version.h | cut -d ' ' -f 3)
865
+
866
+ default: all
867
+
868
+ #-----------------------------------------------
869
+ # Create platform independent shared libraries.
870
+ #-----------------------------------------------
871
+ ifneq ($(PLATFORM_SHARED_EXT),)
872
+
873
+ ifneq ($(PLATFORM_SHARED_VERSIONED),true)
874
+ SHARED1 = ${LIBNAME}$(LIBDEBUG).$(PLATFORM_SHARED_EXT)
875
+ SHARED2 = $(SHARED1)
876
+ SHARED3 = $(SHARED1)
877
+ SHARED4 = $(SHARED1)
878
+ SHARED = $(SHARED1)
879
+ else
880
+ SHARED_MAJOR = $(ROCKSDB_MAJOR)
881
+ SHARED_MINOR = $(ROCKSDB_MINOR)
882
+ SHARED_PATCH = $(ROCKSDB_PATCH)
883
+ SHARED1 = ${LIBNAME}.$(PLATFORM_SHARED_EXT)
884
+ ifeq ($(PLATFORM), OS_MACOSX)
885
+ SHARED_OSX = $(LIBNAME)$(LIBDEBUG).$(SHARED_MAJOR)
886
+ SHARED2 = $(SHARED_OSX).$(PLATFORM_SHARED_EXT)
887
+ SHARED3 = $(SHARED_OSX).$(SHARED_MINOR).$(PLATFORM_SHARED_EXT)
888
+ SHARED4 = $(SHARED_OSX).$(SHARED_MINOR).$(SHARED_PATCH).$(PLATFORM_SHARED_EXT)
889
+ else
890
+ SHARED2 = $(SHARED1).$(SHARED_MAJOR)
891
+ SHARED3 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR)
892
+ SHARED4 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR).$(SHARED_PATCH)
893
+ endif # MACOSX
894
+ SHARED = $(SHARED1) $(SHARED2) $(SHARED3) $(SHARED4)
895
+ $(SHARED1): $(SHARED4) $(SHARED2)
896
+ ln -fs $(SHARED4) $(SHARED1)
897
+ $(SHARED2): $(SHARED4) $(SHARED3)
898
+ ln -fs $(SHARED4) $(SHARED2)
899
+ $(SHARED3): $(SHARED4)
900
+ ln -fs $(SHARED4) $(SHARED3)
901
+
902
+ endif # PLATFORM_SHARED_VERSIONED
903
+ $(SHARED4): $(LIB_OBJECTS)
904
+ $(AM_V_CCLD) $(CXX) $(PLATFORM_SHARED_LDFLAGS)$(SHARED3) $(LIB_OBJECTS) $(LDFLAGS) -o $@
905
+ endif # PLATFORM_SHARED_EXT
906
+
907
+ .PHONY: blackbox_crash_test check clean coverage crash_test ldb_tests package \
908
+ release tags tags0 valgrind_check whitebox_crash_test format static_lib shared_lib all \
909
+ dbg rocksdbjavastatic rocksdbjava gen-pc install install-static install-shared uninstall \
910
+ analyze tools tools_lib \
911
+ blackbox_crash_test_with_atomic_flush whitebox_crash_test_with_atomic_flush \
912
+ blackbox_crash_test_with_txn whitebox_crash_test_with_txn \
913
+ blackbox_crash_test_with_best_efforts_recovery
914
+
915
+
916
+ all: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(TESTS)
917
+
918
+ all_but_some_tests: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(ROCKSDBTESTS_SUBSET)
919
+
920
+ static_lib: $(STATIC_LIBRARY)
921
+
922
+ shared_lib: $(SHARED)
923
+
924
+ stress_lib: $(STRESS_LIBRARY)
925
+
926
+ tools: $(TOOLS)
927
+
928
+ tools_lib: $(TOOLS_LIBRARY)
929
+
930
+ test_libs: $(TEST_LIBS)
931
+
932
+ benchmarks: $(BENCHMARKS)
933
+
934
+ dbg: $(LIBRARY) $(BENCHMARKS) tools $(TESTS)
935
+
936
+ # creates library and programs
937
+ release: clean
938
+ LIB_MODE=$(LIB_MODE) DEBUG_LEVEL=0 $(MAKE) $(LIBRARY) tools db_bench
939
+
940
+ coverage: clean
941
+ COVERAGEFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS+="-lgcov" $(MAKE) J=1 all check
942
+ cd coverage && ./coverage_test.sh
943
+ # Delete intermediate files
944
+ $(FIND) . -type f -regex ".*\.\(\(gcda\)\|\(gcno\)\)" -exec rm -f {} \;
945
+
946
+ ifneq (,$(filter check parallel_check,$(MAKECMDGOALS)),)
947
+ # Use /dev/shm if it has the sticky bit set (otherwise, /tmp),
948
+ # and create a randomly-named rocksdb.XXXX directory therein.
949
+ # We'll use that directory in the "make check" rules.
950
+ ifeq ($(TMPD),)
951
+ TMPDIR := $(shell echo $${TMPDIR:-/tmp})
952
+ TMPD := $(shell f=/dev/shm; test -k $$f || f=$(TMPDIR); \
953
+ perl -le 'use File::Temp "tempdir";' \
954
+ -e 'print tempdir("'$$f'/rocksdb.XXXX", CLEANUP => 0)')
955
+ endif
956
+ endif
957
+
958
+ # Run all tests in parallel, accumulating per-test logs in t/log-*.
959
+ #
960
+ # Each t/run-* file is a tiny generated bourne shell script that invokes one of
961
+ # sub-tests. Why use a file for this? Because that makes the invocation of
962
+ # parallel below simpler, which in turn makes the parsing of parallel's
963
+ # LOG simpler (the latter is for live monitoring as parallel
964
+ # tests run).
965
+ #
966
+ # Test names are extracted by running tests with --gtest_list_tests.
967
+ # This filter removes the "#"-introduced comments, and expands to
968
+ # fully-qualified names by changing input like this:
969
+ #
970
+ # DBTest.
971
+ # Empty
972
+ # WriteEmptyBatch
973
+ # MultiThreaded/MultiThreadedDBTest.
974
+ # MultiThreaded/0 # GetParam() = 0
975
+ # MultiThreaded/1 # GetParam() = 1
976
+ #
977
+ # into this:
978
+ #
979
+ # DBTest.Empty
980
+ # DBTest.WriteEmptyBatch
981
+ # MultiThreaded/MultiThreadedDBTest.MultiThreaded/0
982
+ # MultiThreaded/MultiThreadedDBTest.MultiThreaded/1
983
+ #
984
+
985
+ parallel_tests = $(patsubst %,parallel_%,$(PARALLEL_TEST))
986
+ .PHONY: gen_parallel_tests $(parallel_tests)
987
+ $(parallel_tests): $(PARALLEL_TEST)
988
+ $(AM_V_at)TEST_BINARY=$(patsubst parallel_%,%,$@); \
989
+ TEST_NAMES=` \
990
+ ./$$TEST_BINARY --gtest_list_tests \
991
+ | perl -n \
992
+ -e 's/ *\#.*//;' \
993
+ -e '/^(\s*)(\S+)/; !$$1 and do {$$p=$$2; break};' \
994
+ -e 'print qq! $$p$$2!'`; \
995
+ for TEST_NAME in $$TEST_NAMES; do \
996
+ TEST_SCRIPT=t/run-$$TEST_BINARY-$${TEST_NAME//\//-}; \
997
+ echo " GEN " $$TEST_SCRIPT; \
998
+ printf '%s\n' \
999
+ '#!/bin/sh' \
1000
+ "d=\$(TMPD)$$TEST_SCRIPT" \
1001
+ 'mkdir -p $$d' \
1002
+ "TEST_TMPDIR=\$$d $(DRIVER) ./$$TEST_BINARY --gtest_filter=$$TEST_NAME" \
1003
+ > $$TEST_SCRIPT; \
1004
+ chmod a=rx $$TEST_SCRIPT; \
1005
+ done
1006
+
1007
+ gen_parallel_tests:
1008
+ $(AM_V_at)mkdir -p t
1009
+ $(AM_V_at)$(FIND) t -type f -name 'run-*' -exec rm -f {} \;
1010
+ $(MAKE) $(parallel_tests)
1011
+
1012
+ # Reorder input lines (which are one per test) so that the
1013
+ # longest-running tests appear first in the output.
1014
+ # Do this by prefixing each selected name with its duration,
1015
+ # sort the resulting names, and remove the leading numbers.
1016
+ # FIXME: the "100" we prepend is a fake time, for now.
1017
+ # FIXME: squirrel away timings from each run and use them
1018
+ # (when present) on subsequent runs to order these tests.
1019
+ #
1020
+ # Without this reordering, these two tests would happen to start only
1021
+ # after almost all other tests had completed, thus adding 100 seconds
1022
+ # to the duration of parallel "make check". That's the difference
1023
+ # between 4 minutes (old) and 2m20s (new).
1024
+ #
1025
+ # 152.120 PASS t/DBTest.FileCreationRandomFailure
1026
+ # 107.816 PASS t/DBTest.EncodeDecompressedBlockSizeTest
1027
+ #
1028
+ slow_test_regexp = \
1029
+ ^.*SnapshotConcurrentAccessTest.*$$|^t/run-table_test-HarnessTest.Randomized$$|^t/run-db_test-.*(?:FileCreationRandomFailure|EncodeDecompressedBlockSizeTest)$$|^.*RecoverFromCorruptedWALWithoutFlush$$
1030
+ prioritize_long_running_tests = \
1031
+ perl -pe 's,($(slow_test_regexp)),100 $$1,' \
1032
+ | sort -k1,1gr \
1033
+ | sed 's/^[.0-9]* //'
1034
+
1035
+ # "make check" uses
1036
+ # Run with "make J=1 check" to disable parallelism in "make check".
1037
+ # Run with "make J=200% check" to run two parallel jobs per core.
1038
+ # The default is to run one job per core (J=100%).
1039
+ # See "man parallel" for its "-j ..." option.
1040
+ J ?= 100%
1041
+
1042
+ # Use this regexp to select the subset of tests whose names match.
1043
+ tests-regexp = .
1044
+ EXCLUDE_TESTS_REGEX ?= "^$"
1045
+
1046
+ ifeq ($(PRINT_PARALLEL_OUTPUTS), 1)
1047
+ parallel_com = '{}'
1048
+ else
1049
+ parallel_com = '{} >& t/log-{/}'
1050
+ endif
1051
+
1052
+ .PHONY: check_0
1053
+ check_0:
1054
+ $(AM_V_GEN)export TEST_TMPDIR=$(TMPD); \
1055
+ printf '%s\n' '' \
1056
+ 'To monitor subtest <duration,pass/fail,name>,' \
1057
+ ' run "make watch-log" in a separate window' ''; \
1058
+ test -t 1 && eta=--eta || eta=; \
1059
+ { \
1060
+ printf './%s\n' $(filter-out $(PARALLEL_TEST),$(TESTS)); \
1061
+ find t -name 'run-*' -print; \
1062
+ } \
1063
+ | $(prioritize_long_running_tests) \
1064
+ | grep -E '$(tests-regexp)' \
1065
+ | grep -E -v '$(EXCLUDE_TESTS_REGEX)' \
1066
+ | build_tools/gnu_parallel -j$(J) --plain --joblog=LOG $$eta --gnu $(parallel_com) ; \
1067
+ parallel_retcode=$$? ; \
1068
+ awk '{ if ($$7 != 0 || $$8 != 0) { if ($$7 == "Exitval") { h = $$0; } else { if (!f) print h; print; f = 1 } } } END { if(f) exit 1; }' < LOG ; \
1069
+ awk_retcode=$$?; \
1070
+ if [ $$parallel_retcode -ne 0 ] || [ $$awk_retcode -ne 0 ] ; then exit 1 ; fi
1071
+
1072
+ valgrind-exclude-regexp = InlineSkipTest.ConcurrentInsert|TransactionStressTest.DeadlockStress|DBCompactionTest.SuggestCompactRangeNoTwoLevel0Compactions|BackupableDBTest.RateLimiting|DBTest.CloseSpeedup|DBTest.ThreadStatusFlush|DBTest.RateLimitingTest|DBTest.EncodeDecompressedBlockSizeTest|FaultInjectionTest.UninstalledCompaction|HarnessTest.Randomized|ExternalSSTFileTest.CompactDuringAddFileRandom|ExternalSSTFileTest.IngestFileWithGlobalSeqnoRandomized|MySQLStyleTransactionTest.TransactionStressTest
1073
+
1074
+ .PHONY: valgrind_check_0
1075
+ valgrind_check_0:
1076
+ $(AM_V_GEN)export TEST_TMPDIR=$(TMPD); \
1077
+ printf '%s\n' '' \
1078
+ 'To monitor subtest <duration,pass/fail,name>,' \
1079
+ ' run "make watch-log" in a separate window' ''; \
1080
+ test -t 1 && eta=--eta || eta=; \
1081
+ { \
1082
+ printf './%s\n' $(filter-out $(PARALLEL_TEST) %skiplist_test options_settable_test, $(TESTS)); \
1083
+ find t -name 'run-*' -print; \
1084
+ } \
1085
+ | $(prioritize_long_running_tests) \
1086
+ | grep -E '$(tests-regexp)' \
1087
+ | grep -E -v '$(valgrind-exclude-regexp)' \
1088
+ | build_tools/gnu_parallel -j$(J) --plain --joblog=LOG $$eta --gnu \
1089
+ '(if [[ "{}" == "./"* ]] ; then $(DRIVER) {}; else {}; fi) ' \
1090
+ '>& t/valgrind_log-{/}'
1091
+
1092
+ CLEAN_FILES += t LOG $(TMPD)
1093
+
1094
+ # When running parallel "make check", you can monitor its progress
1095
+ # from another window.
1096
+ # Run "make watch_LOG" to show the duration,PASS/FAIL,name of parallel
1097
+ # tests as they are being run. We sort them so that longer-running ones
1098
+ # appear at the top of the list and any failing tests remain at the top
1099
+ # regardless of their duration. As with any use of "watch", hit ^C to
1100
+ # interrupt.
1101
+ watch-log:
1102
+ $(WATCH) --interval=0 'sort -k7,7nr -k4,4gr LOG|$(quoted_perl_command)'
1103
+
1104
+ dump-log:
1105
+ bash -c '$(quoted_perl_command)' < LOG
1106
+
1107
+ # If J != 1 and GNU parallel is installed, run the tests in parallel,
1108
+ # via the check_0 rule above. Otherwise, run them sequentially.
1109
+ check: all
1110
+ $(MAKE) gen_parallel_tests
1111
+ $(AM_V_GEN)if test "$(J)" != 1 \
1112
+ && (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
1113
+ grep -q 'GNU Parallel'; \
1114
+ then \
1115
+ $(MAKE) T="$$t" TMPD=$(TMPD) check_0; \
1116
+ else \
1117
+ for t in $(TESTS); do \
1118
+ echo "===== Running $$t (`date`)"; ./$$t || exit 1; done; \
1119
+ fi
1120
+ rm -rf $(TMPD)
1121
+ ifneq ($(PLATFORM), OS_AIX)
1122
+ $(PYTHON) tools/check_all_python.py
1123
+ ifeq ($(filter -DROCKSDB_LITE,$(OPT)),)
1124
+ ifndef ASSERT_STATUS_CHECKED # not yet working with these tests
1125
+ $(PYTHON) tools/ldb_test.py
1126
+ sh tools/rocksdb_dump_test.sh
1127
+ endif
1128
+ endif
1129
+ endif
1130
+ ifndef SKIP_FORMAT_BUCK_CHECKS
1131
+ $(MAKE) check-format
1132
+ $(MAKE) check-buck-targets
1133
+ endif
1134
+
1135
+ # TODO add ldb_tests
1136
+ check_some: $(ROCKSDBTESTS_SUBSET)
1137
+ for t in $(ROCKSDBTESTS_SUBSET); do echo "===== Running $$t (`date`)"; ./$$t || exit 1; done
1138
+
1139
+ .PHONY: ldb_tests
1140
+ ldb_tests: ldb
1141
+ $(PYTHON) tools/ldb_test.py
1142
+
1143
+ crash_test: whitebox_crash_test blackbox_crash_test
1144
+
1145
+ crash_test_with_atomic_flush: whitebox_crash_test_with_atomic_flush blackbox_crash_test_with_atomic_flush
1146
+
1147
+ crash_test_with_txn: whitebox_crash_test_with_txn blackbox_crash_test_with_txn
1148
+
1149
+ crash_test_with_best_efforts_recovery: blackbox_crash_test_with_best_efforts_recovery
1150
+
1151
+ blackbox_crash_test: db_stress
1152
+ $(PYTHON) -u tools/db_crashtest.py --simple blackbox $(CRASH_TEST_EXT_ARGS)
1153
+ $(PYTHON) -u tools/db_crashtest.py blackbox $(CRASH_TEST_EXT_ARGS)
1154
+
1155
+ blackbox_crash_test_with_atomic_flush: db_stress
1156
+ $(PYTHON) -u tools/db_crashtest.py --cf_consistency blackbox $(CRASH_TEST_EXT_ARGS)
1157
+
1158
+ blackbox_crash_test_with_txn: db_stress
1159
+ $(PYTHON) -u tools/db_crashtest.py --txn blackbox $(CRASH_TEST_EXT_ARGS)
1160
+
1161
+ blackbox_crash_test_with_best_efforts_recovery: db_stress
1162
+ $(PYTHON) -u tools/db_crashtest.py --test_best_efforts_recovery blackbox $(CRASH_TEST_EXT_ARGS)
1163
+
1164
+ ifeq ($(CRASH_TEST_KILL_ODD),)
1165
+ CRASH_TEST_KILL_ODD=888887
1166
+ endif
1167
+
1168
+ whitebox_crash_test: db_stress
1169
+ $(PYTHON) -u tools/db_crashtest.py --simple whitebox --random_kill_odd \
1170
+ $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
1171
+ $(PYTHON) -u tools/db_crashtest.py whitebox --random_kill_odd \
1172
+ $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
1173
+
1174
+ whitebox_crash_test_with_atomic_flush: db_stress
1175
+ $(PYTHON) -u tools/db_crashtest.py --cf_consistency whitebox --random_kill_odd \
1176
+ $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
1177
+
1178
+ whitebox_crash_test_with_txn: db_stress
1179
+ $(PYTHON) -u tools/db_crashtest.py --txn whitebox --random_kill_odd \
1180
+ $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
1181
+
1182
+ asan_check: clean
1183
+ COMPILE_WITH_ASAN=1 $(MAKE) check -j32
1184
+ $(MAKE) clean
1185
+
1186
+ asan_crash_test: clean
1187
+ COMPILE_WITH_ASAN=1 $(MAKE) crash_test
1188
+ $(MAKE) clean
1189
+
1190
+ whitebox_asan_crash_test: clean
1191
+ COMPILE_WITH_ASAN=1 $(MAKE) whitebox_crash_test
1192
+ $(MAKE) clean
1193
+
1194
+ blackbox_asan_crash_test: clean
1195
+ COMPILE_WITH_ASAN=1 $(MAKE) blackbox_crash_test
1196
+ $(MAKE) clean
1197
+
1198
+ asan_crash_test_with_atomic_flush: clean
1199
+ COMPILE_WITH_ASAN=1 $(MAKE) crash_test_with_atomic_flush
1200
+ $(MAKE) clean
1201
+
1202
+ asan_crash_test_with_txn: clean
1203
+ COMPILE_WITH_ASAN=1 $(MAKE) crash_test_with_txn
1204
+ $(MAKE) clean
1205
+
1206
+ asan_crash_test_with_best_efforts_recovery: clean
1207
+ COMPILE_WITH_ASAN=1 $(MAKE) crash_test_with_best_efforts_recovery
1208
+ $(MAKE) clean
1209
+
1210
+ ubsan_check: clean
1211
+ COMPILE_WITH_UBSAN=1 $(MAKE) check -j32
1212
+ $(MAKE) clean
1213
+
1214
+ ubsan_crash_test: clean
1215
+ COMPILE_WITH_UBSAN=1 $(MAKE) crash_test
1216
+ $(MAKE) clean
1217
+
1218
+ whitebox_ubsan_crash_test: clean
1219
+ COMPILE_WITH_UBSAN=1 $(MAKE) whitebox_crash_test
1220
+ $(MAKE) clean
1221
+
1222
+ blackbox_ubsan_crash_test: clean
1223
+ COMPILE_WITH_UBSAN=1 $(MAKE) blackbox_crash_test
1224
+ $(MAKE) clean
1225
+
1226
+ ubsan_crash_test_with_atomic_flush: clean
1227
+ COMPILE_WITH_UBSAN=1 $(MAKE) crash_test_with_atomic_flush
1228
+ $(MAKE) clean
1229
+
1230
+ ubsan_crash_test_with_txn: clean
1231
+ COMPILE_WITH_UBSAN=1 $(MAKE) crash_test_with_txn
1232
+ $(MAKE) clean
1233
+
1234
+ ubsan_crash_test_with_best_efforts_recovery: clean
1235
+ COMPILE_WITH_UBSAN=1 $(MAKE) crash_test_with_best_efforts_recovery
1236
+ $(MAKE) clean
1237
+
1238
+ valgrind_test:
1239
+ ROCKSDB_VALGRIND_RUN=1 DISABLE_JEMALLOC=1 $(MAKE) valgrind_check
1240
+
1241
+ valgrind_test_some:
1242
+ ROCKSDB_VALGRIND_RUN=1 DISABLE_JEMALLOC=1 $(MAKE) valgrind_check_some
1243
+
1244
+ valgrind_check: $(TESTS)
1245
+ $(MAKE) DRIVER="$(VALGRIND_VER) $(VALGRIND_OPTS)" gen_parallel_tests
1246
+ $(AM_V_GEN)if test "$(J)" != 1 \
1247
+ && (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
1248
+ grep -q 'GNU Parallel'; \
1249
+ then \
1250
+ $(MAKE) TMPD=$(TMPD) \
1251
+ DRIVER="$(VALGRIND_VER) $(VALGRIND_OPTS)" valgrind_check_0; \
1252
+ else \
1253
+ for t in $(filter-out %skiplist_test options_settable_test,$(TESTS)); do \
1254
+ $(VALGRIND_VER) $(VALGRIND_OPTS) ./$$t; \
1255
+ ret_code=$$?; \
1256
+ if [ $$ret_code -ne 0 ]; then \
1257
+ exit $$ret_code; \
1258
+ fi; \
1259
+ done; \
1260
+ fi
1261
+
1262
+ valgrind_check_some: $(ROCKSDBTESTS_SUBSET)
1263
+ for t in $(ROCKSDBTESTS_SUBSET); do \
1264
+ $(VALGRIND_VER) $(VALGRIND_OPTS) ./$$t; \
1265
+ ret_code=$$?; \
1266
+ if [ $$ret_code -ne 0 ]; then \
1267
+ exit $$ret_code; \
1268
+ fi; \
1269
+ done
1270
+
1271
+ ifneq ($(PAR_TEST),)
1272
+ parloop:
1273
+ ret_bad=0; \
1274
+ for t in $(PAR_TEST); do \
1275
+ echo "===== Running $$t in parallel $(NUM_PAR) (`date`)";\
1276
+ if [ $(db_test) -eq 1 ]; then \
1277
+ seq $(J) | v="$$t" build_tools/gnu_parallel --gnu --plain 's=$(TMPD)/rdb-{}; export TEST_TMPDIR=$$s;' \
1278
+ 'timeout 2m ./db_test --gtest_filter=$$v >> $$s/log-{} 2>1'; \
1279
+ else\
1280
+ seq $(J) | v="./$$t" build_tools/gnu_parallel --gnu --plain 's=$(TMPD)/rdb-{};' \
1281
+ 'export TEST_TMPDIR=$$s; timeout 10m $$v >> $$s/log-{} 2>1'; \
1282
+ fi; \
1283
+ ret_code=$$?; \
1284
+ if [ $$ret_code -ne 0 ]; then \
1285
+ ret_bad=$$ret_code; \
1286
+ echo $$t exited with $$ret_code; \
1287
+ fi; \
1288
+ done; \
1289
+ exit $$ret_bad;
1290
+ endif
1291
+
1292
+ test_names = \
1293
+ ./db_test --gtest_list_tests \
1294
+ | perl -n \
1295
+ -e 's/ *\#.*//;' \
1296
+ -e '/^(\s*)(\S+)/; !$$1 and do {$$p=$$2; break};' \
1297
+ -e 'print qq! $$p$$2!'
1298
+
1299
+ parallel_check: $(TESTS)
1300
+ $(AM_V_GEN)if test "$(J)" > 1 \
1301
+ && (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
1302
+ grep -q 'GNU Parallel'; \
1303
+ then \
1304
+ echo Running in parallel $(J); \
1305
+ else \
1306
+ echo "Need to have GNU Parallel and J > 1"; exit 1; \
1307
+ fi; \
1308
+ ret_bad=0; \
1309
+ echo $(J);\
1310
+ echo Test Dir: $(TMPD); \
1311
+ seq $(J) | build_tools/gnu_parallel --gnu --plain 's=$(TMPD)/rdb-{}; rm -rf $$s; mkdir $$s'; \
1312
+ $(MAKE) PAR_TEST="$(shell $(test_names))" TMPD=$(TMPD) \
1313
+ J=$(J) db_test=1 parloop; \
1314
+ $(MAKE) PAR_TEST="$(filter-out db_test, $(TESTS))" \
1315
+ TMPD=$(TMPD) J=$(J) db_test=0 parloop;
1316
+
1317
+ analyze: clean
1318
+ USE_CLANG=1 $(MAKE) analyze_incremental
1319
+
1320
+ analyze_incremental:
1321
+ $(CLANG_SCAN_BUILD) --use-analyzer=$(CLANG_ANALYZER) \
1322
+ --use-c++=$(CXX) --use-cc=$(CC) --status-bugs \
1323
+ -o $(CURDIR)/scan_build_report \
1324
+ $(MAKE) dbg
1325
+
1326
+ CLEAN_FILES += unity.cc
1327
+ unity.cc: Makefile
1328
+ rm -f $@ $@-t
1329
+ for source_file in $(LIB_SOURCES); do \
1330
+ echo "#include \"$$source_file\"" >> $@-t; \
1331
+ done
1332
+ chmod a=r $@-t
1333
+ mv $@-t $@
1334
+
1335
+ unity.a: $(OBJ_DIR)/unity.o
1336
+ $(AM_V_AR)rm -f $@
1337
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $(OBJ_DIR)/unity.o
1338
+
1339
+
1340
+ # try compiling db_test with unity
1341
+ unity_test: $(OBJ_DIR)/db/db_basic_test.o $(OBJ_DIR)/db/db_test_util.o $(TEST_OBJECTS) $(TOOL_OBJECTS) unity.a
1342
+ $(AM_LINK)
1343
+ ./unity_test
1344
+
1345
+ rocksdb.h rocksdb.cc: build_tools/amalgamate.py Makefile $(LIB_SOURCES) unity.cc
1346
+ build_tools/amalgamate.py -I. -i./include unity.cc -x include/rocksdb/c.h -H rocksdb.h -o rocksdb.cc
1347
+
1348
+ clean: clean-ext-libraries-all clean-rocks clean-rocksjava
1349
+
1350
+ clean-not-downloaded: clean-ext-libraries-bin clean-rocks clean-not-downloaded-rocksjava
1351
+
1352
+ clean-rocks:
1353
+ echo shared=$(ALL_SHARED_LIBS)
1354
+ echo static=$(ALL_STATIC_LIBS)
1355
+ rm -f $(BENCHMARKS) $(TOOLS) $(TESTS) $(PARALLEL_TEST) $(ALL_STATIC_LIBS) $(ALL_SHARED_LIBS)
1356
+ rm -rf $(CLEAN_FILES) ios-x86 ios-arm scan_build_report
1357
+ $(FIND) . -name "*.[oda]" -exec rm -f {} \;
1358
+ $(FIND) . -type f -regex ".*\.\(\(gcda\)\|\(gcno\)\)" -exec rm -f {} \;
1359
+
1360
+ clean-rocksjava:
1361
+ rm -rf jl jls
1362
+ cd java && $(MAKE) clean
1363
+
1364
+ clean-not-downloaded-rocksjava:
1365
+ cd java && $(MAKE) clean-not-downloaded
1366
+
1367
+ clean-ext-libraries-all:
1368
+ rm -rf bzip2* snappy* zlib* lz4* zstd*
1369
+
1370
+ clean-ext-libraries-bin:
1371
+ find . -maxdepth 1 -type d \( -name bzip2\* -or -name snappy\* -or -name zlib\* -or -name lz4\* -or -name zstd\* \) -prune -exec rm -rf {} \;
1372
+
1373
+ tags:
1374
+ ctags -R .
1375
+ cscope -b `$(FIND) . -name '*.cc'` `$(FIND) . -name '*.h'` `$(FIND) . -name '*.c'`
1376
+ ctags -e -R -o etags *
1377
+
1378
+ tags0:
1379
+ ctags -R .
1380
+ cscope -b `$(FIND) . -name '*.cc' -and ! -name '*_test.cc'` \
1381
+ `$(FIND) . -name '*.c' -and ! -name '*_test.c'` \
1382
+ `$(FIND) . -name '*.h' -and ! -name '*_test.h'`
1383
+ ctags -e -R -o etags *
1384
+
1385
+ format:
1386
+ build_tools/format-diff.sh
1387
+
1388
+ check-format:
1389
+ build_tools/format-diff.sh -c
1390
+
1391
+ check-buck-targets:
1392
+ buckifier/check_buck_targets.sh
1393
+
1394
+ package:
1395
+ bash build_tools/make_package.sh $(SHARED_MAJOR).$(SHARED_MINOR)
1396
+
1397
+ # ---------------------------------------------------------------------------
1398
+ # Unit tests and tools
1399
+ # ---------------------------------------------------------------------------
1400
+ $(STATIC_LIBRARY): $(LIB_OBJECTS)
1401
+ $(AM_V_AR)rm -f $@ $(SHARED1) $(SHARED2) $(SHARED3) $(SHARED4)
1402
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $(LIB_OBJECTS)
1403
+
1404
+ $(STATIC_TEST_LIBRARY): $(TEST_OBJECTS)
1405
+ $(AM_V_AR)rm -f $@ $(SHARED_TEST_LIBRARY)
1406
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $^
1407
+
1408
+ $(STATIC_TOOLS_LIBRARY): $(BENCH_OBJECTS) $(TOOL_OBJECTS)
1409
+ $(AM_V_AR)rm -f $@ $(SHARED_TOOLS_LIBRARY)
1410
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $^
1411
+
1412
+ $(STATIC_STRESS_LIBRARY): $(ANALYZE_OBJECTS) $(STRESS_OBJECTS)
1413
+ $(AM_V_AR)rm -f $@ $(SHARED_STRESS_LIBRARY)
1414
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $^
1415
+
1416
+ $(SHARED_TEST_LIBRARY): $(TEST_OBJECTS) $(SHARED1)
1417
+ $(AM_V_AR)rm -f $@ $(STATIC_TEST_LIBRARY)
1418
+ $(AM_SHARE)
1419
+
1420
+ $(SHARED_TOOLS_LIBRARY): $(TOOL_OBJECTS) $(SHARED1)
1421
+ $(AM_V_AR)rm -f $@ $(STATIC_TOOLS_LIBRARY)
1422
+ $(AM_SHARE)
1423
+
1424
+ $(SHARED_STRESS_LIBRARY): $(ANALYZE_OBJECTS) $(STRESS_OBJECTS) $(SHARED_TOOLS_LIBRARY) $(SHARED1)
1425
+ $(AM_V_AR)rm -f $@ $(STATIC_STRESS_LIBRARY)
1426
+ $(AM_SHARE)
1427
+
1428
+ librocksdb_env_basic_test.a: $(OBJ_DIR)/env/env_basic_test.o $(LIB_OBJECTS) $(TESTHARNESS)
1429
+ $(AM_V_AR)rm -f $@
1430
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $^
1431
+
1432
+ db_bench: $(OBJ_DIR)/tools/db_bench.o $(BENCH_OBJECTS) $(TESTUTIL) $(LIBRARY)
1433
+ $(AM_LINK)
1434
+
1435
+ trace_analyzer: $(OBJ_DIR)/tools/trace_analyzer.o $(ANALYZE_OBJECTS) $(TOOLS_LIBRARY) $(LIBRARY)
1436
+ $(AM_LINK)
1437
+
1438
+ block_cache_trace_analyzer: $(OBJ_DIR)/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.o $(ANALYZE_OBJECTS) $(TOOLS_LIBRARY) $(LIBRARY)
1439
+ $(AM_LINK)
1440
+
1441
+ ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1)
1442
+ folly_synchronization_distributed_mutex_test: $(OBJ_DIR)/third-party/folly/folly/synchronization/test/DistributedMutexTest.o $(TEST_LIBRARY) $(LIBRARY)
1443
+ $(AM_LINK)
1444
+ endif
1445
+
1446
+ cache_bench: $(OBJ_DIR)/cache/cache_bench.o $(LIBRARY)
1447
+ $(AM_LINK)
1448
+
1449
+ persistent_cache_bench: $(OBJ_DIR)/utilities/persistent_cache/persistent_cache_bench.o $(LIBRARY)
1450
+ $(AM_LINK)
1451
+
1452
+ memtablerep_bench: $(OBJ_DIR)/memtable/memtablerep_bench.o $(LIBRARY)
1453
+ $(AM_LINK)
1454
+
1455
+ filter_bench: $(OBJ_DIR)/util/filter_bench.o $(LIBRARY)
1456
+ $(AM_LINK)
1457
+
1458
+ db_stress: $(OBJ_DIR)/db_stress_tool/db_stress.o $(STRESS_LIBRARY) $(TOOLS_LIBRARY) $(LIBRARY)
1459
+ $(AM_LINK)
1460
+
1461
+ write_stress: $(OBJ_DIR)/tools/write_stress.o $(LIBRARY)
1462
+ $(AM_LINK)
1463
+
1464
+ db_sanity_test: $(OBJ_DIR)/tools/db_sanity_test.o $(LIBRARY)
1465
+ $(AM_LINK)
1466
+
1467
+ db_repl_stress: $(OBJ_DIR)/tools/db_repl_stress.o $(LIBRARY)
1468
+ $(AM_LINK)
1469
+
1470
+ arena_test: $(OBJ_DIR)/memory/arena_test.o $(TEST_LIBRARY) $(LIBRARY)
1471
+ $(AM_LINK)
1472
+
1473
+ memkind_kmem_allocator_test: memory/memkind_kmem_allocator_test.o $(TEST_LIBRARY) $(LIBRARY)
1474
+ $(AM_LINK)
1475
+
1476
+ autovector_test: $(OBJ_DIR)/util/autovector_test.o $(TEST_LIBRARY) $(LIBRARY)
1477
+ $(AM_LINK)
1478
+
1479
+ column_family_test: $(OBJ_DIR)/db/column_family_test.o $(TEST_LIBRARY) $(LIBRARY)
1480
+ $(AM_LINK)
1481
+
1482
+ table_properties_collector_test: $(OBJ_DIR)/db/table_properties_collector_test.o $(TEST_LIBRARY) $(LIBRARY)
1483
+ $(AM_LINK)
1484
+
1485
+ bloom_test: $(OBJ_DIR)/util/bloom_test.o $(TEST_LIBRARY) $(LIBRARY)
1486
+ $(AM_LINK)
1487
+
1488
+ dynamic_bloom_test: $(OBJ_DIR)/util/dynamic_bloom_test.o $(TEST_LIBRARY) $(LIBRARY)
1489
+ $(AM_LINK)
1490
+
1491
+ c_test: $(OBJ_DIR)/db/c_test.o $(TEST_LIBRARY) $(LIBRARY)
1492
+ $(AM_LINK)
1493
+
1494
+ cache_test: $(OBJ_DIR)/cache/cache_test.o $(TEST_LIBRARY) $(LIBRARY)
1495
+ $(AM_LINK)
1496
+
1497
+ coding_test: $(OBJ_DIR)/util/coding_test.o $(TEST_LIBRARY) $(LIBRARY)
1498
+ $(AM_LINK)
1499
+
1500
+ hash_test: $(OBJ_DIR)/util/hash_test.o $(TEST_LIBRARY) $(LIBRARY)
1501
+ $(AM_LINK)
1502
+
1503
+ random_test: $(OBJ_DIR)/util/random_test.o $(TEST_LIBRARY) $(LIBRARY)
1504
+ $(AM_LINK)
1505
+
1506
+ ribbon_test: $(OBJ_DIR)/util/ribbon_test.o $(TEST_LIBRARY) $(LIBRARY)
1507
+ $(AM_LINK)
1508
+
1509
+ option_change_migration_test: $(OBJ_DIR)/utilities/option_change_migration/option_change_migration_test.o $(TEST_LIBRARY) $(LIBRARY)
1510
+ $(AM_LINK)
1511
+
1512
+ stringappend_test: $(OBJ_DIR)/utilities/merge_operators/string_append/stringappend_test.o $(TEST_LIBRARY) $(LIBRARY)
1513
+ $(AM_LINK)
1514
+
1515
+ cassandra_format_test: $(OBJ_DIR)/utilities/cassandra/cassandra_format_test.o $(OBJ_DIR)/utilities/cassandra/test_utils.o $(TEST_LIBRARY) $(LIBRARY)
1516
+ $(AM_LINK)
1517
+
1518
+ cassandra_functional_test: $(OBJ_DIR)/utilities/cassandra/cassandra_functional_test.o $(OBJ_DIR)/utilities/cassandra/test_utils.o $(TEST_LIBRARY) $(LIBRARY)
1519
+ $(AM_LINK)
1520
+
1521
+ cassandra_row_merge_test: $(OBJ_DIR)/utilities/cassandra/cassandra_row_merge_test.o $(OBJ_DIR)/utilities/cassandra/test_utils.o $(TEST_LIBRARY) $(LIBRARY)
1522
+ $(AM_LINK)
1523
+
1524
+ cassandra_serialize_test: $(OBJ_DIR)/utilities/cassandra/cassandra_serialize_test.o $(TEST_LIBRARY) $(LIBRARY)
1525
+ $(AM_LINK)
1526
+
1527
+ hash_table_test: $(OBJ_DIR)/utilities/persistent_cache/hash_table_test.o $(TEST_LIBRARY) $(LIBRARY)
1528
+ $(AM_LINK)
1529
+
1530
+ histogram_test: $(OBJ_DIR)/monitoring/histogram_test.o $(TEST_LIBRARY) $(LIBRARY)
1531
+ $(AM_LINK)
1532
+
1533
+ thread_local_test: $(OBJ_DIR)/util/thread_local_test.o $(TEST_LIBRARY) $(LIBRARY)
1534
+ $(AM_LINK)
1535
+
1536
+ work_queue_test: $(OBJ_DIR)/util/work_queue_test.o $(TEST_LIBRARY) $(LIBRARY)
1537
+ $(AM_LINK)
1538
+
1539
+ corruption_test: $(OBJ_DIR)/db/corruption_test.o $(TEST_LIBRARY) $(LIBRARY)
1540
+ $(AM_LINK)
1541
+
1542
+ crc32c_test: $(OBJ_DIR)/util/crc32c_test.o $(TEST_LIBRARY) $(LIBRARY)
1543
+ $(AM_LINK)
1544
+
1545
+ slice_test: $(OBJ_DIR)/util/slice_test.o $(TEST_LIBRARY) $(LIBRARY)
1546
+ $(AM_LINK)
1547
+
1548
+ slice_transform_test: $(OBJ_DIR)/util/slice_transform_test.o $(TEST_LIBRARY) $(LIBRARY)
1549
+ $(AM_LINK)
1550
+
1551
+ db_basic_test: $(OBJ_DIR)/db/db_basic_test.o $(TEST_LIBRARY) $(LIBRARY)
1552
+ $(AM_LINK)
1553
+
1554
+ db_blob_basic_test: $(OBJ_DIR)/db/blob/db_blob_basic_test.o $(TEST_LIBRARY) $(LIBRARY)
1555
+ $(AM_LINK)
1556
+
1557
+ db_with_timestamp_basic_test: $(OBJ_DIR)/db/db_with_timestamp_basic_test.o $(TEST_LIBRARY) $(LIBRARY)
1558
+ $(AM_LINK)
1559
+
1560
+ db_with_timestamp_compaction_test: db/db_with_timestamp_compaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1561
+ $(AM_LINK)
1562
+
1563
+ db_encryption_test: $(OBJ_DIR)/db/db_encryption_test.o $(TEST_LIBRARY) $(LIBRARY)
1564
+ $(AM_LINK)
1565
+
1566
+ db_test: $(OBJ_DIR)/db/db_test.o $(TEST_LIBRARY) $(LIBRARY)
1567
+ $(AM_LINK)
1568
+
1569
+ db_test2: $(OBJ_DIR)/db/db_test2.o $(TEST_LIBRARY) $(LIBRARY)
1570
+ $(AM_LINK)
1571
+
1572
+ db_logical_block_size_cache_test: $(OBJ_DIR)/db/db_logical_block_size_cache_test.o $(TEST_LIBRARY) $(LIBRARY)
1573
+ $(AM_LINK)
1574
+
1575
+ db_blob_index_test: $(OBJ_DIR)/db/blob/db_blob_index_test.o $(TEST_LIBRARY) $(LIBRARY)
1576
+ $(AM_LINK)
1577
+
1578
+ db_block_cache_test: $(OBJ_DIR)/db/db_block_cache_test.o $(TEST_LIBRARY) $(LIBRARY)
1579
+ $(AM_LINK)
1580
+
1581
+ db_bloom_filter_test: $(OBJ_DIR)/db/db_bloom_filter_test.o $(TEST_LIBRARY) $(LIBRARY)
1582
+ $(AM_LINK)
1583
+
1584
+ db_log_iter_test: $(OBJ_DIR)/db/db_log_iter_test.o $(TEST_LIBRARY) $(LIBRARY)
1585
+ $(AM_LINK)
1586
+
1587
+ db_compaction_filter_test: $(OBJ_DIR)/db/db_compaction_filter_test.o $(TEST_LIBRARY) $(LIBRARY)
1588
+ $(AM_LINK)
1589
+
1590
+ db_compaction_test: $(OBJ_DIR)/db/db_compaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1591
+ $(AM_LINK)
1592
+
1593
+ db_dynamic_level_test: $(OBJ_DIR)/db/db_dynamic_level_test.o $(TEST_LIBRARY) $(LIBRARY)
1594
+ $(AM_LINK)
1595
+
1596
+ db_flush_test: $(OBJ_DIR)/db/db_flush_test.o $(TEST_LIBRARY) $(LIBRARY)
1597
+ $(AM_LINK)
1598
+
1599
+ db_inplace_update_test: $(OBJ_DIR)/db/db_inplace_update_test.o $(TEST_LIBRARY) $(LIBRARY)
1600
+ $(AM_LINK)
1601
+
1602
+ db_iterator_test: $(OBJ_DIR)/db/db_iterator_test.o $(TEST_LIBRARY) $(LIBRARY)
1603
+ $(AM_LINK)
1604
+
1605
+ db_memtable_test: $(OBJ_DIR)/db/db_memtable_test.o $(TEST_LIBRARY) $(LIBRARY)
1606
+ $(AM_LINK)
1607
+
1608
+ db_merge_operator_test: $(OBJ_DIR)/db/db_merge_operator_test.o $(TEST_LIBRARY) $(LIBRARY)
1609
+ $(AM_LINK)
1610
+
1611
+ db_merge_operand_test: $(OBJ_DIR)/db/db_merge_operand_test.o $(TEST_LIBRARY) $(LIBRARY)
1612
+ $(AM_LINK)
1613
+
1614
+ db_options_test: $(OBJ_DIR)/db/db_options_test.o $(TEST_LIBRARY) $(LIBRARY)
1615
+ $(AM_LINK)
1616
+
1617
+ db_range_del_test: $(OBJ_DIR)/db/db_range_del_test.o $(TEST_LIBRARY) $(LIBRARY)
1618
+ $(AM_LINK)
1619
+
1620
+ db_sst_test: $(OBJ_DIR)/db/db_sst_test.o $(TEST_LIBRARY) $(LIBRARY)
1621
+ $(AM_LINK)
1622
+
1623
+ db_statistics_test: $(OBJ_DIR)/db/db_statistics_test.o $(TEST_LIBRARY) $(LIBRARY)
1624
+ $(AM_LINK)
1625
+
1626
+ db_write_test: $(OBJ_DIR)/db/db_write_test.o $(TEST_LIBRARY) $(LIBRARY)
1627
+ $(AM_LINK)
1628
+
1629
+ error_handler_fs_test: $(OBJ_DIR)/db/error_handler_fs_test.o $(TEST_LIBRARY) $(LIBRARY)
1630
+ $(AM_LINK)
1631
+
1632
+ external_sst_file_basic_test: $(OBJ_DIR)/db/external_sst_file_basic_test.o $(TEST_LIBRARY) $(LIBRARY)
1633
+ $(AM_LINK)
1634
+
1635
+ external_sst_file_test: $(OBJ_DIR)/db/external_sst_file_test.o $(TEST_LIBRARY) $(LIBRARY)
1636
+ $(AM_LINK)
1637
+
1638
+ import_column_family_test: $(OBJ_DIR)/db/import_column_family_test.o $(TEST_LIBRARY) $(LIBRARY)
1639
+ $(AM_LINK)
1640
+
1641
+ db_tailing_iter_test: $(OBJ_DIR)/db/db_tailing_iter_test.o $(TEST_LIBRARY) $(LIBRARY)
1642
+ $(AM_LINK)
1643
+
1644
+ db_iter_test: $(OBJ_DIR)/db/db_iter_test.o $(TEST_LIBRARY) $(LIBRARY)
1645
+ $(AM_LINK)
1646
+
1647
+ db_iter_stress_test: $(OBJ_DIR)/db/db_iter_stress_test.o $(TEST_LIBRARY) $(LIBRARY)
1648
+ $(AM_LINK)
1649
+
1650
+ db_universal_compaction_test: $(OBJ_DIR)/db/db_universal_compaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1651
+ $(AM_LINK)
1652
+
1653
+ db_wal_test: $(OBJ_DIR)/db/db_wal_test.o $(TEST_LIBRARY) $(LIBRARY)
1654
+ $(AM_LINK)
1655
+
1656
+ db_io_failure_test: $(OBJ_DIR)/db/db_io_failure_test.o $(TEST_LIBRARY) $(LIBRARY)
1657
+ $(AM_LINK)
1658
+
1659
+ db_properties_test: $(OBJ_DIR)/db/db_properties_test.o $(TEST_LIBRARY) $(LIBRARY)
1660
+ $(AM_LINK)
1661
+
1662
+ db_table_properties_test: $(OBJ_DIR)/db/db_table_properties_test.o $(TEST_LIBRARY) $(LIBRARY)
1663
+ $(AM_LINK)
1664
+
1665
+ log_write_bench: $(OBJ_DIR)/util/log_write_bench.o $(TEST_LIBRARY) $(LIBRARY)
1666
+ $(AM_LINK) $(PROFILING_FLAGS)
1667
+
1668
+ plain_table_db_test: $(OBJ_DIR)/db/plain_table_db_test.o $(TEST_LIBRARY) $(LIBRARY)
1669
+ $(AM_LINK)
1670
+
1671
+ comparator_db_test: $(OBJ_DIR)/db/comparator_db_test.o $(TEST_LIBRARY) $(LIBRARY)
1672
+ $(AM_LINK)
1673
+
1674
+ table_reader_bench: $(OBJ_DIR)/table/table_reader_bench.o $(TEST_LIBRARY) $(LIBRARY)
1675
+ $(AM_LINK) $(PROFILING_FLAGS)
1676
+
1677
+ perf_context_test: $(OBJ_DIR)/db/perf_context_test.o $(TEST_LIBRARY) $(LIBRARY)
1678
+ $(AM_LINK)
1679
+
1680
+ prefix_test: $(OBJ_DIR)/db/prefix_test.o $(TEST_LIBRARY) $(LIBRARY)
1681
+ $(AM_LINK)
1682
+
1683
+ backupable_db_test: $(OBJ_DIR)/utilities/backupable/backupable_db_test.o $(TEST_LIBRARY) $(LIBRARY)
1684
+ $(AM_LINK)
1685
+
1686
+ checkpoint_test: $(OBJ_DIR)/utilities/checkpoint/checkpoint_test.o $(TEST_LIBRARY) $(LIBRARY)
1687
+ $(AM_LINK)
1688
+
1689
+ cache_simulator_test: $(OBJ_DIR)/utilities/simulator_cache/cache_simulator_test.o $(TEST_LIBRARY) $(LIBRARY)
1690
+ $(AM_LINK)
1691
+
1692
+ sim_cache_test: $(OBJ_DIR)/utilities/simulator_cache/sim_cache_test.o $(TEST_LIBRARY) $(LIBRARY)
1693
+ $(AM_LINK)
1694
+
1695
+ env_mirror_test: $(OBJ_DIR)/utilities/env_mirror_test.o $(TEST_LIBRARY) $(LIBRARY)
1696
+ $(AM_LINK)
1697
+
1698
+ env_timed_test: $(OBJ_DIR)/utilities/env_timed_test.o $(TEST_LIBRARY) $(LIBRARY)
1699
+ $(AM_LINK)
1700
+
1701
+ ifdef ROCKSDB_USE_LIBRADOS
1702
+ env_librados_test: $(OBJ_DIR)/utilities/env_librados_test.o $(TEST_LIBRARY) $(LIBRARY)
1703
+ $(AM_LINK)
1704
+ endif
1705
+
1706
+ object_registry_test: $(OBJ_DIR)/utilities/object_registry_test.o $(TEST_LIBRARY) $(LIBRARY)
1707
+ $(AM_LINK)
1708
+
1709
+ ttl_test: $(OBJ_DIR)/utilities/ttl/ttl_test.o $(TEST_LIBRARY) $(LIBRARY)
1710
+ $(AM_LINK)
1711
+
1712
+ write_batch_with_index_test: $(OBJ_DIR)/utilities/write_batch_with_index/write_batch_with_index_test.o $(TEST_LIBRARY) $(LIBRARY)
1713
+ $(AM_LINK)
1714
+
1715
+ flush_job_test: $(OBJ_DIR)/db/flush_job_test.o $(TEST_LIBRARY) $(LIBRARY)
1716
+ $(AM_LINK)
1717
+
1718
+ compaction_iterator_test: $(OBJ_DIR)/db/compaction/compaction_iterator_test.o $(TEST_LIBRARY) $(LIBRARY)
1719
+ $(AM_LINK)
1720
+
1721
+ compaction_job_test: $(OBJ_DIR)/db/compaction/compaction_job_test.o $(TEST_LIBRARY) $(LIBRARY)
1722
+ $(AM_LINK)
1723
+
1724
+ compaction_job_stats_test: $(OBJ_DIR)/db/compaction/compaction_job_stats_test.o $(TEST_LIBRARY) $(LIBRARY)
1725
+ $(AM_LINK)
1726
+
1727
+ compact_on_deletion_collector_test: $(OBJ_DIR)/utilities/table_properties_collectors/compact_on_deletion_collector_test.o $(TEST_LIBRARY) $(LIBRARY)
1728
+ $(AM_LINK)
1729
+
1730
+ wal_manager_test: $(OBJ_DIR)/db/wal_manager_test.o $(TEST_LIBRARY) $(LIBRARY)
1731
+ $(AM_LINK)
1732
+
1733
+ wal_edit_test: $(OBJ_DIR)/db/wal_edit_test.o $(TEST_LIBRARY) $(LIBRARY)
1734
+ $(AM_LINK)
1735
+
1736
+ dbformat_test: $(OBJ_DIR)/db/dbformat_test.o $(TEST_LIBRARY) $(LIBRARY)
1737
+ $(AM_LINK)
1738
+
1739
+ env_basic_test: $(OBJ_DIR)/env/env_basic_test.o $(TEST_LIBRARY) $(LIBRARY)
1740
+ $(AM_LINK)
1741
+
1742
+ env_test: $(OBJ_DIR)/env/env_test.o $(TEST_LIBRARY) $(LIBRARY)
1743
+ $(AM_LINK)
1744
+
1745
+ io_posix_test: $(OBJ_DIR)/env/io_posix_test.o $(TEST_LIBRARY) $(LIBRARY)
1746
+ $(AM_LINK)
1747
+
1748
+ fault_injection_test: $(OBJ_DIR)/db/fault_injection_test.o $(TEST_LIBRARY) $(LIBRARY)
1749
+ $(AM_LINK)
1750
+
1751
+ rate_limiter_test: $(OBJ_DIR)/util/rate_limiter_test.o $(TEST_LIBRARY) $(LIBRARY)
1752
+ $(AM_LINK)
1753
+
1754
+ delete_scheduler_test: $(OBJ_DIR)/file/delete_scheduler_test.o $(TEST_LIBRARY) $(LIBRARY)
1755
+ $(AM_LINK)
1756
+
1757
+ filename_test: $(OBJ_DIR)/db/filename_test.o $(TEST_LIBRARY) $(LIBRARY)
1758
+ $(AM_LINK)
1759
+
1760
+ random_access_file_reader_test: $(OBJ_DIR)/file/random_access_file_reader_test.o $(TEST_LIBRARY) $(LIBRARY)
1761
+ $(AM_LINK)
1762
+
1763
+ file_reader_writer_test: $(OBJ_DIR)/util/file_reader_writer_test.o $(TEST_LIBRARY) $(LIBRARY)
1764
+ $(AM_LINK)
1765
+
1766
+ block_based_filter_block_test: $(OBJ_DIR)/table/block_based/block_based_filter_block_test.o $(TEST_LIBRARY) $(LIBRARY)
1767
+ $(AM_LINK)
1768
+
1769
+ block_based_table_reader_test: table/block_based/block_based_table_reader_test.o $(TEST_LIBRARY) $(LIBRARY)
1770
+ $(AM_LINK)
1771
+
1772
+ full_filter_block_test: $(OBJ_DIR)/table/block_based/full_filter_block_test.o $(TEST_LIBRARY) $(LIBRARY)
1773
+ $(AM_LINK)
1774
+
1775
+ partitioned_filter_block_test: $(OBJ_DIR)/table/block_based/partitioned_filter_block_test.o $(TEST_LIBRARY) $(LIBRARY)
1776
+ $(AM_LINK)
1777
+
1778
+ log_test: $(OBJ_DIR)/db/log_test.o $(TEST_LIBRARY) $(LIBRARY)
1779
+ $(AM_LINK)
1780
+
1781
+ cleanable_test: $(OBJ_DIR)/table/cleanable_test.o $(TEST_LIBRARY) $(LIBRARY)
1782
+ $(AM_LINK)
1783
+
1784
+ table_test: $(OBJ_DIR)/table/table_test.o $(TEST_LIBRARY) $(LIBRARY)
1785
+ $(AM_LINK)
1786
+
1787
+ block_fetcher_test: table/block_fetcher_test.o $(TEST_LIBRARY) $(LIBRARY)
1788
+ $(AM_LINK)
1789
+
1790
+ block_test: $(OBJ_DIR)/table/block_based/block_test.o $(TEST_LIBRARY) $(LIBRARY)
1791
+ $(AM_LINK)
1792
+
1793
+ data_block_hash_index_test: $(OBJ_DIR)/table/block_based/data_block_hash_index_test.o $(TEST_LIBRARY) $(LIBRARY)
1794
+ $(AM_LINK)
1795
+
1796
+ inlineskiplist_test: $(OBJ_DIR)/memtable/inlineskiplist_test.o $(TEST_LIBRARY) $(LIBRARY)
1797
+ $(AM_LINK)
1798
+
1799
+ skiplist_test: $(OBJ_DIR)/memtable/skiplist_test.o $(TEST_LIBRARY) $(LIBRARY)
1800
+ $(AM_LINK)
1801
+
1802
+ write_buffer_manager_test: $(OBJ_DIR)/memtable/write_buffer_manager_test.o $(TEST_LIBRARY) $(LIBRARY)
1803
+ $(AM_LINK)
1804
+
1805
+ version_edit_test: $(OBJ_DIR)/db/version_edit_test.o $(TEST_LIBRARY) $(LIBRARY)
1806
+ $(AM_LINK)
1807
+
1808
+ version_set_test: $(OBJ_DIR)/db/version_set_test.o $(TEST_LIBRARY) $(LIBRARY)
1809
+ $(AM_LINK)
1810
+
1811
+ compaction_picker_test: $(OBJ_DIR)/db/compaction/compaction_picker_test.o $(TEST_LIBRARY) $(LIBRARY)
1812
+ $(AM_LINK)
1813
+
1814
+ version_builder_test: $(OBJ_DIR)/db/version_builder_test.o $(TEST_LIBRARY) $(LIBRARY)
1815
+ $(AM_LINK)
1816
+
1817
+ file_indexer_test: $(OBJ_DIR)/db/file_indexer_test.o $(TEST_LIBRARY) $(LIBRARY)
1818
+ $(AM_LINK)
1819
+
1820
+ reduce_levels_test: $(OBJ_DIR)/tools/reduce_levels_test.o $(TOOLS_LIBRARY) $(TEST_LIBRARY) $(LIBRARY)
1821
+ $(AM_LINK)
1822
+
1823
+ write_batch_test: $(OBJ_DIR)/db/write_batch_test.o $(TEST_LIBRARY) $(LIBRARY)
1824
+ $(AM_LINK)
1825
+
1826
+ write_controller_test: $(OBJ_DIR)/db/write_controller_test.o $(TEST_LIBRARY) $(LIBRARY)
1827
+ $(AM_LINK)
1828
+
1829
+ merge_helper_test: $(OBJ_DIR)/db/merge_helper_test.o $(TEST_LIBRARY) $(LIBRARY)
1830
+ $(AM_LINK)
1831
+
1832
+ memory_test: $(OBJ_DIR)/utilities/memory/memory_test.o $(TEST_LIBRARY) $(LIBRARY)
1833
+ $(AM_LINK)
1834
+
1835
+ merge_test: $(OBJ_DIR)/db/merge_test.o $(TEST_LIBRARY) $(LIBRARY)
1836
+ $(AM_LINK)
1837
+
1838
+ merger_test: $(OBJ_DIR)/table/merger_test.o $(TEST_LIBRARY) $(LIBRARY)
1839
+ $(AM_LINK)
1840
+
1841
+ util_merge_operators_test: $(OBJ_DIR)/utilities/util_merge_operators_test.o $(TEST_LIBRARY) $(LIBRARY)
1842
+ $(AM_LINK)
1843
+
1844
+ options_file_test: $(OBJ_DIR)/db/options_file_test.o $(TEST_LIBRARY) $(LIBRARY)
1845
+ $(AM_LINK)
1846
+
1847
+ deletefile_test: $(OBJ_DIR)/db/deletefile_test.o $(TEST_LIBRARY) $(LIBRARY)
1848
+ $(AM_LINK)
1849
+
1850
+ obsolete_files_test: $(OBJ_DIR)/db/obsolete_files_test.o $(TEST_LIBRARY) $(LIBRARY)
1851
+ $(AM_LINK)
1852
+
1853
+ rocksdb_dump: $(OBJ_DIR)/tools/dump/rocksdb_dump.o $(LIBRARY)
1854
+ $(AM_LINK)
1855
+
1856
+ rocksdb_undump: $(OBJ_DIR)/tools/dump/rocksdb_undump.o $(LIBRARY)
1857
+ $(AM_LINK)
1858
+
1859
+ cuckoo_table_builder_test: $(OBJ_DIR)/table/cuckoo/cuckoo_table_builder_test.o $(TEST_LIBRARY) $(LIBRARY)
1860
+ $(AM_LINK)
1861
+
1862
+ cuckoo_table_reader_test: $(OBJ_DIR)/table/cuckoo/cuckoo_table_reader_test.o $(TEST_LIBRARY) $(LIBRARY)
1863
+ $(AM_LINK)
1864
+
1865
+ cuckoo_table_db_test: $(OBJ_DIR)/db/cuckoo_table_db_test.o $(TEST_LIBRARY) $(LIBRARY)
1866
+ $(AM_LINK)
1867
+
1868
+ listener_test: $(OBJ_DIR)/db/listener_test.o $(TEST_LIBRARY) $(LIBRARY)
1869
+ $(AM_LINK)
1870
+
1871
+ thread_list_test: $(OBJ_DIR)/util/thread_list_test.o $(TEST_LIBRARY) $(LIBRARY)
1872
+ $(AM_LINK)
1873
+
1874
+ compact_files_test: $(OBJ_DIR)/db/compact_files_test.o $(TEST_LIBRARY) $(LIBRARY)
1875
+ $(AM_LINK)
1876
+
1877
+ configurable_test: options/configurable_test.o $(TEST_LIBRARY) $(LIBRARY)
1878
+ $(AM_LINK)
1879
+
1880
+ customizable_test: options/customizable_test.o $(TEST_LIBRARY) $(LIBRARY)
1881
+ $(AM_LINK)
1882
+
1883
+ options_test: $(OBJ_DIR)/options/options_test.o $(TEST_LIBRARY) $(LIBRARY)
1884
+ $(AM_LINK)
1885
+
1886
+ options_settable_test: $(OBJ_DIR)/options/options_settable_test.o $(TEST_LIBRARY) $(LIBRARY)
1887
+ $(AM_LINK)
1888
+
1889
+ options_util_test: $(OBJ_DIR)/utilities/options/options_util_test.o $(TEST_LIBRARY) $(LIBRARY)
1890
+ $(AM_LINK)
1891
+
1892
+ db_bench_tool_test: $(OBJ_DIR)/tools/db_bench_tool_test.o $(BENCH_OBJECTS) $(TEST_LIBRARY) $(LIBRARY)
1893
+ $(AM_LINK)
1894
+
1895
+ trace_analyzer_test: $(OBJ_DIR)/tools/trace_analyzer_test.o $(ANALYZE_OBJECTS) $(TOOLS_LIBRARY) $(TEST_LIBRARY) $(LIBRARY)
1896
+ $(AM_LINK)
1897
+
1898
+ event_logger_test: $(OBJ_DIR)/logging/event_logger_test.o $(TEST_LIBRARY) $(LIBRARY)
1899
+ $(AM_LINK)
1900
+
1901
+ timer_queue_test: $(OBJ_DIR)/util/timer_queue_test.o $(TEST_LIBRARY) $(LIBRARY)
1902
+ $(AM_LINK)
1903
+
1904
+ sst_dump_test: $(OBJ_DIR)/tools/sst_dump_test.o $(TOOLS_LIBRARY) $(TEST_LIBRARY) $(LIBRARY)
1905
+ $(AM_LINK)
1906
+
1907
+ optimistic_transaction_test: $(OBJ_DIR)/utilities/transactions/optimistic_transaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1908
+ $(AM_LINK)
1909
+
1910
+ mock_env_test : $(OBJ_DIR)/env/mock_env_test.o $(TEST_LIBRARY) $(LIBRARY)
1911
+ $(AM_LINK)
1912
+
1913
+ manual_compaction_test: $(OBJ_DIR)/db/manual_compaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1914
+ $(AM_LINK)
1915
+
1916
+ filelock_test: $(OBJ_DIR)/util/filelock_test.o $(TEST_LIBRARY) $(LIBRARY)
1917
+ $(AM_LINK)
1918
+
1919
+ auto_roll_logger_test: $(OBJ_DIR)/logging/auto_roll_logger_test.o $(TEST_LIBRARY) $(LIBRARY)
1920
+ $(AM_LINK)
1921
+
1922
+ env_logger_test: $(OBJ_DIR)/logging/env_logger_test.o $(TEST_LIBRARY) $(LIBRARY)
1923
+ $(AM_LINK)
1924
+
1925
+ memtable_list_test: $(OBJ_DIR)/db/memtable_list_test.o $(TEST_LIBRARY) $(LIBRARY)
1926
+ $(AM_LINK)
1927
+
1928
+ write_callback_test: $(OBJ_DIR)/db/write_callback_test.o $(TEST_LIBRARY) $(LIBRARY)
1929
+ $(AM_LINK)
1930
+
1931
+ heap_test: $(OBJ_DIR)/util/heap_test.o $(GTEST)
1932
+ $(AM_LINK)
1933
+
1934
+ point_lock_manager_test: utilities/transactions/lock/point/point_lock_manager_test.o $(TEST_LIBRARY) $(LIBRARY)
1935
+ $(AM_LINK)
1936
+
1937
+ transaction_test: $(OBJ_DIR)/utilities/transactions/transaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1938
+ $(AM_LINK)
1939
+
1940
+ write_prepared_transaction_test: $(OBJ_DIR)/utilities/transactions/write_prepared_transaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1941
+ $(AM_LINK)
1942
+
1943
+ write_unprepared_transaction_test: $(OBJ_DIR)/utilities/transactions/write_unprepared_transaction_test.o $(TEST_LIBRARY) $(LIBRARY)
1944
+ $(AM_LINK)
1945
+
1946
+ sst_dump: $(OBJ_DIR)/tools/sst_dump.o $(TOOLS_LIBRARY) $(LIBRARY)
1947
+ $(AM_LINK)
1948
+
1949
+ blob_dump: $(OBJ_DIR)/tools/blob_dump.o $(TOOLS_LIBRARY) $(LIBRARY)
1950
+ $(AM_LINK)
1951
+
1952
+ repair_test: $(OBJ_DIR)/db/repair_test.o $(TEST_LIBRARY) $(LIBRARY)
1953
+ $(AM_LINK)
1954
+
1955
+ ldb_cmd_test: $(OBJ_DIR)/tools/ldb_cmd_test.o $(TOOLS_LIBRARY) $(TEST_LIBRARY) $(LIBRARY)
1956
+ $(AM_LINK)
1957
+
1958
+ ldb: $(OBJ_DIR)/tools/ldb.o $(TOOLS_LIBRARY) $(LIBRARY)
1959
+ $(AM_LINK)
1960
+
1961
+ iostats_context_test: $(OBJ_DIR)/monitoring/iostats_context_test.o $(TEST_LIBRARY) $(LIBRARY)
1962
+ $(AM_V_CCLD)$(CXX) $^ $(EXEC_LDFLAGS) -o $@ $(LDFLAGS)
1963
+
1964
+ persistent_cache_test: $(OBJ_DIR)/utilities/persistent_cache/persistent_cache_test.o $(TEST_LIBRARY) $(LIBRARY)
1965
+ $(AM_LINK)
1966
+
1967
+ statistics_test: $(OBJ_DIR)/monitoring/statistics_test.o $(TEST_LIBRARY) $(LIBRARY)
1968
+ $(AM_LINK)
1969
+
1970
+ stats_history_test: $(OBJ_DIR)/monitoring/stats_history_test.o $(TEST_LIBRARY) $(LIBRARY)
1971
+ $(AM_LINK)
1972
+
1973
+ lru_cache_test: $(OBJ_DIR)/cache/lru_cache_test.o $(TEST_LIBRARY) $(LIBRARY)
1974
+ $(AM_LINK)
1975
+
1976
+ range_del_aggregator_test: $(OBJ_DIR)/db/range_del_aggregator_test.o $(TEST_LIBRARY) $(LIBRARY)
1977
+ $(AM_LINK)
1978
+
1979
+ range_del_aggregator_bench: $(OBJ_DIR)/db/range_del_aggregator_bench.o $(LIBRARY)
1980
+ $(AM_LINK)
1981
+
1982
+ blob_db_test: $(OBJ_DIR)/utilities/blob_db/blob_db_test.o $(TEST_LIBRARY) $(LIBRARY)
1983
+ $(AM_LINK)
1984
+
1985
+ repeatable_thread_test: $(OBJ_DIR)/util/repeatable_thread_test.o $(TEST_LIBRARY) $(LIBRARY)
1986
+ $(AM_LINK)
1987
+
1988
+ range_locking_test: utilities/transactions/lock/range/range_locking_test.o $(TEST_LIBRARY) $(LIBRARY)
1989
+ $(AM_LINK)
1990
+
1991
+ range_tombstone_fragmenter_test: $(OBJ_DIR)/db/range_tombstone_fragmenter_test.o $(TEST_LIBRARY) $(LIBRARY)
1992
+ $(AM_LINK)
1993
+
1994
+ sst_file_reader_test: $(OBJ_DIR)/table/sst_file_reader_test.o $(TEST_LIBRARY) $(LIBRARY)
1995
+ $(AM_LINK)
1996
+
1997
+ db_secondary_test: $(OBJ_DIR)/db/db_impl/db_secondary_test.o $(TEST_LIBRARY) $(LIBRARY)
1998
+ $(AM_LINK)
1999
+
2000
+ block_cache_tracer_test: $(OBJ_DIR)/trace_replay/block_cache_tracer_test.o $(TEST_LIBRARY) $(LIBRARY)
2001
+ $(AM_LINK)
2002
+
2003
+ block_cache_trace_analyzer_test: $(OBJ_DIR)/tools/block_cache_analyzer/block_cache_trace_analyzer_test.o $(OBJ_DIR)/tools/block_cache_analyzer/block_cache_trace_analyzer.o $(TEST_LIBRARY) $(LIBRARY)
2004
+ $(AM_LINK)
2005
+
2006
+ defer_test: $(OBJ_DIR)/util/defer_test.o $(TEST_LIBRARY) $(LIBRARY)
2007
+ $(AM_LINK)
2008
+
2009
+ blob_file_addition_test: $(OBJ_DIR)/db/blob/blob_file_addition_test.o $(TEST_LIBRARY) $(LIBRARY)
2010
+ $(AM_LINK)
2011
+
2012
+ blob_file_builder_test: $(OBJ_DIR)/db/blob/blob_file_builder_test.o $(TEST_LIBRARY) $(LIBRARY)
2013
+ $(AM_LINK)
2014
+
2015
+ blob_file_cache_test: $(OBJ_DIR)/db/blob/blob_file_cache_test.o $(TEST_LIBRARY) $(LIBRARY)
2016
+ $(AM_LINK)
2017
+
2018
+ blob_file_garbage_test: $(OBJ_DIR)/db/blob/blob_file_garbage_test.o $(TEST_LIBRARY) $(LIBRARY)
2019
+ $(AM_LINK)
2020
+
2021
+ blob_file_reader_test: $(OBJ_DIR)/db/blob/blob_file_reader_test.o $(TEST_LIBRARY) $(LIBRARY)
2022
+ $(AM_LINK)
2023
+
2024
+ timer_test: $(OBJ_DIR)/util/timer_test.o $(TEST_LIBRARY) $(LIBRARY)
2025
+ $(AM_LINK)
2026
+
2027
+ periodic_work_scheduler_test: $(OBJ_DIR)/db/periodic_work_scheduler_test.o $(TEST_LIBRARY) $(LIBRARY)
2028
+ $(AM_LINK)
2029
+
2030
+ testutil_test: $(OBJ_DIR)/test_util/testutil_test.o $(TEST_LIBRARY) $(LIBRARY)
2031
+ $(AM_LINK)
2032
+
2033
+ io_tracer_test: $(OBJ_DIR)/trace_replay/io_tracer_test.o $(OBJ_DIR)/trace_replay/io_tracer.o $(TEST_LIBRARY) $(LIBRARY)
2034
+ $(AM_LINK)
2035
+
2036
+ prefetch_test: $(OBJ_DIR)/file/prefetch_test.o $(TEST_LIBRARY) $(LIBRARY)
2037
+ $(AM_LINK)
2038
+
2039
+ io_tracer_parser_test: $(OBJ_DIR)/tools/io_tracer_parser_test.o $(OBJ_DIR)/tools/io_tracer_parser_tool.o $(TEST_LIBRARY) $(LIBRARY)
2040
+ $(AM_LINK)
2041
+
2042
+ io_tracer_parser: $(OBJ_DIR)/tools/io_tracer_parser.o $(TOOLS_LIBRARY) $(LIBRARY)
2043
+ $(AM_LINK)
2044
+
2045
+ #-------------------------------------------------
2046
+ # make install related stuff
2047
+ PREFIX ?= /usr/local
2048
+ LIBDIR ?= $(PREFIX)/lib
2049
+ INSTALL_LIBDIR = $(DESTDIR)$(LIBDIR)
2050
+
2051
+ uninstall:
2052
+ rm -rf $(DESTDIR)$(PREFIX)/include/rocksdb \
2053
+ $(INSTALL_LIBDIR)/$(LIBRARY) \
2054
+ $(INSTALL_LIBDIR)/$(SHARED4) \
2055
+ $(INSTALL_LIBDIR)/$(SHARED3) \
2056
+ $(INSTALL_LIBDIR)/$(SHARED2) \
2057
+ $(INSTALL_LIBDIR)/$(SHARED1) \
2058
+ $(INSTALL_LIBDIR)/pkgconfig/rocksdb.pc
2059
+
2060
+ install-headers: gen-pc
2061
+ install -d $(INSTALL_LIBDIR)
2062
+ install -d $(INSTALL_LIBDIR)/pkgconfig
2063
+ for header_dir in `$(FIND) "include/rocksdb" -type d`; do \
2064
+ install -d $(DESTDIR)/$(PREFIX)/$$header_dir; \
2065
+ done
2066
+ for header in `$(FIND) "include/rocksdb" -type f -name *.h`; do \
2067
+ install -C -m 644 $$header $(DESTDIR)/$(PREFIX)/$$header; \
2068
+ done
2069
+ install -C -m 644 rocksdb.pc $(INSTALL_LIBDIR)/pkgconfig/rocksdb.pc
2070
+
2071
+ install-static: install-headers $(LIBRARY)
2072
+ install -d $(INSTALL_LIBDIR)
2073
+ install -C -m 755 $(LIBRARY) $(INSTALL_LIBDIR)
2074
+
2075
+ install-shared: install-headers $(SHARED4)
2076
+ install -d $(INSTALL_LIBDIR)
2077
+ install -C -m 755 $(SHARED4) $(INSTALL_LIBDIR)
2078
+ ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED3)
2079
+ ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED2)
2080
+ ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED1)
2081
+
2082
+ # install static by default + install shared if it exists
2083
+ install: install-static
2084
+ [ -e $(SHARED4) ] && $(MAKE) install-shared || :
2085
+
2086
+ # Generate the pkg-config file
2087
+ gen-pc:
2088
+ -echo 'prefix=$(PREFIX)' > rocksdb.pc
2089
+ -echo 'exec_prefix=$${prefix}' >> rocksdb.pc
2090
+ -echo 'includedir=$${prefix}/include' >> rocksdb.pc
2091
+ -echo 'libdir=$(LIBDIR)' >> rocksdb.pc
2092
+ -echo '' >> rocksdb.pc
2093
+ -echo 'Name: rocksdb' >> rocksdb.pc
2094
+ -echo 'Description: An embeddable persistent key-value store for fast storage' >> rocksdb.pc
2095
+ -echo Version: $(shell ./build_tools/version.sh full) >> rocksdb.pc
2096
+ -echo 'Libs: -L$${libdir} $(EXEC_LDFLAGS) -lrocksdb' >> rocksdb.pc
2097
+ -echo 'Libs.private: $(PLATFORM_LDFLAGS)' >> rocksdb.pc
2098
+ -echo 'Cflags: -I$${includedir} $(PLATFORM_CXXFLAGS)' >> rocksdb.pc
2099
+
2100
+ #-------------------------------------------------
2101
+
2102
+
2103
+ # ---------------------------------------------------------------------------
2104
+ # Jni stuff
2105
+ # ---------------------------------------------------------------------------
2106
+
2107
+ JAVA_INCLUDE = -I$(JAVA_HOME)/include/ -I$(JAVA_HOME)/include/linux
2108
+ ifeq ($(PLATFORM), OS_SOLARIS)
2109
+ ARCH := $(shell isainfo -b)
2110
+ else ifeq ($(PLATFORM), OS_OPENBSD)
2111
+ ifneq (,$(filter amd64 ppc64 ppc64le arm64 aarch64 sparc64, $(MACHINE)))
2112
+ ARCH := 64
2113
+ else
2114
+ ARCH := 32
2115
+ endif
2116
+ else
2117
+ ARCH := $(shell getconf LONG_BIT)
2118
+ endif
2119
+
2120
+ ifeq ($(shell ldd /usr/bin/env 2>/dev/null | grep -q musl; echo $$?),0)
2121
+ JNI_LIBC = musl
2122
+ # GNU LibC (or glibc) is so pervasive we can assume it is the default
2123
+ # else
2124
+ # JNI_LIBC = glibc
2125
+ endif
2126
+
2127
+ ifneq ($(origin JNI_LIBC), undefined)
2128
+ JNI_LIBC_POSTFIX = -$(JNI_LIBC)
2129
+ endif
2130
+
2131
+ ifneq (,$(filter ppc% arm64 aarch64 sparc64, $(MACHINE)))
2132
+ ROCKSDBJNILIB = librocksdbjni-linux-$(MACHINE)$(JNI_LIBC_POSTFIX).so
2133
+ else
2134
+ ROCKSDBJNILIB = librocksdbjni-linux$(ARCH)$(JNI_LIBC_POSTFIX).so
2135
+ endif
2136
+ ROCKSDB_JAVA_VERSION ?= $(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)
2137
+ ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-linux$(ARCH)$(JNI_LIBC_POSTFIX).jar
2138
+ ROCKSDB_JAR_ALL = rocksdbjni-$(ROCKSDB_JAVA_VERSION).jar
2139
+ ROCKSDB_JAVADOCS_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-javadoc.jar
2140
+ ROCKSDB_SOURCES_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-sources.jar
2141
+ SHA256_CMD = sha256sum
2142
+
2143
+ ZLIB_VER ?= 1.2.11
2144
+ ZLIB_SHA256 ?= c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
2145
+ ZLIB_DOWNLOAD_BASE ?= http://zlib.net
2146
+ BZIP2_VER ?= 1.0.8
2147
+ BZIP2_SHA256 ?= ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269
2148
+ BZIP2_DOWNLOAD_BASE ?= https://sourceware.org/pub/bzip2
2149
+ SNAPPY_VER ?= 1.1.8
2150
+ SNAPPY_SHA256 ?= 16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f
2151
+ SNAPPY_DOWNLOAD_BASE ?= https://github.com/google/snappy/archive
2152
+ LZ4_VER ?= 1.9.3
2153
+ LZ4_SHA256 ?= 030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1
2154
+ LZ4_DOWNLOAD_BASE ?= https://github.com/lz4/lz4/archive
2155
+ ZSTD_VER ?= 1.4.7
2156
+ ZSTD_SHA256 ?= 085500c8d0b9c83afbc1dc0d8b4889336ad019eba930c5d6a9c6c86c20c769c8
2157
+ ZSTD_DOWNLOAD_BASE ?= https://github.com/facebook/zstd/archive
2158
+ CURL_SSL_OPTS ?= --tlsv1
2159
+
2160
+ ifeq ($(PLATFORM), OS_MACOSX)
2161
+ ROCKSDBJNILIB = librocksdbjni-osx.jnilib
2162
+ ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-osx.jar
2163
+ SHA256_CMD = openssl sha256 -r
2164
+ ifneq ("$(wildcard $(JAVA_HOME)/include/darwin)","")
2165
+ JAVA_INCLUDE = -I$(JAVA_HOME)/include -I $(JAVA_HOME)/include/darwin
2166
+ else
2167
+ JAVA_INCLUDE = -I/System/Library/Frameworks/JavaVM.framework/Headers/
2168
+ endif
2169
+ endif
2170
+ ifeq ($(PLATFORM), OS_FREEBSD)
2171
+ JAVA_INCLUDE = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/freebsd
2172
+ ROCKSDBJNILIB = librocksdbjni-freebsd$(ARCH).so
2173
+ ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-freebsd$(ARCH).jar
2174
+ endif
2175
+ ifeq ($(PLATFORM), OS_SOLARIS)
2176
+ ROCKSDBJNILIB = librocksdbjni-solaris$(ARCH).so
2177
+ ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)-solaris$(ARCH).jar
2178
+ JAVA_INCLUDE = -I$(JAVA_HOME)/include/ -I$(JAVA_HOME)/include/solaris
2179
+ SHA256_CMD = digest -a sha256
2180
+ endif
2181
+ ifeq ($(PLATFORM), OS_AIX)
2182
+ JAVA_INCLUDE = -I$(JAVA_HOME)/include/ -I$(JAVA_HOME)/include/aix
2183
+ ROCKSDBJNILIB = librocksdbjni-aix.so
2184
+ EXTRACT_SOURCES = gunzip < TAR_GZ | tar xvf -
2185
+ SNAPPY_MAKE_TARGET = libsnappy.la
2186
+ endif
2187
+ ifeq ($(PLATFORM), OS_OPENBSD)
2188
+ JAVA_INCLUDE = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/openbsd
2189
+ ROCKSDBJNILIB = librocksdbjni-openbsd$(ARCH).so
2190
+ ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-openbsd$(ARCH).jar
2191
+ endif
2192
+
2193
+ zlib-$(ZLIB_VER).tar.gz:
2194
+ curl --fail --output zlib-$(ZLIB_VER).tar.gz --location ${ZLIB_DOWNLOAD_BASE}/zlib-$(ZLIB_VER).tar.gz
2195
+ ZLIB_SHA256_ACTUAL=`$(SHA256_CMD) zlib-$(ZLIB_VER).tar.gz | cut -d ' ' -f 1`; \
2196
+ if [ "$(ZLIB_SHA256)" != "$$ZLIB_SHA256_ACTUAL" ]; then \
2197
+ echo zlib-$(ZLIB_VER).tar.gz checksum mismatch, expected=\"$(ZLIB_SHA256)\" actual=\"$$ZLIB_SHA256_ACTUAL\"; \
2198
+ exit 1; \
2199
+ fi
2200
+
2201
+ libz.a: zlib-$(ZLIB_VER).tar.gz
2202
+ -rm -rf zlib-$(ZLIB_VER)
2203
+ tar xvzf zlib-$(ZLIB_VER).tar.gz
2204
+ cd zlib-$(ZLIB_VER) && CFLAGS='-fPIC ${JAVA_STATIC_DEPS_CCFLAGS} ${EXTRA_CFLAGS}' LDFLAGS='${JAVA_STATIC_DEPS_LDFLAGS} ${EXTRA_LDFLAGS}' ./configure --static && $(MAKE)
2205
+ cp zlib-$(ZLIB_VER)/libz.a .
2206
+
2207
+ bzip2-$(BZIP2_VER).tar.gz:
2208
+ curl --fail --output bzip2-$(BZIP2_VER).tar.gz --location ${CURL_SSL_OPTS} ${BZIP2_DOWNLOAD_BASE}/bzip2-$(BZIP2_VER).tar.gz
2209
+ BZIP2_SHA256_ACTUAL=`$(SHA256_CMD) bzip2-$(BZIP2_VER).tar.gz | cut -d ' ' -f 1`; \
2210
+ if [ "$(BZIP2_SHA256)" != "$$BZIP2_SHA256_ACTUAL" ]; then \
2211
+ echo bzip2-$(BZIP2_VER).tar.gz checksum mismatch, expected=\"$(BZIP2_SHA256)\" actual=\"$$BZIP2_SHA256_ACTUAL\"; \
2212
+ exit 1; \
2213
+ fi
2214
+
2215
+ libbz2.a: bzip2-$(BZIP2_VER).tar.gz
2216
+ -rm -rf bzip2-$(BZIP2_VER)
2217
+ tar xvzf bzip2-$(BZIP2_VER).tar.gz
2218
+ cd bzip2-$(BZIP2_VER) && $(MAKE) CFLAGS='-fPIC -O2 -g -D_FILE_OFFSET_BITS=64 ${JAVA_STATIC_DEPS_CCFLAGS} ${EXTRA_CFLAGS}' LDFLAGS='${JAVA_STATIC_DEPS_LDFLAGS} ${EXTRA_LDFLAGS}' AR='ar ${EXTRA_ARFLAGS}'
2219
+ cp bzip2-$(BZIP2_VER)/libbz2.a .
2220
+
2221
+ snappy-$(SNAPPY_VER).tar.gz:
2222
+ curl --fail --output snappy-$(SNAPPY_VER).tar.gz --location ${CURL_SSL_OPTS} ${SNAPPY_DOWNLOAD_BASE}/$(SNAPPY_VER).tar.gz
2223
+ SNAPPY_SHA256_ACTUAL=`$(SHA256_CMD) snappy-$(SNAPPY_VER).tar.gz | cut -d ' ' -f 1`; \
2224
+ if [ "$(SNAPPY_SHA256)" != "$$SNAPPY_SHA256_ACTUAL" ]; then \
2225
+ echo snappy-$(SNAPPY_VER).tar.gz checksum mismatch, expected=\"$(SNAPPY_SHA256)\" actual=\"$$SNAPPY_SHA256_ACTUAL\"; \
2226
+ exit 1; \
2227
+ fi
2228
+
2229
+ libsnappy.a: snappy-$(SNAPPY_VER).tar.gz
2230
+ -rm -rf snappy-$(SNAPPY_VER)
2231
+ tar xvzf snappy-$(SNAPPY_VER).tar.gz
2232
+ mkdir snappy-$(SNAPPY_VER)/build
2233
+ cd snappy-$(SNAPPY_VER)/build && CFLAGS='${JAVA_STATIC_DEPS_CCFLAGS} ${EXTRA_CFLAGS}' CXXFLAGS='${JAVA_STATIC_DEPS_CXXFLAGS} ${EXTRA_CXXFLAGS}' LDFLAGS='${JAVA_STATIC_DEPS_LDFLAGS} ${EXTRA_LDFLAGS}' cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON ${PLATFORM_CMAKE_FLAGS} .. && $(MAKE) ${SNAPPY_MAKE_TARGET}
2234
+ cp snappy-$(SNAPPY_VER)/build/libsnappy.a .
2235
+
2236
+ lz4-$(LZ4_VER).tar.gz:
2237
+ curl --fail --output lz4-$(LZ4_VER).tar.gz --location ${CURL_SSL_OPTS} ${LZ4_DOWNLOAD_BASE}/v$(LZ4_VER).tar.gz
2238
+ LZ4_SHA256_ACTUAL=`$(SHA256_CMD) lz4-$(LZ4_VER).tar.gz | cut -d ' ' -f 1`; \
2239
+ if [ "$(LZ4_SHA256)" != "$$LZ4_SHA256_ACTUAL" ]; then \
2240
+ echo lz4-$(LZ4_VER).tar.gz checksum mismatch, expected=\"$(LZ4_SHA256)\" actual=\"$$LZ4_SHA256_ACTUAL\"; \
2241
+ exit 1; \
2242
+ fi
2243
+
2244
+ liblz4.a: lz4-$(LZ4_VER).tar.gz
2245
+ -rm -rf lz4-$(LZ4_VER)
2246
+ tar xvzf lz4-$(LZ4_VER).tar.gz
2247
+ cd lz4-$(LZ4_VER)/lib && $(MAKE) CFLAGS='-fPIC -O2 ${JAVA_STATIC_DEPS_CCFLAGS} ${EXTRA_CFLAGS}' LDFLAGS='${JAVA_STATIC_DEPS_LDFLAGS} ${EXTRA_LDFLAGS}' all
2248
+ cp lz4-$(LZ4_VER)/lib/liblz4.a .
2249
+
2250
+ zstd-$(ZSTD_VER).tar.gz:
2251
+ curl --fail --output zstd-$(ZSTD_VER).tar.gz --location ${CURL_SSL_OPTS} ${ZSTD_DOWNLOAD_BASE}/v$(ZSTD_VER).tar.gz
2252
+ ZSTD_SHA256_ACTUAL=`$(SHA256_CMD) zstd-$(ZSTD_VER).tar.gz | cut -d ' ' -f 1`; \
2253
+ if [ "$(ZSTD_SHA256)" != "$$ZSTD_SHA256_ACTUAL" ]; then \
2254
+ echo zstd-$(ZSTD_VER).tar.gz checksum mismatch, expected=\"$(ZSTD_SHA256)\" actual=\"$$ZSTD_SHA256_ACTUAL\"; \
2255
+ exit 1; \
2256
+ fi
2257
+
2258
+ libzstd.a: zstd-$(ZSTD_VER).tar.gz
2259
+ -rm -rf zstd-$(ZSTD_VER)
2260
+ tar xvzf zstd-$(ZSTD_VER).tar.gz
2261
+ cd zstd-$(ZSTD_VER)/lib && DESTDIR=. PREFIX= $(MAKE) CFLAGS='-fPIC -O2 ${JAVA_STATIC_DEPS_CCFLAGS} ${EXTRA_CFLAGS}' LDFLAGS='${JAVA_STATIC_DEPS_LDFLAGS} ${EXTRA_LDFLAGS}' libzstd.a
2262
+ cp zstd-$(ZSTD_VER)/lib/libzstd.a .
2263
+
2264
+ # A version of each $(LIB_OBJECTS) compiled with -fPIC and a fixed set of static compression libraries
2265
+ ifneq ($(ROCKSDB_JAVA_NO_COMPRESSION), 1)
2266
+ JAVA_COMPRESSIONS = libz.a libbz2.a libsnappy.a liblz4.a libzstd.a
2267
+ endif
2268
+
2269
+ JAVA_STATIC_FLAGS = -DZLIB -DBZIP2 -DSNAPPY -DLZ4 -DZSTD
2270
+ JAVA_STATIC_INCLUDES = -I./zlib-$(ZLIB_VER) -I./bzip2-$(BZIP2_VER) -I./snappy-$(SNAPPY_VER) -I./snappy-$(SNAPPY_VER)/build -I./lz4-$(LZ4_VER)/lib -I./zstd-$(ZSTD_VER)/lib -I./zstd-$(ZSTD_VER)/lib/dictBuilder
2271
+
2272
+ ifneq ($(findstring rocksdbjavastatic, $(filter-out rocksdbjavastatic_deps, $(MAKECMDGOALS))),)
2273
+ CXXFLAGS += $(JAVA_STATIC_FLAGS) $(JAVA_STATIC_INCLUDES)
2274
+ CFLAGS += $(JAVA_STATIC_FLAGS) $(JAVA_STATIC_INCLUDES)
2275
+ endif
2276
+ rocksdbjavastatic:
2277
+ ifeq ($(JAVA_HOME),)
2278
+ $(error JAVA_HOME is not set)
2279
+ endif
2280
+ $(MAKE) rocksdbjavastatic_deps
2281
+ $(MAKE) rocksdbjavastatic_libobjects
2282
+ $(MAKE) rocksdbjavastatic_javalib
2283
+
2284
+ rocksdbjavastatic_javalib:
2285
+ cd java; SHA256_CMD='$(SHA256_CMD)' $(MAKE) javalib
2286
+ rm -f java/target/$(ROCKSDBJNILIB)
2287
+ $(CXX) $(CXXFLAGS) -I./java/. $(JAVA_INCLUDE) -shared -fPIC \
2288
+ -o ./java/target/$(ROCKSDBJNILIB) $(JNI_NATIVE_SOURCES) \
2289
+ $(LIB_OBJECTS) $(COVERAGEFLAGS) \
2290
+ $(JAVA_COMPRESSIONS) $(JAVA_STATIC_LDFLAGS)
2291
+ cd java/target;if [ "$(DEBUG_LEVEL)" == "0" ]; then \
2292
+ strip $(STRIPFLAGS) $(ROCKSDBJNILIB); \
2293
+ fi
2294
+ cd java;jar -cf target/$(ROCKSDB_JAR) HISTORY*.md
2295
+ cd java/target;jar -uf $(ROCKSDB_JAR) $(ROCKSDBJNILIB)
2296
+ cd java/target/classes;jar -uf ../$(ROCKSDB_JAR) org/rocksdb/*.class org/rocksdb/util/*.class
2297
+ cd java/target/apidocs;jar -cf ../$(ROCKSDB_JAVADOCS_JAR) *
2298
+ cd java/src/main/java;jar -cf ../../../target/$(ROCKSDB_SOURCES_JAR) org
2299
+ openssl sha1 java/target/$(ROCKSDB_JAR) | sed 's/.*= \([0-9a-f]*\)/\1/' > java/target/$(ROCKSDB_JAR).sha1
2300
+ openssl sha1 java/target/$(ROCKSDB_JAVADOCS_JAR) | sed 's/.*= \([0-9a-f]*\)/\1/' > java/target/$(ROCKSDB_JAVADOCS_JAR).sha1
2301
+ openssl sha1 java/target/$(ROCKSDB_SOURCES_JAR) | sed 's/.*= \([0-9a-f]*\)/\1/' > java/target/$(ROCKSDB_SOURCES_JAR).sha1
2302
+
2303
+ rocksdbjavastatic_deps: $(JAVA_COMPRESSIONS)
2304
+
2305
+ rocksdbjavastatic_libobjects: $(LIB_OBJECTS)
2306
+
2307
+ rocksdbjavastaticrelease: rocksdbjavastatic
2308
+ cd java/crossbuild && (vagrant destroy -f || true) && vagrant up linux32 && vagrant halt linux32 && vagrant up linux64 && vagrant halt linux64 && vagrant up linux64-musl && vagrant halt linux64-musl
2309
+ cd java;jar -cf target/$(ROCKSDB_JAR_ALL) HISTORY*.md
2310
+ cd java/target;jar -uf $(ROCKSDB_JAR_ALL) librocksdbjni-*.so librocksdbjni-*.jnilib
2311
+ cd java/target/classes;jar -uf ../$(ROCKSDB_JAR_ALL) org/rocksdb/*.class org/rocksdb/util/*.class
2312
+ openssl sha1 java/target/$(ROCKSDB_JAR_ALL) | sed 's/.*= \([0-9a-f]*\)/\1/' > java/target/$(ROCKSDB_JAR_ALL).sha1
2313
+
2314
+ rocksdbjavastaticreleasedocker: rocksdbjavastatic rocksdbjavastaticdockerx86 rocksdbjavastaticdockerx86_64 rocksdbjavastaticdockerx86musl rocksdbjavastaticdockerx86_64musl
2315
+ cd java;jar -cf target/$(ROCKSDB_JAR_ALL) HISTORY*.md
2316
+ cd java/target;jar -uf $(ROCKSDB_JAR_ALL) librocksdbjni-*.so librocksdbjni-*.jnilib
2317
+ cd java/target/classes;jar -uf ../$(ROCKSDB_JAR_ALL) org/rocksdb/*.class org/rocksdb/util/*.class
2318
+ openssl sha1 java/target/$(ROCKSDB_JAR_ALL) | sed 's/.*= \([0-9a-f]*\)/\1/' > java/target/$(ROCKSDB_JAR_ALL).sha1
2319
+
2320
+ rocksdbjavastaticdockerx86:
2321
+ mkdir -p java/target
2322
+ docker run --rm --name rocksdb_linux_x86-be --platform linux/386 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:centos6_x86-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2323
+
2324
+ rocksdbjavastaticdockerx86_64:
2325
+ mkdir -p java/target
2326
+ docker run --rm --name rocksdb_linux_x64-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:centos6_x64-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2327
+
2328
+ rocksdbjavastaticdockerppc64le:
2329
+ mkdir -p java/target
2330
+ docker run --rm --name rocksdb_linux_ppc64le-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:centos7_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2331
+
2332
+ rocksdbjavastaticdockerarm64v8:
2333
+ mkdir -p java/target
2334
+ docker run --rm --name rocksdb_linux_arm64v8-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:centos7_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2335
+
2336
+ rocksdbjavastaticdockerx86musl:
2337
+ mkdir -p java/target
2338
+ docker run --rm --name rocksdb_linux_x86-musl-be --platform linux/386 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:alpine3_x86-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2339
+
2340
+ rocksdbjavastaticdockerx86_64musl:
2341
+ mkdir -p java/target
2342
+ docker run --rm --name rocksdb_linux_x64-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:alpine3_x64-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2343
+
2344
+ rocksdbjavastaticdockerppc64lemusl:
2345
+ mkdir -p java/target
2346
+ docker run --rm --name rocksdb_linux_ppc64le-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:alpine3_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2347
+
2348
+ rocksdbjavastaticdockerarm64v8musl:
2349
+ mkdir -p java/target
2350
+ docker run --rm --name rocksdb_linux_arm64v8-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:alpine3_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
2351
+
2352
+ rocksdbjavastaticpublish: rocksdbjavastaticrelease rocksdbjavastaticpublishcentral
2353
+
2354
+ rocksdbjavastaticpublishdocker: rocksdbjavastaticreleasedocker rocksdbjavastaticpublishcentral
2355
+
2356
+ rocksdbjavastaticpublishcentral: rocksdbjavageneratepom
2357
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-javadoc.jar -Dclassifier=javadoc
2358
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-sources.jar -Dclassifier=sources
2359
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-linux64.jar -Dclassifier=linux64
2360
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-linux32.jar -Dclassifier=linux32
2361
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-linux64-musl.jar -Dclassifier=linux64-musl
2362
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-linux32-musl.jar -Dclassifier=linux32-musl
2363
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-osx.jar -Dclassifier=osx
2364
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION)-win64.jar -Dclassifier=win64
2365
+ mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/pom.xml -Dfile=java/target/rocksdbjni-$(ROCKSDB_JAVA_VERSION).jar
2366
+
2367
+ rocksdbjavageneratepom:
2368
+ cd java;cat pom.xml.template | sed 's/\$${ROCKSDB_JAVA_VERSION}/$(ROCKSDB_JAVA_VERSION)/' > pom.xml
2369
+
2370
+ # A version of each $(LIBOBJECTS) compiled with -fPIC
2371
+
2372
+ jl/%.o: %.cc
2373
+ $(AM_V_CC)mkdir -p $(@D) && $(CXX) $(CXXFLAGS) -fPIC -c $< -o $@ $(COVERAGEFLAGS)
2374
+
2375
+ rocksdbjava: $(LIB_OBJECTS)
2376
+ ifeq ($(JAVA_HOME),)
2377
+ $(error JAVA_HOME is not set)
2378
+ endif
2379
+ $(AM_V_GEN)cd java; SHA256_CMD='$(SHA256_CMD)' $(MAKE) javalib;
2380
+ $(AM_V_at)rm -f ./java/target/$(ROCKSDBJNILIB)
2381
+ $(AM_V_at)$(CXX) $(CXXFLAGS) -I./java/. $(JAVA_INCLUDE) -shared -fPIC -o ./java/target/$(ROCKSDBJNILIB) $(JNI_NATIVE_SOURCES) $(LIB_OBJECTS) $(JAVA_LDFLAGS) $(COVERAGEFLAGS)
2382
+ $(AM_V_at)cd java;jar -cf target/$(ROCKSDB_JAR) HISTORY*.md
2383
+ $(AM_V_at)cd java/target;jar -uf $(ROCKSDB_JAR) $(ROCKSDBJNILIB)
2384
+ $(AM_V_at)cd java/target/classes;jar -uf ../$(ROCKSDB_JAR) org/rocksdb/*.class org/rocksdb/util/*.class
2385
+ $(AM_V_at)openssl sha1 java/target/$(ROCKSDB_JAR) | sed 's/.*= \([0-9a-f]*\)/\1/' > java/target/$(ROCKSDB_JAR).sha1
2386
+
2387
+ jclean:
2388
+ cd java;$(MAKE) clean;
2389
+
2390
+ jtest_compile: rocksdbjava
2391
+ cd java; SHA256_CMD='$(SHA256_CMD)' $(MAKE) java_test
2392
+
2393
+ jtest_run:
2394
+ cd java;$(MAKE) run_test
2395
+
2396
+ jtest: rocksdbjava
2397
+ cd java;$(MAKE) sample; SHA256_CMD='$(SHA256_CMD)' $(MAKE) test;
2398
+ $(PYTHON) tools/check_all_python.py # TODO peterd: find a better place for this check in CI targets
2399
+
2400
+ jdb_bench:
2401
+ cd java;$(MAKE) db_bench;
2402
+
2403
+ commit_prereq: build_tools/rocksdb-lego-determinator \
2404
+ build_tools/precommit_checker.py
2405
+ J=$(J) build_tools/precommit_checker.py unit unit_481 clang_unit release release_481 clang_release tsan asan ubsan lite unit_non_shm
2406
+ $(MAKE) clean && $(MAKE) jclean && $(MAKE) rocksdbjava;
2407
+
2408
+ # ---------------------------------------------------------------------------
2409
+ # Platform-specific compilation
2410
+ # ---------------------------------------------------------------------------
2411
+
2412
+ ifeq ($(PLATFORM), IOS)
2413
+ # For iOS, create universal object files to be used on both the simulator and
2414
+ # a device.
2415
+ XCODEROOT=$(shell xcode-select -print-path)
2416
+ PLATFORMSROOT=$(XCODEROOT)/Platforms
2417
+ SIMULATORROOT=$(PLATFORMSROOT)/iPhoneSimulator.platform/Developer
2418
+ DEVICEROOT=$(PLATFORMSROOT)/iPhoneOS.platform/Developer
2419
+ IOSVERSION=$(shell defaults read $(PLATFORMSROOT)/iPhoneOS.platform/version CFBundleShortVersionString)
2420
+
2421
+ .cc.o:
2422
+ mkdir -p ios-x86/$(dir $@)
2423
+ $(CXX) $(CXXFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 -arch x86_64 -c $< -o ios-x86/$@
2424
+ mkdir -p ios-arm/$(dir $@)
2425
+ xcrun -sdk iphoneos $(CXX) $(CXXFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 -arch armv7s -arch arm64 -c $< -o ios-arm/$@
2426
+ lipo ios-x86/$@ ios-arm/$@ -create -output $@
2427
+
2428
+ .c.o:
2429
+ mkdir -p ios-x86/$(dir $@)
2430
+ $(CC) $(CFLAGS) -isysroot $(SIMULATORROOT)/SDKs/iPhoneSimulator$(IOSVERSION).sdk -arch i686 -arch x86_64 -c $< -o ios-x86/$@
2431
+ mkdir -p ios-arm/$(dir $@)
2432
+ xcrun -sdk iphoneos $(CC) $(CFLAGS) -isysroot $(DEVICEROOT)/SDKs/iPhoneOS$(IOSVERSION).sdk -arch armv6 -arch armv7 -arch armv7s -arch arm64 -c $< -o ios-arm/$@
2433
+ lipo ios-x86/$@ ios-arm/$@ -create -output $@
2434
+
2435
+ else
2436
+ ifeq ($(HAVE_POWER8),1)
2437
+ $(OBJ_DIR)/util/crc32c_ppc.o: util/crc32c_ppc.c
2438
+ $(AM_V_CC)$(CC) $(CFLAGS) -c $< -o $@
2439
+
2440
+ $(OBJ_DIR)/util/crc32c_ppc_asm.o: util/crc32c_ppc_asm.S
2441
+ $(AM_V_CC)$(CC) $(CFLAGS) -c $< -o $@
2442
+ endif
2443
+ $(OBJ_DIR)/%.o: %.cc
2444
+ $(AM_V_CC)mkdir -p $(@D) && $(CXX) $(CXXFLAGS) -c $< -o $@ $(COVERAGEFLAGS)
2445
+
2446
+ $(OBJ_DIR)/%.o: %.cpp
2447
+ $(AM_V_CC)mkdir -p $(@D) && $(CXX) $(CXXFLAGS) -c $< -o $@ $(COVERAGEFLAGS)
2448
+
2449
+ $(OBJ_DIR)/%.o: %.c
2450
+ $(AM_V_CC)$(CC) $(CFLAGS) -c $< -o $@
2451
+ endif
2452
+
2453
+ # ---------------------------------------------------------------------------
2454
+ # Source files dependencies detection
2455
+ # ---------------------------------------------------------------------------
2456
+
2457
+ DEPFILES = $(patsubst %.cc, $(OBJ_DIR)/%.cc.d, $(ALL_SOURCES))
2458
+ DEPFILES+ = $(patsubst %.c, $(OBJ_DIR)/%.c.d, $(LIB_SOURCES_C) $(TEST_MAIN_SOURCES_C))
2459
+ ifeq ($(USE_FOLLY_DISTRIBUTED_MUTEX),1)
2460
+ DEPFILES +=$(patsubst %.cpp, $(OBJ_DIR)/%.cpp.d, $(FOLLY_SOURCES))
2461
+ endif
2462
+
2463
+ # Add proper dependency support so changing a .h file forces a .cc file to
2464
+ # rebuild.
2465
+
2466
+ # The .d file indicates .cc file's dependencies on .h files. We generate such
2467
+ # dependency by g++'s -MM option, whose output is a make dependency rule.
2468
+ $(OBJ_DIR)/%.cc.d: %.cc
2469
+ @mkdir -p $(@D) && $(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
2470
+ -MM -MT'$@' -MT'$(<:.cc=.o)' -MT'$(<:%.cc=$(OBJ_DIR)/%.o)' \
2471
+ "$<" -o '$@'
2472
+
2473
+ $(OBJ_DIR)/%.cpp.d: %.cpp
2474
+ @mkdir -p $(@D) && $(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
2475
+ -MM -MT'$@' -MT'$(<:.cpp=.o)' -MT'$(<:%.cpp=$(OBJ_DIR)/%.o)' \
2476
+ "$<" -o '$@'
2477
+
2478
+ ifeq ($(HAVE_POWER8),1)
2479
+ DEPFILES_C = $(patsubst %.c, $(OBJ_DIR)/%.c.d, $(LIB_SOURCES_C))
2480
+ DEPFILES_ASM = $(patsubst %.S, $(OBJ_DIR)/%.S.d, $(LIB_SOURCES_ASM))
2481
+
2482
+ $(OBJ_DIR)/%.c.d: %.c
2483
+ @$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
2484
+ -MM -MT'$@' -MT'$(<:.c=.o)' "$<" -o '$@'
2485
+
2486
+ $(OBJ_DIR)/%.S.d: %.S
2487
+ @$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
2488
+ -MM -MT'$@' -MT'$(<:.S=.o)' "$<" -o '$@'
2489
+
2490
+ $(DEPFILES_C): %.c.d
2491
+
2492
+ $(DEPFILES_ASM): %.S.d
2493
+ depend: $(DEPFILES) $(DEPFILES_C) $(DEPFILES_ASM)
2494
+ else
2495
+ depend: $(DEPFILES)
2496
+ endif
2497
+
2498
+ build_subset_tests: $(ROCKSDBTESTS_SUBSET)
2499
+ $(AM_V_GEN)if [ -n "$${ROCKSDBTESTS_SUBSET_TESTS_TO_FILE}" ]; then echo "$(ROCKSDBTESTS_SUBSET)" > "$${ROCKSDBTESTS_SUBSET_TESTS_TO_FILE}"; else echo "$(ROCKSDBTESTS_SUBSET)"; fi
2500
+
2501
+ # if the make goal is either "clean" or "format", we shouldn't
2502
+ # try to import the *.d files.
2503
+ # TODO(kailiu) The unfamiliarity of Make's conditions leads to the ugly
2504
+ # working solution.
2505
+ ifneq ($(MAKECMDGOALS),clean)
2506
+ ifneq ($(MAKECMDGOALS),format)
2507
+ ifneq ($(MAKECMDGOALS),jclean)
2508
+ ifneq ($(MAKECMDGOALS),jtest)
2509
+ ifneq ($(MAKECMDGOALS),rocksdbjavastatic)
2510
+ ifneq ($(MAKECMDGOALS),rocksdbjavastatic_deps)
2511
+ ifneq ($(MAKECMDGOALS),package)
2512
+ ifneq ($(MAKECMDGOALS),analyze)
2513
+ -include $(DEPFILES)
2514
+ endif
2515
+ endif
2516
+ endif
2517
+ endif
2518
+ endif
2519
+ endif
2520
+ endif
2521
+ endif