rocksdb-native 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.c +92 -10
- package/index.js +9 -0
- package/lib/batch.js +11 -1
- package/lib/iterator.js +3 -1
- package/lib/snapshot.js +21 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/rocksdb-native.bare +0 -0
- package/prebuilds/darwin-arm64/rocksdb-native.node +0 -0
- package/prebuilds/darwin-x64/rocksdb-native.bare +0 -0
- package/prebuilds/darwin-x64/rocksdb-native.node +0 -0
- package/prebuilds/linux-arm64/rocksdb-native.bare +0 -0
- package/prebuilds/linux-arm64/rocksdb-native.node +0 -0
- package/prebuilds/linux-x64/rocksdb-native.bare +0 -0
- package/prebuilds/linux-x64/rocksdb-native.node +0 -0
- package/prebuilds/win32-x64/rocksdb-native.bare +0 -0
- package/prebuilds/win32-x64/rocksdb-native.node +0 -0
- package/vendor/librocksdb/include/rocksdb.h +38 -4
- package/vendor/librocksdb/src/rocksdb.cc +114 -14
- package/vendor/librocksdb/vendor/rocksdb/CMakeLists.txt +21 -4
- package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.cc +6 -3
- package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.cc +4 -4
- package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.h +4 -2
- package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.cc +20 -0
- package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.h +83 -0
- package/vendor/librocksdb/vendor/rocksdb/db/builder.cc +9 -5
- package/vendor/librocksdb/vendor/rocksdb/db/builder.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/db/c.cc +231 -6
- package/vendor/librocksdb/vendor/rocksdb/db/c_test.c +202 -2
- package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.cc +47 -0
- package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.h +79 -0
- package/vendor/librocksdb/vendor/rocksdb/db/column_family.cc +28 -0
- package/vendor/librocksdb/vendor/rocksdb/db/column_family.h +17 -0
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.cc +8 -1
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.h +11 -9
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.cc +50 -23
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.h +13 -0
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.cc +22 -25
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.h +2 -0
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.cc +8 -1
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.h +1 -0
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.cc +40 -17
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.h +20 -14
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.cc +11 -6
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.cc +77 -24
- package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_service_job.cc +2 -0
- package/vendor/librocksdb/vendor/rocksdb/db/convenience.cc +3 -0
- package/vendor/librocksdb/vendor/rocksdb/db/db_filesnapshot.cc +125 -31
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.cc +457 -231
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.h +172 -73
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_compaction_flush.cc +152 -133
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_debug.cc +5 -0
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_files.cc +58 -52
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.cc +348 -0
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.h +54 -0
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_open.cc +136 -117
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.cc +4 -3
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.h +7 -6
- package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_write.cc +134 -80
- package/vendor/librocksdb/vendor/rocksdb/db/db_iter.cc +11 -0
- package/vendor/librocksdb/vendor/rocksdb/db/db_test2.cc +1 -1
- package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.cc +11 -1
- package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.h +11 -7
- package/vendor/librocksdb/vendor/rocksdb/db/dbformat.cc +19 -4
- package/vendor/librocksdb/vendor/rocksdb/db/dbformat.h +3 -2
- package/vendor/librocksdb/vendor/rocksdb/db/error_handler.cc +34 -39
- package/vendor/librocksdb/vendor/rocksdb/db/error_handler.h +3 -4
- package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.cc +6 -3
- package/vendor/librocksdb/vendor/rocksdb/db/experimental.cc +3 -2
- package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.cc +76 -18
- package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.h +11 -0
- package/vendor/librocksdb/vendor/rocksdb/db/flush_job.cc +37 -5
- package/vendor/librocksdb/vendor/rocksdb/db/flush_job.h +14 -0
- package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.cc +49 -45
- package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.cc +60 -1
- package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.h +20 -1
- package/vendor/librocksdb/vendor/rocksdb/db/log_reader.cc +15 -6
- package/vendor/librocksdb/vendor/rocksdb/db/log_writer.cc +59 -10
- package/vendor/librocksdb/vendor/rocksdb/db/log_writer.h +8 -0
- package/vendor/librocksdb/vendor/rocksdb/db/memtable.cc +24 -40
- package/vendor/librocksdb/vendor/rocksdb/db/memtable.h +10 -10
- package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.cc +9 -8
- package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator_impl.h +296 -0
- package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.h +8 -10
- package/vendor/librocksdb/vendor/rocksdb/db/repair.cc +4 -3
- package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.cc +30 -0
- package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.h +9 -0
- package/vendor/librocksdb/vendor/rocksdb/db/table_cache.cc +17 -2
- package/vendor/librocksdb/vendor/rocksdb/db/table_cache.h +9 -1
- package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.h +9 -2
- package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.cc +3 -3
- package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.h +7 -7
- package/vendor/librocksdb/vendor/rocksdb/db/version_edit.cc +0 -1
- package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.cc +39 -5
- package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.h +24 -15
- package/vendor/librocksdb/vendor/rocksdb/db/version_set.cc +117 -64
- package/vendor/librocksdb/vendor/rocksdb/db/version_set.h +27 -10
- package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.cc +37 -29
- package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.h +6 -5
- package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns.cc +2 -3
- package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.cc +6 -0
- package/vendor/librocksdb/vendor/rocksdb/db/write_batch.cc +89 -31
- package/vendor/librocksdb/vendor/rocksdb/db/write_thread.cc +53 -5
- package/vendor/librocksdb/vendor/rocksdb/db/write_thread.h +36 -4
- package/vendor/librocksdb/vendor/rocksdb/env/composite_env_wrapper.h +21 -0
- package/vendor/librocksdb/vendor/rocksdb/env/env.cc +15 -0
- package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.cc +331 -0
- package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.h +139 -0
- package/vendor/librocksdb/vendor/rocksdb/env/io_posix.cc +8 -6
- package/vendor/librocksdb/vendor/rocksdb/env/io_posix.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.cc +130 -27
- package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.h +61 -8
- package/vendor/librocksdb/vendor/rocksdb/file/file_util.cc +25 -4
- package/vendor/librocksdb/vendor/rocksdb/file/file_util.h +15 -0
- package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.cc +1 -0
- package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.h +9 -4
- package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.cc +18 -0
- package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.h +31 -4
- package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.cc +40 -38
- package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.h +48 -15
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_options.h +12 -3
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/attribute_groups.h +114 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/c.h +90 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache.h +5 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/comparator.h +27 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db.h +71 -12
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env.h +9 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/experimental.h +5 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_system.h +14 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator.h +9 -71
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator_base.h +90 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/listener.h +21 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/options.h +125 -12
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_context.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_reader.h +11 -1
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table.h +6 -6
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_properties.h +19 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/transaction_log.h +12 -6
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/types.h +12 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/universal_compaction.h +31 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/user_write_callback.h +29 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/cache_dump_load.h +4 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/checkpoint.h +4 -2
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/customizable_util.h +0 -1
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/env_mirror.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd.h +24 -7
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/option_change_migration.h +4 -4
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/stackable_db.h +24 -5
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +46 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction.h +42 -17
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db.h +5 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/types_util.h +36 -0
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +71 -3
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/version.h +2 -2
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wide_columns.h +87 -72
- package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch_base.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator.cc +1 -0
- package/vendor/librocksdb/vendor/rocksdb/options/cf_options.cc +13 -2
- package/vendor/librocksdb/vendor/rocksdb/options/cf_options.h +6 -2
- package/vendor/librocksdb/vendor/rocksdb/options/db_options.cc +27 -1
- package/vendor/librocksdb/vendor/rocksdb/options/db_options.h +10 -3
- package/vendor/librocksdb/vendor/rocksdb/options/options.cc +3 -0
- package/vendor/librocksdb/vendor/rocksdb/options/options_helper.cc +1 -0
- package/vendor/librocksdb/vendor/rocksdb/port/jemalloc_helper.h +2 -2
- package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.cc +1 -0
- package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.cc +3 -2
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.cc +1 -2
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.cc +47 -31
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.cc +15 -0
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.cc +37 -18
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.h +10 -3
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.cc +102 -41
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.h +15 -7
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_impl.h +1 -3
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +5 -6
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.h +31 -0
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.cc +6 -0
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/cachable_entry.h +10 -5
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block.h +34 -28
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.cc +17 -11
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.h +5 -2
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy.cc +12 -3
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.cc +37 -30
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.h +11 -13
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.cc +1 -2
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.cc +62 -53
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.h +60 -38
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.cc +14 -9
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.h +4 -1
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.cc +135 -94
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.h +52 -46
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.cc +51 -13
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.h +2 -0
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.cc +3 -11
- package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.h +2 -3
- package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.cc +8 -10
- package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.h +2 -1
- package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.cc +9 -10
- package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.h +3 -2
- package/vendor/librocksdb/vendor/rocksdb/table/format.cc +1 -2
- package/vendor/librocksdb/vendor/rocksdb/table/iterator.cc +4 -0
- package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.cc +18 -13
- package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.h +5 -3
- package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.cc +18 -4
- package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.h +4 -0
- package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.cc +2 -2
- package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.cc +6 -6
- package/vendor/librocksdb/vendor/rocksdb/table/sst_file_reader.cc +24 -2
- package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer_collectors.h +3 -1
- package/vendor/librocksdb/vendor/rocksdb/table/table_builder.h +8 -7
- package/vendor/librocksdb/vendor/rocksdb/table/table_iterator.h +69 -0
- package/vendor/librocksdb/vendor/rocksdb/table/table_reader.h +9 -0
- package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.cc +25 -0
- package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.h +12 -0
- package/vendor/librocksdb/vendor/rocksdb/tools/db_bench_tool.cc +32 -0
- package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd.cc +618 -124
- package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd_impl.h +19 -1
- package/vendor/librocksdb/vendor/rocksdb/tools/ldb_tool.cc +9 -0
- package/vendor/librocksdb/vendor/rocksdb/util/aligned_storage.h +24 -0
- package/vendor/librocksdb/vendor/rocksdb/util/autovector.h +4 -0
- package/vendor/librocksdb/vendor/rocksdb/util/comparator.cc +12 -0
- package/vendor/librocksdb/vendor/rocksdb/util/filter_bench.cc +1 -1
- package/vendor/librocksdb/vendor/rocksdb/util/random.cc +2 -1
- package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.cc +3 -4
- package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/util/udt_util.cc +33 -0
- package/vendor/librocksdb/vendor/rocksdb/util/udt_util.h +7 -0
- package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.h +5 -0
- package/vendor/librocksdb/vendor/rocksdb/util/xxhash.h +36 -29
- package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.h +3 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +20 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.cc +29 -9
- package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.h +14 -3
- package/vendor/librocksdb/vendor/rocksdb/utilities/debug.cc +16 -4
- package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.cc +677 -248
- package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.h +325 -158
- package/vendor/librocksdb/vendor/rocksdb/utilities/option_change_migration/option_change_migration.cc +1 -8
- package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.cc +144 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.h +45 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +12 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +3 -3
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.cc +116 -20
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.h +33 -1
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +78 -13
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.h +33 -1
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.cc +106 -7
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.h +68 -10
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_test.h +7 -3
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.cc +8 -5
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.h +7 -4
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.cc +18 -12
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.cc +4 -4
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.cc +11 -9
- package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +2 -1
- package/vendor/librocksdb/vendor/rocksdb/utilities/types_util.cc +88 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +313 -14
- package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +7 -0
- package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +1 -1
- package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator.cc +0 -102
- package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator.h +0 -159
|
@@ -99,7 +99,7 @@ struct TableReaderOptions {
|
|
|
99
99
|
bool user_defined_timestamps_persisted;
|
|
100
100
|
};
|
|
101
101
|
|
|
102
|
-
struct TableBuilderOptions {
|
|
102
|
+
struct TableBuilderOptions : public TablePropertiesCollectorFactory::Context {
|
|
103
103
|
TableBuilderOptions(
|
|
104
104
|
const ImmutableOptions& _ioptions, const MutableCFOptions& _moptions,
|
|
105
105
|
const ReadOptions& _read_options, const WriteOptions& _write_options,
|
|
@@ -113,8 +113,13 @@ struct TableBuilderOptions {
|
|
|
113
113
|
const int64_t _oldest_key_time = 0,
|
|
114
114
|
const uint64_t _file_creation_time = 0, const std::string& _db_id = "",
|
|
115
115
|
const std::string& _db_session_id = "",
|
|
116
|
-
const uint64_t _target_file_size = 0, const uint64_t _cur_file_num = 0
|
|
117
|
-
|
|
116
|
+
const uint64_t _target_file_size = 0, const uint64_t _cur_file_num = 0,
|
|
117
|
+
const SequenceNumber _last_level_inclusive_max_seqno_threshold =
|
|
118
|
+
kMaxSequenceNumber)
|
|
119
|
+
: TablePropertiesCollectorFactory::Context(
|
|
120
|
+
_column_family_id, _level, _ioptions.num_levels,
|
|
121
|
+
_last_level_inclusive_max_seqno_threshold),
|
|
122
|
+
ioptions(_ioptions),
|
|
118
123
|
moptions(_moptions),
|
|
119
124
|
read_options(_read_options),
|
|
120
125
|
write_options(_write_options),
|
|
@@ -122,14 +127,12 @@ struct TableBuilderOptions {
|
|
|
122
127
|
internal_tbl_prop_coll_factories(_internal_tbl_prop_coll_factories),
|
|
123
128
|
compression_type(_compression_type),
|
|
124
129
|
compression_opts(_compression_opts),
|
|
125
|
-
column_family_id(_column_family_id),
|
|
126
130
|
column_family_name(_column_family_name),
|
|
127
131
|
oldest_key_time(_oldest_key_time),
|
|
128
132
|
target_file_size(_target_file_size),
|
|
129
133
|
file_creation_time(_file_creation_time),
|
|
130
134
|
db_id(_db_id),
|
|
131
135
|
db_session_id(_db_session_id),
|
|
132
|
-
level_at_creation(_level),
|
|
133
136
|
is_bottommost(_is_bottommost),
|
|
134
137
|
reason(_reason),
|
|
135
138
|
cur_file_num(_cur_file_num) {}
|
|
@@ -142,7 +145,6 @@ struct TableBuilderOptions {
|
|
|
142
145
|
const InternalTblPropCollFactories* internal_tbl_prop_coll_factories;
|
|
143
146
|
const CompressionType compression_type;
|
|
144
147
|
const CompressionOptions& compression_opts;
|
|
145
|
-
const uint32_t column_family_id;
|
|
146
148
|
const std::string& column_family_name;
|
|
147
149
|
const int64_t oldest_key_time;
|
|
148
150
|
const uint64_t target_file_size;
|
|
@@ -150,7 +152,6 @@ struct TableBuilderOptions {
|
|
|
150
152
|
const std::string db_id;
|
|
151
153
|
const std::string db_session_id;
|
|
152
154
|
// BEGIN for FilterBuildingContext
|
|
153
|
-
const int level_at_creation;
|
|
154
155
|
const bool is_bottommost;
|
|
155
156
|
const TableFileCreationReason reason;
|
|
156
157
|
// END for FilterBuildingContext
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
//
|
|
3
|
+
// This source code is licensed under both the GPLv2 (found in the
|
|
4
|
+
// COPYING file in the root directory) and Apache 2.0 License
|
|
5
|
+
// (found in the LICENSE.Apache file in the root directory).
|
|
6
|
+
|
|
7
|
+
#pragma once
|
|
8
|
+
|
|
9
|
+
#include "rocksdb/iterator.h"
|
|
10
|
+
#include "table/internal_iterator.h"
|
|
11
|
+
|
|
12
|
+
namespace ROCKSDB_NAMESPACE {
|
|
13
|
+
// An iterator wrapper class used to wrap an `InternalIterator` created by API
|
|
14
|
+
// `TableReader::NewIterator`. The `InternalIterator` should be allocated with
|
|
15
|
+
// the default allocator, not on an arena.
|
|
16
|
+
// NOTE: Callers should ensure the wrapped `InternalIterator*` is a valid
|
|
17
|
+
// pointer before constructing a `TableIterator` with it.
|
|
18
|
+
class TableIterator : public Iterator {
|
|
19
|
+
void reset(InternalIterator* iter) noexcept {
|
|
20
|
+
if (iter_ != nullptr) {
|
|
21
|
+
delete iter_;
|
|
22
|
+
}
|
|
23
|
+
iter_ = iter;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
explicit TableIterator(InternalIterator* iter) : iter_(iter) {}
|
|
28
|
+
|
|
29
|
+
TableIterator(const TableIterator&) = delete;
|
|
30
|
+
TableIterator& operator=(const TableIterator&) = delete;
|
|
31
|
+
|
|
32
|
+
TableIterator(TableIterator&& o) noexcept {
|
|
33
|
+
iter_ = o.iter_;
|
|
34
|
+
o.iter_ = nullptr;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
TableIterator& operator=(TableIterator&& o) noexcept {
|
|
38
|
+
reset(o.iter_);
|
|
39
|
+
o.iter_ = nullptr;
|
|
40
|
+
return *this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
InternalIterator* operator->() { return iter_; }
|
|
44
|
+
InternalIterator* get() { return iter_; }
|
|
45
|
+
|
|
46
|
+
~TableIterator() override { reset(nullptr); }
|
|
47
|
+
|
|
48
|
+
bool Valid() const override { return iter_->Valid(); }
|
|
49
|
+
void SeekToFirst() override { return iter_->SeekToFirst(); }
|
|
50
|
+
void SeekToLast() override { return iter_->SeekToLast(); }
|
|
51
|
+
void Seek(const Slice& target) override { return iter_->Seek(target); }
|
|
52
|
+
void SeekForPrev(const Slice& target) override {
|
|
53
|
+
return iter_->SeekForPrev(target);
|
|
54
|
+
}
|
|
55
|
+
void Next() override { return iter_->Next(); }
|
|
56
|
+
void Prev() override { return iter_->Prev(); }
|
|
57
|
+
Slice key() const override { return iter_->key(); }
|
|
58
|
+
Slice value() const override { return iter_->value(); }
|
|
59
|
+
Status status() const override { return iter_->status(); }
|
|
60
|
+
Status GetProperty(std::string /*prop_name*/,
|
|
61
|
+
std::string* /*prop*/) override {
|
|
62
|
+
assert(false);
|
|
63
|
+
return Status::NotSupported("TableIterator does not support GetProperty.");
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
private:
|
|
67
|
+
InternalIterator* iter_;
|
|
68
|
+
};
|
|
69
|
+
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -188,6 +188,15 @@ class TableReader {
|
|
|
188
188
|
TableReaderCaller /*caller*/) {
|
|
189
189
|
return Status::NotSupported("VerifyChecksum() not supported");
|
|
190
190
|
}
|
|
191
|
+
|
|
192
|
+
// Tell the reader that the file should now be obsolete, e.g. as a hint
|
|
193
|
+
// to delete relevant cache entries on destruction. (It might not be safe
|
|
194
|
+
// to "unpin" cache entries until destruction time.) NOTE: must be thread
|
|
195
|
+
// safe because multiple table cache references might all mark this file as
|
|
196
|
+
// obsolete when they are released (the last of which destroys this reader).
|
|
197
|
+
virtual void MarkObsolete(uint32_t /*uncache_aggressiveness*/) {
|
|
198
|
+
// no-op as default
|
|
199
|
+
}
|
|
191
200
|
};
|
|
192
201
|
|
|
193
202
|
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -46,6 +46,7 @@ const std::set<uint32_t> kFooterFormatVersionsToTest{
|
|
|
46
46
|
kDefaultFormatVersion,
|
|
47
47
|
kLatestFormatVersion,
|
|
48
48
|
};
|
|
49
|
+
const ReadOptionsNoIo kReadOptionsNoIo;
|
|
49
50
|
|
|
50
51
|
std::string RandomKey(Random* rnd, int len, RandomKeyType type) {
|
|
51
52
|
// Make sure to generate a wide variety of characters so we
|
|
@@ -565,6 +566,30 @@ void DeleteDir(Env* env, const std::string& dirname) {
|
|
|
565
566
|
TryDeleteDir(env, dirname).PermitUncheckedError();
|
|
566
567
|
}
|
|
567
568
|
|
|
569
|
+
FileType GetFileType(const std::string& path) {
|
|
570
|
+
FileType type = kTempFile;
|
|
571
|
+
std::size_t found = path.find_last_of('/');
|
|
572
|
+
if (found == std::string::npos) {
|
|
573
|
+
found = 0;
|
|
574
|
+
}
|
|
575
|
+
std::string file_name = path.substr(found);
|
|
576
|
+
uint64_t number = 0;
|
|
577
|
+
ParseFileName(file_name, &number, &type);
|
|
578
|
+
return type;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
uint64_t GetFileNumber(const std::string& path) {
|
|
582
|
+
FileType type = kTempFile;
|
|
583
|
+
std::size_t found = path.find_last_of('/');
|
|
584
|
+
if (found == std::string::npos) {
|
|
585
|
+
found = 0;
|
|
586
|
+
}
|
|
587
|
+
std::string file_name = path.substr(found);
|
|
588
|
+
uint64_t number = 0;
|
|
589
|
+
ParseFileName(file_name, &number, &type);
|
|
590
|
+
return number;
|
|
591
|
+
}
|
|
592
|
+
|
|
568
593
|
Status CreateEnvFromSystem(const ConfigOptions& config_options, Env** result,
|
|
569
594
|
std::shared_ptr<Env>* guard) {
|
|
570
595
|
const char* env_uri = getenv("TEST_ENV_URI");
|
|
@@ -882,6 +882,12 @@ Status TryDeleteDir(Env* env, const std::string& dirname);
|
|
|
882
882
|
// Delete a directory if it exists
|
|
883
883
|
void DeleteDir(Env* env, const std::string& dirname);
|
|
884
884
|
|
|
885
|
+
// Find the FileType from the file path
|
|
886
|
+
FileType GetFileType(const std::string& path);
|
|
887
|
+
|
|
888
|
+
// Get the file number given the file path
|
|
889
|
+
uint64_t GetFileNumber(const std::string& path);
|
|
890
|
+
|
|
885
891
|
// Creates an Env from the system environment by looking at the system
|
|
886
892
|
// environment variables.
|
|
887
893
|
Status CreateEnvFromSystem(const ConfigOptions& options, Env** result,
|
|
@@ -892,5 +898,11 @@ int RegisterTestObjects(ObjectLibrary& library, const std::string& /*arg*/);
|
|
|
892
898
|
|
|
893
899
|
// Register the testutil classes with the default ObjectRegistry/Library
|
|
894
900
|
void RegisterTestLibrary(const std::string& arg = "");
|
|
901
|
+
|
|
902
|
+
struct ReadOptionsNoIo : public ReadOptions {
|
|
903
|
+
ReadOptionsNoIo() { read_tier = ReadTier::kBlockCacheTier; }
|
|
904
|
+
};
|
|
905
|
+
extern const ReadOptionsNoIo kReadOptionsNoIo;
|
|
906
|
+
|
|
895
907
|
} // namespace test
|
|
896
908
|
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -544,12 +544,20 @@ DEFINE_int32(universal_compression_size_percent, -1,
|
|
|
544
544
|
"The percentage of the database to compress for universal "
|
|
545
545
|
"compaction. -1 means compress everything.");
|
|
546
546
|
|
|
547
|
+
DEFINE_int32(universal_max_read_amp, -1,
|
|
548
|
+
"The limit on the number of sorted runs");
|
|
549
|
+
|
|
547
550
|
DEFINE_bool(universal_allow_trivial_move, false,
|
|
548
551
|
"Allow trivial move in universal compaction.");
|
|
549
552
|
|
|
550
553
|
DEFINE_bool(universal_incremental, false,
|
|
551
554
|
"Enable incremental compactions in universal compaction.");
|
|
552
555
|
|
|
556
|
+
DEFINE_int32(
|
|
557
|
+
universal_stop_style,
|
|
558
|
+
(int32_t)ROCKSDB_NAMESPACE::CompactionOptionsUniversal().stop_style,
|
|
559
|
+
"Universal compaction stop style.");
|
|
560
|
+
|
|
553
561
|
DEFINE_int64(cache_size, 32 << 20, // 32MB
|
|
554
562
|
"Number of bytes to use as a cache of uncompressed data");
|
|
555
563
|
|
|
@@ -704,6 +712,12 @@ DEFINE_int64(prepopulate_block_cache, 0,
|
|
|
704
712
|
"Pre-populate hot/warm blocks in block cache. 0 to disable and 1 "
|
|
705
713
|
"to insert during flush");
|
|
706
714
|
|
|
715
|
+
DEFINE_uint32(uncache_aggressiveness,
|
|
716
|
+
ROCKSDB_NAMESPACE::ColumnFamilyOptions().uncache_aggressiveness,
|
|
717
|
+
"Aggressiveness of erasing cache entries that are likely "
|
|
718
|
+
"obsolete. 0 = disabled, 1 = minimum, 100 = moderate, 10000 = "
|
|
719
|
+
"normal max");
|
|
720
|
+
|
|
707
721
|
DEFINE_bool(use_data_block_hash_index, false,
|
|
708
722
|
"if use kDataBlockBinaryAndHash "
|
|
709
723
|
"instead of kDataBlockBinarySearch. "
|
|
@@ -1135,6 +1149,11 @@ DEFINE_int32(secondary_update_interval, 5,
|
|
|
1135
1149
|
"Secondary instance attempts to catch up with the primary every "
|
|
1136
1150
|
"secondary_update_interval seconds.");
|
|
1137
1151
|
|
|
1152
|
+
DEFINE_bool(open_as_follower, false,
|
|
1153
|
+
"Open a RocksDB DB as a follower. The leader instance can be "
|
|
1154
|
+
"running in another db_bench process.");
|
|
1155
|
+
|
|
1156
|
+
DEFINE_string(leader_path, "", "Path to the directory of the leader DB");
|
|
1138
1157
|
|
|
1139
1158
|
DEFINE_bool(report_bg_io_stats, false,
|
|
1140
1159
|
"Measure times spents on I/Os while in compactions. ");
|
|
@@ -1294,6 +1313,8 @@ static enum ROCKSDB_NAMESPACE::TieredAdmissionPolicy StringToAdmissionPolicy(
|
|
|
1294
1313
|
return ROCKSDB_NAMESPACE::kAdmPolicyAllowCacheHits;
|
|
1295
1314
|
} else if (!strcasecmp(policy, "three_queue")) {
|
|
1296
1315
|
return ROCKSDB_NAMESPACE::kAdmPolicyThreeQueue;
|
|
1316
|
+
} else if (!strcasecmp(policy, "allow_all")) {
|
|
1317
|
+
return ROCKSDB_NAMESPACE::kAdmPolicyAllowAll;
|
|
1297
1318
|
} else {
|
|
1298
1319
|
fprintf(stderr, "Cannot parse admission policy %s\n", policy);
|
|
1299
1320
|
exit(1);
|
|
@@ -4278,6 +4299,7 @@ class Benchmark {
|
|
|
4278
4299
|
FLAGS_level_compaction_dynamic_level_bytes;
|
|
4279
4300
|
options.max_bytes_for_level_multiplier =
|
|
4280
4301
|
FLAGS_max_bytes_for_level_multiplier;
|
|
4302
|
+
options.uncache_aggressiveness = FLAGS_uncache_aggressiveness;
|
|
4281
4303
|
Status s =
|
|
4282
4304
|
CreateMemTableRepFactory(config_options, &options.memtable_factory);
|
|
4283
4305
|
if (!s.ok()) {
|
|
@@ -4657,10 +4679,14 @@ class Benchmark {
|
|
|
4657
4679
|
options.compaction_options_universal.compression_size_percent =
|
|
4658
4680
|
FLAGS_universal_compression_size_percent;
|
|
4659
4681
|
}
|
|
4682
|
+
options.compaction_options_universal.max_read_amp =
|
|
4683
|
+
FLAGS_universal_max_read_amp;
|
|
4660
4684
|
options.compaction_options_universal.allow_trivial_move =
|
|
4661
4685
|
FLAGS_universal_allow_trivial_move;
|
|
4662
4686
|
options.compaction_options_universal.incremental =
|
|
4663
4687
|
FLAGS_universal_incremental;
|
|
4688
|
+
options.compaction_options_universal.stop_style =
|
|
4689
|
+
static_cast<CompactionStopStyle>(FLAGS_universal_stop_style);
|
|
4664
4690
|
if (FLAGS_thread_status_per_interval > 0) {
|
|
4665
4691
|
options.enable_thread_tracking = true;
|
|
4666
4692
|
}
|
|
@@ -4979,6 +5005,12 @@ class Benchmark {
|
|
|
4979
5005
|
},
|
|
4980
5006
|
FLAGS_secondary_update_interval, db));
|
|
4981
5007
|
}
|
|
5008
|
+
} else if (FLAGS_open_as_follower) {
|
|
5009
|
+
std::unique_ptr<DB> dbptr;
|
|
5010
|
+
s = DB::OpenAsFollower(options, db_name, FLAGS_leader_path, &dbptr);
|
|
5011
|
+
if (s.ok()) {
|
|
5012
|
+
db->db = dbptr.release();
|
|
5013
|
+
}
|
|
4982
5014
|
} else {
|
|
4983
5015
|
s = DB::Open(options, db_name, &db->db);
|
|
4984
5016
|
}
|