@nxtedition/rocksdb 15.4.1 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.cc +70 -23
- 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/index.js +70 -10
- package/iterator.js +25 -3
- package/max_rev_operator.h +9 -5
- 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
|
@@ -83,7 +83,7 @@ int main(int argc, const char** argv) {
|
|
|
83
83
|
options.create_if_missing = true;
|
|
84
84
|
options.WAL_ttl_seconds = FLAGS_wal_ttl_seconds;
|
|
85
85
|
options.WAL_size_limit_MB = FLAGS_wal_size_limit_MB;
|
|
86
|
-
DB
|
|
86
|
+
std::unique_ptr<DB> db;
|
|
87
87
|
DestroyDB(default_db_path, options);
|
|
88
88
|
|
|
89
89
|
Status s = DB::Open(options, default_db_path, &db);
|
|
@@ -94,7 +94,7 @@ int main(int argc, const char** argv) {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
DataPumpThread dataPump;
|
|
97
|
-
dataPump.db = db;
|
|
97
|
+
dataPump.db = db.get();
|
|
98
98
|
env->StartThread(DataPumpThreadBody, &dataPump);
|
|
99
99
|
|
|
100
100
|
std::unique_ptr<TransactionLogIterator> iter;
|
|
@@ -41,9 +41,8 @@ class SanityTest {
|
|
|
41
41
|
if (!s.ok()) {
|
|
42
42
|
return s;
|
|
43
43
|
}
|
|
44
|
-
DB
|
|
44
|
+
std::unique_ptr<DB> db;
|
|
45
45
|
s = DB::Open(options, dbname, &db);
|
|
46
|
-
std::unique_ptr<DB> db_guard(db);
|
|
47
46
|
if (!s.ok()) {
|
|
48
47
|
return s;
|
|
49
48
|
}
|
|
@@ -58,10 +57,9 @@ class SanityTest {
|
|
|
58
57
|
return db->Flush(FlushOptions());
|
|
59
58
|
}
|
|
60
59
|
Status Verify() {
|
|
61
|
-
DB
|
|
60
|
+
std::unique_ptr<DB> db;
|
|
62
61
|
std::string dbname = path_ + Name();
|
|
63
62
|
Status s = DB::Open(GetOptions(), dbname, &db);
|
|
64
|
-
std::unique_ptr<DB> db_guard(db);
|
|
65
63
|
if (!s.ok()) {
|
|
66
64
|
return s;
|
|
67
65
|
}
|
|
@@ -16,7 +16,6 @@ namespace ROCKSDB_NAMESPACE {
|
|
|
16
16
|
|
|
17
17
|
bool DbDumpTool::Run(const DumpOptions& dump_options,
|
|
18
18
|
ROCKSDB_NAMESPACE::Options options) {
|
|
19
|
-
ROCKSDB_NAMESPACE::DB* dbptr;
|
|
20
19
|
ROCKSDB_NAMESPACE::Status status;
|
|
21
20
|
std::unique_ptr<ROCKSDB_NAMESPACE::WritableFile> dumpfile;
|
|
22
21
|
char hostname[1024];
|
|
@@ -31,16 +30,15 @@ bool DbDumpTool::Run(const DumpOptions& dump_options,
|
|
|
31
30
|
|
|
32
31
|
// Open the database
|
|
33
32
|
options.create_if_missing = false;
|
|
33
|
+
std::unique_ptr<ROCKSDB_NAMESPACE::DB> db;
|
|
34
34
|
status = ROCKSDB_NAMESPACE::DB::OpenForReadOnly(options, dump_options.db_path,
|
|
35
|
-
&
|
|
35
|
+
&db);
|
|
36
36
|
if (!status.ok()) {
|
|
37
37
|
std::cerr << "Unable to open database '" << dump_options.db_path
|
|
38
38
|
<< "' for reading: " << status.ToString() << std::endl;
|
|
39
39
|
return false;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const std::unique_ptr<ROCKSDB_NAMESPACE::DB> db(dbptr);
|
|
43
|
-
|
|
44
42
|
status = env->NewWritableFile(dump_options.dump_location, &dumpfile,
|
|
45
43
|
ROCKSDB_NAMESPACE::EnvOptions());
|
|
46
44
|
if (!status.ok()) {
|
|
@@ -131,7 +129,6 @@ bool DbDumpTool::Run(const DumpOptions& dump_options,
|
|
|
131
129
|
|
|
132
130
|
bool DbUndumpTool::Run(const UndumpOptions& undump_options,
|
|
133
131
|
ROCKSDB_NAMESPACE::Options options) {
|
|
134
|
-
ROCKSDB_NAMESPACE::DB* dbptr;
|
|
135
132
|
ROCKSDB_NAMESPACE::Status status;
|
|
136
133
|
ROCKSDB_NAMESPACE::Env* env;
|
|
137
134
|
std::unique_ptr<ROCKSDB_NAMESPACE::SequentialFile> dumpfile;
|
|
@@ -180,15 +177,14 @@ bool DbUndumpTool::Run(const UndumpOptions& undump_options,
|
|
|
180
177
|
}
|
|
181
178
|
|
|
182
179
|
options.create_if_missing = true;
|
|
183
|
-
|
|
180
|
+
std::unique_ptr<ROCKSDB_NAMESPACE::DB> db;
|
|
181
|
+
status = ROCKSDB_NAMESPACE::DB::Open(options, undump_options.db_path, &db);
|
|
184
182
|
if (!status.ok()) {
|
|
185
183
|
std::cerr << "Unable to open database '" << undump_options.db_path
|
|
186
184
|
<< "' for writing: " << status.ToString() << std::endl;
|
|
187
185
|
return false;
|
|
188
186
|
}
|
|
189
187
|
|
|
190
|
-
const std::unique_ptr<ROCKSDB_NAMESPACE::DB> db(dbptr);
|
|
191
|
-
|
|
192
188
|
uint32_t last_keysize = 64;
|
|
193
189
|
size_t last_valsize = 1 << 20;
|
|
194
190
|
std::unique_ptr<char[]> keyscratch(new char[last_keysize]);
|
|
@@ -25,7 +25,7 @@ DEFINE_bool(compact, false, "Compact the db after loading the dumped file");
|
|
|
25
25
|
DEFINE_string(db_options, "",
|
|
26
26
|
"Options string used to open the database that will be loaded");
|
|
27
27
|
|
|
28
|
-
int main(int argc, char
|
|
28
|
+
int main(int argc, char** argv) {
|
|
29
29
|
GFLAGS_NAMESPACE::ParseCommandLineFlags(&argc, &argv, true);
|
|
30
30
|
|
|
31
31
|
if (FLAGS_db_path == "" || FLAGS_dump_location == "") {
|
|
@@ -50,8 +50,7 @@ class IOTracerParserTest : public testing::Test {
|
|
|
50
50
|
if (db_ != nullptr) {
|
|
51
51
|
Options options;
|
|
52
52
|
options.env = env_;
|
|
53
|
-
|
|
54
|
-
db_ = nullptr;
|
|
53
|
+
db_.reset();
|
|
55
54
|
EXPECT_OK(DestroyDB(dbname_, options));
|
|
56
55
|
}
|
|
57
56
|
EXPECT_OK(env_->DeleteDir(test_path_));
|
|
@@ -97,7 +96,7 @@ class IOTracerParserTest : public testing::Test {
|
|
|
97
96
|
ASSERT_EQ(0, ROCKSDB_NAMESPACE::io_tracer_parser(argc, argv));
|
|
98
97
|
}
|
|
99
98
|
|
|
100
|
-
DB
|
|
99
|
+
std::unique_ptr<DB> db_;
|
|
101
100
|
Env* env_;
|
|
102
101
|
EnvOptions env_options_;
|
|
103
102
|
std::string trace_file_path_;
|
|
@@ -71,6 +71,8 @@ const std::string LDBCommand::ARG_CF_NAME = "column_family";
|
|
|
71
71
|
const std::string LDBCommand::ARG_TTL = "ttl";
|
|
72
72
|
const std::string LDBCommand::ARG_TTL_START = "start_time";
|
|
73
73
|
const std::string LDBCommand::ARG_TTL_END = "end_time";
|
|
74
|
+
const std::string LDBCommand::ARG_USE_TXN = "use_txn";
|
|
75
|
+
const std::string LDBCommand::ARG_TXN_WRITE_POLICY = "txn_write_policy";
|
|
74
76
|
const std::string LDBCommand::ARG_TIMESTAMP = "timestamp";
|
|
75
77
|
const std::string LDBCommand::ARG_TRY_LOAD_OPTIONS = "try_load_options";
|
|
76
78
|
const std::string LDBCommand::ARG_DISABLE_CONSISTENCY_CHECKS =
|
|
@@ -86,6 +88,7 @@ const std::string LDBCommand::ARG_COMPRESSION_TYPE = "compression_type";
|
|
|
86
88
|
const std::string LDBCommand::ARG_COMPRESSION_MAX_DICT_BYTES =
|
|
87
89
|
"compression_max_dict_bytes";
|
|
88
90
|
const std::string LDBCommand::ARG_BLOCK_SIZE = "block_size";
|
|
91
|
+
const std::string LDBCommand::ARG_UNIFORM_CV_THRESHOLD = "uniform_cv_threshold";
|
|
89
92
|
const std::string LDBCommand::ARG_AUTO_COMPACTION = "auto_compaction";
|
|
90
93
|
const std::string LDBCommand::ARG_DB_WRITE_BUFFER_SIZE = "db_write_buffer_size";
|
|
91
94
|
const std::string LDBCommand::ARG_WRITE_BUFFER_SIZE = "write_buffer_size";
|
|
@@ -481,10 +484,13 @@ LDBCommand::LDBCommand(const std::map<std::string, std::string>& options,
|
|
|
481
484
|
const std::vector<std::string>& valid_cmd_line_options)
|
|
482
485
|
: db_(nullptr),
|
|
483
486
|
db_ttl_(nullptr),
|
|
487
|
+
db_txn_(nullptr),
|
|
484
488
|
is_read_only_(is_read_only),
|
|
485
489
|
is_key_hex_(false),
|
|
486
490
|
is_value_hex_(false),
|
|
487
491
|
is_db_ttl_(false),
|
|
492
|
+
is_db_txn_(false),
|
|
493
|
+
txn_write_policy_(0),
|
|
488
494
|
timestamp_(false),
|
|
489
495
|
try_load_options_(false),
|
|
490
496
|
create_if_missing_(false),
|
|
@@ -528,6 +534,21 @@ LDBCommand::LDBCommand(const std::map<std::string, std::string>& options,
|
|
|
528
534
|
is_key_hex_ = IsKeyHex(options, flags);
|
|
529
535
|
is_value_hex_ = IsValueHex(options, flags);
|
|
530
536
|
is_db_ttl_ = IsFlagPresent(flags, ARG_TTL);
|
|
537
|
+
is_db_txn_ = IsFlagPresent(flags, ARG_USE_TXN);
|
|
538
|
+
itr = options.find(ARG_TXN_WRITE_POLICY);
|
|
539
|
+
if (itr != options.end()) {
|
|
540
|
+
try {
|
|
541
|
+
txn_write_policy_ = std::stoi(itr->second);
|
|
542
|
+
if (txn_write_policy_ < 0 || txn_write_policy_ > 2) {
|
|
543
|
+
fprintf(stderr, "Invalid txn_write_policy: %d. Must be 0, 1, or 2.\n",
|
|
544
|
+
txn_write_policy_);
|
|
545
|
+
txn_write_policy_ = 0;
|
|
546
|
+
}
|
|
547
|
+
} catch (const std::exception&) {
|
|
548
|
+
fprintf(stderr, "Invalid txn_write_policy value: %s\n",
|
|
549
|
+
itr->second.c_str());
|
|
550
|
+
}
|
|
551
|
+
}
|
|
531
552
|
timestamp_ = IsFlagPresent(flags, ARG_TIMESTAMP);
|
|
532
553
|
try_load_options_ = IsTryLoadOptions(options, flags);
|
|
533
554
|
force_consistency_checks_ =
|
|
@@ -551,7 +572,34 @@ void LDBCommand::OpenDB() {
|
|
|
551
572
|
// Open the DB.
|
|
552
573
|
Status st;
|
|
553
574
|
std::vector<ColumnFamilyHandle*> handles_opened;
|
|
554
|
-
if (
|
|
575
|
+
if (is_db_txn_) {
|
|
576
|
+
// TransactionDB mode
|
|
577
|
+
if (is_db_ttl_) {
|
|
578
|
+
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
579
|
+
"Cannot use both --ttl and --use_txn flags together");
|
|
580
|
+
return;
|
|
581
|
+
}
|
|
582
|
+
if (!secondary_path_.empty() || !leader_path_.empty()) {
|
|
583
|
+
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
584
|
+
"TransactionDB does not support secondary or follower mode");
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
if (is_read_only_) {
|
|
588
|
+
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
589
|
+
"TransactionDB does not support read-only mode");
|
|
590
|
+
return;
|
|
591
|
+
}
|
|
592
|
+
TransactionDBOptions txn_db_options;
|
|
593
|
+
txn_db_options.write_policy =
|
|
594
|
+
static_cast<TxnDBWritePolicy>(txn_write_policy_);
|
|
595
|
+
if (column_families_.empty()) {
|
|
596
|
+
st = TransactionDB::Open(options_, txn_db_options, db_path_, &db_txn_);
|
|
597
|
+
} else {
|
|
598
|
+
st = TransactionDB::Open(options_, txn_db_options, db_path_,
|
|
599
|
+
column_families_, &handles_opened, &db_txn_);
|
|
600
|
+
}
|
|
601
|
+
db_.reset(db_txn_);
|
|
602
|
+
} else if (is_db_ttl_) {
|
|
555
603
|
// ldb doesn't yet support TTL DB with multiple column families
|
|
556
604
|
if (!column_family_name_.empty() || !column_families_.empty()) {
|
|
557
605
|
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
@@ -566,7 +614,7 @@ void LDBCommand::OpenDB() {
|
|
|
566
614
|
} else {
|
|
567
615
|
st = DBWithTTL::Open(options_, db_path_, &db_ttl_);
|
|
568
616
|
}
|
|
569
|
-
db_
|
|
617
|
+
db_.reset(db_ttl_);
|
|
570
618
|
} else {
|
|
571
619
|
if (!secondary_path_.empty() && !leader_path_.empty()) {
|
|
572
620
|
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
@@ -586,9 +634,7 @@ void LDBCommand::OpenDB() {
|
|
|
586
634
|
} else if (!secondary_path_.empty()) {
|
|
587
635
|
st = DB::OpenAsSecondary(options_, db_path_, secondary_path_, &db_);
|
|
588
636
|
} else {
|
|
589
|
-
|
|
590
|
-
st = DB::OpenAsFollower(options_, db_path_, leader_path_, &dbptr);
|
|
591
|
-
db_ = dbptr.release();
|
|
637
|
+
st = DB::OpenAsFollower(options_, db_path_, leader_path_, &db_);
|
|
592
638
|
}
|
|
593
639
|
} else {
|
|
594
640
|
if (secondary_path_.empty() && leader_path_.empty()) {
|
|
@@ -598,10 +644,8 @@ void LDBCommand::OpenDB() {
|
|
|
598
644
|
st = DB::OpenAsSecondary(options_, db_path_, secondary_path_,
|
|
599
645
|
column_families_, &handles_opened, &db_);
|
|
600
646
|
} else {
|
|
601
|
-
std::unique_ptr<DB> dbptr;
|
|
602
647
|
st = DB::OpenAsFollower(options_, db_path_, leader_path_,
|
|
603
|
-
column_families_, &handles_opened, &
|
|
604
|
-
db_ = dbptr.release();
|
|
648
|
+
column_families_, &handles_opened, &db_);
|
|
605
649
|
}
|
|
606
650
|
}
|
|
607
651
|
}
|
|
@@ -646,8 +690,9 @@ void LDBCommand::CloseDB() {
|
|
|
646
690
|
}
|
|
647
691
|
Status s = db_->Close();
|
|
648
692
|
s.PermitUncheckedError();
|
|
649
|
-
|
|
650
|
-
|
|
693
|
+
db_.reset();
|
|
694
|
+
db_ttl_ = nullptr;
|
|
695
|
+
db_txn_ = nullptr;
|
|
651
696
|
}
|
|
652
697
|
}
|
|
653
698
|
|
|
@@ -673,6 +718,7 @@ std::vector<std::string> LDBCommand::BuildCmdLineOptions(
|
|
|
673
718
|
ARG_LEADER_PATH,
|
|
674
719
|
ARG_BLOOM_BITS,
|
|
675
720
|
ARG_BLOCK_SIZE,
|
|
721
|
+
ARG_UNIFORM_CV_THRESHOLD,
|
|
676
722
|
ARG_AUTO_COMPACTION,
|
|
677
723
|
ARG_COMPRESSION_TYPE,
|
|
678
724
|
ARG_COMPRESSION_MAX_DICT_BYTES,
|
|
@@ -692,7 +738,9 @@ std::vector<std::string> LDBCommand::BuildCmdLineOptions(
|
|
|
692
738
|
ARG_BLOB_FILE_STARTING_LEVEL,
|
|
693
739
|
ARG_PREPOPULATE_BLOB_CACHE,
|
|
694
740
|
ARG_IGNORE_UNKNOWN_OPTIONS,
|
|
695
|
-
ARG_CF_NAME
|
|
741
|
+
ARG_CF_NAME,
|
|
742
|
+
ARG_USE_TXN,
|
|
743
|
+
ARG_TXN_WRITE_POLICY};
|
|
696
744
|
ret.insert(ret.end(), options.begin(), options.end());
|
|
697
745
|
return ret;
|
|
698
746
|
}
|
|
@@ -983,6 +1031,13 @@ void LDBCommand::OverrideBaseCFOptions(ColumnFamilyOptions* cf_opts) {
|
|
|
983
1031
|
}
|
|
984
1032
|
}
|
|
985
1033
|
|
|
1034
|
+
double uniform_cv_threshold;
|
|
1035
|
+
if (ParseDoubleOption(option_map_, ARG_UNIFORM_CV_THRESHOLD,
|
|
1036
|
+
uniform_cv_threshold, exec_state_)) {
|
|
1037
|
+
use_table_options = true;
|
|
1038
|
+
table_options.uniform_cv_threshold = uniform_cv_threshold;
|
|
1039
|
+
}
|
|
1040
|
+
|
|
986
1041
|
// Default comparator is BytewiseComparator, so only when it's not, it
|
|
987
1042
|
// means user has a command line override.
|
|
988
1043
|
if (options_.comparator != nullptr &&
|
|
@@ -2180,9 +2235,9 @@ void InternalDumpCommand::DoCommand() {
|
|
|
2180
2235
|
|
|
2181
2236
|
// Cast as DBImpl to get internal iterator
|
|
2182
2237
|
std::vector<KeyVersion> key_versions;
|
|
2183
|
-
Status st =
|
|
2184
|
-
|
|
2185
|
-
|
|
2238
|
+
Status st = GetAllKeyVersions(
|
|
2239
|
+
db_.get(), GetCfHandle(), has_from_ ? from_ : OptSlice{},
|
|
2240
|
+
has_to_ ? to_ : OptSlice{}, max_keys_, &key_versions);
|
|
2186
2241
|
if (!st.ok()) {
|
|
2187
2242
|
exec_state_ = LDBCommandExecuteResult::Failed(st.ToString());
|
|
2188
2243
|
return;
|
|
@@ -2301,7 +2356,8 @@ DBDumperCommand::DBDumperCommand(
|
|
|
2301
2356
|
count_only_(false),
|
|
2302
2357
|
count_delim_(false),
|
|
2303
2358
|
print_stats_(false),
|
|
2304
|
-
decode_blob_index_(false)
|
|
2359
|
+
decode_blob_index_(false),
|
|
2360
|
+
dump_uncompressed_blobs_(false) {
|
|
2305
2361
|
auto itr = options.find(ARG_FROM);
|
|
2306
2362
|
if (itr != options.end()) {
|
|
2307
2363
|
null_from_ = false;
|
|
@@ -2583,6 +2639,13 @@ void DBDumperCommand::DoDumpCommand() {
|
|
|
2583
2639
|
}
|
|
2584
2640
|
}
|
|
2585
2641
|
|
|
2642
|
+
// Check for iterator errors that may have occurred during iteration
|
|
2643
|
+
st = iter->status();
|
|
2644
|
+
if (!st.ok()) {
|
|
2645
|
+
exec_state_ =
|
|
2646
|
+
LDBCommandExecuteResult::Failed("Iterator error: " + st.ToString());
|
|
2647
|
+
}
|
|
2648
|
+
|
|
2586
2649
|
if (num_buckets > 1 && is_db_ttl_) {
|
|
2587
2650
|
PrintBucketCounts(bucket_counts, ttl_start, ttl_end, bucket_size,
|
|
2588
2651
|
num_buckets);
|
|
@@ -4458,7 +4521,7 @@ void CheckPointCommand::DoCommand() {
|
|
|
4458
4521
|
return;
|
|
4459
4522
|
}
|
|
4460
4523
|
Checkpoint* checkpoint;
|
|
4461
|
-
Status status = Checkpoint::Create(db_, &checkpoint);
|
|
4524
|
+
Status status = Checkpoint::Create(db_.get(), &checkpoint);
|
|
4462
4525
|
status = checkpoint->CreateCheckpoint(checkpoint_dir_);
|
|
4463
4526
|
if (status.ok()) {
|
|
4464
4527
|
fprintf(stdout, "OK\n");
|
|
@@ -4613,7 +4676,7 @@ void BackupCommand::DoCommand() {
|
|
|
4613
4676
|
exec_state_ = LDBCommandExecuteResult::Failed(status.ToString());
|
|
4614
4677
|
return;
|
|
4615
4678
|
}
|
|
4616
|
-
status = backup_engine->CreateNewBackup(db_);
|
|
4679
|
+
status = backup_engine->CreateNewBackup(db_.get());
|
|
4617
4680
|
if (status.ok()) {
|
|
4618
4681
|
fprintf(stdout, "create new backup OK\n");
|
|
4619
4682
|
} else {
|
|
@@ -4728,7 +4791,6 @@ void DumpBlobFile(const std::string& filename, bool is_key_hex,
|
|
|
4728
4791
|
dump_uncompressed_blobs ? blob_type : BlobDumpTool::DisplayType::kNone;
|
|
4729
4792
|
BlobDumpTool::DisplayType show_blob =
|
|
4730
4793
|
dump_uncompressed_blobs ? BlobDumpTool::DisplayType::kNone : blob_type;
|
|
4731
|
-
|
|
4732
4794
|
BlobDumpTool::DisplayType show_key = is_key_hex
|
|
4733
4795
|
? BlobDumpTool::DisplayType::kHex
|
|
4734
4796
|
: BlobDumpTool::DisplayType::kRaw;
|
|
@@ -4766,8 +4828,8 @@ DBFileDumperCommand::DBFileDumperCommand(
|
|
|
4766
4828
|
void DBFileDumperCommand::Help(std::string& ret) {
|
|
4767
4829
|
ret.append(" ");
|
|
4768
4830
|
ret.append(DBFileDumperCommand::Name());
|
|
4769
|
-
ret.append(" [--" + ARG_DECODE_BLOB_INDEX + "]
|
|
4770
|
-
ret.append(" [--" + ARG_DUMP_UNCOMPRESSED_BLOBS + "]
|
|
4831
|
+
ret.append(" [--" + ARG_DECODE_BLOB_INDEX + "]");
|
|
4832
|
+
ret.append(" [--" + ARG_DUMP_UNCOMPRESSED_BLOBS + "]");
|
|
4771
4833
|
ret.append("\n");
|
|
4772
4834
|
}
|
|
4773
4835
|
|