rocksdb-native 2.2.0 → 2.3.1
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
package/binding.c
CHANGED
|
@@ -84,6 +84,10 @@ typedef struct {
|
|
|
84
84
|
js_ref_t *on_status;
|
|
85
85
|
} rocksdb_native_write_batch_t;
|
|
86
86
|
|
|
87
|
+
typedef struct {
|
|
88
|
+
rocksdb_snapshot_t handle;
|
|
89
|
+
} rocksdb_native_snapshot_t;
|
|
90
|
+
|
|
87
91
|
static void
|
|
88
92
|
rocksdb_native__on_free (js_env_t *env, void *data, void *finalize_hint) {
|
|
89
93
|
free(data);
|
|
@@ -405,13 +409,13 @@ static js_value_t *
|
|
|
405
409
|
rocksdb_native_iterator_open (js_env_t *env, js_callback_info_t *info) {
|
|
406
410
|
int err;
|
|
407
411
|
|
|
408
|
-
size_t argc =
|
|
409
|
-
js_value_t *argv[
|
|
412
|
+
size_t argc = 8;
|
|
413
|
+
js_value_t *argv[8];
|
|
410
414
|
|
|
411
415
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
412
416
|
assert(err == 0);
|
|
413
417
|
|
|
414
|
-
assert(argc ==
|
|
418
|
+
assert(argc == 8);
|
|
415
419
|
|
|
416
420
|
rocksdb_native_t *db;
|
|
417
421
|
err = js_get_arraybuffer_info(env, argv[0], (void **) &db, NULL);
|
|
@@ -439,7 +443,20 @@ rocksdb_native_iterator_open (js_env_t *env, js_callback_info_t *info) {
|
|
|
439
443
|
err = js_get_value_bool(env, argv[6], &reverse);
|
|
440
444
|
assert(err == 0);
|
|
441
445
|
|
|
442
|
-
|
|
446
|
+
rocksdb_read_options_t options = {
|
|
447
|
+
.version = 0,
|
|
448
|
+
};
|
|
449
|
+
|
|
450
|
+
bool has_snapshot;
|
|
451
|
+
err = js_is_arraybuffer(env, argv[7], &has_snapshot);
|
|
452
|
+
assert(err == 0);
|
|
453
|
+
|
|
454
|
+
if (has_snapshot) {
|
|
455
|
+
err = js_get_arraybuffer_info(env, argv[7], (void **) &options.snapshot, NULL);
|
|
456
|
+
assert(err == 0);
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
err = rocksdb_iterator_open(&db->handle, &iterator->handle, range, reverse, &options, rocksdb_native__on_iterator_open);
|
|
443
460
|
assert(err == 0);
|
|
444
461
|
|
|
445
462
|
return NULL;
|
|
@@ -729,13 +746,13 @@ static js_value_t *
|
|
|
729
746
|
rocksdb_native_read (js_env_t *env, js_callback_info_t *info) {
|
|
730
747
|
int err;
|
|
731
748
|
|
|
732
|
-
size_t argc =
|
|
733
|
-
js_value_t *argv[
|
|
749
|
+
size_t argc = 5;
|
|
750
|
+
js_value_t *argv[5];
|
|
734
751
|
|
|
735
752
|
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
736
753
|
assert(err == 0);
|
|
737
754
|
|
|
738
|
-
assert(argc ==
|
|
755
|
+
assert(argc == 5);
|
|
739
756
|
|
|
740
757
|
rocksdb_native_t *db;
|
|
741
758
|
err = js_get_arraybuffer_info(env, argv[0], (void **) &db, NULL);
|
|
@@ -749,7 +766,7 @@ rocksdb_native_read (js_env_t *env, js_callback_info_t *info) {
|
|
|
749
766
|
err = js_get_array_length(env, argv[2], &len);
|
|
750
767
|
assert(err == 0);
|
|
751
768
|
|
|
752
|
-
err = js_create_reference(env, argv[
|
|
769
|
+
err = js_create_reference(env, argv[4], 1, &batch->on_status);
|
|
753
770
|
assert(err == 0);
|
|
754
771
|
|
|
755
772
|
for (uint32_t i = 0; i < len; i++) {
|
|
@@ -781,7 +798,20 @@ rocksdb_native_read (js_env_t *env, js_callback_info_t *info) {
|
|
|
781
798
|
}
|
|
782
799
|
}
|
|
783
800
|
|
|
784
|
-
|
|
801
|
+
rocksdb_read_options_t options = {
|
|
802
|
+
.version = 0,
|
|
803
|
+
};
|
|
804
|
+
|
|
805
|
+
bool has_snapshot;
|
|
806
|
+
err = js_is_arraybuffer(env, argv[3], &has_snapshot);
|
|
807
|
+
assert(err == 0);
|
|
808
|
+
|
|
809
|
+
if (has_snapshot) {
|
|
810
|
+
err = js_get_arraybuffer_info(env, argv[3], (void **) &options.snapshot, NULL);
|
|
811
|
+
assert(err == 0);
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
err = rocksdb_read(&db->handle, &batch->handle, batch->reads, batch->errors, len, &options, rocksdb_native__on_read);
|
|
785
815
|
assert(err == 0);
|
|
786
816
|
|
|
787
817
|
return NULL;
|
|
@@ -985,12 +1015,61 @@ rocksdb_native_write (js_env_t *env, js_callback_info_t *info) {
|
|
|
985
1015
|
}
|
|
986
1016
|
}
|
|
987
1017
|
|
|
988
|
-
err = rocksdb_write(&db->handle, &batch->handle, batch->writes, len, rocksdb_native__on_write);
|
|
1018
|
+
err = rocksdb_write(&db->handle, &batch->handle, batch->writes, len, NULL, rocksdb_native__on_write);
|
|
989
1019
|
assert(err == 0);
|
|
990
1020
|
|
|
991
1021
|
return NULL;
|
|
992
1022
|
}
|
|
993
1023
|
|
|
1024
|
+
static js_value_t *
|
|
1025
|
+
rocksdb_native_snapshot_create (js_env_t *env, js_callback_info_t *info) {
|
|
1026
|
+
int err;
|
|
1027
|
+
|
|
1028
|
+
size_t argc = 1;
|
|
1029
|
+
js_value_t *argv[1];
|
|
1030
|
+
|
|
1031
|
+
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
1032
|
+
assert(err == 0);
|
|
1033
|
+
|
|
1034
|
+
assert(argc == 1);
|
|
1035
|
+
|
|
1036
|
+
rocksdb_native_t *db;
|
|
1037
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &db, NULL);
|
|
1038
|
+
assert(err == 0);
|
|
1039
|
+
|
|
1040
|
+
js_value_t *handle;
|
|
1041
|
+
|
|
1042
|
+
rocksdb_native_snapshot_t *snapshot;
|
|
1043
|
+
err = js_create_arraybuffer(env, sizeof(rocksdb_native_snapshot_t), (void **) &snapshot, &handle);
|
|
1044
|
+
assert(err == 0);
|
|
1045
|
+
|
|
1046
|
+
err = rocksdb_snapshot_create(&db->handle, &snapshot->handle);
|
|
1047
|
+
assert(err == 0);
|
|
1048
|
+
|
|
1049
|
+
return handle;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
static js_value_t *
|
|
1053
|
+
rocksdb_native_snapshot_destroy (js_env_t *env, js_callback_info_t *info) {
|
|
1054
|
+
int err;
|
|
1055
|
+
|
|
1056
|
+
size_t argc = 1;
|
|
1057
|
+
js_value_t *argv[1];
|
|
1058
|
+
|
|
1059
|
+
err = js_get_callback_info(env, info, &argc, argv, NULL, NULL);
|
|
1060
|
+
assert(err == 0);
|
|
1061
|
+
|
|
1062
|
+
assert(argc == 1);
|
|
1063
|
+
|
|
1064
|
+
rocksdb_native_snapshot_t *snapshot;
|
|
1065
|
+
err = js_get_arraybuffer_info(env, argv[0], (void **) &snapshot, NULL);
|
|
1066
|
+
assert(err == 0);
|
|
1067
|
+
|
|
1068
|
+
rocksdb_snapshot_destroy(&snapshot->handle);
|
|
1069
|
+
|
|
1070
|
+
return NULL;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
994
1073
|
static js_value_t *
|
|
995
1074
|
rocksdb_native_exports (js_env_t *env, js_value_t *exports) {
|
|
996
1075
|
int err;
|
|
@@ -1021,6 +1100,9 @@ rocksdb_native_exports (js_env_t *env, js_value_t *exports) {
|
|
|
1021
1100
|
V("writeInit", rocksdb_native_write_init)
|
|
1022
1101
|
V("writeBuffer", rocksdb_native_write_buffer)
|
|
1023
1102
|
V("write", rocksdb_native_write)
|
|
1103
|
+
|
|
1104
|
+
V("snapshotCreate", rocksdb_native_snapshot_create)
|
|
1105
|
+
V("snapshotDestroy", rocksdb_native_snapshot_destroy)
|
|
1024
1106
|
#undef V
|
|
1025
1107
|
|
|
1026
1108
|
#define V(name, n) \
|
package/index.js
CHANGED
|
@@ -3,6 +3,7 @@ const ReadyResource = require('ready-resource')
|
|
|
3
3
|
const binding = require('./binding')
|
|
4
4
|
const { ReadBatch, WriteBatch } = require('./lib/batch')
|
|
5
5
|
const Iterator = require('./lib/iterator')
|
|
6
|
+
const Snapshot = require('./lib/snapshot')
|
|
6
7
|
|
|
7
8
|
const RocksDB = module.exports = class RocksDB extends ReadyResource {
|
|
8
9
|
constructor (path, {
|
|
@@ -39,6 +40,8 @@ const RocksDB = module.exports = class RocksDB extends ReadyResource {
|
|
|
39
40
|
this.tableCacheIndexAndFilterBlocks = tableCacheIndexAndFilterBlocks
|
|
40
41
|
this.tableFormatVersion = tableFormatVersion
|
|
41
42
|
|
|
43
|
+
this._snapshots = new Set()
|
|
44
|
+
|
|
42
45
|
this._handle = binding.init()
|
|
43
46
|
}
|
|
44
47
|
|
|
@@ -82,6 +85,8 @@ const RocksDB = module.exports = class RocksDB extends ReadyResource {
|
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
async _close () {
|
|
88
|
+
for (const snapshot of this._snapshots) snapshot.destroy()
|
|
89
|
+
|
|
85
90
|
const req = { resolve: null, reject: null, handle: null }
|
|
86
91
|
|
|
87
92
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -101,6 +106,10 @@ const RocksDB = module.exports = class RocksDB extends ReadyResource {
|
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
108
|
|
|
109
|
+
snapshot (opts) {
|
|
110
|
+
return new Snapshot(this, opts)
|
|
111
|
+
}
|
|
112
|
+
|
|
104
113
|
iterator (opts) {
|
|
105
114
|
return new Iterator(this, opts)
|
|
106
115
|
}
|
package/lib/batch.js
CHANGED
|
@@ -107,6 +107,16 @@ class RocksDBBatch {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
exports.ReadBatch = class RocksDBReadBatch extends RocksDBBatch {
|
|
110
|
+
constructor (db, opts = {}) {
|
|
111
|
+
const {
|
|
112
|
+
snapshot = null
|
|
113
|
+
} = opts
|
|
114
|
+
|
|
115
|
+
super(db, opts)
|
|
116
|
+
|
|
117
|
+
this._snapshot = snapshot
|
|
118
|
+
}
|
|
119
|
+
|
|
110
120
|
async _init () {
|
|
111
121
|
this._handle = binding.readInit(this)
|
|
112
122
|
this._buffer = binding.readBuffer(this._handle, this._capacity)
|
|
@@ -121,7 +131,7 @@ exports.ReadBatch = class RocksDBReadBatch extends RocksDBBatch {
|
|
|
121
131
|
async _flush () {
|
|
122
132
|
await super._flush()
|
|
123
133
|
|
|
124
|
-
binding.read(this._db._handle, this._handle, this._operations, this._onread)
|
|
134
|
+
binding.read(this._db._handle, this._handle, this._operations, this._snapshot ? this._snapshot._handle : null, this._onread)
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
_onread (errs, values) {
|
package/lib/iterator.js
CHANGED
|
@@ -15,6 +15,7 @@ module.exports = class RocksDBIterator extends Readable {
|
|
|
15
15
|
reverse = false,
|
|
16
16
|
limit = Infinity,
|
|
17
17
|
capacity = 8,
|
|
18
|
+
snapshot = null,
|
|
18
19
|
encoding = null,
|
|
19
20
|
keyEncoding = encoding,
|
|
20
21
|
valueEncoding = encoding
|
|
@@ -35,6 +36,7 @@ module.exports = class RocksDBIterator extends Readable {
|
|
|
35
36
|
this._reverse = reverse
|
|
36
37
|
this._limit = limit
|
|
37
38
|
this._capacity = capacity
|
|
39
|
+
this._snapshot = snapshot
|
|
38
40
|
|
|
39
41
|
this._pendingOpen = null
|
|
40
42
|
this._pendingRead = null
|
|
@@ -100,7 +102,7 @@ module.exports = class RocksDBIterator extends Readable {
|
|
|
100
102
|
|
|
101
103
|
this._pendingOpen = cb
|
|
102
104
|
|
|
103
|
-
binding.iteratorOpen(this._db._handle, this._handle, this._gt, this._gte, this._lt, this._lte, this._reverse)
|
|
105
|
+
binding.iteratorOpen(this._db._handle, this._handle, this._gt, this._gte, this._lt, this._lte, this._reverse, this._snapshot ? this._snapshot._handle : null)
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
_read (cb) {
|
package/lib/snapshot.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const binding = require('../binding')
|
|
2
|
+
|
|
3
|
+
module.exports = class RocksDBSnapshot {
|
|
4
|
+
constructor (db) {
|
|
5
|
+
this._db = db
|
|
6
|
+
|
|
7
|
+
this._handle = binding.snapshotCreate(db._handle)
|
|
8
|
+
|
|
9
|
+
this._db._snapshots.add(this)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
destroy () {
|
|
13
|
+
if (this._handle === null) return
|
|
14
|
+
|
|
15
|
+
binding.snapshotDestroy(this._handle)
|
|
16
|
+
|
|
17
|
+
this._handle = null
|
|
18
|
+
|
|
19
|
+
this._db._snapshots.delete(this)
|
|
20
|
+
}
|
|
21
|
+
}
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -10,6 +10,8 @@ extern "C" {
|
|
|
10
10
|
#include <uv.h>
|
|
11
11
|
|
|
12
12
|
typedef struct rocksdb_options_s rocksdb_options_t;
|
|
13
|
+
typedef struct rocksdb_read_options_s rocksdb_read_options_t;
|
|
14
|
+
typedef struct rocksdb_write_options_s rocksdb_write_options_t;
|
|
13
15
|
typedef struct rocksdb_open_s rocksdb_open_t;
|
|
14
16
|
typedef struct rocksdb_close_s rocksdb_close_t;
|
|
15
17
|
typedef struct rocksdb_slice_s rocksdb_slice_t;
|
|
@@ -19,6 +21,7 @@ typedef struct rocksdb_read_s rocksdb_read_t;
|
|
|
19
21
|
typedef struct rocksdb_read_batch_s rocksdb_read_batch_t;
|
|
20
22
|
typedef struct rocksdb_write_s rocksdb_write_t;
|
|
21
23
|
typedef struct rocksdb_write_batch_s rocksdb_write_batch_t;
|
|
24
|
+
typedef struct rocksdb_snapshot_s rocksdb_snapshot_t;
|
|
22
25
|
typedef struct rocksdb_s rocksdb_t;
|
|
23
26
|
|
|
24
27
|
typedef void (*rocksdb_open_cb)(rocksdb_open_t *req, int status);
|
|
@@ -75,6 +78,19 @@ struct rocksdb_options_s {
|
|
|
75
78
|
uint32_t table_format_version;
|
|
76
79
|
};
|
|
77
80
|
|
|
81
|
+
/** @version 0 */
|
|
82
|
+
struct rocksdb_read_options_s {
|
|
83
|
+
int version;
|
|
84
|
+
|
|
85
|
+
/** @since 0 */
|
|
86
|
+
rocksdb_snapshot_t *snapshot;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/** @version 0 */
|
|
90
|
+
struct rocksdb_write_options_s {
|
|
91
|
+
int version;
|
|
92
|
+
};
|
|
93
|
+
|
|
78
94
|
struct rocksdb_open_s {
|
|
79
95
|
uv_work_t worker;
|
|
80
96
|
|
|
@@ -121,6 +137,8 @@ struct rocksdb_iterator_s {
|
|
|
121
137
|
|
|
122
138
|
rocksdb_t *db;
|
|
123
139
|
|
|
140
|
+
rocksdb_read_options_t options;
|
|
141
|
+
|
|
124
142
|
void *handle; // Opaque iterator pointer
|
|
125
143
|
|
|
126
144
|
rocksdb_range_t range;
|
|
@@ -160,6 +178,8 @@ struct rocksdb_read_batch_s {
|
|
|
160
178
|
|
|
161
179
|
rocksdb_t *db;
|
|
162
180
|
|
|
181
|
+
rocksdb_read_options_t options;
|
|
182
|
+
|
|
163
183
|
size_t len;
|
|
164
184
|
|
|
165
185
|
rocksdb_read_t *reads;
|
|
@@ -200,6 +220,8 @@ struct rocksdb_write_batch_s {
|
|
|
200
220
|
|
|
201
221
|
rocksdb_t *db;
|
|
202
222
|
|
|
223
|
+
rocksdb_write_options_t options;
|
|
224
|
+
|
|
203
225
|
size_t len;
|
|
204
226
|
|
|
205
227
|
rocksdb_write_t *writes;
|
|
@@ -211,6 +233,12 @@ struct rocksdb_write_batch_s {
|
|
|
211
233
|
void *data;
|
|
212
234
|
};
|
|
213
235
|
|
|
236
|
+
struct rocksdb_snapshot_s {
|
|
237
|
+
rocksdb_t *db;
|
|
238
|
+
|
|
239
|
+
const void *handle; // Opaque snapshot pointer
|
|
240
|
+
};
|
|
241
|
+
|
|
214
242
|
struct rocksdb_s {
|
|
215
243
|
uv_loop_t *loop;
|
|
216
244
|
|
|
@@ -236,22 +264,28 @@ rocksdb_slice_t
|
|
|
236
264
|
rocksdb_slice_empty (void);
|
|
237
265
|
|
|
238
266
|
int
|
|
239
|
-
rocksdb_iterator_open (rocksdb_t *db, rocksdb_iterator_t *iterator, rocksdb_range_t range, bool reverse, rocksdb_iterator_cb cb);
|
|
267
|
+
rocksdb_iterator_open (rocksdb_t *db, rocksdb_iterator_t *iterator, rocksdb_range_t range, bool reverse, const rocksdb_read_options_t *options, rocksdb_iterator_cb cb);
|
|
240
268
|
|
|
241
269
|
int
|
|
242
270
|
rocksdb_iterator_close (rocksdb_iterator_t *iterator, rocksdb_iterator_cb cb);
|
|
243
271
|
|
|
244
272
|
int
|
|
245
|
-
rocksdb_iterator_refresh (rocksdb_iterator_t *iterator, rocksdb_range_t range, bool reverse, rocksdb_iterator_cb cb);
|
|
273
|
+
rocksdb_iterator_refresh (rocksdb_iterator_t *iterator, rocksdb_range_t range, bool reverse, const rocksdb_read_options_t *options, rocksdb_iterator_cb cb);
|
|
246
274
|
|
|
247
275
|
int
|
|
248
276
|
rocksdb_iterator_read (rocksdb_iterator_t *iterator, rocksdb_slice_t *keys, rocksdb_slice_t *values, size_t capacity, rocksdb_iterator_cb cb);
|
|
249
277
|
|
|
250
278
|
int
|
|
251
|
-
rocksdb_read (rocksdb_t *db, rocksdb_read_batch_t *batch, rocksdb_read_t *reads, char **errors, size_t len, rocksdb_read_batch_cb cb);
|
|
279
|
+
rocksdb_read (rocksdb_t *db, rocksdb_read_batch_t *batch, rocksdb_read_t *reads, char **errors, size_t len, const rocksdb_read_options_t *options, rocksdb_read_batch_cb cb);
|
|
280
|
+
|
|
281
|
+
int
|
|
282
|
+
rocksdb_write (rocksdb_t *db, rocksdb_write_batch_t *batch, rocksdb_write_t *writes, size_t len, const rocksdb_write_options_t *options, rocksdb_write_batch_cb cb);
|
|
252
283
|
|
|
253
284
|
int
|
|
254
|
-
|
|
285
|
+
rocksdb_snapshot_create (rocksdb_t *db, rocksdb_snapshot_t *snapshot);
|
|
286
|
+
|
|
287
|
+
void
|
|
288
|
+
rocksdb_snapshot_destroy (rocksdb_snapshot_t *snapshot);
|
|
255
289
|
|
|
256
290
|
#ifdef __cplusplus
|
|
257
291
|
}
|