rocksdb-native 2.2.0 → 2.3.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 (261) hide show
  1. package/binding.c +92 -10
  2. package/index.js +9 -0
  3. package/lib/batch.js +11 -1
  4. package/lib/iterator.js +3 -1
  5. package/lib/snapshot.js +21 -0
  6. package/package.json +1 -1
  7. package/prebuilds/darwin-arm64/rocksdb-native.bare +0 -0
  8. package/prebuilds/darwin-arm64/rocksdb-native.node +0 -0
  9. package/prebuilds/darwin-x64/rocksdb-native.bare +0 -0
  10. package/prebuilds/darwin-x64/rocksdb-native.node +0 -0
  11. package/prebuilds/linux-arm64/rocksdb-native.bare +0 -0
  12. package/prebuilds/linux-arm64/rocksdb-native.node +0 -0
  13. package/prebuilds/linux-x64/rocksdb-native.bare +0 -0
  14. package/prebuilds/linux-x64/rocksdb-native.node +0 -0
  15. package/prebuilds/win32-x64/rocksdb-native.bare +0 -0
  16. package/prebuilds/win32-x64/rocksdb-native.node +0 -0
  17. package/vendor/librocksdb/include/rocksdb.h +38 -4
  18. package/vendor/librocksdb/src/rocksdb.cc +114 -14
  19. package/vendor/librocksdb/vendor/rocksdb/CMakeLists.txt +21 -4
  20. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.cc +6 -3
  21. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.cc +4 -4
  22. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.h +4 -2
  23. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.cc +20 -0
  24. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.h +83 -0
  25. package/vendor/librocksdb/vendor/rocksdb/db/builder.cc +9 -5
  26. package/vendor/librocksdb/vendor/rocksdb/db/builder.h +1 -1
  27. package/vendor/librocksdb/vendor/rocksdb/db/c.cc +231 -6
  28. package/vendor/librocksdb/vendor/rocksdb/db/c_test.c +202 -2
  29. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.cc +47 -0
  30. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.h +79 -0
  31. package/vendor/librocksdb/vendor/rocksdb/db/column_family.cc +28 -0
  32. package/vendor/librocksdb/vendor/rocksdb/db/column_family.h +17 -0
  33. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.cc +8 -1
  34. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.h +11 -9
  35. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.cc +50 -23
  36. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.h +13 -0
  37. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.cc +22 -25
  38. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.h +2 -0
  39. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.cc +8 -1
  40. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.h +1 -0
  41. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.cc +40 -17
  42. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.h +20 -14
  43. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.cc +11 -6
  44. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.cc +77 -24
  45. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_service_job.cc +2 -0
  46. package/vendor/librocksdb/vendor/rocksdb/db/convenience.cc +3 -0
  47. package/vendor/librocksdb/vendor/rocksdb/db/db_filesnapshot.cc +125 -31
  48. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.cc +457 -231
  49. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.h +172 -73
  50. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_compaction_flush.cc +152 -133
  51. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_debug.cc +5 -0
  52. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_files.cc +58 -52
  53. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.cc +348 -0
  54. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.h +54 -0
  55. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_open.cc +136 -117
  56. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.cc +4 -3
  57. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.h +7 -6
  58. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_write.cc +134 -80
  59. package/vendor/librocksdb/vendor/rocksdb/db/db_iter.cc +11 -0
  60. package/vendor/librocksdb/vendor/rocksdb/db/db_test2.cc +1 -1
  61. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.cc +11 -1
  62. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.h +11 -7
  63. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.cc +19 -4
  64. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.h +3 -2
  65. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.cc +34 -39
  66. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.h +3 -4
  67. package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.cc +6 -3
  68. package/vendor/librocksdb/vendor/rocksdb/db/experimental.cc +3 -2
  69. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.cc +76 -18
  70. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.h +11 -0
  71. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.cc +37 -5
  72. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.h +14 -0
  73. package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.cc +49 -45
  74. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.cc +60 -1
  75. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.h +20 -1
  76. package/vendor/librocksdb/vendor/rocksdb/db/log_reader.cc +15 -6
  77. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.cc +59 -10
  78. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.h +8 -0
  79. package/vendor/librocksdb/vendor/rocksdb/db/memtable.cc +24 -40
  80. package/vendor/librocksdb/vendor/rocksdb/db/memtable.h +10 -10
  81. package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.cc +9 -8
  82. package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator_impl.h +296 -0
  83. package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.h +8 -10
  84. package/vendor/librocksdb/vendor/rocksdb/db/repair.cc +4 -3
  85. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.cc +30 -0
  86. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.h +9 -0
  87. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.cc +17 -2
  88. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.h +9 -1
  89. package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.h +9 -2
  90. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.cc +3 -3
  91. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.h +7 -7
  92. package/vendor/librocksdb/vendor/rocksdb/db/version_edit.cc +0 -1
  93. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.cc +39 -5
  94. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.h +24 -15
  95. package/vendor/librocksdb/vendor/rocksdb/db/version_set.cc +117 -64
  96. package/vendor/librocksdb/vendor/rocksdb/db/version_set.h +27 -10
  97. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.cc +37 -29
  98. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.h +6 -5
  99. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns.cc +2 -3
  100. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.cc +6 -0
  101. package/vendor/librocksdb/vendor/rocksdb/db/write_batch.cc +89 -31
  102. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.cc +53 -5
  103. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.h +36 -4
  104. package/vendor/librocksdb/vendor/rocksdb/env/composite_env_wrapper.h +21 -0
  105. package/vendor/librocksdb/vendor/rocksdb/env/env.cc +15 -0
  106. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.cc +331 -0
  107. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.h +139 -0
  108. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.cc +8 -6
  109. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.h +1 -1
  110. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.cc +130 -27
  111. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.h +61 -8
  112. package/vendor/librocksdb/vendor/rocksdb/file/file_util.cc +25 -4
  113. package/vendor/librocksdb/vendor/rocksdb/file/file_util.h +15 -0
  114. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.cc +1 -0
  115. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.h +9 -4
  116. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.cc +18 -0
  117. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.h +31 -4
  118. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.cc +40 -38
  119. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.h +48 -15
  120. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_options.h +12 -3
  121. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/attribute_groups.h +114 -0
  122. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/c.h +90 -0
  123. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache.h +5 -0
  124. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/comparator.h +27 -0
  125. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db.h +71 -12
  126. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env.h +9 -0
  127. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/experimental.h +5 -0
  128. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_system.h +14 -0
  129. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator.h +9 -71
  130. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator_base.h +90 -0
  131. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/listener.h +21 -0
  132. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/options.h +125 -12
  133. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_context.h +1 -1
  134. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_reader.h +11 -1
  135. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table.h +6 -6
  136. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_properties.h +19 -0
  137. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/transaction_log.h +12 -6
  138. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/types.h +12 -0
  139. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/universal_compaction.h +31 -0
  140. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/user_write_callback.h +29 -0
  141. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/cache_dump_load.h +4 -0
  142. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/checkpoint.h +4 -2
  143. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/customizable_util.h +0 -1
  144. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/env_mirror.h +1 -1
  145. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd.h +24 -7
  146. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/option_change_migration.h +4 -4
  147. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/stackable_db.h +24 -5
  148. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +46 -0
  149. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction.h +42 -17
  150. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db.h +5 -0
  151. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/types_util.h +36 -0
  152. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +71 -3
  153. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/version.h +2 -2
  154. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wide_columns.h +87 -72
  155. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch_base.h +1 -1
  156. package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator.cc +1 -0
  157. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.cc +13 -2
  158. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.h +6 -2
  159. package/vendor/librocksdb/vendor/rocksdb/options/db_options.cc +27 -1
  160. package/vendor/librocksdb/vendor/rocksdb/options/db_options.h +10 -3
  161. package/vendor/librocksdb/vendor/rocksdb/options/options.cc +3 -0
  162. package/vendor/librocksdb/vendor/rocksdb/options/options_helper.cc +1 -0
  163. package/vendor/librocksdb/vendor/rocksdb/port/jemalloc_helper.h +2 -2
  164. package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.cc +1 -0
  165. package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.cc +3 -2
  166. package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.cc +1 -2
  167. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.cc +47 -31
  168. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.cc +15 -0
  169. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.cc +37 -18
  170. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.h +10 -3
  171. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.cc +102 -41
  172. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.h +15 -7
  173. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_impl.h +1 -3
  174. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +5 -6
  175. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.h +31 -0
  176. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.cc +6 -0
  177. package/vendor/librocksdb/vendor/rocksdb/table/block_based/cachable_entry.h +10 -5
  178. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block.h +34 -28
  179. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.cc +17 -11
  180. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.h +5 -2
  181. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy.cc +12 -3
  182. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.cc +37 -30
  183. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.h +11 -13
  184. package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.cc +1 -2
  185. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.cc +62 -53
  186. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.h +60 -38
  187. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.cc +14 -9
  188. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.h +4 -1
  189. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.cc +135 -94
  190. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.h +52 -46
  191. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.cc +51 -13
  192. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.h +2 -0
  193. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.cc +3 -11
  194. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.h +2 -3
  195. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.cc +8 -10
  196. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.h +2 -1
  197. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.cc +9 -10
  198. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.h +3 -2
  199. package/vendor/librocksdb/vendor/rocksdb/table/format.cc +1 -2
  200. package/vendor/librocksdb/vendor/rocksdb/table/iterator.cc +4 -0
  201. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.cc +18 -13
  202. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.h +5 -3
  203. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.cc +18 -4
  204. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.h +4 -0
  205. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.cc +2 -2
  206. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.cc +6 -6
  207. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_reader.cc +24 -2
  208. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer_collectors.h +3 -1
  209. package/vendor/librocksdb/vendor/rocksdb/table/table_builder.h +8 -7
  210. package/vendor/librocksdb/vendor/rocksdb/table/table_iterator.h +69 -0
  211. package/vendor/librocksdb/vendor/rocksdb/table/table_reader.h +9 -0
  212. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.cc +25 -0
  213. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.h +12 -0
  214. package/vendor/librocksdb/vendor/rocksdb/tools/db_bench_tool.cc +32 -0
  215. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd.cc +618 -124
  216. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd_impl.h +19 -1
  217. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_tool.cc +9 -0
  218. package/vendor/librocksdb/vendor/rocksdb/util/aligned_storage.h +24 -0
  219. package/vendor/librocksdb/vendor/rocksdb/util/autovector.h +4 -0
  220. package/vendor/librocksdb/vendor/rocksdb/util/comparator.cc +12 -0
  221. package/vendor/librocksdb/vendor/rocksdb/util/filter_bench.cc +1 -1
  222. package/vendor/librocksdb/vendor/rocksdb/util/random.cc +2 -1
  223. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.cc +3 -4
  224. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.h +1 -1
  225. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.cc +33 -0
  226. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.h +7 -0
  227. package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.h +5 -0
  228. package/vendor/librocksdb/vendor/rocksdb/util/xxhash.h +36 -29
  229. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.h +3 -0
  230. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +20 -0
  231. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.cc +29 -9
  232. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.h +14 -3
  233. package/vendor/librocksdb/vendor/rocksdb/utilities/debug.cc +16 -4
  234. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.cc +677 -248
  235. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.h +325 -158
  236. package/vendor/librocksdb/vendor/rocksdb/utilities/option_change_migration/option_change_migration.cc +1 -8
  237. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.cc +144 -0
  238. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.h +45 -0
  239. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +12 -0
  240. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  241. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +3 -3
  242. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.cc +116 -20
  243. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.h +33 -1
  244. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +78 -13
  245. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.h +33 -1
  246. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.cc +106 -7
  247. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.h +68 -10
  248. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_test.h +7 -3
  249. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.cc +8 -5
  250. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.h +7 -4
  251. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.cc +18 -12
  252. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.cc +4 -4
  253. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -0
  254. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.cc +11 -9
  255. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +2 -1
  256. package/vendor/librocksdb/vendor/rocksdb/utilities/types_util.cc +88 -0
  257. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +313 -14
  258. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +7 -0
  259. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +1 -1
  260. package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator.cc +0 -102
  261. package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator.h +0 -159
@@ -231,6 +231,7 @@ struct rocksdb_livefiles_t {
231
231
  };
232
232
  struct rocksdb_column_family_handle_t {
233
233
  ColumnFamilyHandle* rep;
234
+ bool immortal; /* only true for default cf */
234
235
  };
235
236
  struct rocksdb_column_family_metadata_t {
236
237
  ColumnFamilyMetaData rep;
@@ -531,6 +532,42 @@ struct rocksdb_universal_compaction_options_t {
531
532
  ROCKSDB_NAMESPACE::CompactionOptionsUniversal* rep;
532
533
  };
533
534
 
535
+ struct rocksdb_callback_logger_t : public Logger {
536
+ static const ssize_t STACK_BUFSZ = 512;
537
+ rocksdb_callback_logger_t(InfoLogLevel log_level,
538
+ void (*logv_cb)(void*, unsigned, char*, size_t),
539
+ void* priv)
540
+ : Logger(log_level), logv_cb_(logv_cb), priv_(priv) {}
541
+
542
+ using Logger::Logv;
543
+ void Logv(const InfoLogLevel level, const char* fmt, va_list ap0) override {
544
+ char stack_buf[STACK_BUFSZ];
545
+ char* alloc_buf = nullptr;
546
+ char* buf = stack_buf;
547
+ int len = 0;
548
+ va_list ap1;
549
+ if (!logv_cb_) return;
550
+ va_copy(ap1, ap0);
551
+ len = vsnprintf(buf, STACK_BUFSZ, fmt, ap0);
552
+ if (len <= 0)
553
+ goto cleanup;
554
+ else if (len >= STACK_BUFSZ) {
555
+ buf = alloc_buf = reinterpret_cast<char*>(malloc(len + 1));
556
+ if (!buf) goto cleanup;
557
+ len = vsnprintf(buf, len + 1, fmt, ap1);
558
+ if (len <= 0) goto cleanup;
559
+ }
560
+ logv_cb_(priv_, unsigned(level), buf, size_t(len));
561
+ cleanup:
562
+ va_end(ap1);
563
+ free(alloc_buf);
564
+ }
565
+
566
+ private:
567
+ void (*logv_cb_)(void*, unsigned, char*, size_t) = nullptr;
568
+ void* priv_ = nullptr;
569
+ };
570
+
534
571
  static bool SaveError(char** errptr, const Status& s) {
535
572
  assert(errptr != nullptr);
536
573
  if (s.ok()) {
@@ -546,6 +583,7 @@ static bool SaveError(char** errptr, const Status& s) {
546
583
  return true;
547
584
  }
548
585
 
586
+ // Copies str to a new malloc()-ed buffer. The buffer is not NUL terminated.
549
587
  static char* CopyString(const std::string& str) {
550
588
  char* result = reinterpret_cast<char*>(malloc(sizeof(char) * str.size()));
551
589
  memcpy(result, str.data(), sizeof(char) * str.size());
@@ -906,6 +944,7 @@ rocksdb_t* rocksdb_open_and_trim_history(
906
944
  rocksdb_column_family_handle_t* c_handle =
907
945
  new rocksdb_column_family_handle_t;
908
946
  c_handle->rep = handles[i];
947
+ c_handle->immortal = false;
909
948
  column_family_handles[i] = c_handle;
910
949
  }
911
950
  rocksdb_t* result = new rocksdb_t;
@@ -936,6 +975,7 @@ rocksdb_t* rocksdb_open_column_families(
936
975
  rocksdb_column_family_handle_t* c_handle =
937
976
  new rocksdb_column_family_handle_t;
938
977
  c_handle->rep = handles[i];
978
+ c_handle->immortal = false;
939
979
  column_family_handles[i] = c_handle;
940
980
  }
941
981
  rocksdb_t* result = new rocksdb_t;
@@ -971,6 +1011,7 @@ rocksdb_t* rocksdb_open_column_families_with_ttl(
971
1011
  rocksdb_column_family_handle_t* c_handle =
972
1012
  new rocksdb_column_family_handle_t;
973
1013
  c_handle->rep = handles[i];
1014
+ c_handle->immortal = false;
974
1015
  column_family_handles[i] = c_handle;
975
1016
  }
976
1017
  rocksdb_t* result = new rocksdb_t;
@@ -1004,6 +1045,7 @@ rocksdb_t* rocksdb_open_for_read_only_column_families(
1004
1045
  rocksdb_column_family_handle_t* c_handle =
1005
1046
  new rocksdb_column_family_handle_t;
1006
1047
  c_handle->rep = handles[i];
1048
+ c_handle->immortal = false;
1007
1049
  column_family_handles[i] = c_handle;
1008
1050
  }
1009
1051
  rocksdb_t* result = new rocksdb_t;
@@ -1035,6 +1077,7 @@ rocksdb_t* rocksdb_open_as_secondary_column_families(
1035
1077
  rocksdb_column_family_handle_t* c_handle =
1036
1078
  new rocksdb_column_family_handle_t;
1037
1079
  c_handle->rep = handles[i];
1080
+ c_handle->immortal = false;
1038
1081
  column_family_handles[i] = c_handle;
1039
1082
  }
1040
1083
  rocksdb_t* result = new rocksdb_t;
@@ -1072,6 +1115,7 @@ rocksdb_column_family_handle_t* rocksdb_create_column_family(
1072
1115
  SaveError(errptr, db->rep->CreateColumnFamily(
1073
1116
  ColumnFamilyOptions(column_family_options->rep),
1074
1117
  std::string(column_family_name), &(handle->rep)));
1118
+ handle->immortal = false;
1075
1119
  return handle;
1076
1120
  }
1077
1121
 
@@ -1095,6 +1139,7 @@ rocksdb_column_family_handle_t** rocksdb_create_column_families(
1095
1139
  for (size_t i = 0; i != handles.size(); ++i) {
1096
1140
  c_handles[i] = new rocksdb_column_family_handle_t;
1097
1141
  c_handles[i]->rep = handles[i];
1142
+ c_handles[i]->immortal = false;
1098
1143
  }
1099
1144
 
1100
1145
  return c_handles;
@@ -1114,6 +1159,7 @@ rocksdb_column_family_handle_t* rocksdb_create_column_family_with_ttl(
1114
1159
  SaveError(errptr, db_with_ttl->CreateColumnFamilyWithTtl(
1115
1160
  ColumnFamilyOptions(column_family_options->rep),
1116
1161
  std::string(column_family_name), &(handle->rep), ttl));
1162
+ handle->immortal = false;
1117
1163
  return handle;
1118
1164
  }
1119
1165
 
@@ -1135,9 +1181,19 @@ char* rocksdb_column_family_handle_get_name(
1135
1181
  return CopyString(name);
1136
1182
  }
1137
1183
 
1184
+ rocksdb_column_family_handle_t* rocksdb_get_default_column_family_handle(
1185
+ rocksdb_t* db) {
1186
+ rocksdb_column_family_handle_t* handle = new rocksdb_column_family_handle_t;
1187
+ handle->rep = db->rep->DefaultColumnFamily();
1188
+ handle->immortal = true;
1189
+ return handle;
1190
+ }
1191
+
1138
1192
  void rocksdb_column_family_handle_destroy(
1139
1193
  rocksdb_column_family_handle_t* handle) {
1140
- delete handle->rep;
1194
+ if (!handle->immortal) {
1195
+ delete handle->rep;
1196
+ }
1141
1197
  delete handle;
1142
1198
  }
1143
1199
 
@@ -1373,6 +1429,18 @@ char* rocksdb_get_cf_with_ts(rocksdb_t* db,
1373
1429
  return result;
1374
1430
  }
1375
1431
 
1432
+ char* rocksdb_get_db_identity(rocksdb_t* db, size_t* id_len) {
1433
+ std::string identity_tmp;
1434
+ Status s = db->rep->GetDbIdentity(identity_tmp);
1435
+ if (!s.ok()) {
1436
+ *id_len = 0;
1437
+ return nullptr;
1438
+ }
1439
+
1440
+ *id_len = identity_tmp.size();
1441
+ return CopyString(identity_tmp);
1442
+ }
1443
+
1376
1444
  void rocksdb_multi_get(rocksdb_t* db, const rocksdb_readoptions_t* options,
1377
1445
  size_t num_keys, const char* const* keys_list,
1378
1446
  const size_t* keys_list_sizes, char** values_list,
@@ -1770,6 +1838,26 @@ void rocksdb_approximate_sizes_cf(
1770
1838
  delete[] ranges;
1771
1839
  }
1772
1840
 
1841
+ extern ROCKSDB_LIBRARY_API void rocksdb_approximate_sizes_cf_with_flags(
1842
+ rocksdb_t* db, rocksdb_column_family_handle_t* column_family,
1843
+ int num_ranges, const char* const* range_start_key,
1844
+ const size_t* range_start_key_len, const char* const* range_limit_key,
1845
+ const size_t* range_limit_key_len, uint8_t include_flags, uint64_t* sizes,
1846
+ char** errptr) {
1847
+ Range* ranges = new Range[num_ranges];
1848
+ for (int i = 0; i < num_ranges; i++) {
1849
+ ranges[i].start = Slice(range_start_key[i], range_start_key_len[i]);
1850
+ ranges[i].limit = Slice(range_limit_key[i], range_limit_key_len[i]);
1851
+ }
1852
+ Status s = db->rep->GetApproximateSizes(
1853
+ column_family->rep, ranges, num_ranges, sizes,
1854
+ static_cast<DB::SizeApproximationFlags>(include_flags));
1855
+ if (!s.ok()) {
1856
+ SaveError(errptr, s);
1857
+ }
1858
+ delete[] ranges;
1859
+ }
1860
+
1773
1861
  void rocksdb_delete_file(rocksdb_t* db, const char* name) {
1774
1862
  db->rep->DeleteFile(name);
1775
1863
  }
@@ -1947,6 +2035,10 @@ void rocksdb_iter_get_error(const rocksdb_iterator_t* iter, char** errptr) {
1947
2035
  SaveError(errptr, iter->rep->status());
1948
2036
  }
1949
2037
 
2038
+ void rocksdb_iter_refresh(const rocksdb_iterator_t* iter, char** errptr) {
2039
+ SaveError(errptr, iter->rep->Refresh());
2040
+ }
2041
+
1950
2042
  rocksdb_writebatch_t* rocksdb_writebatch_create() {
1951
2043
  return new rocksdb_writebatch_t;
1952
2044
  }
@@ -1958,6 +2050,15 @@ rocksdb_writebatch_t* rocksdb_writebatch_create_from(const char* rep,
1958
2050
  return b;
1959
2051
  }
1960
2052
 
2053
+ rocksdb_writebatch_t* rocksdb_writebatch_create_with_params(
2054
+ size_t reserved_bytes, size_t max_bytes, size_t protection_bytes_per_key,
2055
+ size_t default_cf_ts_sz) {
2056
+ rocksdb_writebatch_t* b = new rocksdb_writebatch_t;
2057
+ b->rep = WriteBatch(reserved_bytes, max_bytes, protection_bytes_per_key,
2058
+ default_cf_ts_sz);
2059
+ return b;
2060
+ }
2061
+
1961
2062
  void rocksdb_writebatch_destroy(rocksdb_writebatch_t* b) { delete b; }
1962
2063
 
1963
2064
  void rocksdb_writebatch_clear(rocksdb_writebatch_t* b) { b->rep.Clear(); }
@@ -2185,6 +2286,32 @@ class H : public WriteBatch::Handler {
2185
2286
  }
2186
2287
  };
2187
2288
 
2289
+ class HCF : public WriteBatch::Handler {
2290
+ public:
2291
+ void* state_;
2292
+ void (*put_cf_)(void*, uint32_t cfid, const char* k, size_t klen,
2293
+ const char* v, size_t vlen);
2294
+ void (*deleted_cf_)(void*, uint32_t cfid, const char* k, size_t klen);
2295
+ void (*merge_cf_)(void*, uint32_t cfid, const char* k, size_t klen,
2296
+ const char* v, size_t vlen);
2297
+ Status PutCF(uint32_t column_family_id, const Slice& key,
2298
+ const Slice& value) override {
2299
+ (*put_cf_)(state_, column_family_id, key.data(), key.size(), value.data(),
2300
+ value.size());
2301
+ return Status::OK();
2302
+ }
2303
+ Status DeleteCF(uint32_t column_family_id, const Slice& key) override {
2304
+ (*deleted_cf_)(state_, column_family_id, key.data(), key.size());
2305
+ return Status::OK();
2306
+ }
2307
+ Status MergeCF(uint32_t column_family_id, const Slice& key,
2308
+ const Slice& value) override {
2309
+ (*merge_cf_)(state_, column_family_id, key.data(), key.size(), value.data(),
2310
+ value.size());
2311
+ return Status::OK();
2312
+ }
2313
+ };
2314
+
2188
2315
  void rocksdb_writebatch_iterate(rocksdb_writebatch_t* b, void* state,
2189
2316
  void (*put)(void*, const char* k, size_t klen,
2190
2317
  const char* v, size_t vlen),
@@ -2197,6 +2324,21 @@ void rocksdb_writebatch_iterate(rocksdb_writebatch_t* b, void* state,
2197
2324
  b->rep.Iterate(&handler);
2198
2325
  }
2199
2326
 
2327
+ void rocksdb_writebatch_iterate_cf(
2328
+ rocksdb_writebatch_t* b, void* state,
2329
+ void (*put_cf)(void*, uint32_t cfid, const char* k, size_t klen,
2330
+ const char* v, size_t vlen),
2331
+ void (*deleted_cf)(void*, uint32_t cfid, const char* k, size_t klen),
2332
+ void (*merge_cf)(void*, uint32_t cfid, const char* k, size_t klen,
2333
+ const char* v, size_t vlen)) {
2334
+ HCF handler;
2335
+ handler.state_ = state;
2336
+ handler.put_cf_ = put_cf;
2337
+ handler.deleted_cf_ = deleted_cf;
2338
+ handler.merge_cf_ = merge_cf;
2339
+ b->rep.Iterate(&handler);
2340
+ }
2341
+
2200
2342
  const char* rocksdb_writebatch_data(rocksdb_writebatch_t* b, size_t* size) {
2201
2343
  *size = b->rep.GetDataSize();
2202
2344
  return b->rep.Data().c_str();
@@ -2223,6 +2365,35 @@ rocksdb_writebatch_wi_t* rocksdb_writebatch_wi_create(
2223
2365
  return b;
2224
2366
  }
2225
2367
 
2368
+ rocksdb_writebatch_wi_t* rocksdb_writebatch_wi_create_with_params(
2369
+ rocksdb_comparator_t* backup_index_comparator, size_t reserved_bytes,
2370
+ unsigned char overwrite_key, size_t max_bytes,
2371
+ size_t protection_bytes_per_key) {
2372
+ rocksdb_writebatch_wi_t* b = new rocksdb_writebatch_wi_t;
2373
+ b->rep = new WriteBatchWithIndex(backup_index_comparator, reserved_bytes,
2374
+ overwrite_key, max_bytes,
2375
+ protection_bytes_per_key);
2376
+ return b;
2377
+ }
2378
+
2379
+ void rocksdb_writebatch_update_timestamps(
2380
+ rocksdb_writebatch_t* wb, const char* ts, size_t tslen, void* state,
2381
+ size_t (*get_ts_size)(void*, uint32_t), char** errptr) {
2382
+ SaveError(errptr, wb->rep.UpdateTimestamps(
2383
+ Slice(ts, tslen), [&get_ts_size, &state](uint32_t cf) {
2384
+ return (*get_ts_size)(state, cf);
2385
+ }));
2386
+ }
2387
+
2388
+ void rocksdb_writebatch_wi_update_timestamps(
2389
+ rocksdb_writebatch_wi_t* wb, const char* ts, size_t tslen, void* state,
2390
+ size_t (*get_ts_size)(void*, uint32_t), char** errptr) {
2391
+ SaveError(errptr, wb->rep->GetWriteBatch()->UpdateTimestamps(
2392
+ Slice(ts, tslen), [&get_ts_size, &state](uint32_t cf) {
2393
+ return (*get_ts_size)(state, cf);
2394
+ }));
2395
+ }
2396
+
2226
2397
  void rocksdb_writebatch_wi_destroy(rocksdb_writebatch_wi_t* b) {
2227
2398
  if (b->rep) {
2228
2399
  delete b->rep;
@@ -2745,6 +2916,24 @@ void rocksdb_options_set_block_based_table_factory(
2745
2916
  }
2746
2917
  }
2747
2918
 
2919
+ void rocksdb_block_based_options_set_top_level_index_pinning_tier(
2920
+ rocksdb_block_based_table_options_t* options, int v) {
2921
+ options->rep.metadata_cache_options.top_level_index_pinning =
2922
+ static_cast<ROCKSDB_NAMESPACE::PinningTier>(v);
2923
+ }
2924
+
2925
+ void rocksdb_block_based_options_set_partition_pinning_tier(
2926
+ rocksdb_block_based_table_options_t* options, int v) {
2927
+ options->rep.metadata_cache_options.partition_pinning =
2928
+ static_cast<ROCKSDB_NAMESPACE::PinningTier>(v);
2929
+ }
2930
+
2931
+ void rocksdb_block_based_options_set_unpartitioned_pinning_tier(
2932
+ rocksdb_block_based_table_options_t* options, int v) {
2933
+ options->rep.metadata_cache_options.unpartitioned_pinning =
2934
+ static_cast<ROCKSDB_NAMESPACE::PinningTier>(v);
2935
+ }
2936
+
2748
2937
  rocksdb_cuckoo_table_options_t* rocksdb_cuckoo_options_create() {
2749
2938
  return new rocksdb_cuckoo_table_options_t;
2750
2939
  }
@@ -2945,6 +3134,15 @@ rocksdb_logger_t* rocksdb_logger_create_stderr_logger(int log_level,
2945
3134
  return logger;
2946
3135
  }
2947
3136
 
3137
+ rocksdb_logger_t* rocksdb_logger_create_callback_logger(
3138
+ int log_level, void (*callback)(void*, unsigned, char*, size_t),
3139
+ void* priv) {
3140
+ rocksdb_logger_t* logger = new rocksdb_logger_t;
3141
+ logger->rep = std::make_shared<rocksdb_callback_logger_t>(
3142
+ static_cast<InfoLogLevel>(log_level), callback, priv);
3143
+ return logger;
3144
+ }
3145
+
2948
3146
  void rocksdb_logger_destroy(rocksdb_logger_t* logger) { delete logger; }
2949
3147
 
2950
3148
  void rocksdb_options_set_env(rocksdb_options_t* opt, rocksdb_env_t* env) {
@@ -3867,6 +4065,27 @@ void rocksdb_options_set_plain_table_factory(
3867
4065
  opt->rep.table_factory.reset(factory);
3868
4066
  }
3869
4067
 
4068
+ unsigned char rocksdb_options_get_write_dbid_to_manifest(
4069
+ rocksdb_options_t* opt) {
4070
+ return opt->rep.write_dbid_to_manifest;
4071
+ }
4072
+
4073
+ void rocksdb_options_set_write_dbid_to_manifest(
4074
+ rocksdb_options_t* opt, unsigned char write_dbid_to_manifest) {
4075
+ opt->rep.write_dbid_to_manifest = write_dbid_to_manifest;
4076
+ }
4077
+
4078
+ unsigned char rocksdb_options_get_track_and_verify_wals_in_manifest(
4079
+ rocksdb_options_t* opt) {
4080
+ return opt->rep.track_and_verify_wals_in_manifest;
4081
+ }
4082
+
4083
+ void rocksdb_options_set_track_and_verify_wals_in_manifest(
4084
+ rocksdb_options_t* opt, unsigned char track_and_verify_wals_in_manifest) {
4085
+ opt->rep.track_and_verify_wals_in_manifest =
4086
+ track_and_verify_wals_in_manifest;
4087
+ }
4088
+
3870
4089
  void rocksdb_options_set_max_successive_merges(rocksdb_options_t* opt,
3871
4090
  size_t v) {
3872
4091
  opt->rep.max_successive_merges = v;
@@ -3930,6 +4149,14 @@ void rocksdb_options_set_fifo_compaction_options(
3930
4149
  opt->rep.compaction_options_fifo = fifo->rep;
3931
4150
  }
3932
4151
 
4152
+ void rocksdb_options_set_compaction_pri(rocksdb_options_t* opt, int pri) {
4153
+ opt->rep.compaction_pri = static_cast<ROCKSDB_NAMESPACE::CompactionPri>(pri);
4154
+ }
4155
+
4156
+ int rocksdb_options_get_compaction_pri(rocksdb_options_t* opt) {
4157
+ return opt->rep.compaction_pri;
4158
+ }
4159
+
3933
4160
  char* rocksdb_options_statistics_get_string(rocksdb_options_t* opt) {
3934
4161
  ROCKSDB_NAMESPACE::Statistics* statistics = opt->rep.statistics.get();
3935
4162
  if (statistics) {
@@ -4238,13 +4465,8 @@ void rocksdb_perfcontext_destroy(rocksdb_perfcontext_t* context) {
4238
4465
 
4239
4466
  /*
4240
4467
  TODO:
4241
- DB::OpenForReadOnly
4242
- DB::KeyMayExist
4243
4468
  DB::GetOptions
4244
4469
  DB::GetSortedWalFiles
4245
- DB::GetLatestSequenceNumber
4246
- DB::GetUpdatesSince
4247
- DB::GetDbIdentity
4248
4470
  DB::RunManualCompaction
4249
4471
  custom cache
4250
4472
  table_properties_collectors
@@ -5721,6 +5943,7 @@ rocksdb_column_family_handle_t* rocksdb_transactiondb_create_column_family(
5721
5943
  SaveError(errptr, txn_db->rep->CreateColumnFamily(
5722
5944
  ColumnFamilyOptions(column_family_options->rep),
5723
5945
  std::string(column_family_name), &(handle->rep)));
5946
+ handle->immortal = false;
5724
5947
  return handle;
5725
5948
  }
5726
5949
 
@@ -5763,6 +5986,7 @@ rocksdb_transactiondb_t* rocksdb_transactiondb_open_column_families(
5763
5986
  rocksdb_column_family_handle_t* c_handle =
5764
5987
  new rocksdb_column_family_handle_t;
5765
5988
  c_handle->rep = handles[i];
5989
+ c_handle->immortal = false;
5766
5990
  column_family_handles[i] = c_handle;
5767
5991
  }
5768
5992
  rocksdb_transactiondb_t* result = new rocksdb_transactiondb_t;
@@ -6557,6 +6781,7 @@ rocksdb_optimistictransactiondb_open_column_families(
6557
6781
  rocksdb_column_family_handle_t* c_handle =
6558
6782
  new rocksdb_column_family_handle_t;
6559
6783
  c_handle->rep = handles[i];
6784
+ c_handle->immortal = false;
6560
6785
  column_family_handles[i] = c_handle;
6561
6786
  }
6562
6787
  rocksdb_optimistictransactiondb_t* result =