From da4b7143b9b39979f5d197ede139a88df30a311d Mon Sep 17 00:00:00 2001 From: Yueh-Hsuan Chiang <93241502+yhchiang-sol@users.noreply.github.com> Date: Mon, 27 Jun 2022 16:08:41 +0800 Subject: [PATCH] Upgrade to rocksdb v7.3.1 (#645) --- Cargo.toml | 2 +- librocksdb-sys/Cargo.toml | 2 +- librocksdb-sys/build_version.cc | 37 +- librocksdb-sys/rocksdb | 2 +- librocksdb-sys/rocksdb_lib_sources.txt | 512 +++++++++++++------------ src/db_iterator.rs | 4 + 6 files changed, 293 insertions(+), 266 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4422d9e..23464fc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ serde1 = ["serde"] [dependencies] libc = "0.2" -librocksdb-sys = { path = "librocksdb-sys", version = "0.7.0" } +librocksdb-sys = { path = "librocksdb-sys", version = "0.7.1" } serde = { version = "1", features = [ "derive" ], optional = true } [dev-dependencies] diff --git a/librocksdb-sys/Cargo.toml b/librocksdb-sys/Cargo.toml index c2f9cbf..bc11ba3 100644 --- a/librocksdb-sys/Cargo.toml +++ b/librocksdb-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "librocksdb-sys" -version = "0.7.0+7.1.2" +version = "0.7.1+7.3.1" edition = "2018" authors = ["Karl Hobley ", "Arkadiy Paronyan "] license = "MIT/Apache-2.0/BSD-3-Clause" diff --git a/librocksdb-sys/build_version.cc b/librocksdb-sys/build_version.cc index 67efaa5..dbc77e8 100644 --- a/librocksdb-sys/build_version.cc +++ b/librocksdb-sys/build_version.cc @@ -3,13 +3,33 @@ #include #include "rocksdb/version.h" +#include "rocksdb/utilities/object_registry.h" #include "util/string_util.h" // The build script may replace these values with real values based // on whether or not GIT is available and the platform settings -static const std::string rocksdb_build_git_sha = "rocksdb_build_git_sha:00724f43bcea4d82b371a3e43ebec91cfe8c11be"; -static const std::string rocksdb_build_git_tag = "rocksdb_build_git_tag:7.1.2" ; -static const std::string rocksdb_build_date = "rocksdb_build_date:2022-04-21 06:19:00"; +static const std::string rocksdb_build_git_sha = "rocksdb_build_git_sha:8e0f495253f62904a4ca6d3ec6a03391a12b0a45"; +static const std::string rocksdb_build_git_tag = "rocksdb_build_git_tag:v7.3.1"; +#define HAS_GIT_CHANGES 0 +#if HAS_GIT_CHANGES == 0 +// If HAS_GIT_CHANGES is 0, the GIT date is used. +// Use the time the branch/tag was last modified +static const std::string rocksdb_build_date = "rocksdb_build_date:2022-06-08 12:46:15"; +#else +// If HAS_GIT_CHANGES is > 0, the branch/tag has modifications. +// Use the time the build was created. +static const std::string rocksdb_build_date = "rocksdb_build_date:2022-06-21 21:46:08"; +#endif + +#ifndef ROCKSDB_LITE +extern "C" { + +} // extern "C" + +std::unordered_map ROCKSDB_NAMESPACE::ObjectRegistry::builtins_ = { + +}; +#endif //ROCKSDB_LITE namespace ROCKSDB_NAMESPACE { static void AddProperty(std::unordered_map *props, const std::string& name) { @@ -23,7 +43,7 @@ static void AddProperty(std::unordered_map *props, con } } } - + static std::unordered_map* LoadPropertiesSet() { auto * properties = new std::unordered_map(); AddProperty(properties, rocksdb_build_git_sha); @@ -38,14 +58,14 @@ const std::unordered_map& GetRocksBuildProperties() { } std::string GetRocksVersionAsString(bool with_patch) { - std::string version = ToString(ROCKSDB_MAJOR) + "." + ToString(ROCKSDB_MINOR); + std::string version = std::to_string(ROCKSDB_MAJOR) + "." + std::to_string(ROCKSDB_MINOR); if (with_patch) { - return version + "." + ToString(ROCKSDB_PATCH); + return version + "." + std::to_string(ROCKSDB_PATCH); } else { return version; - } + } } - + std::string GetRocksBuildInfoAsString(const std::string& program, bool verbose) { std::string info = program + " (RocksDB) " + GetRocksVersionAsString(true); if (verbose) { @@ -59,4 +79,3 @@ std::string GetRocksBuildInfoAsString(const std::string& program, bool verbose) return info; } } // namespace ROCKSDB_NAMESPACE - diff --git a/librocksdb-sys/rocksdb b/librocksdb-sys/rocksdb index 00724f4..8e0f495 160000 --- a/librocksdb-sys/rocksdb +++ b/librocksdb-sys/rocksdb @@ -1 +1 @@ -Subproject commit 00724f43bcea4d82b371a3e43ebec91cfe8c11be +Subproject commit 8e0f495253f62904a4ca6d3ec6a03391a12b0a45 diff --git a/librocksdb-sys/rocksdb_lib_sources.txt b/librocksdb-sys/rocksdb_lib_sources.txt index de19291..9a2e072 100644 --- a/librocksdb-sys/rocksdb_lib_sources.txt +++ b/librocksdb-sys/rocksdb_lib_sources.txt @@ -1,297 +1,301 @@ -port/stack_trace.cc -port/port_posix.cc -file/random_access_file_reader.cc -file/sst_file_manager_impl.cc -file/readahead_raf.cc -file/sequence_file_reader.cc -file/file_util.cc -file/writable_file_writer.cc -file/file_prefetch_buffer.cc -file/delete_scheduler.cc -file/line_file_reader.cc -file/read_write_util.cc -file/filename.cc -trace_replay/trace_replay.cc -trace_replay/block_cache_tracer.cc -trace_replay/trace_record.cc -trace_replay/io_tracer.cc -trace_replay/trace_record_result.cc -trace_replay/trace_record_handler.cc -logging/event_logger.cc -logging/auto_roll_logger.cc -logging/log_buffer.cc -utilities/blob_db/blob_db_impl.cc -utilities/blob_db/blob_db.cc -utilities/blob_db/blob_dump_tool.cc -utilities/blob_db/blob_db_impl_filesnapshot.cc -utilities/blob_db/blob_file.cc -utilities/blob_db/blob_compaction_filter.cc -utilities/ttl/db_ttl_impl.cc -utilities/convenience/info_log_finder.cc -utilities/env_mirror.cc -utilities/fault_injection_fs.cc -utilities/backupable/backupable_db.cc -utilities/table_properties_collectors/compact_on_deletion_collector.cc -utilities/merge_operators/max.cc -utilities/merge_operators/put.cc -utilities/merge_operators/bytesxor.cc -utilities/merge_operators/uint64add.cc -utilities/merge_operators/sortlist.cc -utilities/merge_operators/string_append/stringappend.cc -utilities/merge_operators/string_append/stringappend2.cc -utilities/wal_filter.cc -utilities/counted_fs.cc -utilities/cache_dump_load.cc -utilities/debug.cc -utilities/compaction_filters.cc -utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc -utilities/cache_dump_load_impl.cc -utilities/leveldb_options/leveldb_options.cc -utilities/merge_operators.cc -utilities/transactions/snapshot_checker.cc -utilities/transactions/write_prepared_txn_db.cc -utilities/transactions/write_prepared_txn.cc -utilities/transactions/transaction_util.cc -utilities/transactions/pessimistic_transaction_db.cc -utilities/transactions/transaction_db_mutex_impl.cc -utilities/transactions/transaction_base.cc -utilities/transactions/optimistic_transaction.cc -utilities/transactions/write_unprepared_txn_db.cc -utilities/transactions/optimistic_transaction_db_impl.cc -utilities/transactions/lock/lock_manager.cc -utilities/transactions/lock/point/point_lock_manager.cc -utilities/transactions/lock/point/point_lock_tracker.cc -utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc -utilities/transactions/lock/range/range_tree/lib/standalone_port.cc -utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc -utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc -utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc -utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc -utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc -utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc -utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc -utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc -utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc -utilities/transactions/lock/range/range_tree/lib/util/memarena.cc -utilities/transactions/lock/range/range_tree/lib/util/dbt.cc -utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc -utilities/transactions/write_unprepared_txn.cc -utilities/transactions/pessimistic_transaction.cc -utilities/env_timed.cc -utilities/fault_injection_env.cc -utilities/write_batch_with_index/write_batch_with_index_internal.cc -utilities/write_batch_with_index/write_batch_with_index.cc -utilities/trace/file_trace_reader_writer.cc -utilities/trace/replayer_impl.cc -utilities/options/options_util.cc -utilities/simulator_cache/sim_cache.cc -utilities/simulator_cache/cache_simulator.cc -utilities/option_change_migration/option_change_migration.cc -utilities/memory/memory_util.cc -utilities/persistent_cache/persistent_cache_tier.cc -utilities/persistent_cache/volatile_tier_impl.cc -utilities/persistent_cache/block_cache_tier.cc -utilities/persistent_cache/block_cache_tier_metadata.cc -utilities/persistent_cache/block_cache_tier_file.cc -utilities/object_registry.cc -utilities/fault_injection_secondary_cache.cc -utilities/checkpoint/checkpoint_impl.cc -memtable/vectorrep.cc -memtable/hash_linklist_rep.cc -memtable/skiplistrep.cc -memtable/hash_skiplist_rep.cc -memtable/alloc_tracker.cc -memtable/write_buffer_manager.cc -db/error_handler.cc -db/db_info_dumper.cc -db/external_sst_file_ingestion_job.cc -db/trim_history_scheduler.cc -db/version_builder.cc +cache/cache.cc +cache/cache_entry_roles.cc +cache/cache_key.cc +cache/cache_reservation_manager.cc +cache/clock_cache.cc +cache/fast_lru_cache.cc +cache/lru_cache.cc +cache/compressed_secondary_cache.cc +cache/sharded_cache.cc +db/arena_wrapped_db_iter.cc +db/blob/blob_fetcher.cc +db/blob/blob_file_addition.cc +db/blob/blob_file_builder.cc +db/blob/blob_file_cache.cc +db/blob/blob_file_garbage.cc +db/blob/blob_file_meta.cc +db/blob/blob_file_reader.cc +db/blob/blob_garbage_meter.cc +db/blob/blob_log_format.cc +db/blob/blob_log_sequential_reader.cc +db/blob/blob_log_writer.cc +db/blob/prefetch_buffer_collection.cc +db/builder.cc db/c.cc -db/repair.cc -db/version_set.cc -db/version_edit.cc -db/db_filesnapshot.cc -db/wal_edit.cc -db/malloc_stats.cc -db/output_validator.cc -db/table_properties_collector.cc -db/import_column_family_job.cc +db/column_family.cc db/compaction/compaction.cc -db/compaction/compaction_picker_level.cc -db/compaction/compaction_picker_fifo.cc -db/compaction/compaction_picker_universal.cc -db/compaction/sst_partitioner.cc db/compaction/compaction_iterator.cc db/compaction/compaction_job.cc db/compaction/compaction_picker.cc -db/wal_manager.cc -db/flush_scheduler.cc -db/memtable.cc -db/db_iter.cc -db/merge_helper.cc -db/dbformat.cc -db/write_thread.cc -db/event_helpers.cc -db/snapshot_impl.cc -db/merge_operator.cc -db/table_cache.cc -db/arena_wrapped_db_iter.cc -db/flush_job.cc -db/experimental.cc -db/periodic_work_scheduler.cc -db/logs_with_prep_tracker.cc -db/version_edit_handler.cc -db/write_controller.cc -db/range_del_aggregator.cc -db/forward_iterator.cc -db/log_reader.cc -db/column_family.cc -db/memtable_list.cc +db/compaction/compaction_picker_fifo.cc +db/compaction/compaction_picker_level.cc +db/compaction/compaction_picker_universal.cc +db/compaction/sst_partitioner.cc db/convenience.cc -db/db_impl/db_impl_experimental.cc +db/db_filesnapshot.cc +db/db_impl/compacted_db_impl.cc +db/db_impl/db_impl.cc db/db_impl/db_impl_compaction_flush.cc -db/db_impl/db_impl_write.cc db/db_impl/db_impl_debug.cc -db/db_impl/compacted_db_impl.cc +db/db_impl/db_impl_experimental.cc db/db_impl/db_impl_files.cc -db/db_impl/db_impl.cc -db/db_impl/db_impl_readonly.cc db/db_impl/db_impl_open.cc +db/db_impl/db_impl_readonly.cc db/db_impl/db_impl_secondary.cc -db/builder.cc +db/db_impl/db_impl_write.cc +db/db_info_dumper.cc +db/db_iter.cc +db/dbformat.cc +db/error_handler.cc +db/event_helpers.cc +db/experimental.cc +db/external_sst_file_ingestion_job.cc db/file_indexer.cc -db/write_batch.cc -db/write_batch_base.cc -db/log_writer.cc -db/transaction_log_impl.cc +db/flush_job.cc +db/flush_scheduler.cc +db/forward_iterator.cc +db/import_column_family_job.cc db/internal_stats.cc +db/logs_with_prep_tracker.cc +db/log_reader.cc +db/log_writer.cc +db/malloc_stats.cc +db/memtable.cc +db/memtable_list.cc +db/merge_helper.cc +db/merge_operator.cc +db/output_validator.cc +db/periodic_work_scheduler.cc +db/range_del_aggregator.cc db/range_tombstone_fragmenter.cc -db/blob/blob_file_reader.cc -db/blob/blob_garbage_meter.cc -db/blob/blob_file_addition.cc -db/blob/blob_file_garbage.cc -db/blob/blob_log_format.cc -db/blob/blob_log_sequential_reader.cc -db/blob/blob_log_writer.cc -db/blob/blob_file_builder.cc -db/blob/blob_file_cache.cc -db/blob/prefetch_buffer_collection.cc -db/blob/blob_file_meta.cc -db/blob/blob_fetcher.cc -monitoring/perf_level.cc -monitoring/thread_status_impl.cc +db/repair.cc +db/snapshot_impl.cc +db/table_cache.cc +db/table_properties_collector.cc +db/transaction_log_impl.cc +db/trim_history_scheduler.cc +db/version_builder.cc +db/version_edit.cc +db/version_edit_handler.cc +db/version_set.cc +db/wal_edit.cc +db/wal_manager.cc +db/write_batch.cc +db/write_batch_base.cc +db/write_controller.cc +db/write_thread.cc +env/composite_env.cc +env/env.cc +env/env_chroot.cc +env/env_encryption.cc +env/env_posix.cc +env/file_system.cc +env/fs_posix.cc +env/fs_remap.cc +env/file_system_tracer.cc +env/io_posix.cc +env/mock_env.cc +env/unique_id_gen.cc +file/delete_scheduler.cc +file/file_prefetch_buffer.cc +file/file_util.cc +file/filename.cc +file/line_file_reader.cc +file/random_access_file_reader.cc +file/read_write_util.cc +file/readahead_raf.cc +file/sequence_file_reader.cc +file/sst_file_manager_impl.cc +file/writable_file_writer.cc +logging/auto_roll_logger.cc +logging/event_logger.cc +logging/log_buffer.cc +memory/arena.cc +memory/concurrent_arena.cc +memory/jemalloc_nodump_allocator.cc +memory/memkind_kmem_allocator.cc +memory/memory_allocator.cc +memtable/alloc_tracker.cc +memtable/hash_linklist_rep.cc +memtable/hash_skiplist_rep.cc +memtable/skiplistrep.cc +memtable/vectorrep.cc +memtable/write_buffer_manager.cc monitoring/histogram.cc +monitoring/histogram_windowing.cc +monitoring/in_memory_stats_history.cc monitoring/instrumented_mutex.cc -monitoring/statistics.cc monitoring/iostats_context.cc -monitoring/thread_status_updater_debug.cc -monitoring/thread_status_util_debug.cc monitoring/perf_context.cc -monitoring/thread_status_updater.cc +monitoring/perf_level.cc monitoring/persistent_stats_history.cc -monitoring/in_memory_stats_history.cc -monitoring/histogram_windowing.cc +monitoring/statistics.cc +monitoring/thread_status_impl.cc +monitoring/thread_status_updater.cc +monitoring/thread_status_updater_debug.cc monitoring/thread_status_util.cc +monitoring/thread_status_util_debug.cc +options/cf_options.cc options/configurable.cc -options/options.cc options/customizable.cc -options/cf_options.cc -options/options_helper.cc options/db_options.cc +options/options.cc +options/options_helper.cc options/options_parser.cc -env/fs_remap.cc -env/file_system_tracer.cc -env/mock_env.cc -env/env_posix.cc -env/file_system.cc -env/unique_id_gen.cc -env/io_posix.cc -env/env_chroot.cc -env/env.cc -env/composite_env.cc -env/env_encryption.cc -env/fs_posix.cc -cache/lru_secondary_cache.cc -cache/sharded_cache.cc -cache/clock_cache.cc -cache/cache.cc -cache/cache_entry_roles.cc -cache/cache_reservation_manager.cc -cache/lru_cache.cc -cache/cache_key.cc -memory/memory_allocator.cc -memory/concurrent_arena.cc -memory/arena.cc -memory/memkind_kmem_allocator.cc -memory/jemalloc_nodump_allocator.cc -table/sst_file_reader.cc +port/port_posix.cc +port/win/env_default.cc +port/win/env_win.cc +port/win/io_win.cc +port/win/port_win.cc +port/win/win_logger.cc +port/win/win_thread.cc +port/stack_trace.cc table/adaptive/adaptive_table_factory.cc -table/iterator.cc -table/block_fetcher.cc -table/plain/plain_table_builder.cc -table/plain/plain_table_bloom.cc -table/plain/plain_table_factory.cc -table/plain/plain_table_reader.cc -table/plain/plain_table_key_coding.cc -table/plain/plain_table_index.cc -table/block_based/filter_block_reader_common.cc -table/block_based/filter_policy.cc -table/block_based/partitioned_filter_block.cc -table/block_based/block_prefetcher.cc -table/block_based/data_block_hash_index.cc -table/block_based/full_filter_block.cc -table/block_based/uncompression_dict_reader.cc -table/block_based/block_based_table_iterator.cc -table/block_based/block_prefix_index.cc -table/block_based/block_based_filter_block.cc -table/block_based/parsed_full_filter_block.cc +table/block_based/binary_search_index_reader.cc table/block_based/block.cc +table/block_based/block_based_filter_block.cc table/block_based/block_based_table_builder.cc -table/block_based/hash_index_reader.cc -table/block_based/block_builder.cc -table/block_based/flush_block_policy.cc -table/block_based/reader_common.cc -table/block_based/block_based_table_reader.cc -table/block_based/partitioned_index_iterator.cc -table/block_based/partitioned_index_reader.cc -table/block_based/binary_search_index_reader.cc table/block_based/block_based_table_factory.cc +table/block_based/block_based_table_iterator.cc +table/block_based/block_based_table_reader.cc +table/block_based/block_builder.cc +table/block_based/block_prefetcher.cc +table/block_based/block_prefix_index.cc +table/block_based/data_block_hash_index.cc table/block_based/data_block_footer.cc +table/block_based/filter_block_reader_common.cc +table/block_based/filter_policy.cc +table/block_based/flush_block_policy.cc +table/block_based/full_filter_block.cc +table/block_based/hash_index_reader.cc table/block_based/index_builder.cc table/block_based/index_reader_common.cc -table/table_properties.cc -table/unique_id.cc -table/two_level_iterator.cc -table/persistent_cache_helper.cc -table/get_context.cc -table/meta_blocks.cc -table/table_factory.cc -table/cuckoo/cuckoo_table_factory.cc +table/block_based/parsed_full_filter_block.cc +table/block_based/partitioned_filter_block.cc +table/block_based/partitioned_index_iterator.cc +table/block_based/partitioned_index_reader.cc +table/block_based/reader_common.cc +table/block_based/uncompression_dict_reader.cc +table/block_fetcher.cc table/cuckoo/cuckoo_table_builder.cc +table/cuckoo/cuckoo_table_factory.cc table/cuckoo/cuckoo_table_reader.cc -table/merging_iterator.cc table/format.cc -table/sst_file_writer.cc +table/get_context.cc +table/iterator.cc +table/merging_iterator.cc +table/meta_blocks.cc +table/persistent_cache_helper.cc +table/plain/plain_table_bloom.cc +table/plain/plain_table_builder.cc +table/plain/plain_table_factory.cc +table/plain/plain_table_index.cc +table/plain/plain_table_key_coding.cc +table/plain/plain_table_reader.cc table/sst_file_dumper.cc -util/crc32c_arm64.cc -util/file_checksum_helper.cc -util/threadpool_imp.cc +table/sst_file_reader.cc +table/sst_file_writer.cc +table/table_factory.cc +table/table_properties.cc +table/two_level_iterator.cc +table/unique_id.cc +test_util/sync_point.cc +test_util/sync_point_impl.cc +test_util/transaction_test_util.cc +tools/dump/db_dump_tool.cc +trace_replay/trace_record_handler.cc +trace_replay/trace_record_result.cc +trace_replay/trace_record.cc +trace_replay/trace_replay.cc +trace_replay/block_cache_tracer.cc +trace_replay/io_tracer.cc +util/async_file_reader.cc +util/build_version.cc +util/cleanable.cc +util/coding.cc util/compaction_job_stats_impl.cc -util/dynamic_bloom.cc -util/compression_context_cache.cc util/comparator.cc -util/string_util.cc +util/compression.cc +util/compression_context_cache.cc util/concurrent_task_limiter_impl.cc -util/coding.cc +util/crc32c.cc +util/crc32c_arm64.cc +util/dynamic_bloom.cc +util/hash.cc +util/murmurhash.cc +util/random.cc util/rate_limiter.cc util/ribbon_config.cc +util/slice.cc +util/file_checksum_helper.cc util/status.cc -util/compression.cc -util/random.cc +util/string_util.cc util/thread_local.cc -util/murmurhash.cc +util/threadpool_imp.cc util/xxhash.cc -util/crc32c.cc -util/hash.cc -util/slice.cc +utilities/agg_merge/agg_merge.cc +utilities/backup/backup_engine.cc +utilities/blob_db/blob_compaction_filter.cc +utilities/blob_db/blob_db.cc +utilities/blob_db/blob_db_impl.cc +utilities/blob_db/blob_db_impl_filesnapshot.cc +utilities/blob_db/blob_file.cc +utilities/cache_dump_load.cc +utilities/cache_dump_load_impl.cc +utilities/cassandra/cassandra_compaction_filter.cc +utilities/cassandra/format.cc +utilities/cassandra/merge_operator.cc +utilities/checkpoint/checkpoint_impl.cc +utilities/compaction_filters.cc +utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +utilities/convenience/info_log_finder.cc +utilities/counted_fs.cc +utilities/debug.cc +utilities/env_mirror.cc +utilities/env_timed.cc +utilities/fault_injection_env.cc +utilities/fault_injection_fs.cc +utilities/fault_injection_secondary_cache.cc +utilities/leveldb_options/leveldb_options.cc +utilities/memory/memory_util.cc +utilities/merge_operators.cc +utilities/merge_operators/max.cc +utilities/merge_operators/put.cc +utilities/merge_operators/sortlist.cc +utilities/merge_operators/string_append/stringappend.cc +utilities/merge_operators/string_append/stringappend2.cc +utilities/merge_operators/uint64add.cc +utilities/merge_operators/bytesxor.cc +utilities/object_registry.cc +utilities/option_change_migration/option_change_migration.cc +utilities/options/options_util.cc +utilities/persistent_cache/block_cache_tier.cc +utilities/persistent_cache/block_cache_tier_file.cc +utilities/persistent_cache/block_cache_tier_metadata.cc +utilities/persistent_cache/persistent_cache_tier.cc +utilities/persistent_cache/volatile_tier_impl.cc +utilities/simulator_cache/cache_simulator.cc +utilities/simulator_cache/sim_cache.cc +utilities/table_properties_collectors/compact_on_deletion_collector.cc +utilities/trace/file_trace_reader_writer.cc +utilities/trace/replayer_impl.cc +utilities/transactions/lock/lock_manager.cc +utilities/transactions/lock/point/point_lock_tracker.cc +utilities/transactions/lock/point/point_lock_manager.cc +utilities/transactions/optimistic_transaction.cc +utilities/transactions/optimistic_transaction_db_impl.cc +utilities/transactions/pessimistic_transaction.cc +utilities/transactions/pessimistic_transaction_db.cc +utilities/transactions/snapshot_checker.cc +utilities/transactions/transaction_base.cc +utilities/transactions/transaction_db_mutex_impl.cc +utilities/transactions/transaction_util.cc +utilities/transactions/write_prepared_txn.cc +utilities/transactions/write_prepared_txn_db.cc +utilities/transactions/write_unprepared_txn.cc +utilities/transactions/write_unprepared_txn_db.cc +utilities/ttl/db_ttl_impl.cc +utilities/wal_filter.cc +utilities/write_batch_with_index/write_batch_with_index.cc +utilities/write_batch_with_index/write_batch_with_index_internal.cc + diff --git a/src/db_iterator.rs b/src/db_iterator.rs index bc8e22e..e3eabe2 100644 --- a/src/db_iterator.rs +++ b/src/db_iterator.rs @@ -529,6 +529,10 @@ impl Iterator for DBWALIterator { type Item = (u64, WriteBatch); fn next(&mut self) -> Option<(u64, WriteBatch)> { + if !self.valid() { + return None; + } + // Seek to the next write batch. unsafe { ffi::rocksdb_wal_iter_next(self.inner);