@nxtedition/rocksdb 13.5.7 → 13.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.cc +248 -70
- package/binding.gyp +2 -2
- package/deps/rocksdb/rocksdb/BUCK +12 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -0
- package/deps/rocksdb/rocksdb/Makefile +28 -23
- package/deps/rocksdb/rocksdb/cache/cache.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -2
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +43 -39
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +2 -0
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +2 -3
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +1 -3
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +11 -1
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +13 -5
- package/deps/rocksdb/rocksdb/crash_test.mk +61 -15
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +136 -45
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +34 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +10 -7
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +12 -9
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/builder.cc +22 -8
- package/deps/rocksdb/rocksdb/db/builder.h +5 -4
- package/deps/rocksdb/rocksdb/db/c.cc +556 -15
- package/deps/rocksdb/rocksdb/db/c_test.c +133 -12
- package/deps/rocksdb/rocksdb/db/column_family.cc +114 -50
- package/deps/rocksdb/rocksdb/db/column_family.h +53 -36
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +95 -70
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +71 -51
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -86
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +26 -68
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +0 -122
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +453 -258
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +117 -92
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +38 -38
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +24 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +34 -45
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -31
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +10 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +82 -34
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +267 -179
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +273 -89
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +300 -14
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +4 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +28 -23
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +69 -51
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +522 -245
- package/deps/rocksdb/rocksdb/db/convenience.cc +15 -4
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +196 -17
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +74 -62
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +48 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +682 -250
- package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +11 -16
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +57 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +540 -490
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +347 -188
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +584 -217
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +13 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -7
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +40 -36
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +751 -372
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +35 -32
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +24 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +125 -63
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +311 -196
- package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +15 -5
- package/deps/rocksdb/rocksdb/db/db_iter.cc +42 -29
- package/deps/rocksdb/rocksdb/db/db_iter.h +96 -31
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +168 -228
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +454 -0
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +90 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +60 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +7 -3
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +85 -27
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +114 -2
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +51 -3
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_test.cc +325 -18
- package/deps/rocksdb/rocksdb/db/db_test2.cc +644 -20
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
- package/deps/rocksdb/rocksdb/db/db_test_util.h +9 -0
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +64 -45
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +203 -14
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +259 -30
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +75 -1
- package/deps/rocksdb/rocksdb/db/dbformat.h +70 -6
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -190
- package/deps/rocksdb/rocksdb/db/error_handler.cc +22 -7
- package/deps/rocksdb/rocksdb/db/error_handler.h +16 -1
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +41 -26
- package/deps/rocksdb/rocksdb/db/experimental.cc +4 -3
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +464 -78
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +166 -69
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +54 -25
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/flush_job.cc +98 -81
- package/deps/rocksdb/rocksdb/db/flush_job.h +4 -9
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +80 -84
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +2 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +12 -19
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +41 -15
- package/deps/rocksdb/rocksdb/db/internal_stats.h +63 -52
- package/deps/rocksdb/rocksdb/db/job_context.h +59 -24
- package/deps/rocksdb/rocksdb/db/listener_test.cc +69 -10
- package/deps/rocksdb/rocksdb/db/log_format.h +11 -2
- package/deps/rocksdb/rocksdb/db/log_reader.cc +147 -34
- package/deps/rocksdb/rocksdb/db/log_reader.h +40 -11
- package/deps/rocksdb/rocksdb/db/log_test.cc +16 -3
- package/deps/rocksdb/rocksdb/db/log_writer.cc +102 -55
- package/deps/rocksdb/rocksdb/db/log_writer.h +21 -2
- package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
- package/deps/rocksdb/rocksdb/db/memtable.cc +16 -47
- package/deps/rocksdb/rocksdb/db/memtable.h +76 -12
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +23 -20
- package/deps/rocksdb/rocksdb/db/memtable_list.h +9 -11
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +18 -37
- package/deps/rocksdb/rocksdb/db/merge_context.h +2 -1
- package/deps/rocksdb/rocksdb/db/merge_test.cc +8 -0
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +3 -5
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +15 -7
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +6 -3
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +22 -4
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +41 -1
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/repair.cc +29 -34
- package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +14 -15
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +1 -3
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +47 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder.cc +2 -2
- package/deps/rocksdb/rocksdb/db/version_edit.cc +8 -37
- package/deps/rocksdb/rocksdb/db/version_edit.h +32 -1
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +26 -18
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -5
- package/deps/rocksdb/rocksdb/db/version_set.cc +282 -197
- package/deps/rocksdb/rocksdb/db/version_set.h +54 -57
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +28 -35
- package/deps/rocksdb/rocksdb/db/version_util.h +2 -3
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +3 -2
- package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -1
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +1 -0
- package/deps/rocksdb/rocksdb/db/write_batch.cc +22 -8
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +5 -4
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +7 -6
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/write_thread.h +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +13 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +39 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +65 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +45 -22
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +7 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +22 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +28 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -38
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +80 -32
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +51 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +23 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +305 -15
- package/deps/rocksdb/rocksdb/env/env.cc +32 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +0 -2
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -4
- package/deps/rocksdb/rocksdb/env/env_posix.cc +4 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +0 -1
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +20 -11
- package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
- package/deps/rocksdb/rocksdb/env/io_posix.cc +6 -4
- package/deps/rocksdb/rocksdb/env/io_posix.h +3 -2
- package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -1
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +2 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -2
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +30 -21
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +16 -0
- package/deps/rocksdb/rocksdb/file/file_util.cc +32 -14
- package/deps/rocksdb/rocksdb/file/file_util.h +22 -5
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +229 -76
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +21 -12
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +10 -7
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +12 -8
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +1 -2
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +598 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_iterator.h +36 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +70 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +232 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +149 -15
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +17 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +132 -34
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +158 -79
- package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +4 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +275 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +50 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +10 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +5 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +237 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +230 -39
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +31 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +41 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +18 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +20 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +19 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +124 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +26 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +55 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +3 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index.h +96 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index_faiss.h +117 -0
- package/deps/rocksdb/rocksdb/{utilities/secondary_index/faiss_ivf_index.h → include/rocksdb/utilities/secondary_index_simple.h} +11 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +26 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +16 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +63 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +28 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -2
- package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +3 -1
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +2 -2
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +2 -4
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +69 -8
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.cc +32 -9
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.h +58 -45
- package/deps/rocksdb/rocksdb/monitoring/histogram.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -3
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +5 -0
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +3 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +44 -13
- package/deps/rocksdb/rocksdb/options/cf_options.h +21 -7
- package/deps/rocksdb/rocksdb/options/configurable.cc +5 -5
- package/deps/rocksdb/rocksdb/options/configurable_test.h +1 -2
- package/deps/rocksdb/rocksdb/options/customizable.cc +0 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -11
- package/deps/rocksdb/rocksdb/options/db_options.cc +18 -15
- package/deps/rocksdb/rocksdb/options/db_options.h +2 -2
- package/deps/rocksdb/rocksdb/options/options.cc +296 -305
- package/deps/rocksdb/rocksdb/options/options_helper.cc +188 -62
- package/deps/rocksdb/rocksdb/options/options_helper.h +3 -3
- package/deps/rocksdb/rocksdb/options/options_parser.cc +2 -4
- package/deps/rocksdb/rocksdb/options/options_parser.h +0 -1
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +17 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +101 -76
- package/deps/rocksdb/rocksdb/port/lang.h +2 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +2 -1
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +3 -2
- package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +99 -1
- package/deps/rocksdb/rocksdb/port/win/xpress_win.h +6 -0
- package/deps/rocksdb/rocksdb/src.mk +17 -11
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1094 -929
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +6 -19
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +76 -22
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +221 -131
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +12 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +23 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -38
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +5 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +10 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +6 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +35 -43
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -4
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -5
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +4 -4
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +37 -35
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +11 -7
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +4 -3
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +31 -5
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/external_table.cc +483 -0
- package/deps/rocksdb/rocksdb/table/format.cc +62 -44
- package/deps/rocksdb/rocksdb/table/format.h +35 -12
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +3 -13
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +6 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +150 -141
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +5 -0
- package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +8 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +6 -6
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +86 -7
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +88 -2
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -1
- package/deps/rocksdb/rocksdb/table/table_builder.h +10 -1
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +3 -2
- package/deps/rocksdb/rocksdb/table/table_test.cc +899 -22
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.h +132 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +163 -77
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +120 -52
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +94 -0
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +0 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +3 -5
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/util/async_file_reader.h +15 -8
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.cc +131 -0
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.h +90 -0
- package/deps/rocksdb/rocksdb/util/autovector.h +1 -1
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/util/compression.cc +936 -4
- package/deps/rocksdb/rocksdb/util/compression.h +348 -232
- package/deps/rocksdb/rocksdb/util/compression_test.cc +229 -0
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +10 -10
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +1 -0
- package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -3
- package/deps/rocksdb/rocksdb/util/ppc-opcode.h +5 -5
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +108 -0
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +67 -0
- package/deps/rocksdb/rocksdb/util/slice_test.cc +83 -0
- package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
- package/deps/rocksdb/rocksdb/util/udt_util.cc +18 -5
- package/deps/rocksdb/rocksdb/util/udt_util.h +10 -7
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +650 -154
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +438 -144
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +16 -17
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +2 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +7 -8
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +0 -48
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/debug.cc +7 -14
- package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -3
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +10 -9
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index.cc +183 -32
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index_test.cc +258 -12
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_helper.h +33 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_iterator.cc +99 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_mixin.h +280 -120
- package/deps/rocksdb/rocksdb/utilities/secondary_index/simple_secondary_index.cc +79 -0
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +52 -16
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +10 -6
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +55 -0
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +37 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +36 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +5 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1118 -37
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +4 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +125 -127
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +45 -23
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +54 -22
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +477 -58
- package/deps/rocksdb/rocksdb.gyp +9 -4
- package/index.js +50 -9
- package/package.json +8 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
package/binding.cc
CHANGED
|
@@ -127,14 +127,11 @@ struct BatchIterator : public rocksdb::WriteBatch::Handler {
|
|
|
127
127
|
keyEncoding_(keyEncoding),
|
|
128
128
|
valueEncoding_(valueEncoding) {}
|
|
129
129
|
|
|
130
|
-
|
|
131
|
-
cache_.clear();
|
|
130
|
+
napi_status Iterate(napi_env env, const rocksdb::WriteBatch& batch, napi_value* result) {
|
|
132
131
|
cache_.reserve(batch.Count());
|
|
133
132
|
|
|
134
|
-
|
|
135
|
-
}
|
|
133
|
+
ROCKS_STATUS_RETURN_NAPI(batch.Iterate(this));
|
|
136
134
|
|
|
137
|
-
napi_status Write(napi_env env, napi_value* result) {
|
|
138
135
|
napi_value putStr;
|
|
139
136
|
NAPI_STATUS_RETURN(napi_create_string_utf8(env, "put", NAPI_AUTO_LENGTH, &putStr));
|
|
140
137
|
|
|
@@ -185,11 +182,6 @@ struct BatchIterator : public rocksdb::WriteBatch::Handler {
|
|
|
185
182
|
return napi_ok;
|
|
186
183
|
}
|
|
187
184
|
|
|
188
|
-
napi_status Iterate(napi_env env, const rocksdb::WriteBatch& batch, napi_value* result) {
|
|
189
|
-
ROCKS_STATUS_RETURN_NAPI(Read(batch));
|
|
190
|
-
return Write(env, result);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
185
|
rocksdb::Status PutCF(uint32_t column_family_id, const rocksdb::Slice& key, const rocksdb::Slice& value) override {
|
|
194
186
|
if (column_ && column_->GetID() != column_family_id) {
|
|
195
187
|
return rocksdb::Status::OK();
|
|
@@ -482,10 +474,10 @@ class Iterator final : public BaseIterator {
|
|
|
482
474
|
rocksdb::ColumnFamilyHandle* column = database->db->DefaultColumnFamily();
|
|
483
475
|
NAPI_STATUS_THROWS(GetProperty(env, options, "column", column));
|
|
484
476
|
|
|
485
|
-
Encoding keyEncoding
|
|
477
|
+
Encoding keyEncoding;
|
|
486
478
|
NAPI_STATUS_THROWS(GetProperty(env, options, "keyEncoding", keyEncoding));
|
|
487
479
|
|
|
488
|
-
Encoding valueEncoding
|
|
480
|
+
Encoding valueEncoding;
|
|
489
481
|
NAPI_STATUS_THROWS(GetProperty(env, options, "valueEncoding", valueEncoding));
|
|
490
482
|
|
|
491
483
|
rocksdb::ReadOptions readOptions;
|
|
@@ -577,6 +569,8 @@ class Iterator final : public BaseIterator {
|
|
|
577
569
|
rocksdb::PinnableSlice v;
|
|
578
570
|
v.PinSelf(CurrentValue());
|
|
579
571
|
state.values.push_back(std::move(v));
|
|
572
|
+
} else {
|
|
573
|
+
assert(false);
|
|
580
574
|
}
|
|
581
575
|
state.count += 1;
|
|
582
576
|
|
|
@@ -615,8 +609,7 @@ class Iterator final : public BaseIterator {
|
|
|
615
609
|
NAPI_STATUS_RETURN(napi_get_undefined(env, &key));
|
|
616
610
|
NAPI_STATUS_RETURN(Convert(env, std::move(state.values[n]), valueEncoding_, val));
|
|
617
611
|
} else {
|
|
618
|
-
|
|
619
|
-
NAPI_STATUS_RETURN(napi_get_undefined(env, &val));
|
|
612
|
+
assert(false);
|
|
620
613
|
}
|
|
621
614
|
|
|
622
615
|
NAPI_STATUS_RETURN(napi_set_element(env, rows, n * 2 + 0, key));
|
|
@@ -688,7 +681,7 @@ class Iterator final : public BaseIterator {
|
|
|
688
681
|
break;
|
|
689
682
|
}
|
|
690
683
|
|
|
691
|
-
if (
|
|
684
|
+
if (deadline > 0 && database_->db->GetEnv()->NowMicros() > deadline) {
|
|
692
685
|
break;
|
|
693
686
|
}
|
|
694
687
|
}
|
|
@@ -736,7 +729,7 @@ NAPI_METHOD(db_init) {
|
|
|
736
729
|
napi_valuetype type;
|
|
737
730
|
NAPI_STATUS_THROWS(napi_typeof(env, argv[0], &type));
|
|
738
731
|
|
|
739
|
-
napi_value result
|
|
732
|
+
napi_value result;
|
|
740
733
|
|
|
741
734
|
if (type == napi_string) {
|
|
742
735
|
std::string location;
|
|
@@ -1153,8 +1146,6 @@ NAPI_METHOD(db_open) {
|
|
|
1153
1146
|
|
|
1154
1147
|
NAPI_STATUS_THROWS(GetProperty(env, options, "writeDbIdToManifest", dbOptions.write_dbid_to_manifest));
|
|
1155
1148
|
|
|
1156
|
-
NAPI_STATUS_THROWS(GetProperty(env, options, "failIfOptionsFileError", dbOptions.fail_if_options_file_error));
|
|
1157
|
-
|
|
1158
1149
|
NAPI_STATUS_THROWS(GetProperty(env, options, "adviseRandomOnOpen", dbOptions.advise_random_on_open));
|
|
1159
1150
|
|
|
1160
1151
|
NAPI_STATUS_THROWS(GetProperty(env, options, "bytesPerSync", dbOptions.bytes_per_sync));
|
|
@@ -1877,8 +1868,7 @@ NAPI_METHOD(batch_iterate) {
|
|
|
1877
1868
|
return result;
|
|
1878
1869
|
}
|
|
1879
1870
|
|
|
1880
|
-
|
|
1881
|
-
public:
|
|
1871
|
+
struct Updates : public BatchIterator, public Closable {
|
|
1882
1872
|
Updates(Database* database,
|
|
1883
1873
|
const int64_t since,
|
|
1884
1874
|
const bool keys,
|
|
@@ -1899,54 +1889,6 @@ public:
|
|
|
1899
1889
|
}
|
|
1900
1890
|
}
|
|
1901
1891
|
|
|
1902
|
-
napi_value nextv(napi_env env, uint32_t count, uint32_t timeout, napi_value callback) {
|
|
1903
|
-
struct State {
|
|
1904
|
-
uint64_t sequence = 0;
|
|
1905
|
-
bool finished = false;
|
|
1906
|
-
};
|
|
1907
|
-
runAsync<State>("updates.next", env, callback,
|
|
1908
|
-
[=](auto& state) {
|
|
1909
|
-
if (!iterator_) {
|
|
1910
|
-
rocksdb::TransactionLogIterator::ReadOptions options;
|
|
1911
|
-
ROCKS_STATUS_RETURN(database_->db->GetUpdatesSince(start_, &iterator_, options));
|
|
1912
|
-
}
|
|
1913
|
-
|
|
1914
|
-
ROCKS_STATUS_RETURN(iterator_->status());
|
|
1915
|
-
|
|
1916
|
-
if (!iterator_->Valid()) {
|
|
1917
|
-
state.finished = true;
|
|
1918
|
-
return rocksdb::Status::OK();
|
|
1919
|
-
}
|
|
1920
|
-
|
|
1921
|
-
auto batchResult = iterator_->GetBatch();
|
|
1922
|
-
Read(*batchResult.writeBatchPtr);
|
|
1923
|
-
state.sequence = batchResult.sequence;
|
|
1924
|
-
|
|
1925
|
-
iterator_->Next();
|
|
1926
|
-
|
|
1927
|
-
return rocksdb::Status::OK();
|
|
1928
|
-
},
|
|
1929
|
-
[=](auto& state, auto env, auto& argv) {
|
|
1930
|
-
argv.resize(2);
|
|
1931
|
-
|
|
1932
|
-
if (!state.finished) {
|
|
1933
|
-
napi_value rows;
|
|
1934
|
-
napi_value sequence;
|
|
1935
|
-
|
|
1936
|
-
NAPI_STATUS_RETURN(Write(env, &rows));
|
|
1937
|
-
NAPI_STATUS_RETURN(napi_create_int64(env, state.sequence, &sequence));
|
|
1938
|
-
|
|
1939
|
-
NAPI_STATUS_RETURN(napi_create_object(env, &argv[1]));
|
|
1940
|
-
NAPI_STATUS_RETURN(napi_set_named_property(env, argv[1], "rows", rows));
|
|
1941
|
-
NAPI_STATUS_RETURN(napi_set_named_property(env, argv[1], "seq", sequence));
|
|
1942
|
-
} else {
|
|
1943
|
-
NAPI_STATUS_RETURN(napi_get_null(env, &argv[1]));
|
|
1944
|
-
}
|
|
1945
|
-
|
|
1946
|
-
return napi_ok;
|
|
1947
|
-
});
|
|
1948
|
-
}
|
|
1949
|
-
|
|
1950
1892
|
rocksdb::Status Close() override {
|
|
1951
1893
|
if (iterator_) {
|
|
1952
1894
|
iterator_.reset();
|
|
@@ -1955,10 +1897,11 @@ public:
|
|
|
1955
1897
|
return rocksdb::Status::OK();
|
|
1956
1898
|
}
|
|
1957
1899
|
|
|
1958
|
-
private:
|
|
1959
1900
|
Database* database_;
|
|
1960
1901
|
int64_t start_;
|
|
1961
1902
|
std::unique_ptr<rocksdb::TransactionLogIterator> iterator_;
|
|
1903
|
+
|
|
1904
|
+
private:
|
|
1962
1905
|
napi_ref ref_ = nullptr;
|
|
1963
1906
|
};
|
|
1964
1907
|
|
|
@@ -2013,7 +1956,33 @@ NAPI_METHOD(updates_next) {
|
|
|
2013
1956
|
Updates* updates;
|
|
2014
1957
|
NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], reinterpret_cast<void**>(&updates)));
|
|
2015
1958
|
|
|
2016
|
-
|
|
1959
|
+
if (!updates->iterator_) {
|
|
1960
|
+
rocksdb::TransactionLogIterator::ReadOptions options;
|
|
1961
|
+
ROCKS_STATUS_THROWS_NAPI(updates->database_->db->GetUpdatesSince(updates->start_, &updates->iterator_, options));
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
ROCKS_STATUS_THROWS_NAPI(updates->iterator_->status());
|
|
1965
|
+
|
|
1966
|
+
if (!updates->iterator_->Valid()) {
|
|
1967
|
+
return 0;
|
|
1968
|
+
}
|
|
1969
|
+
|
|
1970
|
+
auto batchResult = updates->iterator_->GetBatch();
|
|
1971
|
+
|
|
1972
|
+
napi_value rows;
|
|
1973
|
+
napi_value sequence;
|
|
1974
|
+
|
|
1975
|
+
NAPI_STATUS_THROWS(updates->Iterate(env, *batchResult.writeBatchPtr, &rows));
|
|
1976
|
+
NAPI_STATUS_THROWS(napi_create_int64(env, batchResult.sequence, &sequence));
|
|
1977
|
+
|
|
1978
|
+
ROCKS_STATUS_THROWS_NAPI(updates->iterator_->status());
|
|
1979
|
+
updates->iterator_->Next();
|
|
1980
|
+
|
|
1981
|
+
napi_value ret;
|
|
1982
|
+
NAPI_STATUS_THROWS(napi_create_object(env, &ret));
|
|
1983
|
+
NAPI_STATUS_THROWS(napi_set_named_property(env, ret, "rows", rows));
|
|
1984
|
+
NAPI_STATUS_THROWS(napi_set_named_property(env, ret, "seq", sequence));
|
|
1985
|
+
return ret;
|
|
2017
1986
|
} catch (const std::exception& e) {
|
|
2018
1987
|
napi_throw_error(env, nullptr, e.what());
|
|
2019
1988
|
return nullptr;
|
|
@@ -2035,6 +2004,213 @@ NAPI_METHOD(updates_close) {
|
|
|
2035
2004
|
}
|
|
2036
2005
|
}
|
|
2037
2006
|
|
|
2007
|
+
NAPI_METHOD(db_open_for_read_only) {
|
|
2008
|
+
NAPI_ARGV(3);
|
|
2009
|
+
|
|
2010
|
+
Database* database;
|
|
2011
|
+
NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], reinterpret_cast<void**>(&database)));
|
|
2012
|
+
|
|
2013
|
+
if (database->db) {
|
|
2014
|
+
napi_value columns;
|
|
2015
|
+
NAPI_STATUS_THROWS(napi_create_object(env, &columns));
|
|
2016
|
+
for (auto& [id, column] : database->columns) {
|
|
2017
|
+
napi_value val;
|
|
2018
|
+
NAPI_STATUS_THROWS(napi_create_external(env, column.handle, nullptr, nullptr, &val));
|
|
2019
|
+
NAPI_STATUS_THROWS(napi_set_named_property(env, columns, column.descriptor.name.c_str(), val));
|
|
2020
|
+
}
|
|
2021
|
+
return columns;
|
|
2022
|
+
} else {
|
|
2023
|
+
rocksdb::Options dbOptions;
|
|
2024
|
+
|
|
2025
|
+
const auto options = argv[1];
|
|
2026
|
+
|
|
2027
|
+
int parallelism = std::max<int>(1, std::thread::hardware_concurrency() / 2);
|
|
2028
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "parallelism", parallelism));
|
|
2029
|
+
dbOptions.IncreaseParallelism(parallelism);
|
|
2030
|
+
|
|
2031
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "walDir", dbOptions.wal_dir));
|
|
2032
|
+
|
|
2033
|
+
uint32_t walTTL = 0;
|
|
2034
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "walTTL", walTTL));
|
|
2035
|
+
dbOptions.WAL_ttl_seconds = walTTL / 1e3;
|
|
2036
|
+
|
|
2037
|
+
uint32_t walSizeLimit = 0;
|
|
2038
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "walSizeLimit", walSizeLimit));
|
|
2039
|
+
dbOptions.WAL_size_limit_MB = walSizeLimit / 1e6;
|
|
2040
|
+
|
|
2041
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "maxTotalWalSize", dbOptions.max_total_wal_size));
|
|
2042
|
+
|
|
2043
|
+
bool walCompression = true;
|
|
2044
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "walCompression", walCompression));
|
|
2045
|
+
dbOptions.wal_compression =
|
|
2046
|
+
walCompression ? rocksdb::CompressionType::kZSTD : rocksdb::CompressionType::kNoCompression;
|
|
2047
|
+
|
|
2048
|
+
dbOptions.avoid_unnecessary_blocking_io = true;
|
|
2049
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "avoidUnnecessaryBlockingIO", dbOptions.avoid_unnecessary_blocking_io));
|
|
2050
|
+
|
|
2051
|
+
dbOptions.create_missing_column_families = true;
|
|
2052
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "createMissingColumnFamilies", dbOptions.create_missing_column_families));
|
|
2053
|
+
|
|
2054
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "writeDbIdToManifest", dbOptions.write_dbid_to_manifest));
|
|
2055
|
+
|
|
2056
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "adviseRandomOnOpen", dbOptions.advise_random_on_open));
|
|
2057
|
+
|
|
2058
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "bytesPerSync", dbOptions.bytes_per_sync));
|
|
2059
|
+
|
|
2060
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "walBytesPerSync", dbOptions.wal_bytes_per_sync));
|
|
2061
|
+
|
|
2062
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "strictBytesPerSync", dbOptions.strict_bytes_per_sync));
|
|
2063
|
+
|
|
2064
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "delayedWriteRate", dbOptions.delayed_write_rate));
|
|
2065
|
+
|
|
2066
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "createIfMissing", dbOptions.create_if_missing));
|
|
2067
|
+
|
|
2068
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "errorIfExists", dbOptions.error_if_exists));
|
|
2069
|
+
|
|
2070
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "pipelinedWrite", dbOptions.enable_pipelined_write));
|
|
2071
|
+
|
|
2072
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "dailyOffpeakTime", dbOptions.daily_offpeak_time_utc));
|
|
2073
|
+
|
|
2074
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "unorderedWrite", dbOptions.unordered_write));
|
|
2075
|
+
|
|
2076
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "allowMmapReads", dbOptions.allow_mmap_reads));
|
|
2077
|
+
|
|
2078
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "allowMmapWrites", dbOptions.allow_mmap_writes));
|
|
2079
|
+
|
|
2080
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "memTableHugePageSize", dbOptions.memtable_huge_page_size));
|
|
2081
|
+
|
|
2082
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "useDirectIOReads", dbOptions.use_direct_reads));
|
|
2083
|
+
|
|
2084
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "useDirectIOForFlushAndCompaction", dbOptions.use_direct_io_for_flush_and_compaction));
|
|
2085
|
+
|
|
2086
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "compactionReadaheadSize", dbOptions.compaction_readahead_size));
|
|
2087
|
+
|
|
2088
|
+
// TODO (feat): dbOptions.listeners
|
|
2089
|
+
|
|
2090
|
+
std::string infoLogLevel;
|
|
2091
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "infoLogLevel", infoLogLevel));
|
|
2092
|
+
if (infoLogLevel.size() > 0) {
|
|
2093
|
+
rocksdb::InfoLogLevel lvl = {};
|
|
2094
|
+
|
|
2095
|
+
if (infoLogLevel == "debug")
|
|
2096
|
+
lvl = rocksdb::InfoLogLevel::DEBUG_LEVEL;
|
|
2097
|
+
else if (infoLogLevel == "info")
|
|
2098
|
+
lvl = rocksdb::InfoLogLevel::INFO_LEVEL;
|
|
2099
|
+
else if (infoLogLevel == "warn")
|
|
2100
|
+
lvl = rocksdb::InfoLogLevel::WARN_LEVEL;
|
|
2101
|
+
else if (infoLogLevel == "error")
|
|
2102
|
+
lvl = rocksdb::InfoLogLevel::ERROR_LEVEL;
|
|
2103
|
+
else if (infoLogLevel == "fatal")
|
|
2104
|
+
lvl = rocksdb::InfoLogLevel::FATAL_LEVEL;
|
|
2105
|
+
else if (infoLogLevel == "header")
|
|
2106
|
+
lvl = rocksdb::InfoLogLevel::HEADER_LEVEL;
|
|
2107
|
+
else
|
|
2108
|
+
napi_throw_error(env, nullptr, "invalid log level");
|
|
2109
|
+
|
|
2110
|
+
dbOptions.info_log_level = lvl;
|
|
2111
|
+
} else {
|
|
2112
|
+
// In some places RocksDB checks this option to see if it should prepare
|
|
2113
|
+
// debug information (ahead of logging), so set it to the highest level.
|
|
2114
|
+
dbOptions.info_log_level = rocksdb::InfoLogLevel::HEADER_LEVEL;
|
|
2115
|
+
dbOptions.info_log.reset(new NullLogger());
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
NAPI_STATUS_THROWS(InitOptions(env, dbOptions, options));
|
|
2119
|
+
|
|
2120
|
+
std::vector<rocksdb::ColumnFamilyDescriptor> descriptors;
|
|
2121
|
+
|
|
2122
|
+
bool hasColumns;
|
|
2123
|
+
NAPI_STATUS_THROWS(napi_has_named_property(env, options, "columns", &hasColumns));
|
|
2124
|
+
|
|
2125
|
+
if (hasColumns) {
|
|
2126
|
+
napi_value columns;
|
|
2127
|
+
NAPI_STATUS_THROWS(napi_get_named_property(env, options, "columns", &columns));
|
|
2128
|
+
|
|
2129
|
+
napi_value keys;
|
|
2130
|
+
NAPI_STATUS_THROWS(napi_get_property_names(env, columns, &keys));
|
|
2131
|
+
|
|
2132
|
+
uint32_t len;
|
|
2133
|
+
NAPI_STATUS_THROWS(napi_get_array_length(env, keys, &len));
|
|
2134
|
+
|
|
2135
|
+
descriptors.resize(len);
|
|
2136
|
+
for (uint32_t n = 0; n < len; ++n) {
|
|
2137
|
+
napi_value key;
|
|
2138
|
+
NAPI_STATUS_THROWS(napi_get_element(env, keys, n, &key));
|
|
2139
|
+
|
|
2140
|
+
napi_value column;
|
|
2141
|
+
NAPI_STATUS_THROWS(napi_get_property(env, columns, key, &column));
|
|
2142
|
+
|
|
2143
|
+
NAPI_STATUS_THROWS(InitOptions(env, descriptors[n].options, column));
|
|
2144
|
+
|
|
2145
|
+
NAPI_STATUS_THROWS(GetValue(env, key, descriptors[n].name));
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2148
|
+
|
|
2149
|
+
auto callback = argv[2];
|
|
2150
|
+
|
|
2151
|
+
runAsync<std::vector<rocksdb::ColumnFamilyHandle*>>(
|
|
2152
|
+
"leveldown.open_for_read_only", env, callback,
|
|
2153
|
+
[=](auto& handles) {
|
|
2154
|
+
assert(!database->db);
|
|
2155
|
+
|
|
2156
|
+
rocksdb::DB* db = nullptr;
|
|
2157
|
+
|
|
2158
|
+
const auto status = descriptors.empty()
|
|
2159
|
+
? rocksdb::DB::OpenForReadOnly(dbOptions, database->location, &db)
|
|
2160
|
+
: rocksdb::DB::OpenForReadOnly(dbOptions, database->location, descriptors, &handles, &db);
|
|
2161
|
+
|
|
2162
|
+
database->db.reset(db);
|
|
2163
|
+
|
|
2164
|
+
return status;
|
|
2165
|
+
},
|
|
2166
|
+
[=](auto& handles, auto env, auto& argv) {
|
|
2167
|
+
argv.resize(2);
|
|
2168
|
+
|
|
2169
|
+
NAPI_STATUS_RETURN(napi_create_object(env, &argv[1]));
|
|
2170
|
+
|
|
2171
|
+
for (size_t n = 0; n < handles.size(); ++n) {
|
|
2172
|
+
ColumnFamily column;
|
|
2173
|
+
column.handle = handles[n];
|
|
2174
|
+
column.descriptor = descriptors[n];
|
|
2175
|
+
database->columns[column.handle->GetID()] = column;
|
|
2176
|
+
}
|
|
2177
|
+
|
|
2178
|
+
napi_value columns = argv[1];
|
|
2179
|
+
for (auto& [id, column] : database->columns) {
|
|
2180
|
+
napi_value val;
|
|
2181
|
+
NAPI_STATUS_RETURN(napi_create_external(env, column.handle, nullptr, nullptr, &val));
|
|
2182
|
+
NAPI_STATUS_RETURN(napi_set_named_property(env, columns, column.descriptor.name.c_str(), val));
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2185
|
+
return napi_ok;
|
|
2186
|
+
});
|
|
2187
|
+
}
|
|
2188
|
+
|
|
2189
|
+
return 0;
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
NAPI_METHOD(db_compact_range) {
|
|
2193
|
+
NAPI_ARGV(2);
|
|
2194
|
+
|
|
2195
|
+
Database* database;
|
|
2196
|
+
NAPI_STATUS_THROWS(napi_get_value_external(env, argv[0], reinterpret_cast<void**>(&database)));
|
|
2197
|
+
|
|
2198
|
+
std::optional<std::string> start;
|
|
2199
|
+
std::optional<std::string> end;
|
|
2200
|
+
|
|
2201
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[1], "start", start));
|
|
2202
|
+
NAPI_STATUS_THROWS(GetProperty(env, argv[1], "end", end));
|
|
2203
|
+
|
|
2204
|
+
rocksdb::CompactRangeOptions options;
|
|
2205
|
+
|
|
2206
|
+
auto begin = start ? std::make_unique<rocksdb::Slice>(*start) : nullptr;
|
|
2207
|
+
auto finish = end ? std::make_unique<rocksdb::Slice>(*end) : nullptr;
|
|
2208
|
+
|
|
2209
|
+
ROCKS_STATUS_THROWS_NAPI(database->db->CompactRange(options, begin.get(), finish.get()));
|
|
2210
|
+
|
|
2211
|
+
return 0;
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2038
2214
|
NAPI_INIT() {
|
|
2039
2215
|
NAPI_EXPORT_FUNCTION(db_init);
|
|
2040
2216
|
NAPI_EXPORT_FUNCTION(db_open);
|
|
@@ -2068,4 +2244,6 @@ NAPI_INIT() {
|
|
|
2068
2244
|
NAPI_EXPORT_FUNCTION(batch_merge);
|
|
2069
2245
|
NAPI_EXPORT_FUNCTION(batch_count);
|
|
2070
2246
|
NAPI_EXPORT_FUNCTION(batch_iterate);
|
|
2247
|
+
NAPI_EXPORT_FUNCTION(db_open_for_read_only);
|
|
2248
|
+
NAPI_EXPORT_FUNCTION(db_compact_range);
|
|
2071
2249
|
}
|
package/binding.gyp
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"/usr/lib/x86_64-linux-gnu/include",
|
|
17
17
|
"/usr/lib/include",
|
|
18
18
|
],
|
|
19
|
-
"cflags": ["-march=
|
|
20
|
-
"
|
|
19
|
+
"cflags": ["-march=znver1"],
|
|
20
|
+
"ccflags": ["-flto", '-march=znver1'],
|
|
21
21
|
"cflags!": ["-fno-exceptions"],
|
|
22
22
|
"cflags_cc!": ["-fno-exceptions"],
|
|
23
23
|
"ldflags": ["-flto", "-fuse-linker-plugin"],
|
|
@@ -214,6 +214,7 @@ cpp_library_wrapper(name="rocksdb_lib", srcs=[
|
|
|
214
214
|
"table/cuckoo/cuckoo_table_builder.cc",
|
|
215
215
|
"table/cuckoo/cuckoo_table_factory.cc",
|
|
216
216
|
"table/cuckoo/cuckoo_table_reader.cc",
|
|
217
|
+
"table/external_table.cc",
|
|
217
218
|
"table/format.cc",
|
|
218
219
|
"table/get_context.cc",
|
|
219
220
|
"table/iterator.cc",
|
|
@@ -248,6 +249,7 @@ cpp_library_wrapper(name="rocksdb_lib", srcs=[
|
|
|
248
249
|
"trace_replay/trace_record_result.cc",
|
|
249
250
|
"trace_replay/trace_replay.cc",
|
|
250
251
|
"util/async_file_reader.cc",
|
|
252
|
+
"util/auto_skip_compressor.cc",
|
|
251
253
|
"util/build_version.cc",
|
|
252
254
|
"util/cleanable.cc",
|
|
253
255
|
"util/coding.cc",
|
|
@@ -266,6 +268,7 @@ cpp_library_wrapper(name="rocksdb_lib", srcs=[
|
|
|
266
268
|
"util/random.cc",
|
|
267
269
|
"util/rate_limiter.cc",
|
|
268
270
|
"util/ribbon_config.cc",
|
|
271
|
+
"util/simple_mixed_compressor.cc",
|
|
269
272
|
"util/slice.cc",
|
|
270
273
|
"util/status.cc",
|
|
271
274
|
"util/stderr_logger.cc",
|
|
@@ -317,6 +320,8 @@ cpp_library_wrapper(name="rocksdb_lib", srcs=[
|
|
|
317
320
|
"utilities/persistent_cache/block_cache_tier_metadata.cc",
|
|
318
321
|
"utilities/persistent_cache/persistent_cache_tier.cc",
|
|
319
322
|
"utilities/persistent_cache/volatile_tier_impl.cc",
|
|
323
|
+
"utilities/secondary_index/secondary_index_iterator.cc",
|
|
324
|
+
"utilities/secondary_index/simple_secondary_index.cc",
|
|
320
325
|
"utilities/simulator_cache/cache_simulator.cc",
|
|
321
326
|
"utilities/simulator_cache/sim_cache.cc",
|
|
322
327
|
"utilities/table_properties_collectors/compact_for_tiering_collector.cc",
|
|
@@ -406,6 +411,7 @@ cpp_library_wrapper(name="rocksdb_tools_lib", srcs=[
|
|
|
406
411
|
"tools/block_cache_analyzer/block_cache_trace_analyzer.cc",
|
|
407
412
|
"tools/db_bench_tool.cc",
|
|
408
413
|
"tools/simulated_hybrid_file_system.cc",
|
|
414
|
+
"tools/tool_hooks.cc",
|
|
409
415
|
"tools/trace_analyzer_tool.cc",
|
|
410
416
|
], deps=[":rocksdb_lib"], headers=[], link_whole=False, extra_test_libs=False)
|
|
411
417
|
|
|
@@ -4705,6 +4711,12 @@ cpp_unittest_wrapper(name="compressed_secondary_cache_test",
|
|
|
4705
4711
|
extra_compiler_flags=[])
|
|
4706
4712
|
|
|
4707
4713
|
|
|
4714
|
+
cpp_unittest_wrapper(name="compression_test",
|
|
4715
|
+
srcs=["util/compression_test.cc"],
|
|
4716
|
+
deps=[":rocksdb_test_lib"],
|
|
4717
|
+
extra_compiler_flags=[])
|
|
4718
|
+
|
|
4719
|
+
|
|
4708
4720
|
cpp_unittest_wrapper(name="configurable_test",
|
|
4709
4721
|
srcs=["options/configurable_test.cc"],
|
|
4710
4722
|
deps=[":rocksdb_test_lib"],
|
|
@@ -835,6 +835,7 @@ set(SOURCES
|
|
|
835
835
|
table/cuckoo/cuckoo_table_builder.cc
|
|
836
836
|
table/cuckoo/cuckoo_table_factory.cc
|
|
837
837
|
table/cuckoo/cuckoo_table_reader.cc
|
|
838
|
+
table/external_table.cc
|
|
838
839
|
table/format.cc
|
|
839
840
|
table/get_context.cc
|
|
840
841
|
table/iterator.cc
|
|
@@ -873,11 +874,13 @@ set(SOURCES
|
|
|
873
874
|
trace_replay/trace_record.cc
|
|
874
875
|
trace_replay/trace_replay.cc
|
|
875
876
|
util/async_file_reader.cc
|
|
877
|
+
util/auto_skip_compressor.cc
|
|
876
878
|
util/cleanable.cc
|
|
877
879
|
util/coding.cc
|
|
878
880
|
util/compaction_job_stats_impl.cc
|
|
879
881
|
util/comparator.cc
|
|
880
882
|
util/compression.cc
|
|
883
|
+
util/simple_mixed_compressor.cc
|
|
881
884
|
util/compression_context_cache.cc
|
|
882
885
|
util/concurrent_task_limiter_impl.cc
|
|
883
886
|
util/crc32c.cc
|
|
@@ -939,6 +942,8 @@ set(SOURCES
|
|
|
939
942
|
utilities/persistent_cache/block_cache_tier_metadata.cc
|
|
940
943
|
utilities/persistent_cache/persistent_cache_tier.cc
|
|
941
944
|
utilities/persistent_cache/volatile_tier_impl.cc
|
|
945
|
+
utilities/secondary_index/secondary_index_iterator.cc
|
|
946
|
+
utilities/secondary_index/simple_secondary_index.cc
|
|
942
947
|
utilities/simulator_cache/cache_simulator.cc
|
|
943
948
|
utilities/simulator_cache/sim_cache.cc
|
|
944
949
|
utilities/table_properties_collectors/compact_for_tiering_collector.cc
|
|
@@ -1453,6 +1458,7 @@ if(WITH_TESTS)
|
|
|
1453
1458
|
util/autovector_test.cc
|
|
1454
1459
|
util/bloom_test.cc
|
|
1455
1460
|
util/coding_test.cc
|
|
1461
|
+
util/compression_test.cc
|
|
1456
1462
|
util/crc32c_test.cc
|
|
1457
1463
|
util/defer_test.cc
|
|
1458
1464
|
util/dynamic_bloom_test.cc
|
|
@@ -1571,6 +1577,7 @@ if(WITH_BENCHMARK_TOOLS)
|
|
|
1571
1577
|
add_executable(db_bench${ARTIFACT_SUFFIX}
|
|
1572
1578
|
tools/simulated_hybrid_file_system.cc
|
|
1573
1579
|
tools/db_bench.cc
|
|
1580
|
+
tools/tool_hooks.cc
|
|
1574
1581
|
tools/db_bench_tool.cc)
|
|
1575
1582
|
target_link_libraries(db_bench${ARTIFACT_SUFFIX}
|
|
1576
1583
|
${ROCKSDB_LIB} ${THIRDPARTY_LIBS})
|
|
@@ -1491,6 +1491,9 @@ db_test: $(OBJ_DIR)/db/db_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
|
1491
1491
|
db_test2: $(OBJ_DIR)/db/db_test2.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1492
1492
|
$(AM_LINK)
|
|
1493
1493
|
|
|
1494
|
+
compression_test: $(OBJ_DIR)/util/compression_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1495
|
+
$(AM_LINK)
|
|
1496
|
+
|
|
1494
1497
|
db_logical_block_size_cache_test: $(OBJ_DIR)/db/db_logical_block_size_cache_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1495
1498
|
$(AM_LINK)
|
|
1496
1499
|
|
|
@@ -2144,14 +2147,14 @@ ZLIB_DOWNLOAD_BASE ?= http://zlib.net
|
|
|
2144
2147
|
BZIP2_VER ?= 1.0.8
|
|
2145
2148
|
BZIP2_SHA256 ?= ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269
|
|
2146
2149
|
BZIP2_DOWNLOAD_BASE ?= http://sourceware.org/pub/bzip2
|
|
2147
|
-
SNAPPY_VER ?= 1.2.
|
|
2148
|
-
SNAPPY_SHA256 ?=
|
|
2150
|
+
SNAPPY_VER ?= 1.2.2
|
|
2151
|
+
SNAPPY_SHA256 ?= 90f74bc1fbf78a6c56b3c4a082a05103b3a56bb17bca1a27e052ea11723292dc
|
|
2149
2152
|
SNAPPY_DOWNLOAD_BASE ?= https://github.com/google/snappy/archive
|
|
2150
|
-
LZ4_VER ?= 1.
|
|
2151
|
-
LZ4_SHA256 ?=
|
|
2153
|
+
LZ4_VER ?= 1.10.0
|
|
2154
|
+
LZ4_SHA256 ?= 537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b
|
|
2152
2155
|
LZ4_DOWNLOAD_BASE ?= https://github.com/lz4/lz4/archive
|
|
2153
|
-
ZSTD_VER ?= 1.5.
|
|
2154
|
-
ZSTD_SHA256 ?=
|
|
2156
|
+
ZSTD_VER ?= 1.5.7
|
|
2157
|
+
ZSTD_SHA256 ?= 37d7284556b20954e56e1ca85b80226768902e2edabd3b649e9e72c0c9012ee3
|
|
2155
2158
|
ZSTD_DOWNLOAD_BASE ?= https://github.com/facebook/zstd/archive
|
|
2156
2159
|
CURL_SSL_OPTS ?= --tlsv1
|
|
2157
2160
|
|
|
@@ -2372,27 +2375,27 @@ rocksdbjavastaticreleasedocker: rocksdbjavastaticosx rocksdbjavastaticdockerx86
|
|
|
2372
2375
|
|
|
2373
2376
|
rocksdbjavastaticdockerx86:
|
|
2374
2377
|
mkdir -p java/target
|
|
2375
|
-
docker run --rm --name rocksdb_linux_x86-be --platform linux/386 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:
|
|
2378
|
+
docker run --rm --name rocksdb_linux_x86-be --platform linux/386 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_x86-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2376
2379
|
|
|
2377
2380
|
rocksdbjavastaticdockerx86_64:
|
|
2378
2381
|
mkdir -p java/target
|
|
2379
|
-
docker run --rm --name rocksdb_linux_x64-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:
|
|
2382
|
+
docker run --rm --name rocksdb_linux_x64-be --platform linux/amd64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_x64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2380
2383
|
|
|
2381
2384
|
rocksdbjavastaticdockerppc64le:
|
|
2382
2385
|
mkdir -p java/target
|
|
2383
|
-
docker run --rm --name rocksdb_linux_ppc64le-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2386
|
+
docker run --rm --name rocksdb_linux_ppc64le-be --platform linux/ppc64le --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2384
2387
|
|
|
2385
2388
|
rocksdbjavastaticdockerarm64v8:
|
|
2386
2389
|
mkdir -p java/target
|
|
2387
|
-
docker run --rm --name rocksdb_linux_arm64v8-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2390
|
+
docker run --rm --name rocksdb_linux_arm64v8-be --platform linux/aarch64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:centos7_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2388
2391
|
|
|
2389
2392
|
rocksdbjavastaticdockers390x:
|
|
2390
2393
|
mkdir -p java/target
|
|
2391
|
-
docker run --rm --name rocksdb_linux_s390x-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu18_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2394
|
+
docker run --rm --name rocksdb_linux_s390x-be --platform linux/s390x --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu18_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2392
2395
|
|
|
2393
2396
|
rocksdbjavastaticdockerriscv64:
|
|
2394
2397
|
mkdir -p java/target
|
|
2395
|
-
docker run --rm --name rocksdb_linux_riscv64-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu20_riscv64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2398
|
+
docker run --rm --name rocksdb_linux_riscv64-be --platform linux/riscv64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:ubuntu20_riscv64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2396
2399
|
|
|
2397
2400
|
rocksdbjavastaticdockerx86musl:
|
|
2398
2401
|
mkdir -p java/target
|
|
@@ -2400,19 +2403,19 @@ rocksdbjavastaticdockerx86musl:
|
|
|
2400
2403
|
|
|
2401
2404
|
rocksdbjavastaticdockerx86_64musl:
|
|
2402
2405
|
mkdir -p java/target
|
|
2403
|
-
docker run --rm --name rocksdb_linux_x64-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_x64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2406
|
+
docker run --rm --name rocksdb_linux_x64-musl-be --platform linux/amd64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_x64-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2404
2407
|
|
|
2405
2408
|
rocksdbjavastaticdockerppc64lemusl:
|
|
2406
2409
|
mkdir -p java/target
|
|
2407
|
-
docker run --rm --name rocksdb_linux_ppc64le-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2410
|
+
docker run --rm --name rocksdb_linux_ppc64le-musl-be --platform linux/ppc64le --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_ppc64le-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2408
2411
|
|
|
2409
2412
|
rocksdbjavastaticdockerarm64v8musl:
|
|
2410
2413
|
mkdir -p java/target
|
|
2411
|
-
docker run --rm --name rocksdb_linux_arm64v8-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2414
|
+
docker run --rm --name rocksdb_linux_arm64v8-musl-be --platform linux/aarch64 --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_arm64v8-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2412
2415
|
|
|
2413
2416
|
rocksdbjavastaticdockers390xmusl:
|
|
2414
2417
|
mkdir -p java/target
|
|
2415
|
-
docker run --rm --name rocksdb_linux_s390x-musl-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2418
|
+
docker run --rm --name rocksdb_linux_s390x-musl-be --platform linux/s390x --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) --env J=$(J) evolvedbinary/rocksjava:alpine3_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux.sh
|
|
2416
2419
|
|
|
2417
2420
|
rocksdbjavastaticpublish: rocksdbjavastaticrelease rocksdbjavastaticpublishcentral
|
|
2418
2421
|
|
|
@@ -2467,8 +2470,8 @@ jtest_run:
|
|
|
2467
2470
|
jtest: rocksdbjava
|
|
2468
2471
|
cd java;$(MAKE) sample test
|
|
2469
2472
|
|
|
2470
|
-
jpmd:
|
|
2471
|
-
cd java;$(MAKE) pmd
|
|
2473
|
+
jpmd: rocksdbjavageneratepom
|
|
2474
|
+
cd java;$(MAKE) java java_test pmd
|
|
2472
2475
|
|
|
2473
2476
|
jdb_bench:
|
|
2474
2477
|
cd java;$(MAKE) db_bench;
|
|
@@ -2489,11 +2492,13 @@ checkout_folly:
|
|
|
2489
2492
|
fi
|
|
2490
2493
|
@# Pin to a particular version for public CI, so that PR authors don't
|
|
2491
2494
|
@# need to worry about folly breaking our integration. Update periodically
|
|
2492
|
-
cd third-party/folly && git reset --hard
|
|
2493
|
-
@#
|
|
2494
|
-
perl -pi -e 's/
|
|
2495
|
-
@#
|
|
2496
|
-
perl -pi -e 's/(
|
|
2495
|
+
cd third-party/folly && git reset --hard d17bf897cb5bbf8f07b122a614e8cffdc38edcde
|
|
2496
|
+
@# Apparently missing include
|
|
2497
|
+
perl -pi -e 's/(#include <atomic>)/$$1\n#include <cstring>/' third-party/folly/folly/lang/Exception.h
|
|
2498
|
+
@# Warning-as-error on memcpy
|
|
2499
|
+
perl -pi -e 's/memcpy.&ptr/memcpy((void*)&ptr/' third-party/folly/folly/lang/Exception.cpp
|
|
2500
|
+
@# const mismatch
|
|
2501
|
+
perl -pi -e 's/: environ/: (const char**)(environ)/' third-party/folly/folly/Subprocess.cpp
|
|
2497
2502
|
@# NOTE: boost source will be needed for any build including `USE_FOLLY_LITE` builds as those depend on boost headers
|
|
2498
2503
|
cd third-party/folly && $(PYTHON) build/fbcode_builder/getdeps.py fetch boost
|
|
2499
2504
|
|