@nxtedition/rocksdb 15.4.1 → 15.5.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.
- package/binding.cc +24 -15
- package/deps/rocksdb/rocksdb/.clang-tidy +86 -0
- package/deps/rocksdb/rocksdb/BUCK +42 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +11 -0
- package/deps/rocksdb/rocksdb/Makefile +59 -32
- package/deps/rocksdb/rocksdb/cache/cache.cc +0 -5
- package/deps/rocksdb/rocksdb/cache/cache_entry_stats.h +9 -9
- package/deps/rocksdb/rocksdb/cache/cache_key.cc +3 -3
- package/deps/rocksdb/rocksdb/cache/cache_key.h +5 -5
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +16 -16
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +258 -294
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +98 -49
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +1 -5
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +2 -3
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +18 -18
- package/deps/rocksdb/rocksdb/crash_test.mk +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +23 -22
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +6 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +14 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +38 -26
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +101 -18
- package/deps/rocksdb/rocksdb/db/blob/blob_index.h +12 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +6 -9
- package/deps/rocksdb/rocksdb/db/builder.cc +23 -0
- package/deps/rocksdb/rocksdb/db/builder.h +7 -0
- package/deps/rocksdb/rocksdb/db/c.cc +373 -57
- package/deps/rocksdb/rocksdb/db/c_test.c +101 -1
- package/deps/rocksdb/rocksdb/db/column_family.cc +31 -3
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +10 -13
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +35 -48
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +13 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +201 -39
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +15 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +2 -455
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +4 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +19 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +72 -9
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +405 -83
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +25 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +23 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +1410 -106
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +12 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +19 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +505 -45
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +9 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +7 -9
- package/deps/rocksdb/rocksdb/db/convenience.cc +4 -4
- package/deps/rocksdb/rocksdb/db/convenience_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +60 -88
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +10 -12
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +471 -40
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +116 -2
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +5 -15
- package/deps/rocksdb/rocksdb/db/db_compaction_abort_test.cc +993 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +329 -29
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +155 -13
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +54 -31
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +232 -70
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +57 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +224 -31
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +4 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +164 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +6 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +47 -35
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +22 -9
- package/deps/rocksdb/rocksdb/db/db_iter.cc +9 -0
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +371 -6
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +7 -5
- package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +22 -23
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +40 -0
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +32 -13
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +68 -15
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +2 -3
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -21
- package/deps/rocksdb/rocksdb/db/db_test.cc +644 -128
- package/deps/rocksdb/rocksdb/db/db_test2.cc +198 -81
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +35 -10
- package/deps/rocksdb/rocksdb/db/db_test_util.h +8 -2
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +36 -32
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +11 -7
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +499 -0
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +284 -20
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/dbformat.h +0 -5
- package/deps/rocksdb/rocksdb/db/error_handler.cc +24 -0
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +12 -14
- package/deps/rocksdb/rocksdb/db/experimental.cc +13 -10
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +22 -3
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +21 -15
- package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +4 -6
- package/deps/rocksdb/rocksdb/db/flush_job.cc +11 -3
- package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +5 -6
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +4 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +17 -17
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +13 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -0
- package/deps/rocksdb/rocksdb/db/listener_test.cc +154 -27
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/memtable.cc +197 -51
- package/deps/rocksdb/rocksdb/db/memtable.h +6 -0
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/merge_test.cc +37 -35
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/options_file_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +9 -11
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +10 -1
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +292 -15
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +10 -17
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +6 -8
- package/deps/rocksdb/rocksdb/db/repair.cc +10 -10
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/table_cache.cc +142 -135
- package/deps/rocksdb/rocksdb/db/table_cache.h +30 -6
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +7 -7
- package/deps/rocksdb/rocksdb/db/version_builder.cc +11 -50
- package/deps/rocksdb/rocksdb/db/version_builder.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/version_edit.cc +51 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +91 -29
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -7
- package/deps/rocksdb/rocksdb/db/version_set.cc +211 -50
- package/deps/rocksdb/rocksdb/db/version_set.h +40 -3
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +5 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +294 -21
- package/deps/rocksdb/rocksdb/db/version_util.cc +96 -0
- package/deps/rocksdb/rocksdb/db/version_util.h +24 -0
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +647 -31
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +219 -1
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +549 -12
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +19 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +21 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +32 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +74 -22
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +9 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -61
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +15 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +76 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +92 -72
- package/deps/rocksdb/rocksdb/env/env.cc +1 -0
- package/deps/rocksdb/rocksdb/env/env_test.cc +365 -2
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +31 -30
- package/deps/rocksdb/rocksdb/env/io_posix.cc +8 -11
- package/deps/rocksdb/rocksdb/env/io_posix.h +30 -1
- package/deps/rocksdb/rocksdb/env/io_posix_test.cc +43 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +1 -1
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +108 -0
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +32 -4
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +4 -4
- package/deps/rocksdb/rocksdb/file/file_util.cc +8 -2
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -1
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +331 -12
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +52 -35
- package/deps/rocksdb/rocksdb/folly.mk +22 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +100 -54
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +67 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +149 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +78 -97
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +17 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/functor_wrapper.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/io_dispatcher.h +358 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +43 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +20 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +63 -21
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +10 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +2 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +3 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +49 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +77 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +16 -10
- package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +2 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/user_defined_index.h +106 -46
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/db_ttl.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +14 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +7 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +1 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +2 -2
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +226 -8
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +490 -0
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +3 -3
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +11 -0
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +4 -12
- package/deps/rocksdb/rocksdb/microbench/ribbon_bench.cc +5 -5
- package/deps/rocksdb/rocksdb/monitoring/file_read_sample.h +21 -4
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +9 -3
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +21 -2
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +2 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +21 -1
- package/deps/rocksdb/rocksdb/options/cf_options.h +2 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +0 -2
- package/deps/rocksdb/rocksdb/options/db_options.cc +26 -5
- package/deps/rocksdb/rocksdb/options/db_options.h +3 -1
- package/deps/rocksdb/rocksdb/options/options.cc +5 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +7 -2
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +109 -103
- package/deps/rocksdb/rocksdb/options/options_test.cc +14 -0
- package/deps/rocksdb/rocksdb/port/jemalloc_helper.h +15 -17
- package/deps/rocksdb/rocksdb/port/lang.h +4 -0
- package/deps/rocksdb/rocksdb/port/port_example.h +0 -23
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +36 -0
- package/deps/rocksdb/rocksdb/port/stack_trace.h +9 -0
- package/deps/rocksdb/rocksdb/src.mk +12 -0
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +571 -292
- package/deps/rocksdb/rocksdb/table/block_based/block.h +143 -53
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +154 -90
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +5 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +51 -14
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +0 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +147 -734
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +30 -233
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +178 -108
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +13 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +17 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +5 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +70 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +168 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +25 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +9 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +548 -169
- package/deps/rocksdb/rocksdb/table/block_based/block_type.h +30 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_util.h +156 -0
- package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.cc +73 -30
- package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.h +74 -7
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +20 -14
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +22 -12
- package/deps/rocksdb/rocksdb/table/block_based/mock_block_based_table.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/multi_scan_index_iterator.cc +332 -0
- package/deps/rocksdb/rocksdb/table/block_based/multi_scan_index_iterator.h +133 -0
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +4 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/user_defined_index_wrapper.h +126 -46
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +31 -3
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +1 -2
- package/deps/rocksdb/rocksdb/table/cleanable_test.cc +3 -1
- package/deps/rocksdb/rocksdb/table/external_table.cc +25 -4
- package/deps/rocksdb/rocksdb/table/format.cc +27 -15
- package/deps/rocksdb/rocksdb/table/format.h +41 -15
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +1 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +22 -12
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +7 -21
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +88 -13
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +53 -42
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +3 -12
- package/deps/rocksdb/rocksdb/table/table_builder.h +0 -4
- package/deps/rocksdb/rocksdb/table/table_properties.cc +18 -0
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +2 -3
- package/deps/rocksdb/rocksdb/table/table_test.cc +848 -172
- package/deps/rocksdb/rocksdb/table/unique_id.cc +24 -20
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +8 -8
- package/deps/rocksdb/rocksdb/test_util/sync_point.h +5 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +2 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.h +2 -2
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +238 -120
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +2 -4
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +4 -8
- package/deps/rocksdb/rocksdb/tools/dump/rocksdb_undump.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +2 -3
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +82 -20
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +41 -47
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +9 -0
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +5 -6
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +6 -5
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +4 -4
- package/deps/rocksdb/rocksdb/tools/write_stress.cc +1 -3
- package/deps/rocksdb/rocksdb/util/atomic.h +30 -23
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.cc +6 -7
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.h +3 -3
- package/deps/rocksdb/rocksdb/util/bit_fields.h +68 -46
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +16 -16
- package/deps/rocksdb/rocksdb/util/coding.h +14 -27
- package/deps/rocksdb/rocksdb/util/compression.cc +365 -207
- package/deps/rocksdb/rocksdb/util/compression.h +16 -1298
- package/deps/rocksdb/rocksdb/util/compression_test.cc +347 -61
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +8 -9
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +1 -1
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +1 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +3 -3
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +18 -18
- package/deps/rocksdb/rocksdb/util/gflags_compat.h +3 -3
- package/deps/rocksdb/rocksdb/util/hash_test.cc +19 -7
- package/deps/rocksdb/rocksdb/util/io_dispatcher_imp.cc +1099 -0
- package/deps/rocksdb/rocksdb/util/io_dispatcher_imp.h +36 -0
- package/deps/rocksdb/rocksdb/util/io_dispatcher_test.cc +1919 -0
- package/deps/rocksdb/rocksdb/util/math.h +3 -1
- package/deps/rocksdb/rocksdb/util/mutexlock.h +19 -19
- package/deps/rocksdb/rocksdb/util/ribbon_alg.h +25 -25
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +5 -7
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +4 -5
- package/deps/rocksdb/rocksdb/util/slice.cc +0 -10
- package/deps/rocksdb/rocksdb/util/slice_test.cc +35 -1
- package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +5 -7
- package/deps/rocksdb/rocksdb/util/status.cc +3 -1
- package/deps/rocksdb/rocksdb/util/stop_watch.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +4 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +123 -78
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +12 -93
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +1 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +0 -21
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +6 -48
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +94 -307
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +12 -58
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +2 -8
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +2 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +205 -811
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +18 -9
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +2 -7
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +1 -9
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +17 -11
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +68 -61
- package/deps/rocksdb/rocksdb/utilities/debug.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +105 -59
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +274 -7
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs_test.cc +94 -0
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +13 -17
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +16 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +25 -25
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +40 -40
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +2 -5
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +17 -19
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +4 -13
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +6 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_seqno_test.cc +431 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +91 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/bitvector.cc +562 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/bitvector.h +615 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/louds_trie.cc +2575 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/louds_trie.h +685 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_db_test.cc +2843 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_factory.cc +567 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_factory.h +275 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_test.cc +5183 -0
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +3 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +93 -88
- package/deps/rocksdb/rocksdb.gyp +7 -0
- package/iterator.js +2 -2
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +0 -43
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +0 -55
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
#include <cstdlib>
|
|
13
13
|
#include <map>
|
|
14
|
+
#include <memory>
|
|
14
15
|
#include <unordered_set>
|
|
15
16
|
#include <vector>
|
|
16
17
|
|
|
@@ -89,10 +90,12 @@ using ROCKSDB_NAMESPACE::EnvOptions;
|
|
|
89
90
|
using ROCKSDB_NAMESPACE::EventListener;
|
|
90
91
|
using ROCKSDB_NAMESPACE::ExportImportFilesMetaData;
|
|
91
92
|
using ROCKSDB_NAMESPACE::ExternalFileIngestionInfo;
|
|
93
|
+
using ROCKSDB_NAMESPACE::FileChecksumGenFactory;
|
|
92
94
|
using ROCKSDB_NAMESPACE::FileLock;
|
|
93
95
|
using ROCKSDB_NAMESPACE::FilterPolicy;
|
|
94
96
|
using ROCKSDB_NAMESPACE::FlushJobInfo;
|
|
95
97
|
using ROCKSDB_NAMESPACE::FlushOptions;
|
|
98
|
+
using ROCKSDB_NAMESPACE::GetFileChecksumGenCrc32cFactory;
|
|
96
99
|
using ROCKSDB_NAMESPACE::HistogramData;
|
|
97
100
|
using ROCKSDB_NAMESPACE::HyperClockCacheOptions;
|
|
98
101
|
using ROCKSDB_NAMESPACE::ImportColumnFamilyOptions;
|
|
@@ -112,6 +115,7 @@ using ROCKSDB_NAMESPACE::NewCompactOnDeletionCollectorFactory;
|
|
|
112
115
|
using ROCKSDB_NAMESPACE::NewGenericRateLimiter;
|
|
113
116
|
using ROCKSDB_NAMESPACE::NewLRUCache;
|
|
114
117
|
using ROCKSDB_NAMESPACE::NewRibbonFilterPolicy;
|
|
118
|
+
using ROCKSDB_NAMESPACE::NewSstPartitionerFixedPrefixFactory;
|
|
115
119
|
using ROCKSDB_NAMESPACE::OpenAndCompactOptions;
|
|
116
120
|
using ROCKSDB_NAMESPACE::OptimisticTransactionDB;
|
|
117
121
|
using ROCKSDB_NAMESPACE::OptimisticTransactionOptions;
|
|
@@ -133,9 +137,11 @@ using ROCKSDB_NAMESPACE::Snapshot;
|
|
|
133
137
|
using ROCKSDB_NAMESPACE::SstFileManager;
|
|
134
138
|
using ROCKSDB_NAMESPACE::SstFileMetaData;
|
|
135
139
|
using ROCKSDB_NAMESPACE::SstFileWriter;
|
|
140
|
+
using ROCKSDB_NAMESPACE::SstPartitionerFactory;
|
|
136
141
|
using ROCKSDB_NAMESPACE::Status;
|
|
137
142
|
using ROCKSDB_NAMESPACE::StderrLogger;
|
|
138
143
|
using ROCKSDB_NAMESPACE::SubcompactionJobInfo;
|
|
144
|
+
using ROCKSDB_NAMESPACE::TableFactory;
|
|
139
145
|
using ROCKSDB_NAMESPACE::TablePropertiesCollectorFactory;
|
|
140
146
|
using ROCKSDB_NAMESPACE::Transaction;
|
|
141
147
|
using ROCKSDB_NAMESPACE::TransactionDB;
|
|
@@ -235,6 +241,15 @@ struct rocksdb_filelock_t {
|
|
|
235
241
|
struct rocksdb_logger_t {
|
|
236
242
|
std::shared_ptr<Logger> rep;
|
|
237
243
|
};
|
|
244
|
+
struct rocksdb_file_checksum_gen_factory_t {
|
|
245
|
+
std::shared_ptr<FileChecksumGenFactory> rep;
|
|
246
|
+
};
|
|
247
|
+
struct rocksdb_sst_partitioner_factory_t {
|
|
248
|
+
std::shared_ptr<SstPartitionerFactory> rep;
|
|
249
|
+
};
|
|
250
|
+
struct rocksdb_table_properties_collector_factory_t {
|
|
251
|
+
std::shared_ptr<TablePropertiesCollectorFactory> rep;
|
|
252
|
+
};
|
|
238
253
|
struct rocksdb_lru_cache_options_t {
|
|
239
254
|
LRUCacheOptions rep;
|
|
240
255
|
};
|
|
@@ -581,7 +596,6 @@ struct rocksdb_slicetransform_t : public SliceTransform {
|
|
|
581
596
|
char* (*transform_)(void*, const char* key, size_t length,
|
|
582
597
|
size_t* dst_length);
|
|
583
598
|
unsigned char (*in_domain_)(void*, const char* key, size_t length);
|
|
584
|
-
unsigned char (*in_range_)(void*, const char* key, size_t length);
|
|
585
599
|
|
|
586
600
|
~rocksdb_slicetransform_t() override { (*destructor_)(state_); }
|
|
587
601
|
|
|
@@ -596,10 +610,6 @@ struct rocksdb_slicetransform_t : public SliceTransform {
|
|
|
596
610
|
bool InDomain(const Slice& src) const override {
|
|
597
611
|
return (*in_domain_)(state_, src.data(), src.size());
|
|
598
612
|
}
|
|
599
|
-
|
|
600
|
-
bool InRange(const Slice& src) const override {
|
|
601
|
-
return (*in_range_)(state_, src.data(), src.size());
|
|
602
|
-
}
|
|
603
613
|
};
|
|
604
614
|
|
|
605
615
|
struct rocksdb_universal_compaction_options_t {
|
|
@@ -920,6 +930,38 @@ rocksdb_compaction_service_options_override_create() {
|
|
|
920
930
|
return new rocksdb_compaction_service_options_override_t;
|
|
921
931
|
}
|
|
922
932
|
|
|
933
|
+
rocksdb_compaction_service_options_override_t*
|
|
934
|
+
rocksdb_compaction_service_options_override_create_from_options(
|
|
935
|
+
rocksdb_options_t* options) {
|
|
936
|
+
if (!options) {
|
|
937
|
+
return nullptr;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
rocksdb_compaction_service_options_override_t* override_opts =
|
|
941
|
+
new rocksdb_compaction_service_options_override_t;
|
|
942
|
+
|
|
943
|
+
// Copy all relevant options from rocksdb_options_t
|
|
944
|
+
override_opts->rep.env = options->rep.env;
|
|
945
|
+
override_opts->rep.file_checksum_gen_factory =
|
|
946
|
+
options->rep.file_checksum_gen_factory;
|
|
947
|
+
override_opts->rep.comparator = options->rep.comparator;
|
|
948
|
+
override_opts->rep.merge_operator = options->rep.merge_operator;
|
|
949
|
+
override_opts->rep.compaction_filter = options->rep.compaction_filter;
|
|
950
|
+
override_opts->rep.compaction_filter_factory =
|
|
951
|
+
options->rep.compaction_filter_factory;
|
|
952
|
+
override_opts->rep.prefix_extractor = options->rep.prefix_extractor;
|
|
953
|
+
override_opts->rep.table_factory = options->rep.table_factory;
|
|
954
|
+
override_opts->rep.sst_partitioner_factory =
|
|
955
|
+
options->rep.sst_partitioner_factory;
|
|
956
|
+
override_opts->rep.listeners = options->rep.listeners;
|
|
957
|
+
override_opts->rep.statistics = options->rep.statistics;
|
|
958
|
+
override_opts->rep.info_log = options->rep.info_log;
|
|
959
|
+
override_opts->rep.table_properties_collector_factories =
|
|
960
|
+
options->rep.table_properties_collector_factories;
|
|
961
|
+
|
|
962
|
+
return override_opts;
|
|
963
|
+
}
|
|
964
|
+
|
|
923
965
|
void rocksdb_compaction_service_options_override_destroy(
|
|
924
966
|
rocksdb_compaction_service_options_override_t* override_options) {
|
|
925
967
|
if (override_options) {
|
|
@@ -943,6 +985,111 @@ void rocksdb_compaction_service_options_override_set_comparator(
|
|
|
943
985
|
}
|
|
944
986
|
}
|
|
945
987
|
|
|
988
|
+
void rocksdb_compaction_service_options_override_set_merge_operator(
|
|
989
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
990
|
+
rocksdb_mergeoperator_t* merge_operator) {
|
|
991
|
+
if (override_options && merge_operator) {
|
|
992
|
+
override_options->rep.merge_operator =
|
|
993
|
+
std::shared_ptr<MergeOperator>(merge_operator);
|
|
994
|
+
}
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
void rocksdb_compaction_service_options_override_set_compaction_filter(
|
|
998
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
999
|
+
rocksdb_compactionfilter_t* compaction_filter) {
|
|
1000
|
+
if (override_options && compaction_filter) {
|
|
1001
|
+
override_options->rep.compaction_filter = compaction_filter;
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
void rocksdb_compaction_service_options_override_set_compaction_filter_factory(
|
|
1006
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1007
|
+
rocksdb_compactionfilterfactory_t* compaction_filter_factory) {
|
|
1008
|
+
if (override_options && compaction_filter_factory) {
|
|
1009
|
+
override_options->rep.compaction_filter_factory =
|
|
1010
|
+
std::shared_ptr<CompactionFilterFactory>(compaction_filter_factory);
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
void rocksdb_compaction_service_options_override_set_prefix_extractor(
|
|
1015
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1016
|
+
rocksdb_slicetransform_t* prefix_extractor) {
|
|
1017
|
+
if (override_options && prefix_extractor) {
|
|
1018
|
+
override_options->rep.prefix_extractor =
|
|
1019
|
+
std::shared_ptr<const SliceTransform>(prefix_extractor);
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
void rocksdb_compaction_service_options_override_set_block_based_table_factory(
|
|
1024
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1025
|
+
rocksdb_block_based_table_options_t* table_options) {
|
|
1026
|
+
if (override_options && table_options) {
|
|
1027
|
+
override_options->rep.table_factory = std::shared_ptr<TableFactory>(
|
|
1028
|
+
NewBlockBasedTableFactory(table_options->rep));
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
void rocksdb_compaction_service_options_override_set_cuckoo_table_factory(
|
|
1033
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1034
|
+
rocksdb_cuckoo_table_options_t* table_options) {
|
|
1035
|
+
if (override_options && table_options) {
|
|
1036
|
+
override_options->rep.table_factory = std::shared_ptr<TableFactory>(
|
|
1037
|
+
NewCuckooTableFactory(table_options->rep));
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
// Note: add_event_listener is defined later after rocksdb_eventlistener_t
|
|
1042
|
+
// struct
|
|
1043
|
+
|
|
1044
|
+
void rocksdb_compaction_service_options_override_set_statistics(
|
|
1045
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1046
|
+
rocksdb_options_t* options) {
|
|
1047
|
+
if (override_options && options) {
|
|
1048
|
+
override_options->rep.statistics = options->rep.statistics;
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
void rocksdb_compaction_service_options_override_set_info_log(
|
|
1053
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1054
|
+
rocksdb_logger_t* logger) {
|
|
1055
|
+
if (override_options && logger) {
|
|
1056
|
+
override_options->rep.info_log = logger->rep;
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
void rocksdb_compaction_service_options_override_set_option(
|
|
1061
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1062
|
+
const char* key, const char* value) {
|
|
1063
|
+
if (override_options && key && value) {
|
|
1064
|
+
override_options->rep.options_map[std::string(key)] = std::string(value);
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
void rocksdb_compaction_service_options_override_set_file_checksum_gen_factory(
|
|
1069
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1070
|
+
rocksdb_file_checksum_gen_factory_t* factory) {
|
|
1071
|
+
if (override_options && factory) {
|
|
1072
|
+
override_options->rep.file_checksum_gen_factory = factory->rep;
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
void rocksdb_compaction_service_options_override_set_sst_partitioner_factory(
|
|
1077
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1078
|
+
rocksdb_sst_partitioner_factory_t* factory) {
|
|
1079
|
+
if (override_options && factory) {
|
|
1080
|
+
override_options->rep.sst_partitioner_factory = factory->rep;
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
void rocksdb_compaction_service_options_override_add_table_properties_collector_factory(
|
|
1085
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
1086
|
+
rocksdb_table_properties_collector_factory_t* factory) {
|
|
1087
|
+
if (override_options && factory) {
|
|
1088
|
+
override_options->rep.table_properties_collector_factories.push_back(
|
|
1089
|
+
factory->rep);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
|
|
946
1093
|
// Atomic bool management for cancellation
|
|
947
1094
|
unsigned char* rocksdb_open_and_compact_canceled_create() {
|
|
948
1095
|
return reinterpret_cast<unsigned char*>(new std::atomic<bool>(false));
|
|
@@ -1071,12 +1218,12 @@ char* rocksdb_open_and_compact_with_options(
|
|
|
1071
1218
|
|
|
1072
1219
|
rocksdb_t* rocksdb_open(const rocksdb_options_t* options, const char* name,
|
|
1073
1220
|
char** errptr) {
|
|
1074
|
-
DB
|
|
1075
|
-
if (SaveError(errptr, DB::Open(options->rep, std::string(name), &
|
|
1221
|
+
std::unique_ptr<DB> dbptr;
|
|
1222
|
+
if (SaveError(errptr, DB::Open(options->rep, std::string(name), &dbptr))) {
|
|
1076
1223
|
return nullptr;
|
|
1077
1224
|
}
|
|
1078
1225
|
rocksdb_t* result = new rocksdb_t;
|
|
1079
|
-
result->rep =
|
|
1226
|
+
result->rep = dbptr.release();
|
|
1080
1227
|
return result;
|
|
1081
1228
|
}
|
|
1082
1229
|
|
|
@@ -1096,13 +1243,14 @@ rocksdb_t* rocksdb_open_for_read_only(const rocksdb_options_t* options,
|
|
|
1096
1243
|
const char* name,
|
|
1097
1244
|
unsigned char error_if_wal_file_exists,
|
|
1098
1245
|
char** errptr) {
|
|
1099
|
-
DB
|
|
1100
|
-
if (SaveError(errptr,
|
|
1101
|
-
|
|
1246
|
+
std::unique_ptr<DB> dbptr;
|
|
1247
|
+
if (SaveError(errptr,
|
|
1248
|
+
DB::OpenForReadOnly(options->rep, std::string(name), &dbptr,
|
|
1249
|
+
error_if_wal_file_exists))) {
|
|
1102
1250
|
return nullptr;
|
|
1103
1251
|
}
|
|
1104
1252
|
rocksdb_t* result = new rocksdb_t;
|
|
1105
|
-
result->rep =
|
|
1253
|
+
result->rep = dbptr.release();
|
|
1106
1254
|
return result;
|
|
1107
1255
|
}
|
|
1108
1256
|
|
|
@@ -1110,14 +1258,14 @@ rocksdb_t* rocksdb_open_as_secondary(const rocksdb_options_t* options,
|
|
|
1110
1258
|
const char* name,
|
|
1111
1259
|
const char* secondary_path,
|
|
1112
1260
|
char** errptr) {
|
|
1113
|
-
DB
|
|
1261
|
+
std::unique_ptr<DB> dbptr;
|
|
1114
1262
|
if (SaveError(errptr,
|
|
1115
1263
|
DB::OpenAsSecondary(options->rep, std::string(name),
|
|
1116
|
-
std::string(secondary_path), &
|
|
1264
|
+
std::string(secondary_path), &dbptr))) {
|
|
1117
1265
|
return nullptr;
|
|
1118
1266
|
}
|
|
1119
1267
|
rocksdb_t* result = new rocksdb_t;
|
|
1120
|
-
result->rep =
|
|
1268
|
+
result->rep = dbptr.release();
|
|
1121
1269
|
return result;
|
|
1122
1270
|
}
|
|
1123
1271
|
|
|
@@ -1431,11 +1579,11 @@ rocksdb_t* rocksdb_open_and_trim_history(
|
|
|
1431
1579
|
|
|
1432
1580
|
std::string trim_ts_(trim_ts, trim_tslen);
|
|
1433
1581
|
|
|
1434
|
-
DB
|
|
1582
|
+
std::unique_ptr<DB> dbptr;
|
|
1435
1583
|
std::vector<ColumnFamilyHandle*> handles;
|
|
1436
1584
|
if (SaveError(errptr, DB::OpenAndTrimHistory(
|
|
1437
1585
|
DBOptions(db_options->rep), std::string(name),
|
|
1438
|
-
column_families, &handles, &
|
|
1586
|
+
column_families, &handles, &dbptr, trim_ts_))) {
|
|
1439
1587
|
return nullptr;
|
|
1440
1588
|
}
|
|
1441
1589
|
|
|
@@ -1447,7 +1595,7 @@ rocksdb_t* rocksdb_open_and_trim_history(
|
|
|
1447
1595
|
column_family_handles[i] = c_handle;
|
|
1448
1596
|
}
|
|
1449
1597
|
rocksdb_t* result = new rocksdb_t;
|
|
1450
|
-
result->rep =
|
|
1598
|
+
result->rep = dbptr.release();
|
|
1451
1599
|
return result;
|
|
1452
1600
|
}
|
|
1453
1601
|
|
|
@@ -1463,10 +1611,10 @@ rocksdb_t* rocksdb_open_column_families(
|
|
|
1463
1611
|
ColumnFamilyOptions(column_family_options[i]->rep));
|
|
1464
1612
|
}
|
|
1465
1613
|
|
|
1466
|
-
DB
|
|
1614
|
+
std::unique_ptr<DB> dbptr;
|
|
1467
1615
|
std::vector<ColumnFamilyHandle*> handles;
|
|
1468
1616
|
if (SaveError(errptr, DB::Open(DBOptions(db_options->rep), std::string(name),
|
|
1469
|
-
column_families, &handles, &
|
|
1617
|
+
column_families, &handles, &dbptr))) {
|
|
1470
1618
|
return nullptr;
|
|
1471
1619
|
}
|
|
1472
1620
|
|
|
@@ -1478,7 +1626,7 @@ rocksdb_t* rocksdb_open_column_families(
|
|
|
1478
1626
|
column_family_handles[i] = c_handle;
|
|
1479
1627
|
}
|
|
1480
1628
|
rocksdb_t* result = new rocksdb_t;
|
|
1481
|
-
result->rep =
|
|
1629
|
+
result->rep = dbptr.release();
|
|
1482
1630
|
return result;
|
|
1483
1631
|
}
|
|
1484
1632
|
|
|
@@ -1531,12 +1679,12 @@ rocksdb_t* rocksdb_open_for_read_only_column_families(
|
|
|
1531
1679
|
ColumnFamilyOptions(column_family_options[i]->rep));
|
|
1532
1680
|
}
|
|
1533
1681
|
|
|
1534
|
-
DB
|
|
1682
|
+
std::unique_ptr<DB> dbptr;
|
|
1535
1683
|
std::vector<ColumnFamilyHandle*> handles;
|
|
1536
|
-
if (SaveError(errptr,
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1684
|
+
if (SaveError(errptr, DB::OpenForReadOnly(DBOptions(db_options->rep),
|
|
1685
|
+
std::string(name), column_families,
|
|
1686
|
+
&handles, &dbptr,
|
|
1687
|
+
error_if_wal_file_exists))) {
|
|
1540
1688
|
return nullptr;
|
|
1541
1689
|
}
|
|
1542
1690
|
|
|
@@ -1548,7 +1696,7 @@ rocksdb_t* rocksdb_open_for_read_only_column_families(
|
|
|
1548
1696
|
column_family_handles[i] = c_handle;
|
|
1549
1697
|
}
|
|
1550
1698
|
rocksdb_t* result = new rocksdb_t;
|
|
1551
|
-
result->rep =
|
|
1699
|
+
result->rep = dbptr.release();
|
|
1552
1700
|
return result;
|
|
1553
1701
|
}
|
|
1554
1702
|
|
|
@@ -1564,12 +1712,12 @@ rocksdb_t* rocksdb_open_as_secondary_column_families(
|
|
|
1564
1712
|
std::string(column_family_names[i]),
|
|
1565
1713
|
ColumnFamilyOptions(column_family_options[i]->rep));
|
|
1566
1714
|
}
|
|
1567
|
-
DB
|
|
1715
|
+
std::unique_ptr<DB> dbptr;
|
|
1568
1716
|
std::vector<ColumnFamilyHandle*> handles;
|
|
1569
|
-
if (SaveError(errptr, DB::OpenAsSecondary(
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1717
|
+
if (SaveError(errptr, DB::OpenAsSecondary(
|
|
1718
|
+
DBOptions(db_options->rep), std::string(name),
|
|
1719
|
+
std::string(secondary_path), column_families,
|
|
1720
|
+
&handles, &dbptr))) {
|
|
1573
1721
|
return nullptr;
|
|
1574
1722
|
}
|
|
1575
1723
|
for (size_t i = 0; i != handles.size(); ++i) {
|
|
@@ -1580,7 +1728,7 @@ rocksdb_t* rocksdb_open_as_secondary_column_families(
|
|
|
1580
1728
|
column_family_handles[i] = c_handle;
|
|
1581
1729
|
}
|
|
1582
1730
|
rocksdb_t* result = new rocksdb_t;
|
|
1583
|
-
result->rep =
|
|
1731
|
+
result->rep = dbptr.release();
|
|
1584
1732
|
return result;
|
|
1585
1733
|
}
|
|
1586
1734
|
|
|
@@ -1611,9 +1759,13 @@ rocksdb_column_family_handle_t* rocksdb_create_column_family(
|
|
|
1611
1759
|
rocksdb_t* db, const rocksdb_options_t* column_family_options,
|
|
1612
1760
|
const char* column_family_name, char** errptr) {
|
|
1613
1761
|
rocksdb_column_family_handle_t* handle = new rocksdb_column_family_handle_t;
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1762
|
+
handle->rep = nullptr;
|
|
1763
|
+
if (SaveError(errptr, db->rep->CreateColumnFamily(
|
|
1764
|
+
ColumnFamilyOptions(column_family_options->rep),
|
|
1765
|
+
std::string(column_family_name), &(handle->rep)))) {
|
|
1766
|
+
delete handle;
|
|
1767
|
+
return nullptr;
|
|
1768
|
+
}
|
|
1617
1769
|
handle->immortal = false;
|
|
1618
1770
|
return handle;
|
|
1619
1771
|
}
|
|
@@ -2891,12 +3043,19 @@ class H : public WriteBatch::Handler {
|
|
|
2891
3043
|
void* state_;
|
|
2892
3044
|
void (*put_)(void*, const char* k, size_t klen, const char* v, size_t vlen);
|
|
2893
3045
|
void (*deleted_)(void*, const char* k, size_t klen);
|
|
3046
|
+
void (*log_data_)(void*, const char* blob, size_t blob_len);
|
|
3047
|
+
|
|
2894
3048
|
void Put(const Slice& key, const Slice& value) override {
|
|
2895
3049
|
(*put_)(state_, key.data(), key.size(), value.data(), value.size());
|
|
2896
3050
|
}
|
|
2897
3051
|
void Delete(const Slice& key) override {
|
|
2898
3052
|
(*deleted_)(state_, key.data(), key.size());
|
|
2899
3053
|
}
|
|
3054
|
+
void LogData(const Slice& blob) override {
|
|
3055
|
+
if (log_data_) {
|
|
3056
|
+
(*log_data_)(state_, blob.data(), blob.size());
|
|
3057
|
+
}
|
|
3058
|
+
}
|
|
2900
3059
|
};
|
|
2901
3060
|
|
|
2902
3061
|
class HCF : public WriteBatch::Handler {
|
|
@@ -2907,6 +3066,8 @@ class HCF : public WriteBatch::Handler {
|
|
|
2907
3066
|
void (*deleted_cf_)(void*, uint32_t cfid, const char* k, size_t klen);
|
|
2908
3067
|
void (*merge_cf_)(void*, uint32_t cfid, const char* k, size_t klen,
|
|
2909
3068
|
const char* v, size_t vlen);
|
|
3069
|
+
void (*log_data_)(void*, const char* blob, size_t blob_len);
|
|
3070
|
+
|
|
2910
3071
|
Status PutCF(uint32_t column_family_id, const Slice& key,
|
|
2911
3072
|
const Slice& value) override {
|
|
2912
3073
|
(*put_cf_)(state_, column_family_id, key.data(), key.size(), value.data(),
|
|
@@ -2923,6 +3084,11 @@ class HCF : public WriteBatch::Handler {
|
|
|
2923
3084
|
value.size());
|
|
2924
3085
|
return Status::OK();
|
|
2925
3086
|
}
|
|
3087
|
+
void LogData(const Slice& blob) override {
|
|
3088
|
+
if (log_data_) {
|
|
3089
|
+
(*log_data_)(state_, blob.data(), blob.size());
|
|
3090
|
+
}
|
|
3091
|
+
}
|
|
2926
3092
|
};
|
|
2927
3093
|
|
|
2928
3094
|
void rocksdb_writebatch_iterate(rocksdb_writebatch_t* b, void* state,
|
|
@@ -2934,6 +3100,20 @@ void rocksdb_writebatch_iterate(rocksdb_writebatch_t* b, void* state,
|
|
|
2934
3100
|
handler.state_ = state;
|
|
2935
3101
|
handler.put_ = put;
|
|
2936
3102
|
handler.deleted_ = deleted;
|
|
3103
|
+
handler.log_data_ = nullptr;
|
|
3104
|
+
b->rep.Iterate(&handler);
|
|
3105
|
+
}
|
|
3106
|
+
|
|
3107
|
+
void rocksdb_writebatch_iterate_ld(
|
|
3108
|
+
rocksdb_writebatch_t* b, void* state,
|
|
3109
|
+
void (*put)(void*, const char* k, size_t klen, const char* v, size_t vlen),
|
|
3110
|
+
void (*deleted)(void*, const char* k, size_t klen),
|
|
3111
|
+
void (*log_data)(void*, const char* blob, size_t blob_len)) {
|
|
3112
|
+
H handler;
|
|
3113
|
+
handler.state_ = state;
|
|
3114
|
+
handler.put_ = put;
|
|
3115
|
+
handler.deleted_ = deleted;
|
|
3116
|
+
handler.log_data_ = log_data;
|
|
2937
3117
|
b->rep.Iterate(&handler);
|
|
2938
3118
|
}
|
|
2939
3119
|
|
|
@@ -2949,6 +3129,24 @@ void rocksdb_writebatch_iterate_cf(
|
|
|
2949
3129
|
handler.put_cf_ = put_cf;
|
|
2950
3130
|
handler.deleted_cf_ = deleted_cf;
|
|
2951
3131
|
handler.merge_cf_ = merge_cf;
|
|
3132
|
+
handler.log_data_ = nullptr;
|
|
3133
|
+
b->rep.Iterate(&handler);
|
|
3134
|
+
}
|
|
3135
|
+
|
|
3136
|
+
void rocksdb_writebatch_iterate_cf_ld(
|
|
3137
|
+
rocksdb_writebatch_t* b, void* state,
|
|
3138
|
+
void (*put_cf)(void*, uint32_t cfid, const char* k, size_t klen,
|
|
3139
|
+
const char* v, size_t vlen),
|
|
3140
|
+
void (*deleted_cf)(void*, uint32_t cfid, const char* k, size_t klen),
|
|
3141
|
+
void (*merge_cf)(void*, uint32_t cfid, const char* k, size_t klen,
|
|
3142
|
+
const char* v, size_t vlen),
|
|
3143
|
+
void (*log_data)(void*, const char* blob, size_t blob_len)) {
|
|
3144
|
+
HCF handler;
|
|
3145
|
+
handler.state_ = state;
|
|
3146
|
+
handler.put_cf_ = put_cf;
|
|
3147
|
+
handler.deleted_cf_ = deleted_cf;
|
|
3148
|
+
handler.merge_cf_ = merge_cf;
|
|
3149
|
+
handler.log_data_ = log_data;
|
|
2952
3150
|
b->rep.Iterate(&handler);
|
|
2953
3151
|
}
|
|
2954
3152
|
|
|
@@ -3549,6 +3747,11 @@ void rocksdb_block_based_options_set_format_version(
|
|
|
3549
3747
|
options->rep.format_version = v;
|
|
3550
3748
|
}
|
|
3551
3749
|
|
|
3750
|
+
void rocksdb_block_based_options_set_separate_key_value_in_data_block(
|
|
3751
|
+
rocksdb_block_based_table_options_t* options, unsigned char v) {
|
|
3752
|
+
options->rep.separate_key_value_in_data_block = v;
|
|
3753
|
+
}
|
|
3754
|
+
|
|
3552
3755
|
void rocksdb_block_based_options_set_index_type(
|
|
3553
3756
|
rocksdb_block_based_table_options_t* options, int v) {
|
|
3554
3757
|
options->rep.index_type = static_cast<BlockBasedTableOptions::IndexType>(v);
|
|
@@ -3560,6 +3763,12 @@ void rocksdb_block_based_options_set_data_block_index_type(
|
|
|
3560
3763
|
static_cast<BlockBasedTableOptions::DataBlockIndexType>(v);
|
|
3561
3764
|
}
|
|
3562
3765
|
|
|
3766
|
+
void rocksdb_block_based_options_set_index_block_search_type(
|
|
3767
|
+
rocksdb_block_based_table_options_t* options, int v) {
|
|
3768
|
+
options->rep.index_block_search_type =
|
|
3769
|
+
static_cast<BlockBasedTableOptions::BlockSearchType>(v);
|
|
3770
|
+
}
|
|
3771
|
+
|
|
3563
3772
|
void rocksdb_block_based_options_set_data_block_hash_ratio(
|
|
3564
3773
|
rocksdb_block_based_table_options_t* options, double v) {
|
|
3565
3774
|
options->rep.data_block_hash_table_util_ratio = v;
|
|
@@ -3612,6 +3821,11 @@ void rocksdb_block_based_options_set_unpartitioned_pinning_tier(
|
|
|
3612
3821
|
static_cast<ROCKSDB_NAMESPACE::PinningTier>(v);
|
|
3613
3822
|
}
|
|
3614
3823
|
|
|
3824
|
+
void rocksdb_block_based_options_set_block_align(
|
|
3825
|
+
rocksdb_block_based_table_options_t* options, unsigned char v) {
|
|
3826
|
+
options->rep.block_align = v;
|
|
3827
|
+
}
|
|
3828
|
+
|
|
3615
3829
|
/* FlushJobInfo */
|
|
3616
3830
|
|
|
3617
3831
|
const char* rocksdb_flushjobinfo_cf_name(const rocksdb_flushjobinfo_t* info,
|
|
@@ -3967,6 +4181,15 @@ void rocksdb_options_add_eventlistener(rocksdb_options_t* opt,
|
|
|
3967
4181
|
opt->rep.listeners.emplace_back(std::shared_ptr<EventListener>(t));
|
|
3968
4182
|
}
|
|
3969
4183
|
|
|
4184
|
+
void rocksdb_compaction_service_options_override_add_event_listener(
|
|
4185
|
+
rocksdb_compaction_service_options_override_t* override_options,
|
|
4186
|
+
rocksdb_eventlistener_t* event_listener) {
|
|
4187
|
+
if (override_options && event_listener) {
|
|
4188
|
+
override_options->rep.listeners.emplace_back(
|
|
4189
|
+
std::shared_ptr<EventListener>(event_listener));
|
|
4190
|
+
}
|
|
4191
|
+
}
|
|
4192
|
+
|
|
3970
4193
|
rocksdb_cuckoo_table_options_t* rocksdb_cuckoo_options_create() {
|
|
3971
4194
|
return new rocksdb_cuckoo_table_options_t;
|
|
3972
4195
|
}
|
|
@@ -4132,6 +4355,15 @@ unsigned char rocksdb_options_get_paranoid_checks(rocksdb_options_t* opt) {
|
|
|
4132
4355
|
return opt->rep.paranoid_checks;
|
|
4133
4356
|
}
|
|
4134
4357
|
|
|
4358
|
+
void rocksdb_options_set_open_files_async(rocksdb_options_t* opt,
|
|
4359
|
+
unsigned char v) {
|
|
4360
|
+
opt->rep.open_files_async = v;
|
|
4361
|
+
}
|
|
4362
|
+
|
|
4363
|
+
unsigned char rocksdb_options_get_open_files_async(rocksdb_options_t* opt) {
|
|
4364
|
+
return opt->rep.open_files_async;
|
|
4365
|
+
}
|
|
4366
|
+
|
|
4135
4367
|
void rocksdb_options_set_db_paths(rocksdb_options_t* opt,
|
|
4136
4368
|
const rocksdb_dbpath_t** dbpath_values,
|
|
4137
4369
|
size_t num_paths) {
|
|
@@ -4178,6 +4410,65 @@ rocksdb_logger_t* rocksdb_logger_create_callback_logger(
|
|
|
4178
4410
|
|
|
4179
4411
|
void rocksdb_logger_destroy(rocksdb_logger_t* logger) { delete logger; }
|
|
4180
4412
|
|
|
4413
|
+
/* File Checksum Gen Factory */
|
|
4414
|
+
|
|
4415
|
+
rocksdb_file_checksum_gen_factory_t*
|
|
4416
|
+
rocksdb_file_checksum_gen_crc32c_factory_create() {
|
|
4417
|
+
rocksdb_file_checksum_gen_factory_t* factory =
|
|
4418
|
+
new rocksdb_file_checksum_gen_factory_t;
|
|
4419
|
+
factory->rep = GetFileChecksumGenCrc32cFactory();
|
|
4420
|
+
return factory;
|
|
4421
|
+
}
|
|
4422
|
+
|
|
4423
|
+
void rocksdb_file_checksum_gen_factory_destroy(
|
|
4424
|
+
rocksdb_file_checksum_gen_factory_t* factory) {
|
|
4425
|
+
delete factory;
|
|
4426
|
+
}
|
|
4427
|
+
|
|
4428
|
+
void rocksdb_options_set_file_checksum_gen_factory(
|
|
4429
|
+
rocksdb_options_t* opt, rocksdb_file_checksum_gen_factory_t* factory) {
|
|
4430
|
+
if (opt && factory) {
|
|
4431
|
+
opt->rep.file_checksum_gen_factory = factory->rep;
|
|
4432
|
+
}
|
|
4433
|
+
}
|
|
4434
|
+
|
|
4435
|
+
/* SST Partitioner Factory */
|
|
4436
|
+
|
|
4437
|
+
rocksdb_sst_partitioner_factory_t*
|
|
4438
|
+
rocksdb_sst_partitioner_fixed_prefix_factory_create(size_t prefix_len) {
|
|
4439
|
+
rocksdb_sst_partitioner_factory_t* factory =
|
|
4440
|
+
new rocksdb_sst_partitioner_factory_t;
|
|
4441
|
+
factory->rep = NewSstPartitionerFixedPrefixFactory(prefix_len);
|
|
4442
|
+
return factory;
|
|
4443
|
+
}
|
|
4444
|
+
|
|
4445
|
+
void rocksdb_sst_partitioner_factory_destroy(
|
|
4446
|
+
rocksdb_sst_partitioner_factory_t* factory) {
|
|
4447
|
+
delete factory;
|
|
4448
|
+
}
|
|
4449
|
+
|
|
4450
|
+
void rocksdb_options_set_sst_partitioner_factory(
|
|
4451
|
+
rocksdb_options_t* opt, rocksdb_sst_partitioner_factory_t* factory) {
|
|
4452
|
+
if (opt && factory) {
|
|
4453
|
+
opt->rep.sst_partitioner_factory = factory->rep;
|
|
4454
|
+
}
|
|
4455
|
+
}
|
|
4456
|
+
|
|
4457
|
+
/* Table Properties Collector Factory */
|
|
4458
|
+
|
|
4459
|
+
void rocksdb_table_properties_collector_factory_destroy(
|
|
4460
|
+
rocksdb_table_properties_collector_factory_t* factory) {
|
|
4461
|
+
delete factory;
|
|
4462
|
+
}
|
|
4463
|
+
|
|
4464
|
+
void rocksdb_options_add_table_properties_collector_factory(
|
|
4465
|
+
rocksdb_options_t* opt,
|
|
4466
|
+
rocksdb_table_properties_collector_factory_t* factory) {
|
|
4467
|
+
if (opt && factory) {
|
|
4468
|
+
opt->rep.table_properties_collector_factories.push_back(factory->rep);
|
|
4469
|
+
}
|
|
4470
|
+
}
|
|
4471
|
+
|
|
4181
4472
|
void rocksdb_options_set_env(rocksdb_options_t* opt, rocksdb_env_t* env) {
|
|
4182
4473
|
opt->rep.env = (env ? env->rep : nullptr);
|
|
4183
4474
|
}
|
|
@@ -4394,16 +4685,6 @@ unsigned char rocksdb_options_get_skip_stats_update_on_db_open(
|
|
|
4394
4685
|
return opt->rep.skip_stats_update_on_db_open;
|
|
4395
4686
|
}
|
|
4396
4687
|
|
|
4397
|
-
void rocksdb_options_set_skip_checking_sst_file_sizes_on_db_open(
|
|
4398
|
-
rocksdb_options_t* opt, unsigned char val) {
|
|
4399
|
-
opt->rep.skip_checking_sst_file_sizes_on_db_open = val;
|
|
4400
|
-
}
|
|
4401
|
-
|
|
4402
|
-
unsigned char rocksdb_options_get_skip_checking_sst_file_sizes_on_db_open(
|
|
4403
|
-
rocksdb_options_t* opt) {
|
|
4404
|
-
return opt->rep.skip_checking_sst_file_sizes_on_db_open;
|
|
4405
|
-
}
|
|
4406
|
-
|
|
4407
4688
|
/* Blob Options Settings */
|
|
4408
4689
|
void rocksdb_options_set_enable_blob_files(rocksdb_options_t* opt,
|
|
4409
4690
|
unsigned char val) {
|
|
@@ -5521,6 +5802,16 @@ uint64_t rocksdb_perfcontext_metric(rocksdb_perfcontext_t* context,
|
|
|
5521
5802
|
return rep->internal_range_del_reseek_count;
|
|
5522
5803
|
case rocksdb_block_read_cpu_time:
|
|
5523
5804
|
return rep->block_read_cpu_time;
|
|
5805
|
+
case rocksdb_data_block_read_byte:
|
|
5806
|
+
return rep->data_block_read_byte;
|
|
5807
|
+
case rocksdb_index_block_read_byte:
|
|
5808
|
+
return rep->index_block_read_byte;
|
|
5809
|
+
case rocksdb_filter_block_read_byte:
|
|
5810
|
+
return rep->filter_block_read_byte;
|
|
5811
|
+
case rocksdb_compression_dict_block_read_byte:
|
|
5812
|
+
return rep->compression_dict_block_read_byte;
|
|
5813
|
+
case rocksdb_metadata_block_read_byte:
|
|
5814
|
+
return rep->metadata_block_read_byte;
|
|
5524
5815
|
default:
|
|
5525
5816
|
break;
|
|
5526
5817
|
}
|
|
@@ -5819,11 +6110,6 @@ unsigned char rocksdb_readoptions_get_tailing(rocksdb_readoptions_t* opt) {
|
|
|
5819
6110
|
return opt->rep.tailing;
|
|
5820
6111
|
}
|
|
5821
6112
|
|
|
5822
|
-
void rocksdb_readoptions_set_managed(rocksdb_readoptions_t* opt,
|
|
5823
|
-
unsigned char v) {
|
|
5824
|
-
opt->rep.managed = v;
|
|
5825
|
-
}
|
|
5826
|
-
|
|
5827
6113
|
void rocksdb_readoptions_set_readahead_size(rocksdb_readoptions_t* opt,
|
|
5828
6114
|
size_t v) {
|
|
5829
6115
|
opt->rep.readahead_size = v;
|
|
@@ -6624,14 +6910,12 @@ rocksdb_slicetransform_t* rocksdb_slicetransform_create(
|
|
|
6624
6910
|
char* (*transform)(void*, const char* key, size_t length,
|
|
6625
6911
|
size_t* dst_length),
|
|
6626
6912
|
unsigned char (*in_domain)(void*, const char* key, size_t length),
|
|
6627
|
-
unsigned char (*in_range)(void*, const char* key, size_t length),
|
|
6628
6913
|
const char* (*name)(void*)) {
|
|
6629
6914
|
rocksdb_slicetransform_t* result = new rocksdb_slicetransform_t;
|
|
6630
6915
|
result->state_ = state;
|
|
6631
6916
|
result->destructor_ = destructor;
|
|
6632
6917
|
result->transform_ = transform;
|
|
6633
6918
|
result->in_domain_ = in_domain;
|
|
6634
|
-
result->in_range_ = in_range;
|
|
6635
6919
|
result->name_ = name;
|
|
6636
6920
|
return result;
|
|
6637
6921
|
}
|
|
@@ -6647,7 +6931,6 @@ struct SliceTransformWrapper : public rocksdb_slicetransform_t {
|
|
|
6647
6931
|
return rep_->Transform(src);
|
|
6648
6932
|
}
|
|
6649
6933
|
bool InDomain(const Slice& src) const override { return rep_->InDomain(src); }
|
|
6650
|
-
bool InRange(const Slice& src) const override { return rep_->InRange(src); }
|
|
6651
6934
|
static void DoNothing(void*) {}
|
|
6652
6935
|
};
|
|
6653
6936
|
|
|
@@ -6771,6 +7054,27 @@ uint64_t rocksdb_fifo_compaction_options_get_max_table_files_size(
|
|
|
6771
7054
|
return fifo_opts->rep.max_table_files_size;
|
|
6772
7055
|
}
|
|
6773
7056
|
|
|
7057
|
+
void rocksdb_fifo_compaction_options_set_max_data_files_size(
|
|
7058
|
+
rocksdb_fifo_compaction_options_t* fifo_opts, uint64_t size) {
|
|
7059
|
+
fifo_opts->rep.max_data_files_size = size;
|
|
7060
|
+
}
|
|
7061
|
+
|
|
7062
|
+
uint64_t rocksdb_fifo_compaction_options_get_max_data_files_size(
|
|
7063
|
+
rocksdb_fifo_compaction_options_t* fifo_opts) {
|
|
7064
|
+
return fifo_opts->rep.max_data_files_size;
|
|
7065
|
+
}
|
|
7066
|
+
|
|
7067
|
+
void rocksdb_fifo_compaction_options_set_use_kv_ratio_compaction(
|
|
7068
|
+
rocksdb_fifo_compaction_options_t* fifo_opts,
|
|
7069
|
+
unsigned char use_kv_ratio_compaction) {
|
|
7070
|
+
fifo_opts->rep.use_kv_ratio_compaction = use_kv_ratio_compaction;
|
|
7071
|
+
}
|
|
7072
|
+
|
|
7073
|
+
unsigned char rocksdb_fifo_compaction_options_get_use_kv_ratio_compaction(
|
|
7074
|
+
rocksdb_fifo_compaction_options_t* fifo_opts) {
|
|
7075
|
+
return fifo_opts->rep.use_kv_ratio_compaction;
|
|
7076
|
+
}
|
|
7077
|
+
|
|
6774
7078
|
void rocksdb_fifo_compaction_options_destroy(
|
|
6775
7079
|
rocksdb_fifo_compaction_options_t* fifo_opts) {
|
|
6776
7080
|
delete fifo_opts;
|
|
@@ -7244,9 +7548,13 @@ rocksdb_column_family_handle_t* rocksdb_transactiondb_create_column_family(
|
|
|
7244
7548
|
const rocksdb_options_t* column_family_options,
|
|
7245
7549
|
const char* column_family_name, char** errptr) {
|
|
7246
7550
|
rocksdb_column_family_handle_t* handle = new rocksdb_column_family_handle_t;
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7551
|
+
handle->rep = nullptr;
|
|
7552
|
+
if (SaveError(errptr, txn_db->rep->CreateColumnFamily(
|
|
7553
|
+
ColumnFamilyOptions(column_family_options->rep),
|
|
7554
|
+
std::string(column_family_name), &(handle->rep)))) {
|
|
7555
|
+
delete handle;
|
|
7556
|
+
return nullptr;
|
|
7557
|
+
}
|
|
7250
7558
|
handle->immortal = false;
|
|
7251
7559
|
return handle;
|
|
7252
7560
|
}
|
|
@@ -8346,6 +8654,14 @@ void rocksdb_enable_manual_compaction(rocksdb_t* db) {
|
|
|
8346
8654
|
db->rep->EnableManualCompaction();
|
|
8347
8655
|
}
|
|
8348
8656
|
|
|
8657
|
+
void rocksdb_abort_all_compactions(rocksdb_t* db) {
|
|
8658
|
+
db->rep->AbortAllCompactions();
|
|
8659
|
+
}
|
|
8660
|
+
|
|
8661
|
+
void rocksdb_resume_all_compactions(rocksdb_t* db) {
|
|
8662
|
+
db->rep->ResumeAllCompactions();
|
|
8663
|
+
}
|
|
8664
|
+
|
|
8349
8665
|
rocksdb_statistics_histogram_data_t*
|
|
8350
8666
|
rocksdb_statistics_histogram_data_create() {
|
|
8351
8667
|
return new rocksdb_statistics_histogram_data_t{};
|