@nxtedition/rocksdb 13.5.13 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.cc +33 -2
- package/binding.gyp +2 -2
- package/chained-batch.js +9 -16
- package/deps/rocksdb/rocksdb/BUCK +18 -1
- package/deps/rocksdb/rocksdb/CMakeLists.txt +10 -3
- package/deps/rocksdb/rocksdb/Makefile +20 -9
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +90 -13
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +88 -75
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +44 -36
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +184 -148
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +5 -11
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +116 -47
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +3 -6
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +1 -1
- package/deps/rocksdb/rocksdb/db/builder.cc +4 -2
- package/deps/rocksdb/rocksdb/db/c.cc +207 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +72 -0
- package/deps/rocksdb/rocksdb/db/column_family.cc +3 -2
- package/deps/rocksdb/rocksdb/db/column_family.h +5 -0
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +4 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +51 -38
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +29 -12
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +5 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +566 -366
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +131 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +1 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +7 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +4 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +13 -14
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +12 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +8 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +97 -76
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +11 -14
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +8 -0
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +16 -3
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +448 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +22 -20
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +4 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +5 -5
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +7 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_iter.cc +104 -0
- package/deps/rocksdb/rocksdb/db/db_iter.h +4 -11
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +331 -58
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +129 -0
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +64 -0
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +40 -0
- package/deps/rocksdb/rocksdb/db/db_test2.cc +25 -15
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +42 -24
- package/deps/rocksdb/rocksdb/db/db_test_util.h +29 -14
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +69 -36
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +1 -0
- package/deps/rocksdb/rocksdb/db/experimental.cc +5 -4
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +8 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +275 -79
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +23 -5
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +591 -175
- package/deps/rocksdb/rocksdb/db/flush_job.cc +3 -4
- package/deps/rocksdb/rocksdb/db/log_reader.cc +5 -2
- package/deps/rocksdb/rocksdb/db/memtable.cc +84 -35
- package/deps/rocksdb/rocksdb/db/memtable.h +39 -34
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +1 -0
- package/deps/rocksdb/rocksdb/db/merge_operator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/multi_scan.cc +11 -5
- package/deps/rocksdb/rocksdb/db/version_edit.cc +1 -1
- package/deps/rocksdb/rocksdb/db/version_edit.h +1 -1
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +34 -14
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +28 -5
- package/deps/rocksdb/rocksdb/db/version_set.cc +159 -14
- package/deps/rocksdb/rocksdb/db/version_set.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +60 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +16 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +75 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.cc +28 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +31 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +50 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +57 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_stat.h +0 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +266 -35
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +5 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +18 -2
- package/deps/rocksdb/rocksdb/env/env.cc +12 -0
- package/deps/rocksdb/rocksdb/env/env_test.cc +18 -0
- package/deps/rocksdb/rocksdb/env/file_system_tracer.cc +2 -0
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +9 -5
- package/deps/rocksdb/rocksdb/env/io_posix.cc +4 -2
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +19 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +33 -31
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +42 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +93 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +43 -49
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +4 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +8 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +487 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +11 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +135 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +12 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +12 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/metadata.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +19 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +219 -24
- package/deps/rocksdb/rocksdb/include/rocksdb/point_lock_bench_tool.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +16 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +16 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/types.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/user_defined_index.h +45 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/cache_dump_load.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +6 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +21 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +3 -3
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +77 -51
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +10 -13
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +16 -7
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +9 -4
- package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +2 -0
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +6 -0
- package/deps/rocksdb/rocksdb/options/cf_options.cc +13 -1
- package/deps/rocksdb/rocksdb/options/cf_options.h +6 -2
- package/deps/rocksdb/rocksdb/options/options.cc +2 -0
- package/deps/rocksdb/rocksdb/options/options_helper.cc +9 -8
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +9 -5
- package/deps/rocksdb/rocksdb/port/mmap.cc +1 -1
- package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +51 -0
- package/deps/rocksdb/rocksdb/port/win/xpress_win.h +4 -0
- package/deps/rocksdb/rocksdb/src.mk +8 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1125 -765
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +35 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +29 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +732 -256
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +225 -16
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +102 -26
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +2 -75
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +433 -141
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +17 -10
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy_impl.h +20 -0
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +112 -85
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +191 -36
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/user_defined_index_wrapper.h +108 -31
- package/deps/rocksdb/rocksdb/table/external_table.cc +7 -3
- package/deps/rocksdb/rocksdb/table/format.cc +6 -12
- package/deps/rocksdb/rocksdb/table/format.h +10 -0
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +1 -1
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +1 -1
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +5 -0
- package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +118 -46
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +9 -8
- package/deps/rocksdb/rocksdb/table/table_builder.h +5 -0
- package/deps/rocksdb/rocksdb/table/table_properties.cc +16 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +1540 -155
- package/deps/rocksdb/rocksdb/test_util/testutil.h +21 -5
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +26 -5
- package/deps/rocksdb/rocksdb/tools/ldb.cc +1 -2
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +2 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +9 -3
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +133 -165
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +173 -64
- package/deps/rocksdb/rocksdb/util/aligned_buffer.h +69 -0
- package/deps/rocksdb/rocksdb/util/atomic.h +6 -0
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.cc +29 -20
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.h +10 -6
- package/deps/rocksdb/rocksdb/util/bit_fields.h +338 -0
- package/deps/rocksdb/rocksdb/util/coding.h +3 -3
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/util/compression.cc +777 -82
- package/deps/rocksdb/rocksdb/util/compression.h +5 -0
- package/deps/rocksdb/rocksdb/util/compression_test.cc +5 -3
- package/deps/rocksdb/rocksdb/util/dynamic_bloom.cc +2 -2
- package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +15 -14
- package/deps/rocksdb/rocksdb/util/interval_test.cc +102 -0
- package/deps/rocksdb/rocksdb/util/semaphore.h +164 -0
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +10 -6
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +4 -2
- package/deps/rocksdb/rocksdb/util/slice_test.cc +136 -0
- package/deps/rocksdb/rocksdb/util/status.cc +1 -0
- package/deps/rocksdb/rocksdb/util/string_util.cc +2 -16
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +7 -4
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +35 -14
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +2 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +5 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/any_lock_manager_test.h +244 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_bench.cc +18 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_bench_tool.cc +159 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +1244 -161
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +66 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_stress_test.cc +103 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +1275 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +40 -262
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test_common.h +78 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_validation_test_runner.h +469 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +2 -6
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +4 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +9 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/timestamped_snapshot_test.cc +18 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +72 -44
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +92 -15
- package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +6 -20
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +143 -112
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +23 -16
- package/index.js +3 -3
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
- package/util.h +38 -12
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_stat.cc +0 -17
|
@@ -203,7 +203,8 @@ TEST_F(OptionsSettableTest, BlockBasedTableOptionsAllFieldsSettable) {
|
|
|
203
203
|
"max_auto_readahead_size=0;"
|
|
204
204
|
"prepopulate_block_cache=kDisable;"
|
|
205
205
|
"initial_auto_readahead_size=0;"
|
|
206
|
-
"num_file_reads_for_auto_readahead=0"
|
|
206
|
+
"num_file_reads_for_auto_readahead=0;"
|
|
207
|
+
"fail_if_no_udi_on_open=true",
|
|
207
208
|
new_bbto));
|
|
208
209
|
|
|
209
210
|
ASSERT_EQ(unset_bytes_base,
|
|
@@ -274,8 +275,8 @@ TEST_F(OptionsSettableTest, TablePropertiesAllFieldsSettable) {
|
|
|
274
275
|
"property_collectors_names=;prefix_extractor_name=;db_host_id="
|
|
275
276
|
"64625F686F73745F6964;db_session_id=64625F73657373696F6E5F6964;creation_"
|
|
276
277
|
"time=0;num_data_blocks=123;index_value_is_delta_encoded=0;top_level_"
|
|
277
|
-
"
|
|
278
|
-
"
|
|
278
|
+
"index_size=0;data_size=100;uncompressed_data_size=1234;"
|
|
279
|
+
"merge_operator_name=;index_partitions=0;file_"
|
|
279
280
|
"creation_time=0;raw_value_size=0;index_size=200;user_collected_"
|
|
280
281
|
"properties={757365725F6B6579=757365725F76616C7565;};tail_start_offset=0;"
|
|
281
282
|
"seqno_to_time_mapping=;raw_key_size=0;slow_compression_estimated_data_"
|
|
@@ -288,7 +289,8 @@ TEST_F(OptionsSettableTest, TablePropertiesAllFieldsSettable) {
|
|
|
288
289
|
"0;column_family_"
|
|
289
290
|
"name=64656661756C74;user_defined_timestamps_persisted=1;num_entries=100;"
|
|
290
291
|
"external_sst_file_global_seqno_offset=0;num_merge_operands=0;index_key_"
|
|
291
|
-
"is_user_key=0;key_largest_seqno=18446744073709551615;"
|
|
292
|
+
"is_user_key=0;key_largest_seqno=18446744073709551615;key_smallest_seqno="
|
|
293
|
+
"18;",
|
|
292
294
|
new_tp));
|
|
293
295
|
|
|
294
296
|
// All bytes are set from the parse
|
|
@@ -680,8 +682,10 @@ TEST_F(OptionsSettableTest, ColumnFamilyOptionsAllFieldsSettable) {
|
|
|
680
682
|
"bottommost_file_compaction_delay=7200;"
|
|
681
683
|
"uncache_aggressiveness=1234;"
|
|
682
684
|
"paranoid_memory_checks=1;"
|
|
685
|
+
"memtable_veirfy_per_key_checksum_on_seek=1;"
|
|
683
686
|
"memtable_op_scan_flush_trigger=123;"
|
|
684
|
-
"memtable_avg_op_scan_flush_trigger=12;"
|
|
687
|
+
"memtable_avg_op_scan_flush_trigger=12;"
|
|
688
|
+
"cf_allow_ingest_behind=1;",
|
|
685
689
|
new_options));
|
|
686
690
|
|
|
687
691
|
ASSERT_NE(new_options->blob_cache.get(), nullptr);
|
|
@@ -43,7 +43,7 @@ MemMapping& MemMapping::operator=(MemMapping&& other) noexcept {
|
|
|
43
43
|
return *this;
|
|
44
44
|
}
|
|
45
45
|
this->~MemMapping();
|
|
46
|
-
std::memcpy(this, &other, sizeof(*this));
|
|
46
|
+
std::memcpy(static_cast<void*>(this), &other, sizeof(*this));
|
|
47
47
|
new (&other) MemMapping();
|
|
48
48
|
return *this;
|
|
49
49
|
}
|
|
@@ -125,6 +125,57 @@ bool Compress(const char* input, size_t length, std::string* output) {
|
|
|
125
125
|
return true;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
size_t CompressWithMaxSize(const char* input, size_t length, char* output,
|
|
129
|
+
size_t max_output_size) {
|
|
130
|
+
assert(input != nullptr);
|
|
131
|
+
if (max_output_size == 0) {
|
|
132
|
+
return 0;
|
|
133
|
+
}
|
|
134
|
+
assert(output != nullptr);
|
|
135
|
+
|
|
136
|
+
COMPRESS_ALLOCATION_ROUTINES* allocRoutinesPtr = nullptr;
|
|
137
|
+
|
|
138
|
+
COMPRESSOR_HANDLE compressor = NULL;
|
|
139
|
+
|
|
140
|
+
BOOL success =
|
|
141
|
+
CreateCompressor(COMPRESS_ALGORITHM_XPRESS, // Compression Algorithm
|
|
142
|
+
allocRoutinesPtr, // Optional allocation routine
|
|
143
|
+
&compressor); // Handle
|
|
144
|
+
|
|
145
|
+
if (!success) {
|
|
146
|
+
#ifdef _DEBUG
|
|
147
|
+
std::cerr << "XPRESS: Failed to create Compressor LastError: "
|
|
148
|
+
<< GetLastError() << std::endl;
|
|
149
|
+
#endif
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
std::unique_ptr<void, decltype(CloseCompressorFun)> compressorGuard(
|
|
154
|
+
compressor, CloseCompressorFun);
|
|
155
|
+
|
|
156
|
+
SIZE_T compressed_size = 0;
|
|
157
|
+
// Compress
|
|
158
|
+
success = ::Compress(compressor, // Compressor Handle
|
|
159
|
+
const_cast<char*>(input), // Input buffer
|
|
160
|
+
length, // Uncompressed data size
|
|
161
|
+
output, // Compressed Buffer
|
|
162
|
+
max_output_size, // Compressed Buffer size
|
|
163
|
+
&compressed_size); // Compressed Data size
|
|
164
|
+
|
|
165
|
+
if (!success) {
|
|
166
|
+
#ifdef _DEBUG
|
|
167
|
+
auto error = GetLastError();
|
|
168
|
+
if (error != ERROR_INSUFFICIENT_BUFFER) {
|
|
169
|
+
std::cerr << "XPRESS: Failed to compress LastError " << error
|
|
170
|
+
<< std::endl;
|
|
171
|
+
}
|
|
172
|
+
#endif
|
|
173
|
+
return 0;
|
|
174
|
+
} else {
|
|
175
|
+
return compressed_size;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
128
179
|
char* Decompress(const char* input_data, size_t input_length,
|
|
129
180
|
size_t* uncompressed_size) {
|
|
130
181
|
assert(input_data != nullptr);
|
|
@@ -19,6 +19,10 @@ namespace xpress {
|
|
|
19
19
|
|
|
20
20
|
bool Compress(const char* input, size_t length, std::string* output);
|
|
21
21
|
|
|
22
|
+
// Returns written size or 0 on failure including if buffer is too small.
|
|
23
|
+
size_t CompressWithMaxSize(const char* input, size_t length, char* output,
|
|
24
|
+
size_t max_output_size);
|
|
25
|
+
|
|
22
26
|
char* Decompress(const char* input_data, size_t input_length,
|
|
23
27
|
size_t* uncompressed_size);
|
|
24
28
|
|
|
@@ -367,6 +367,7 @@ RANGE_TREE_SOURCES =\
|
|
|
367
367
|
utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc
|
|
368
368
|
|
|
369
369
|
TOOL_LIB_SOURCES = \
|
|
370
|
+
db_stress_tool/db_stress_compression_manager.cc \
|
|
370
371
|
tools/io_tracer_parser_tool.cc \
|
|
371
372
|
tools/ldb_cmd.cc \
|
|
372
373
|
tools/ldb_tool.cc \
|
|
@@ -385,19 +386,22 @@ BENCH_LIB_SOURCES = \
|
|
|
385
386
|
tools/tool_hooks.cc \
|
|
386
387
|
tools/simulated_hybrid_file_system.cc \
|
|
387
388
|
|
|
388
|
-
CACHE_BENCH_LIB_SOURCES =
|
|
389
|
+
CACHE_BENCH_LIB_SOURCES = \
|
|
389
390
|
cache/cache_bench_tool.cc \
|
|
390
391
|
|
|
392
|
+
POINT_LOCK_BENCH_LIB_SOURCES = \
|
|
393
|
+
utilities/transactions/lock/point/point_lock_bench_tool.cc \
|
|
394
|
+
|
|
391
395
|
STRESS_LIB_SOURCES = \
|
|
392
396
|
db_stress_tool/batched_ops_stress.cc \
|
|
393
397
|
db_stress_tool/cf_consistency_stress.cc \
|
|
394
398
|
db_stress_tool/db_stress_common.cc \
|
|
399
|
+
db_stress_tool/db_stress_compression_manager.cc \
|
|
395
400
|
db_stress_tool/db_stress_driver.cc \
|
|
396
401
|
db_stress_tool/db_stress_filters.cc \
|
|
397
402
|
db_stress_tool/db_stress_gflags.cc \
|
|
398
403
|
db_stress_tool/db_stress_listener.cc \
|
|
399
404
|
db_stress_tool/db_stress_shared_state.cc \
|
|
400
|
-
db_stress_tool/db_stress_stat.cc \
|
|
401
405
|
db_stress_tool/db_stress_test_base.cc \
|
|
402
406
|
db_stress_tool/db_stress_tool.cc \
|
|
403
407
|
db_stress_tool/db_stress_wide_merge_operator.cc \
|
|
@@ -613,6 +617,7 @@ TEST_MAIN_SOURCES = \
|
|
|
613
617
|
util/file_reader_writer_test.cc \
|
|
614
618
|
util/hash_test.cc \
|
|
615
619
|
util/heap_test.cc \
|
|
620
|
+
util/interval_test.cc \
|
|
616
621
|
util/random_test.cc \
|
|
617
622
|
util/rate_limiter_test.cc \
|
|
618
623
|
util/repeatable_thread_test.cc \
|
|
@@ -649,6 +654,7 @@ TEST_MAIN_SOURCES = \
|
|
|
649
654
|
utilities/transactions/lock/range/range_locking_test.cc \
|
|
650
655
|
utilities/transactions/transaction_test.cc \
|
|
651
656
|
utilities/transactions/lock/point/point_lock_manager_test.cc \
|
|
657
|
+
utilities/transactions/lock/point/point_lock_manager_stress_test.cc \
|
|
652
658
|
utilities/transactions/write_prepared_transaction_test.cc \
|
|
653
659
|
utilities/transactions/write_unprepared_transaction_test.cc \
|
|
654
660
|
utilities/transactions/write_committed_transaction_ts_test.cc \
|