@nxtedition/rocksdb 13.5.8 → 13.5.9
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 +209 -2
- package/deps/rocksdb/rocksdb/BUCK +12 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -0
- package/deps/rocksdb/rocksdb/Makefile +28 -23
- package/deps/rocksdb/rocksdb/cache/cache.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -2
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +43 -39
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +2 -0
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +2 -3
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +1 -3
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +11 -1
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +13 -5
- package/deps/rocksdb/rocksdb/crash_test.mk +61 -15
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +136 -45
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +34 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +10 -7
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +12 -9
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/builder.cc +22 -8
- package/deps/rocksdb/rocksdb/db/builder.h +5 -4
- package/deps/rocksdb/rocksdb/db/c.cc +556 -15
- package/deps/rocksdb/rocksdb/db/c_test.c +133 -12
- package/deps/rocksdb/rocksdb/db/column_family.cc +114 -50
- package/deps/rocksdb/rocksdb/db/column_family.h +53 -36
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +95 -70
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +71 -51
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -86
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +26 -68
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +0 -122
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +453 -258
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +117 -92
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +38 -38
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +24 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +34 -45
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -31
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +10 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +82 -34
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +267 -179
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +273 -89
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +300 -14
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +4 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +28 -23
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +69 -51
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +522 -245
- package/deps/rocksdb/rocksdb/db/convenience.cc +15 -4
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +196 -17
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +74 -62
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +48 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +682 -250
- package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +11 -16
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +57 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +540 -490
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +347 -188
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +584 -217
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +13 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -7
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +40 -36
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +751 -372
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +35 -32
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +24 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +125 -63
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +311 -196
- package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +15 -5
- package/deps/rocksdb/rocksdb/db/db_iter.cc +42 -29
- package/deps/rocksdb/rocksdb/db/db_iter.h +96 -31
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +168 -228
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +454 -0
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +90 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +60 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +7 -3
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +85 -27
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +114 -2
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +51 -3
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_test.cc +325 -18
- package/deps/rocksdb/rocksdb/db/db_test2.cc +644 -20
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
- package/deps/rocksdb/rocksdb/db/db_test_util.h +9 -0
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +64 -45
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +203 -14
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +259 -30
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +75 -1
- package/deps/rocksdb/rocksdb/db/dbformat.h +70 -6
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -190
- package/deps/rocksdb/rocksdb/db/error_handler.cc +22 -7
- package/deps/rocksdb/rocksdb/db/error_handler.h +16 -1
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +41 -26
- package/deps/rocksdb/rocksdb/db/experimental.cc +4 -3
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +464 -78
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +166 -69
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +54 -25
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/flush_job.cc +98 -81
- package/deps/rocksdb/rocksdb/db/flush_job.h +4 -9
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +80 -84
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +2 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +12 -19
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +41 -15
- package/deps/rocksdb/rocksdb/db/internal_stats.h +63 -52
- package/deps/rocksdb/rocksdb/db/job_context.h +59 -24
- package/deps/rocksdb/rocksdb/db/listener_test.cc +69 -10
- package/deps/rocksdb/rocksdb/db/log_format.h +11 -2
- package/deps/rocksdb/rocksdb/db/log_reader.cc +147 -34
- package/deps/rocksdb/rocksdb/db/log_reader.h +40 -11
- package/deps/rocksdb/rocksdb/db/log_test.cc +16 -3
- package/deps/rocksdb/rocksdb/db/log_writer.cc +102 -55
- package/deps/rocksdb/rocksdb/db/log_writer.h +21 -2
- package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
- package/deps/rocksdb/rocksdb/db/memtable.cc +16 -47
- package/deps/rocksdb/rocksdb/db/memtable.h +76 -12
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +23 -20
- package/deps/rocksdb/rocksdb/db/memtable_list.h +9 -11
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +18 -37
- package/deps/rocksdb/rocksdb/db/merge_context.h +2 -1
- package/deps/rocksdb/rocksdb/db/merge_test.cc +8 -0
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +3 -5
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +15 -7
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +6 -3
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +22 -4
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +41 -1
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/repair.cc +29 -34
- package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +14 -15
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +1 -3
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +47 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder.cc +2 -2
- package/deps/rocksdb/rocksdb/db/version_edit.cc +8 -37
- package/deps/rocksdb/rocksdb/db/version_edit.h +32 -1
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +26 -18
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -5
- package/deps/rocksdb/rocksdb/db/version_set.cc +282 -197
- package/deps/rocksdb/rocksdb/db/version_set.h +54 -57
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +28 -35
- package/deps/rocksdb/rocksdb/db/version_util.h +2 -3
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +3 -2
- package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -1
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +1 -0
- package/deps/rocksdb/rocksdb/db/write_batch.cc +22 -8
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +5 -4
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +7 -6
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/write_thread.h +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +13 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +39 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +65 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +45 -22
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +7 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +22 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +28 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -38
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +80 -32
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +51 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +23 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +305 -15
- package/deps/rocksdb/rocksdb/env/env.cc +32 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +0 -2
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -4
- package/deps/rocksdb/rocksdb/env/env_posix.cc +4 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +0 -1
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +20 -11
- package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
- package/deps/rocksdb/rocksdb/env/io_posix.cc +6 -4
- package/deps/rocksdb/rocksdb/env/io_posix.h +3 -2
- package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -1
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +2 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -2
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +30 -21
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +16 -0
- package/deps/rocksdb/rocksdb/file/file_util.cc +32 -14
- package/deps/rocksdb/rocksdb/file/file_util.h +22 -5
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +229 -76
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +21 -12
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +10 -7
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +12 -8
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +1 -2
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +598 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_iterator.h +36 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +70 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +232 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +149 -15
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +17 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +132 -34
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +158 -79
- package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +4 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +275 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +50 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +10 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +5 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +237 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +230 -39
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +31 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +41 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +18 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +20 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +19 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +124 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +26 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +55 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +3 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index.h +96 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index_faiss.h +117 -0
- package/deps/rocksdb/rocksdb/{utilities/secondary_index/faiss_ivf_index.h → include/rocksdb/utilities/secondary_index_simple.h} +11 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +26 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +16 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +63 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +28 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -2
- package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +3 -1
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +2 -2
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +2 -4
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +69 -8
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.cc +32 -9
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.h +58 -45
- package/deps/rocksdb/rocksdb/monitoring/histogram.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -3
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +5 -0
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +3 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +44 -13
- package/deps/rocksdb/rocksdb/options/cf_options.h +21 -7
- package/deps/rocksdb/rocksdb/options/configurable.cc +5 -5
- package/deps/rocksdb/rocksdb/options/configurable_test.h +1 -2
- package/deps/rocksdb/rocksdb/options/customizable.cc +0 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -11
- package/deps/rocksdb/rocksdb/options/db_options.cc +18 -15
- package/deps/rocksdb/rocksdb/options/db_options.h +2 -2
- package/deps/rocksdb/rocksdb/options/options.cc +296 -305
- package/deps/rocksdb/rocksdb/options/options_helper.cc +188 -62
- package/deps/rocksdb/rocksdb/options/options_helper.h +3 -3
- package/deps/rocksdb/rocksdb/options/options_parser.cc +2 -4
- package/deps/rocksdb/rocksdb/options/options_parser.h +0 -1
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +17 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +101 -76
- package/deps/rocksdb/rocksdb/port/lang.h +2 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +2 -1
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +3 -2
- package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +99 -1
- package/deps/rocksdb/rocksdb/port/win/xpress_win.h +6 -0
- package/deps/rocksdb/rocksdb/src.mk +17 -11
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1094 -929
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +6 -19
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +76 -22
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +221 -131
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +12 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +23 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -38
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +5 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +10 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +6 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +35 -43
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -4
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -5
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +4 -4
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +37 -35
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +11 -7
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +4 -3
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +31 -5
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/external_table.cc +483 -0
- package/deps/rocksdb/rocksdb/table/format.cc +62 -44
- package/deps/rocksdb/rocksdb/table/format.h +35 -12
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +3 -13
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +6 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +150 -141
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +5 -0
- package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +8 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +6 -6
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +86 -7
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +88 -2
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -1
- package/deps/rocksdb/rocksdb/table/table_builder.h +10 -1
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +3 -2
- package/deps/rocksdb/rocksdb/table/table_test.cc +899 -22
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.h +132 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +163 -77
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +120 -52
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +94 -0
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +0 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +3 -5
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/util/async_file_reader.h +15 -8
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.cc +131 -0
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.h +90 -0
- package/deps/rocksdb/rocksdb/util/autovector.h +1 -1
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/util/compression.cc +936 -4
- package/deps/rocksdb/rocksdb/util/compression.h +348 -232
- package/deps/rocksdb/rocksdb/util/compression_test.cc +229 -0
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +10 -10
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +1 -0
- package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -3
- package/deps/rocksdb/rocksdb/util/ppc-opcode.h +5 -5
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +108 -0
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +67 -0
- package/deps/rocksdb/rocksdb/util/slice_test.cc +83 -0
- package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
- package/deps/rocksdb/rocksdb/util/udt_util.cc +18 -5
- package/deps/rocksdb/rocksdb/util/udt_util.h +10 -7
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +650 -154
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +438 -144
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +16 -17
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +2 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +7 -8
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +0 -48
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/debug.cc +7 -14
- package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -3
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +10 -9
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index.cc +183 -32
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index_test.cc +258 -12
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_helper.h +33 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_iterator.cc +99 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_mixin.h +280 -120
- package/deps/rocksdb/rocksdb/utilities/secondary_index/simple_secondary_index.cc +79 -0
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +52 -16
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +10 -6
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +55 -0
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +37 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +36 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +5 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1118 -37
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +4 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +125 -127
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +45 -23
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +54 -22
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +477 -58
- package/deps/rocksdb/rocksdb.gyp +5 -0
- package/index.js +47 -2
- package/package.json +8 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
#include "util/cast_util.h"
|
|
45
45
|
#include "util/coding.h"
|
|
46
46
|
#include "util/file_checksum_helper.h"
|
|
47
|
+
#include "util/simple_mixed_compressor.h"
|
|
47
48
|
#include "util/stderr_logger.h"
|
|
48
49
|
#include "util/string_util.h"
|
|
49
50
|
#include "util/write_batch_util.h"
|
|
@@ -805,26 +806,86 @@ bool LDBCommand::ParseCompressionTypeOption(
|
|
|
805
806
|
value = kNoCompression;
|
|
806
807
|
return true;
|
|
807
808
|
} else if (comp == "snappy") {
|
|
808
|
-
|
|
809
|
-
|
|
809
|
+
if (!Snappy_Supported()) {
|
|
810
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
811
|
+
"Snappy compression is not supported in this build.");
|
|
812
|
+
} else {
|
|
813
|
+
value = kSnappyCompression;
|
|
814
|
+
return true;
|
|
815
|
+
}
|
|
810
816
|
} else if (comp == "zlib") {
|
|
811
|
-
|
|
812
|
-
|
|
817
|
+
if (!Zlib_Supported()) {
|
|
818
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
819
|
+
"zlib compression is not supported in this build.");
|
|
820
|
+
} else {
|
|
821
|
+
value = kZlibCompression;
|
|
822
|
+
return true;
|
|
823
|
+
}
|
|
813
824
|
} else if (comp == "bzip2") {
|
|
814
|
-
|
|
815
|
-
|
|
825
|
+
if (!BZip2_Supported()) {
|
|
826
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
827
|
+
"bzip2 compression is not supported in this build.");
|
|
828
|
+
} else {
|
|
829
|
+
value = kBZip2Compression;
|
|
830
|
+
return true;
|
|
831
|
+
}
|
|
816
832
|
} else if (comp == "lz4") {
|
|
817
|
-
|
|
818
|
-
|
|
833
|
+
if (!LZ4_Supported()) {
|
|
834
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
835
|
+
"lz4 compression is not supported in this build.");
|
|
836
|
+
} else {
|
|
837
|
+
value = kLZ4Compression;
|
|
838
|
+
return true;
|
|
839
|
+
}
|
|
819
840
|
} else if (comp == "lz4hc") {
|
|
820
|
-
|
|
821
|
-
|
|
841
|
+
if (!LZ4_Supported()) {
|
|
842
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
843
|
+
"lz4hc compression is not supported in this build.");
|
|
844
|
+
} else {
|
|
845
|
+
value = kLZ4HCCompression;
|
|
846
|
+
return true;
|
|
847
|
+
}
|
|
822
848
|
} else if (comp == "xpress") {
|
|
823
|
-
|
|
824
|
-
|
|
849
|
+
if (!XPRESS_Supported()) {
|
|
850
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
851
|
+
"xpress compression is not supported in this build.");
|
|
852
|
+
} else {
|
|
853
|
+
value = kXpressCompression;
|
|
854
|
+
return true;
|
|
855
|
+
}
|
|
825
856
|
} else if (comp == "zstd") {
|
|
826
|
-
|
|
857
|
+
if (!ZSTD_Supported()) {
|
|
858
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
859
|
+
"zstd compression is not supported in this build.");
|
|
860
|
+
} else {
|
|
861
|
+
value = kZSTD;
|
|
862
|
+
return true;
|
|
863
|
+
}
|
|
864
|
+
#ifndef NDEBUG
|
|
865
|
+
} else if (comp == "mixed" && option == ARG_COMPRESSION_TYPE) {
|
|
866
|
+
if (GetSupportedCompressions().empty()) {
|
|
867
|
+
exec_state = LDBCommandExecuteResult::Failed(
|
|
868
|
+
"No compressions are supported in this build for \"mixed\".");
|
|
869
|
+
return false;
|
|
870
|
+
}
|
|
871
|
+
options_.compression = kZSTD;
|
|
872
|
+
options_.bottommost_compression = kZSTD;
|
|
873
|
+
auto mgr =
|
|
874
|
+
std::make_shared<RoundRobinManager>(GetBuiltinV2CompressionManager());
|
|
875
|
+
options_.compression_manager = mgr;
|
|
876
|
+
|
|
877
|
+
// Need to list zstd in the compression_name table property if it's
|
|
878
|
+
// potentially used by being in the mix (i.e., potentially at least one
|
|
879
|
+
// data block in the table is compressed by zstd). This ensures proper
|
|
880
|
+
// context and dictionary handling, and prevents crashes in older RocksDB
|
|
881
|
+
// versions.
|
|
882
|
+
//
|
|
883
|
+
// To achieve this, set `value` (the compression_type in Options which
|
|
884
|
+
// will be used to set compression_name table property) to kZSTD, even if
|
|
885
|
+
// multiple compression types are used within a single table.
|
|
886
|
+
value = ZSTD_Supported() ? kZSTD : GetSupportedCompressions()[0];
|
|
827
887
|
return true;
|
|
888
|
+
#endif // !NDEBUG
|
|
828
889
|
} else {
|
|
829
890
|
// Unknown compression.
|
|
830
891
|
exec_state = LDBCommandExecuteResult::Failed(
|
|
@@ -1368,7 +1429,7 @@ CompactorCommand::CompactorCommand(
|
|
|
1368
1429
|
const std::vector<std::string>& /*params*/,
|
|
1369
1430
|
const std::map<std::string, std::string>& options,
|
|
1370
1431
|
const std::vector<std::string>& flags)
|
|
1371
|
-
: LDBCommand(options, flags, false
|
|
1432
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
1372
1433
|
BuildCmdLineOptions({ARG_FROM, ARG_TO, ARG_HEX, ARG_KEY_HEX,
|
|
1373
1434
|
ARG_VALUE_HEX, ARG_TTL})),
|
|
1374
1435
|
null_from_(true),
|
|
@@ -1443,7 +1504,7 @@ DBLoaderCommand::DBLoaderCommand(
|
|
|
1443
1504
|
const std::map<std::string, std::string>& options,
|
|
1444
1505
|
const std::vector<std::string>& flags)
|
|
1445
1506
|
: LDBCommand(
|
|
1446
|
-
options, flags, false
|
|
1507
|
+
options, flags, false /* is_read_only */,
|
|
1447
1508
|
BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM,
|
|
1448
1509
|
ARG_TO, ARG_CREATE_IF_MISSING, ARG_DISABLE_WAL,
|
|
1449
1510
|
ARG_BULK_LOAD, ARG_COMPACT})),
|
|
@@ -1575,7 +1636,7 @@ ManifestDumpCommand::ManifestDumpCommand(
|
|
|
1575
1636
|
const std::map<std::string, std::string>& options,
|
|
1576
1637
|
const std::vector<std::string>& flags)
|
|
1577
1638
|
: LDBCommand(
|
|
1578
|
-
options, flags,
|
|
1639
|
+
options, flags, true /* is_read_only */,
|
|
1579
1640
|
BuildCmdLineOptions({ARG_VERBOSE, ARG_PATH, ARG_HEX, ARG_JSON})),
|
|
1580
1641
|
verbose_(false),
|
|
1581
1642
|
json_(false) {
|
|
@@ -1723,7 +1784,7 @@ FileChecksumDumpCommand::FileChecksumDumpCommand(
|
|
|
1723
1784
|
const std::vector<std::string>& /*params*/,
|
|
1724
1785
|
const std::map<std::string, std::string>& options,
|
|
1725
1786
|
const std::vector<std::string>& flags)
|
|
1726
|
-
: LDBCommand(options, flags,
|
|
1787
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
1727
1788
|
BuildCmdLineOptions({ARG_PATH, ARG_HEX})) {
|
|
1728
1789
|
auto itr = options.find(ARG_PATH);
|
|
1729
1790
|
if (itr != options.end()) {
|
|
@@ -1787,7 +1848,8 @@ GetPropertyCommand::GetPropertyCommand(
|
|
|
1787
1848
|
const std::vector<std::string>& params,
|
|
1788
1849
|
const std::map<std::string, std::string>& options,
|
|
1789
1850
|
const std::vector<std::string>& flags)
|
|
1790
|
-
: LDBCommand(options, flags, true
|
|
1851
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
1852
|
+
BuildCmdLineOptions({})) {
|
|
1791
1853
|
if (params.size() != 1) {
|
|
1792
1854
|
exec_state_ =
|
|
1793
1855
|
LDBCommandExecuteResult::Failed("property name must be specified");
|
|
@@ -1838,7 +1900,8 @@ ListColumnFamiliesCommand::ListColumnFamiliesCommand(
|
|
|
1838
1900
|
const std::vector<std::string>& /*params*/,
|
|
1839
1901
|
const std::map<std::string, std::string>& options,
|
|
1840
1902
|
const std::vector<std::string>& flags)
|
|
1841
|
-
: LDBCommand(options, flags,
|
|
1903
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
1904
|
+
BuildCmdLineOptions({})) {}
|
|
1842
1905
|
|
|
1843
1906
|
void ListColumnFamiliesCommand::DoCommand() {
|
|
1844
1907
|
PrepareOptions();
|
|
@@ -1872,7 +1935,7 @@ CreateColumnFamilyCommand::CreateColumnFamilyCommand(
|
|
|
1872
1935
|
const std::vector<std::string>& params,
|
|
1873
1936
|
const std::map<std::string, std::string>& options,
|
|
1874
1937
|
const std::vector<std::string>& flags)
|
|
1875
|
-
: LDBCommand(options, flags,
|
|
1938
|
+
: LDBCommand(options, flags, false /* is_read_only */, {ARG_DB}) {
|
|
1876
1939
|
if (params.size() != 1) {
|
|
1877
1940
|
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
1878
1941
|
"new column family name must be specified");
|
|
@@ -1909,7 +1972,7 @@ DropColumnFamilyCommand::DropColumnFamilyCommand(
|
|
|
1909
1972
|
const std::vector<std::string>& params,
|
|
1910
1973
|
const std::map<std::string, std::string>& options,
|
|
1911
1974
|
const std::vector<std::string>& flags)
|
|
1912
|
-
: LDBCommand(options, flags,
|
|
1975
|
+
: LDBCommand(options, flags, false /* is_read_only */, {ARG_DB}) {
|
|
1913
1976
|
if (params.size() != 1) {
|
|
1914
1977
|
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
1915
1978
|
"The name of column family to drop must be specified");
|
|
@@ -1985,7 +2048,7 @@ InternalDumpCommand::InternalDumpCommand(
|
|
|
1985
2048
|
const std::vector<std::string>& /*params*/,
|
|
1986
2049
|
const std::map<std::string, std::string>& options,
|
|
1987
2050
|
const std::vector<std::string>& flags)
|
|
1988
|
-
: LDBCommand(options, flags, true
|
|
2051
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
1989
2052
|
BuildCmdLineOptions(
|
|
1990
2053
|
{ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM, ARG_TO,
|
|
1991
2054
|
ARG_MAX_KEYS, ARG_COUNT_ONLY, ARG_COUNT_DELIM, ARG_STATS,
|
|
@@ -2058,8 +2121,9 @@ void InternalDumpCommand::DoCommand() {
|
|
|
2058
2121
|
|
|
2059
2122
|
// Cast as DBImpl to get internal iterator
|
|
2060
2123
|
std::vector<KeyVersion> key_versions;
|
|
2061
|
-
Status st =
|
|
2062
|
-
|
|
2124
|
+
Status st =
|
|
2125
|
+
GetAllKeyVersions(db_, GetCfHandle(), has_from_ ? from_ : OptSlice{},
|
|
2126
|
+
has_to_ ? to_ : OptSlice{}, max_keys_, &key_versions);
|
|
2063
2127
|
if (!st.ok()) {
|
|
2064
2128
|
exec_state_ = LDBCommandExecuteResult::Failed(st.ToString());
|
|
2065
2129
|
return;
|
|
@@ -2166,7 +2230,7 @@ DBDumperCommand::DBDumperCommand(
|
|
|
2166
2230
|
const std::map<std::string, std::string>& options,
|
|
2167
2231
|
const std::vector<std::string>& flags)
|
|
2168
2232
|
: LDBCommand(
|
|
2169
|
-
options, flags, true
|
|
2233
|
+
options, flags, true /* is_read_only */,
|
|
2170
2234
|
BuildCmdLineOptions(
|
|
2171
2235
|
{ARG_TTL, ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM, ARG_TO,
|
|
2172
2236
|
ARG_MAX_KEYS, ARG_COUNT_ONLY, ARG_COUNT_DELIM, ARG_STATS,
|
|
@@ -2486,7 +2550,7 @@ ReduceDBLevelsCommand::ReduceDBLevelsCommand(
|
|
|
2486
2550
|
const std::vector<std::string>& /*params*/,
|
|
2487
2551
|
const std::map<std::string, std::string>& options,
|
|
2488
2552
|
const std::vector<std::string>& flags)
|
|
2489
|
-
: LDBCommand(options, flags, false
|
|
2553
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
2490
2554
|
BuildCmdLineOptions({ARG_NEW_LEVELS, ARG_PRINT_OLD_LEVELS})),
|
|
2491
2555
|
old_levels_(1 << 7),
|
|
2492
2556
|
new_levels_(-1),
|
|
@@ -2543,7 +2607,7 @@ Status ReduceDBLevelsCommand::GetOldNumOfLevels(Options& opt, int* levels) {
|
|
|
2543
2607
|
/*block_cache_tracer=*/nullptr, /*io_tracer=*/nullptr,
|
|
2544
2608
|
/*db_id=*/"", /*db_session_id=*/"",
|
|
2545
2609
|
opt.daily_offpeak_time_utc,
|
|
2546
|
-
/*error_handler=*/nullptr, /*
|
|
2610
|
+
/*error_handler=*/nullptr, /*unchanging=*/false);
|
|
2547
2611
|
std::vector<ColumnFamilyDescriptor> dummy;
|
|
2548
2612
|
ColumnFamilyDescriptor dummy_descriptor(kDefaultColumnFamilyName,
|
|
2549
2613
|
ColumnFamilyOptions(opt));
|
|
@@ -2625,7 +2689,7 @@ ChangeCompactionStyleCommand::ChangeCompactionStyleCommand(
|
|
|
2625
2689
|
const std::vector<std::string>& /*params*/,
|
|
2626
2690
|
const std::map<std::string, std::string>& options,
|
|
2627
2691
|
const std::vector<std::string>& flags)
|
|
2628
|
-
: LDBCommand(options, flags, false
|
|
2692
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
2629
2693
|
BuildCmdLineOptions(
|
|
2630
2694
|
{ARG_OLD_COMPACTION_STYLE, ARG_NEW_COMPACTION_STYLE})),
|
|
2631
2695
|
old_compaction_style_(-1),
|
|
@@ -2768,7 +2832,8 @@ void ChangeCompactionStyleCommand::DoCommand() {
|
|
|
2768
2832
|
namespace {
|
|
2769
2833
|
|
|
2770
2834
|
struct StdErrReporter : public log::Reader::Reporter {
|
|
2771
|
-
void Corruption(size_t /*bytes*/, const Status& s
|
|
2835
|
+
void Corruption(size_t /*bytes*/, const Status& s,
|
|
2836
|
+
uint64_t /*log_number*/ = kMaxSequenceNumber) override {
|
|
2772
2837
|
std::cerr << "Corruption detected in log file " << s.ToString() << "\n";
|
|
2773
2838
|
}
|
|
2774
2839
|
};
|
|
@@ -3170,7 +3235,7 @@ WALDumperCommand::WALDumperCommand(
|
|
|
3170
3235
|
const std::vector<std::string>& /*params*/,
|
|
3171
3236
|
const std::map<std::string, std::string>& options,
|
|
3172
3237
|
const std::vector<std::string>& flags)
|
|
3173
|
-
: LDBCommand(options, flags, true
|
|
3238
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
3174
3239
|
BuildCmdLineOptions({ARG_WAL_FILE, ARG_DB, ARG_WRITE_COMMITTED,
|
|
3175
3240
|
ARG_PRINT_HEADER, ARG_PRINT_VALUE,
|
|
3176
3241
|
ARG_ONLY_PRINT_SEQNO_GAPS})),
|
|
@@ -3226,7 +3291,7 @@ void WALDumperCommand::DoCommand() {
|
|
|
3226
3291
|
GetCommand::GetCommand(const std::vector<std::string>& params,
|
|
3227
3292
|
const std::map<std::string, std::string>& options,
|
|
3228
3293
|
const std::vector<std::string>& flags)
|
|
3229
|
-
: LDBCommand(options, flags, true
|
|
3294
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
3230
3295
|
BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
|
|
3231
3296
|
ARG_VALUE_HEX, ARG_READ_TIMESTAMP})) {
|
|
3232
3297
|
if (params.size() != 1) {
|
|
@@ -3285,7 +3350,7 @@ MultiGetCommand::MultiGetCommand(
|
|
|
3285
3350
|
const std::vector<std::string>& params,
|
|
3286
3351
|
const std::map<std::string, std::string>& options,
|
|
3287
3352
|
const std::vector<std::string>& flags)
|
|
3288
|
-
: LDBCommand(options, flags, true
|
|
3353
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
3289
3354
|
BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX,
|
|
3290
3355
|
ARG_READ_TIMESTAMP})) {
|
|
3291
3356
|
if (params.size() < 1) {
|
|
@@ -3360,7 +3425,7 @@ GetEntityCommand::GetEntityCommand(
|
|
|
3360
3425
|
const std::vector<std::string>& params,
|
|
3361
3426
|
const std::map<std::string, std::string>& options,
|
|
3362
3427
|
const std::vector<std::string>& flags)
|
|
3363
|
-
: LDBCommand(options, flags, true
|
|
3428
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
3364
3429
|
BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
|
|
3365
3430
|
ARG_VALUE_HEX, ARG_READ_TIMESTAMP})) {
|
|
3366
3431
|
if (params.size() != 1) {
|
|
@@ -3498,7 +3563,7 @@ ApproxSizeCommand::ApproxSizeCommand(
|
|
|
3498
3563
|
const std::vector<std::string>& /*params*/,
|
|
3499
3564
|
const std::map<std::string, std::string>& options,
|
|
3500
3565
|
const std::vector<std::string>& flags)
|
|
3501
|
-
: LDBCommand(options, flags, true
|
|
3566
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
3502
3567
|
BuildCmdLineOptions(
|
|
3503
3568
|
{ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX, ARG_FROM, ARG_TO})) {
|
|
3504
3569
|
if (options.find(ARG_FROM) != options.end()) {
|
|
@@ -3554,7 +3619,7 @@ BatchPutCommand::BatchPutCommand(
|
|
|
3554
3619
|
const std::vector<std::string>& params,
|
|
3555
3620
|
const std::map<std::string, std::string>& options,
|
|
3556
3621
|
const std::vector<std::string>& flags)
|
|
3557
|
-
: LDBCommand(options, flags, false
|
|
3622
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
3558
3623
|
BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
|
|
3559
3624
|
ARG_VALUE_HEX, ARG_CREATE_IF_MISSING})) {
|
|
3560
3625
|
if (params.size() < 2) {
|
|
@@ -3626,7 +3691,7 @@ ScanCommand::ScanCommand(const std::vector<std::string>& /*params*/,
|
|
|
3626
3691
|
const std::map<std::string, std::string>& options,
|
|
3627
3692
|
const std::vector<std::string>& flags)
|
|
3628
3693
|
: LDBCommand(
|
|
3629
|
-
options, flags, true
|
|
3694
|
+
options, flags, true /* is_read_only */,
|
|
3630
3695
|
BuildCmdLineOptions({ARG_TTL, ARG_NO_VALUE, ARG_HEX, ARG_KEY_HEX,
|
|
3631
3696
|
ARG_TO, ARG_VALUE_HEX, ARG_FROM, ARG_TIMESTAMP,
|
|
3632
3697
|
ARG_MAX_KEYS, ARG_TTL_START, ARG_TTL_END,
|
|
@@ -3803,7 +3868,7 @@ void ScanCommand::DoCommand() {
|
|
|
3803
3868
|
DeleteCommand::DeleteCommand(const std::vector<std::string>& params,
|
|
3804
3869
|
const std::map<std::string, std::string>& options,
|
|
3805
3870
|
const std::vector<std::string>& flags)
|
|
3806
|
-
: LDBCommand(options, flags, false
|
|
3871
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
3807
3872
|
BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
|
|
3808
3873
|
if (params.size() != 1) {
|
|
3809
3874
|
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
@@ -3839,7 +3904,7 @@ SingleDeleteCommand::SingleDeleteCommand(
|
|
|
3839
3904
|
const std::vector<std::string>& params,
|
|
3840
3905
|
const std::map<std::string, std::string>& options,
|
|
3841
3906
|
const std::vector<std::string>& flags)
|
|
3842
|
-
: LDBCommand(options, flags, false
|
|
3907
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
3843
3908
|
BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
|
|
3844
3909
|
if (params.size() != 1) {
|
|
3845
3910
|
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
@@ -3875,7 +3940,7 @@ DeleteRangeCommand::DeleteRangeCommand(
|
|
|
3875
3940
|
const std::vector<std::string>& params,
|
|
3876
3941
|
const std::map<std::string, std::string>& options,
|
|
3877
3942
|
const std::vector<std::string>& flags)
|
|
3878
|
-
: LDBCommand(options, flags, false
|
|
3943
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
3879
3944
|
BuildCmdLineOptions({ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
|
|
3880
3945
|
if (params.size() != 2) {
|
|
3881
3946
|
exec_state_ = LDBCommandExecuteResult::Failed(
|
|
@@ -3913,7 +3978,7 @@ void DeleteRangeCommand::DoCommand() {
|
|
|
3913
3978
|
PutCommand::PutCommand(const std::vector<std::string>& params,
|
|
3914
3979
|
const std::map<std::string, std::string>& options,
|
|
3915
3980
|
const std::vector<std::string>& flags)
|
|
3916
|
-
: LDBCommand(options, flags, false
|
|
3981
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
3917
3982
|
BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
|
|
3918
3983
|
ARG_VALUE_HEX, ARG_CREATE_IF_MISSING})) {
|
|
3919
3984
|
if (params.size() != 2) {
|
|
@@ -3967,7 +4032,7 @@ PutEntityCommand::PutEntityCommand(
|
|
|
3967
4032
|
const std::vector<std::string>& params,
|
|
3968
4033
|
const std::map<std::string, std::string>& options,
|
|
3969
4034
|
const std::vector<std::string>& flags)
|
|
3970
|
-
: LDBCommand(options, flags, false
|
|
4035
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
3971
4036
|
BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX,
|
|
3972
4037
|
ARG_VALUE_HEX, ARG_CREATE_IF_MISSING})) {
|
|
3973
4038
|
if (params.size() < 2) {
|
|
@@ -4049,7 +4114,7 @@ DBQuerierCommand::DBQuerierCommand(
|
|
|
4049
4114
|
const std::map<std::string, std::string>& options,
|
|
4050
4115
|
const std::vector<std::string>& flags)
|
|
4051
4116
|
: LDBCommand(
|
|
4052
|
-
options, flags, false
|
|
4117
|
+
options, flags, false /* is_read_only */,
|
|
4053
4118
|
BuildCmdLineOptions({ARG_TTL, ARG_HEX, ARG_KEY_HEX, ARG_VALUE_HEX})) {
|
|
4054
4119
|
|
|
4055
4120
|
}
|
|
@@ -4285,7 +4350,8 @@ CheckConsistencyCommand::CheckConsistencyCommand(
|
|
|
4285
4350
|
const std::vector<std::string>& /*params*/,
|
|
4286
4351
|
const std::map<std::string, std::string>& options,
|
|
4287
4352
|
const std::vector<std::string>& flags)
|
|
4288
|
-
: LDBCommand(options, flags, true
|
|
4353
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
4354
|
+
BuildCmdLineOptions({})) {}
|
|
4289
4355
|
|
|
4290
4356
|
void CheckConsistencyCommand::Help(std::string& ret) {
|
|
4291
4357
|
ret.append(" ");
|
|
@@ -4348,7 +4414,8 @@ const std::string RepairCommand::ARG_VERBOSE = "verbose";
|
|
|
4348
4414
|
RepairCommand::RepairCommand(const std::vector<std::string>& /*params*/,
|
|
4349
4415
|
const std::map<std::string, std::string>& options,
|
|
4350
4416
|
const std::vector<std::string>& flags)
|
|
4351
|
-
: LDBCommand(options, flags, false
|
|
4417
|
+
: LDBCommand(options, flags, false /* is_read_only */,
|
|
4418
|
+
BuildCmdLineOptions({ARG_VERBOSE})) {
|
|
4352
4419
|
verbose_ = IsFlagPresent(flags, ARG_VERBOSE);
|
|
4353
4420
|
}
|
|
4354
4421
|
|
|
@@ -4629,7 +4696,7 @@ DBFileDumperCommand::DBFileDumperCommand(
|
|
|
4629
4696
|
const std::vector<std::string>& /*params*/,
|
|
4630
4697
|
const std::map<std::string, std::string>& options,
|
|
4631
4698
|
const std::vector<std::string>& flags)
|
|
4632
|
-
: LDBCommand(options, flags, true
|
|
4699
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
4633
4700
|
BuildCmdLineOptions(
|
|
4634
4701
|
{ARG_DECODE_BLOB_INDEX, ARG_DUMP_UNCOMPRESSED_BLOBS})),
|
|
4635
4702
|
decode_blob_index_(IsFlagPresent(flags, ARG_DECODE_BLOB_INDEX)),
|
|
@@ -4750,7 +4817,7 @@ DBLiveFilesMetadataDumperCommand::DBLiveFilesMetadataDumperCommand(
|
|
|
4750
4817
|
const std::vector<std::string>& /*params*/,
|
|
4751
4818
|
const std::map<std::string, std::string>& options,
|
|
4752
4819
|
const std::vector<std::string>& flags)
|
|
4753
|
-
: LDBCommand(options, flags, true
|
|
4820
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
4754
4821
|
BuildCmdLineOptions({ARG_SORT_BY_FILENAME})) {
|
|
4755
4822
|
sort_by_filename_ = IsFlagPresent(flags, ARG_SORT_BY_FILENAME);
|
|
4756
4823
|
}
|
|
@@ -4794,7 +4861,7 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
|
|
|
4794
4861
|
NormalizePath(sst_metadata.db_path + "/" + sst_metadata.name);
|
|
4795
4862
|
all_files.emplace_back(filename, level, cf);
|
|
4796
4863
|
} // End of for-loop over sst files
|
|
4797
|
-
}
|
|
4864
|
+
} // End of for-loop over levels
|
|
4798
4865
|
|
|
4799
4866
|
const auto& blob_files = column_metadata.blob_files;
|
|
4800
4867
|
for (const auto& blob_metadata : blob_files) {
|
|
@@ -4808,7 +4875,7 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
|
|
|
4808
4875
|
// Level for blob files is encoded as -1
|
|
4809
4876
|
all_files.emplace_back(filename, -1, cf);
|
|
4810
4877
|
} // End of for-loop over blob files
|
|
4811
|
-
}
|
|
4878
|
+
} // End of for-loop over column metadata
|
|
4812
4879
|
|
|
4813
4880
|
// Sort by filename (i.e. first entry in tuple)
|
|
4814
4881
|
std::sort(all_files.begin(), all_files.end());
|
|
@@ -4847,7 +4914,7 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
|
|
|
4847
4914
|
NormalizePath(sst_metadata.db_path + "/" + sst_metadata.name);
|
|
4848
4915
|
std::cout << filename << std::endl;
|
|
4849
4916
|
} // End of for-loop over sst files
|
|
4850
|
-
}
|
|
4917
|
+
} // End of for-loop over levels
|
|
4851
4918
|
|
|
4852
4919
|
std::cout << "Live Blob Files:" << std::endl;
|
|
4853
4920
|
const auto& blob_files = column_metadata.blob_files;
|
|
@@ -4861,8 +4928,8 @@ void DBLiveFilesMetadataDumperCommand::DoCommand() {
|
|
|
4861
4928
|
blob_metadata.blob_file_path + "/" + blob_metadata.blob_file_name);
|
|
4862
4929
|
std::cout << filename << std::endl;
|
|
4863
4930
|
} // End of for-loop over blob files
|
|
4864
|
-
}
|
|
4865
|
-
}
|
|
4931
|
+
} // End of for-loop over column metadata
|
|
4932
|
+
} // End of else ("not sort_by_filename")
|
|
4866
4933
|
std::cout << "------------------------------" << std::endl;
|
|
4867
4934
|
}
|
|
4868
4935
|
|
|
@@ -5065,7 +5132,8 @@ void IngestExternalSstFilesCommand::OverrideBaseOptions() {
|
|
|
5065
5132
|
ListFileRangeDeletesCommand::ListFileRangeDeletesCommand(
|
|
5066
5133
|
const std::map<std::string, std::string>& options,
|
|
5067
5134
|
const std::vector<std::string>& flags)
|
|
5068
|
-
: LDBCommand(options, flags, true
|
|
5135
|
+
: LDBCommand(options, flags, true /* is_read_only */,
|
|
5136
|
+
BuildCmdLineOptions({ARG_MAX_KEYS})) {
|
|
5069
5137
|
auto itr = options.find(ARG_MAX_KEYS);
|
|
5070
5138
|
if (itr != options.end()) {
|
|
5071
5139
|
try {
|
|
@@ -140,7 +140,7 @@ void LDBCommandRunner::PrintHelp(const LDBOptions& ldb_options,
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
int LDBCommandRunner::RunCommand(
|
|
143
|
-
int argc, char const* const* argv, Options options,
|
|
143
|
+
int argc, char const* const* argv, const Options& options,
|
|
144
144
|
const LDBOptions& ldb_options,
|
|
145
145
|
const std::vector<ColumnFamilyDescriptor>* column_families) {
|
|
146
146
|
if (argc <= 2) {
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
// (found in the LICENSE.Apache file in the root directory).
|
|
5
5
|
//
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|
#include "db/db_impl/db_impl.h"
|
|
9
8
|
#include "db/version_set.h"
|
|
10
9
|
#include "rocksdb/db.h"
|
|
@@ -210,4 +209,3 @@ int main(int argc, char** argv) {
|
|
|
210
209
|
::testing::InitGoogleTest(&argc, argv);
|
|
211
210
|
return RUN_ALL_TESTS();
|
|
212
211
|
}
|
|
213
|
-
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
4
|
// (found in the LICENSE.Apache file in the root directory).
|
|
5
5
|
|
|
6
|
-
#include "
|
|
6
|
+
#include "tools/simulated_hybrid_file_system.h"
|
|
7
7
|
|
|
8
8
|
#include <algorithm>
|
|
9
9
|
#include <sstream>
|
|
10
10
|
#include <string>
|
|
11
11
|
|
|
12
12
|
#include "rocksdb/rate_limiter.h"
|
|
13
|
-
#include "
|
|
13
|
+
#include "util/stop_watch.h"
|
|
14
14
|
|
|
15
15
|
namespace ROCKSDB_NAMESPACE {
|
|
16
16
|
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
|
|
6
6
|
#pragma once
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
#include <utility>
|
|
10
9
|
|
|
11
10
|
#include "rocksdb/file_system.h"
|
|
@@ -121,4 +120,3 @@ class SimulatedWritableFile : public FSWritableFileWrapper {
|
|
|
121
120
|
void SimulateIOWait(int64_t num_requests) const;
|
|
122
121
|
};
|
|
123
122
|
} // namespace ROCKSDB_NAMESPACE
|
|
124
|
-
|
|
@@ -197,6 +197,8 @@ int SSTDumpTool::Run(int argc, char const* const* argv, Options options) {
|
|
|
197
197
|
|
|
198
198
|
int64_t tmp_val;
|
|
199
199
|
|
|
200
|
+
TEST_AllowUnsupportedFormatVersion() = true;
|
|
201
|
+
|
|
200
202
|
for (int i = 1; i < argc; i++) {
|
|
201
203
|
if (strncmp(argv[i], "--env_uri=", 10) == 0) {
|
|
202
204
|
env_uri = argv[i] + 10;
|
|
@@ -585,4 +587,3 @@ int SSTDumpTool::Run(int argc, char const* const* argv, Options options) {
|
|
|
585
587
|
}
|
|
586
588
|
}
|
|
587
589
|
} // namespace ROCKSDB_NAMESPACE
|
|
588
|
-
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved.
|
|
2
|
+
// This source code is licensed under both the GPLv2 (found in the
|
|
3
|
+
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
|
+
// (found in the LICENSE.Apache file in the root directory).
|
|
5
|
+
|
|
6
|
+
#include "rocksdb/tool_hooks.h"
|
|
7
|
+
|
|
8
|
+
#include "rocksdb/convenience.h"
|
|
9
|
+
#include "rocksdb/db.h"
|
|
10
|
+
#include "rocksdb/options.h"
|
|
11
|
+
#include "rocksdb/utilities/optimistic_transaction_db.h"
|
|
12
|
+
#include "rocksdb/utilities/options_type.h"
|
|
13
|
+
#include "rocksdb/utilities/transaction_db.h"
|
|
14
|
+
#include "utilities/blob_db/blob_db.h"
|
|
15
|
+
|
|
16
|
+
namespace ROCKSDB_NAMESPACE {
|
|
17
|
+
|
|
18
|
+
Status DefaultHooks::Open(const Options& db_options, const std::string& name,
|
|
19
|
+
DB** dbptr) {
|
|
20
|
+
return DB::Open(db_options, name, dbptr);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
Status DefaultHooks::Open(
|
|
24
|
+
const DBOptions& db_options, const std::string& name,
|
|
25
|
+
const std::vector<ColumnFamilyDescriptor>& column_families,
|
|
26
|
+
std::vector<ColumnFamilyHandle*>* handles, DB** dbptr) {
|
|
27
|
+
return DB::Open(db_options, name, column_families, handles, dbptr);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
Status DefaultHooks::OpenForReadOnly(const Options& options,
|
|
31
|
+
const std::string& name, DB** dbptr,
|
|
32
|
+
bool error_if_wal_file_exists = false) {
|
|
33
|
+
return DB::OpenForReadOnly(options, name, dbptr, error_if_wal_file_exists);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
Status DefaultHooks::OpenForReadOnly(
|
|
37
|
+
const Options& options, const std::string& name,
|
|
38
|
+
const std::vector<ColumnFamilyDescriptor>& column_families,
|
|
39
|
+
std::vector<ColumnFamilyHandle*>* handles, DB** dbptr) {
|
|
40
|
+
return DB::OpenForReadOnly(options, name, column_families, handles, dbptr);
|
|
41
|
+
};
|
|
42
|
+
Status DefaultHooks::OpenTransactionDB(
|
|
43
|
+
const Options& db_options, const TransactionDBOptions& txn_db_options,
|
|
44
|
+
const std::string& dbname, TransactionDB** dbptr) {
|
|
45
|
+
return TransactionDB::Open(db_options, txn_db_options, dbname, dbptr);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
Status DefaultHooks::OpenTransactionDB(
|
|
49
|
+
const DBOptions& db_options, const TransactionDBOptions& txn_db_options,
|
|
50
|
+
const std::string& dbname,
|
|
51
|
+
const std::vector<ColumnFamilyDescriptor>& column_families,
|
|
52
|
+
std::vector<ColumnFamilyHandle*>* handles, TransactionDB** dbptr) {
|
|
53
|
+
return TransactionDB::Open(db_options, txn_db_options, dbname,
|
|
54
|
+
column_families, handles, dbptr);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
Status DefaultHooks::OpenOptimisticTransactionDB(
|
|
58
|
+
const Options& options, const std::string& dbname,
|
|
59
|
+
OptimisticTransactionDB** dbptr) {
|
|
60
|
+
return OptimisticTransactionDB::Open(options, dbname, dbptr);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
Status DefaultHooks::OpenOptimisticTransactionDB(
|
|
64
|
+
const DBOptions& db_options, const std::string& dbname,
|
|
65
|
+
const std::vector<ColumnFamilyDescriptor>& column_families,
|
|
66
|
+
std::vector<ColumnFamilyHandle*>* handles,
|
|
67
|
+
OptimisticTransactionDB** dbptr) {
|
|
68
|
+
return OptimisticTransactionDB::Open(db_options, dbname, column_families,
|
|
69
|
+
handles, dbptr);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
Status DefaultHooks::OpenAsSecondary(const Options& options,
|
|
73
|
+
const std::string& name,
|
|
74
|
+
const std::string& secondary_path,
|
|
75
|
+
DB** dbptr) {
|
|
76
|
+
return DB::OpenAsSecondary(options, name, secondary_path, dbptr);
|
|
77
|
+
}
|
|
78
|
+
Status DefaultHooks::OpenAsFollower(const Options& options,
|
|
79
|
+
const std::string& name,
|
|
80
|
+
const std::string& leader_path,
|
|
81
|
+
std::unique_ptr<DB>* dbptr) {
|
|
82
|
+
return DB::OpenAsFollower(options, name, leader_path, dbptr);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
Status DefaultHooks::Open(const Options& options,
|
|
86
|
+
const blob_db::BlobDBOptions& bdb_options,
|
|
87
|
+
const std::string& dbname,
|
|
88
|
+
blob_db::BlobDB** blob_db) {
|
|
89
|
+
return blob_db::BlobDB::Open(options, bdb_options, dbname, blob_db);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
DefaultHooks defaultHooks;
|
|
93
|
+
|
|
94
|
+
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -82,7 +82,7 @@ Status IOTraceWriter::WriteIOOp(const IOTraceRecord& record,
|
|
|
82
82
|
uint32_t set_pos = static_cast<uint32_t>(log2(trace_data & -trace_data));
|
|
83
83
|
switch (set_pos) {
|
|
84
84
|
case IODebugContext::TraceData::kRequestID: {
|
|
85
|
-
Slice request_id(dbg->request_id);
|
|
85
|
+
Slice request_id(*dbg->request_id);
|
|
86
86
|
PutLengthPrefixedSlice(&trace.payload, request_id);
|
|
87
87
|
} break;
|
|
88
88
|
default:
|
|
@@ -145,7 +145,8 @@ TEST_F(IOTracerTest, MultipleRecordsWithDifferentIOOpOptions) {
|
|
|
145
145
|
// Write record with IODebugContext.
|
|
146
146
|
io_op_data = 0;
|
|
147
147
|
IODebugContext dbg;
|
|
148
|
-
|
|
148
|
+
const std::string test_request_id = "request_id_1";
|
|
149
|
+
dbg.SetRequestId(&test_request_id);
|
|
149
150
|
IOTraceRecord record5(0, TraceType::kIOTracer, io_op_data,
|
|
150
151
|
GetFileOperation(5), 10 /*latency*/,
|
|
151
152
|
IOStatus::OK().ToString(), file_name);
|