1
0
mirror of https://github.com/facebook/rocksdb.git synced 2026-10-23 08:09:02 +03:00
Files
rocksdb/c_api_gen/c_generated_option_structs_auto.h.inc
zaidoon 553b52b4a7 Wire IndexFactory through block-based tables (#14963)
Summary:
Build block-based table indexes through `IndexFactory`, with modes for writing both indexes or only the custom index and a per-read index selector. Built-in reads retain their existing cache and prefetch paths.

The review fixes preserve the existing UDI behavior at the migration and rollback boundaries:

- Reopening an SST with index caching enabled reuses the serialized custom block. Each table reader constructs its own factory reader over those bytes and passes `NewReader()` a `Slice` view stored in the table reader. That view stays valid for the reader's lifetime, so a legacy reader can advance it or keep a pointer to it without changing the cached block. The view and the raw block are destroyed after the custom reader.
- `IndexFactoryReader::ApproximateMemoryUsage()` keeps its documented meaning: the reader's own allocations, excluding the serialized block. `MemoryUsageIncludesIndexBlock()` defaults to false. A reader whose estimate includes the block opts in, and the wrapper subtracts the block size from that estimate.
- Copying factory options and clearing a legacy UDI flag now rolls back that flag's policy. Legacy-derived options keep the requested default and resolve their effective mode without changing the inputs. Explicit factory modes retain precedence through cloning, failed updates, reconstruction, and the C API, including an explicitly selected `kStandardDefault`.
- OK empty custom-index output still produces a zero-size meta block and reads through the full standard index. This covers point data and files containing only range tombstones. Custom-only mode rejects empty output because it has no standard fallback.
- Default primary reads retain the table factory's precedence over a legacy per-read factory pointer. Explicit `kPreferCustom` still checks a supplied factory name; `kBuiltin` ignores that pointer.
- OPTIONS files write equivalent legacy booleans for `kStandardDefault`, `kStandardRequired`, and `kCustomDefault`. Older releases retain those policies when loading newer files with `ignore_unknown_options=true`; the explicit-mode marker remains authoritative for current readers.

Custom-only SSTs carry a footer feature bit so older readers reject them. Reject unsupported filter/index combinations before constructing filters. Trie size estimates account for shared prefixes, and block offsets or sizes beyond the 32-bit format limit return `NotSupported` instead of truncating.

## Safety and compatibility

- Custom-only files require format version 6 or later and the factory. Rewrite every custom-only SST with a full standard index before removing the factory or downgrading. The other modes have no equivalent legacy configuration beyond the three listed above.
- A raw C++ options struct cannot distinguish an explicitly assigned `kStandardDefault` from its default value. Configure the factory to make that choice explicit. `GetEffectiveIndexMode()` reports the resolved policy while preserving legacy inputs for copy-and-clear rollback.
- A custom factory with user-defined timestamps is rejected in every mode except `kStandardOnly`, which ignores the factory.
- Trie construction rejects a data-block offset or size greater than `UINT32_MAX`, including in `kStandardDefault`. That can fail flush, compaction, or `SstFileWriter::Finish()`; total SST size above 4 GiB alone is not the rejection condition. File-size targets do not split L0 or `SstFileWriter` outputs.
- Custom-index cache hits, misses, and adds are reported under `BLOCK_CACHE_INDEX_*` instead of `BLOCK_CACHE_DATA_*`. The existing cache setting still controls ownership and cache use.
- A table reader now charges a custom index block it owns (`cache_index_and_filter_blocks=false`); before, that block was not charged anywhere. Cached blocks are still charged only to the block cache. A reader whose `ApproximateMemoryUsage()` includes the serialized block, such as IntegerTrie or TimeSeries, must override `MemoryUsageIncludesIndexBlock()` to return true, or that block is charged twice.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/14963

Test Plan:
For this commit, on macOS: `table_test`, `trie_index_test`, `trie_index_db_test`, and `block_based_table_reader_test` pass on the full stack (11,416 cases), and the full `table_test` passes at this PR's head alone (6,969 cases). The four custom-reader compatibility tests pass 100 times with `ASSERT_STATUS_CHECKED=1` and `COERCE_CONTEXT_SWITCH=1`, and 84 UDI table cases pass under ASAN with stack-use-after-return detection. Release-mode syntax checks with `-DNDEBUG -fno-rtti` on the changed sources, source checks, formatting checks, and `git diff --check` pass.

Two new regressions cover the latest review, and both were checked failing before the fix:

- `RetainedReaderSliceOutlivesTableOpen`: a reader keeps a pointer to the `Slice` it received, the stack is overwritten after open, and the reader then serves a seek and a full scan. It covers all three custom-index modes with owned and cached blocks, including a cached reopen. Without the fix, the retained `Slice` no longer matched the block.
- `AuxiliaryReaderMemoryIsFullyCharged`: a reader that implements only the older reader methods reports a fixed allocation of half and twice the raw block size. Table usage must grow by that amount with owned and cached blocks, and a strict cache sized just below the required reservation must reject the open with `MemoryLimit`. Without the fix, usage fell short by `min(allocation, raw block size)` and the strict-cache open succeeded.

The consuming-reader and strict-cache accounting tests are kept, now on shared helpers.

From the previous revision: 498 focused C++ cases passed (82 table/factory, 156 trie, and 260 trie DB), along with the C API test and generated C API verification. Coverage includes both comparators, copied-options rollback, C factory reconstruction, explicit modes, OPTIONS serialization, SST Get/iteration, point and range-only flushes, compaction, reopen, cache disabled/enabled/evicted, and legacy factory precedence. The rollback, empty-output, primary-selector, and OPTIONS regressions were checked failing before their fixes. The cache test measures file reads at the custom block's actual offset: one on a cold open, zero on cached reopens, and one after eviction or with caching disabled. Disabling custom-block cache reuse makes that assertion fail.

The full suite and Linux/Windows/TSAN coverage are left to CI. Earlier full-suite runs had failures/timeouts (173/2095 jobs normally and 152/2088 with Status checking); that broad suite was not rerun for this commit.

## Series

Previous: https://github.com/facebook/rocksdb/issues/14962 (landed through import). Next: https://github.com/facebook/rocksdb/issues/14965.

Reviewed By: jaykorean

Differential Revision: D122796629

Pulled By: xingbowang

fbshipit-source-id: 4c9d6f3f548c588a37b08fd94de25e8c0b5ef743
2026-10-21 20:20:38 -07:00

1761 lines
64 KiB
C++

// Copyright (c) Meta Platforms, Inc. and affiliates.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
// @generated
// -----------------------------------------------------------------------------
// Auto-generated by tools/c_api_gen/auto_simple_bindings.py.
// DO NOT EDIT THIS FILE DIRECTLY.
// Sources:
// - include/rocksdb/advanced_options.h
// - include/rocksdb/block_cache_trace_writer.h
// - include/rocksdb/env.h
// - include/rocksdb/metadata.h
// - include/rocksdb/options.h
// - include/rocksdb/table.h
// - include/rocksdb/universal_compaction.h
// - include/rocksdb/utilities/backup_engine.h
// - include/rocksdb/utilities/optimistic_transaction_db.h
// - include/rocksdb/utilities/transaction_db.h
// - tools/c_api_gen/auto_simple_bindings_blocklist.json
// - include/rocksdb/c.h
// - tools/c_api_gen/c_base.cc
// -----------------------------------------------------------------------------
// To regenerate this file:
// python3 tools/c_api_gen/auto_simple_bindings.py
// Output group: Auto-discovered option structs simple
/* DBOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_flush_verify_memtable_count(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_flush_verify_memtable_count(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_compaction_verify_record_count(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_compaction_verify_record_count(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_track_and_verify_wals(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_track_and_verify_wals(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_verify_sst_unique_id_in_manifest(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_verify_sst_unique_id_in_manifest(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_read_io_executor_threads(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_read_io_executor_threads(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API const char* rocksdb_options_get_db_log_dir(
rocksdb_options_t* opt, size_t* size);
extern ROCKSDB_LIBRARY_API const char* rocksdb_options_get_wal_dir(
rocksdb_options_t* opt, size_t* size);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_async_wal_precreate(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_async_wal_precreate(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_verify_manifest_content_on_close(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_verify_manifest_content_on_close(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_optimize_manifest_for_recovery(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_optimize_manifest_for_recovery(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_reuse_manifest_on_open(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_reuse_manifest_on_open(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_manifest_space_amp_pct(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_max_manifest_space_amp_pct(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_use_direct_io_for_compaction_reads(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_use_direct_io_for_compaction_reads(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_allow_fallocate(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_allow_fallocate(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_persist_stats_to_disk(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_persist_stats_to_disk(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_stats_history_buffer_size(
rocksdb_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_options_get_stats_history_buffer_size(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_strict_bytes_per_sync(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_strict_bytes_per_sync(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_enable_thread_tracking(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enable_thread_tracking(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_delayed_write_rate(
rocksdb_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_delayed_write_rate(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_max_write_batch_group_size_bytes(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_max_write_batch_group_size_bytes(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_write_thread_max_yield_usec(
rocksdb_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_write_thread_max_yield_usec(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_write_thread_slow_yield_usec(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_write_thread_slow_yield_usec(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_allow_2pc(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_allow_2pc(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_dump_malloc_stats(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_avoid_flush_during_recovery(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_avoid_flush_during_recovery(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_enforce_write_buffer_manager_during_recovery(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enforce_write_buffer_manager_during_recovery(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_avoid_flush_during_shutdown(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_avoid_flush_during_shutdown(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_two_write_queues(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_two_write_queues(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_background_close_inactive_wals(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_background_close_inactive_wals(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_track_options_file_number_in_manifest(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_track_options_file_number_in_manifest(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_prefix_seek_opt_in_only(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_prefix_seek_opt_in_only(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_log_readahead_size(
rocksdb_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_options_get_log_readahead_size(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_best_efforts_recovery(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_best_efforts_recovery(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_bgerror_resume_count(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_max_bgerror_resume_count(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_bgerror_resume_retry_interval(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_bgerror_resume_retry_interval(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_allow_data_in_errors(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_allow_data_in_errors(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_db_host_id(
rocksdb_options_t* opt, const char* v);
extern ROCKSDB_LIBRARY_API const char* rocksdb_options_get_db_host_id(
rocksdb_options_t* opt, size_t* size);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_remote_compaction_manifest_floor(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_remote_compaction_manifest_floor(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_use_session_tmp_dir_for_remote_compaction(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_use_session_tmp_dir_for_remote_compaction(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_lowest_used_cache_tier(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_lowest_used_cache_tier(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_enforce_single_del_contracts(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enforce_single_del_contracts(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_daily_offpeak_time_utc(
rocksdb_options_t* opt, const char* v);
extern ROCKSDB_LIBRARY_API const char*
rocksdb_options_get_daily_offpeak_time_utc(rocksdb_options_t* opt,
size_t* size);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_periodic_compaction_phase_recovery_percent(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_options_get_periodic_compaction_phase_recovery_percent(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_follower_refresh_catchup_period_ms(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_follower_refresh_catchup_period_ms(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_follower_catchup_retry_count(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_follower_catchup_retry_count(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_follower_catchup_retry_wait_ms(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_follower_catchup_retry_wait_ms(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_metadata_write_temperature(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_metadata_write_temperature(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_write_temperature(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_wal_write_temperature(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_fast_sst_open(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_fast_sst_open(
rocksdb_options_t* opt);
/* AdvancedColumnFamilyOptions */
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_memtable_whole_key_filtering(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_target_file_size_is_upper_bound(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_target_file_size_is_upper_bound(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_strict_max_successive_merges(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_strict_max_successive_merges(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_paranoid_file_checks(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_paranoid_file_checks(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_verify_output_flags(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_verify_output_flags(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_force_consistency_checks(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_force_consistency_checks(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_disallow_memtable_writes(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_disallow_memtable_writes(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_sample_for_compression(
rocksdb_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_sample_for_compression(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_last_level_temperature(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_last_level_temperature(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_default_write_temperature(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_default_write_temperature(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_default_temperature(
rocksdb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_default_temperature(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_preclude_last_level_data_seconds(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_preclude_last_level_data_seconds(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_preserve_internal_time_seconds(rocksdb_options_t* opt,
uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_preserve_internal_time_seconds(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_blob_file_writable_file_max_buffer_size(
rocksdb_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_blob_file_writable_file_max_buffer_size(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_enable_blob_direct_write(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enable_blob_direct_write(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_blob_direct_write_partitions(rocksdb_options_t* opt,
uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_blob_direct_write_partitions(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_protection_bytes_per_key(rocksdb_options_t* opt,
uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_memtable_protection_bytes_per_key(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_persist_user_defined_timestamps(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_persist_user_defined_timestamps(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_block_protection_bytes_per_key(rocksdb_options_t* opt,
uint8_t v);
extern ROCKSDB_LIBRARY_API uint8_t
rocksdb_options_get_block_protection_bytes_per_key(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_bottommost_file_compaction_delay(rocksdb_options_t* opt,
uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_bottommost_file_compaction_delay(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_paranoid_memory_checks(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_paranoid_memory_checks(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_verify_per_key_checksum_on_seek(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_memtable_verify_per_key_checksum_on_seek(
rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_cf_allow_ingest_behind(
rocksdb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_cf_allow_ingest_behind(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_batch_lookup_optimization(rocksdb_options_t* opt,
unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_memtable_batch_lookup_optimization(rocksdb_options_t* opt);
/* ColumnFamilyOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_max_range_deletions(rocksdb_options_t* opt,
uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_memtable_max_range_deletions(rocksdb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_uncache_aggressiveness(
rocksdb_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_uncache_aggressiveness(rocksdb_options_t* opt);
/* WriteOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_sync(
rocksdb_writeoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_sync(
rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_disable_WAL(
rocksdb_writeoptions_t* opt, int v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_disable_WAL(
rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_writeoptions_set_ignore_missing_column_families(
rocksdb_writeoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_writeoptions_get_ignore_missing_column_families(
rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_no_slowdown(
rocksdb_writeoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_no_slowdown(
rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_low_pri(
rocksdb_writeoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_low_pri(
rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_writeoptions_set_memtable_insert_hint_per_batch(
rocksdb_writeoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_writeoptions_get_memtable_insert_hint_per_batch(
rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_rate_limiter_priority(
rocksdb_writeoptions_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_writeoptions_get_rate_limiter_priority(
rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_writeoptions_set_protection_bytes_per_key(rocksdb_writeoptions_t* opt,
size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_writeoptions_get_protection_bytes_per_key(rocksdb_writeoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_io_activity(
rocksdb_writeoptions_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_writeoptions_get_io_activity(
rocksdb_writeoptions_t* opt);
/* FlushOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_wait(
rocksdb_flushoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushoptions_get_wait(
rocksdb_flushoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_allow_write_stall(
rocksdb_flushoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_flushoptions_get_allow_write_stall(rocksdb_flushoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_force_atomic_flush(
rocksdb_flushoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_flushoptions_get_force_atomic_flush(rocksdb_flushoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_listener_wait(
rocksdb_flushoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushoptions_get_listener_wait(
rocksdb_flushoptions_t* opt);
/* FlushWALOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_flushwaloptions_set_sync(
rocksdb_flushwaloptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushwaloptions_get_sync(
rocksdb_flushwaloptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_flushwaloptions_set_rate_limiter_priority(
rocksdb_flushwaloptions_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_flushwaloptions_get_rate_limiter_priority(
rocksdb_flushwaloptions_t* opt);
/* EnvOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_mmap_reads(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_use_mmap_reads(
rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_mmap_writes(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_use_mmap_writes(
rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_direct_reads(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_use_direct_reads(rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_direct_writes(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_use_direct_writes(rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_allow_fallocate(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_allow_fallocate(
rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_fd_cloexec(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_fd_cloexec(
rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_bytes_per_sync(
rocksdb_envoptions_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_envoptions_get_bytes_per_sync(rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_strict_bytes_per_sync(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_strict_bytes_per_sync(rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_fallocate_with_keep_size(
rocksdb_envoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_fallocate_with_keep_size(rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_envoptions_set_compaction_readahead_size(rocksdb_envoptions_t* opt,
size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_envoptions_get_compaction_readahead_size(rocksdb_envoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_envoptions_set_writable_file_max_buffer_size(rocksdb_envoptions_t* opt,
size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_envoptions_get_writable_file_max_buffer_size(rocksdb_envoptions_t* opt);
/* TraceOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_max_trace_file_size(
rocksdb_trace_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_trace_options_get_max_trace_file_size(rocksdb_trace_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_sampling_frequency(
rocksdb_trace_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_trace_options_get_sampling_frequency(rocksdb_trace_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_filter(
rocksdb_trace_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_trace_options_get_filter(rocksdb_trace_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_preserve_write_order(
rocksdb_trace_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_trace_options_get_preserve_write_order(rocksdb_trace_options_t* opt);
/* BlockCacheTraceOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_block_cache_trace_options_set_sampling_frequency(
rocksdb_block_cache_trace_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_cache_trace_options_get_sampling_frequency(
rocksdb_block_cache_trace_options_t* opt);
/* BlockCacheTraceWriterOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_block_cache_trace_writer_options_set_max_trace_file_size(
rocksdb_block_cache_trace_writer_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_cache_trace_writer_options_get_max_trace_file_size(
rocksdb_block_cache_trace_writer_options_t* opt);
/* CompactionOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_compaction_options_set_compression(
rocksdb_compaction_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_compaction_options_get_compression(
rocksdb_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_output_file_size_limit(
rocksdb_compaction_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_compaction_options_get_output_file_size_limit(
rocksdb_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_max_subcompactions(
rocksdb_compaction_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_compaction_options_get_max_subcompactions(
rocksdb_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_output_temperature_override(
rocksdb_compaction_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_compaction_options_get_output_temperature_override(
rocksdb_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_allow_trivial_move(
rocksdb_compaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_compaction_options_get_allow_trivial_move(
rocksdb_compaction_options_t* opt);
/* CompactRangeOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_compactoptions_set_blob_garbage_collection_policy(
rocksdb_compactoptions_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_compactoptions_get_blob_garbage_collection_policy(
rocksdb_compactoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_compactoptions_set_blob_garbage_collection_age_cutoff(
rocksdb_compactoptions_t* opt, double v);
extern ROCKSDB_LIBRARY_API double
rocksdb_compactoptions_get_blob_garbage_collection_age_cutoff(
rocksdb_compactoptions_t* opt);
/* IngestExternalFileOptions */
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_move_files(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_link_files(
rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_link_files(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_failed_move_fall_back_to_copy(
rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_failed_move_fall_back_to_copy(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_snapshot_consistency(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_allow_global_seqno(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_allow_blocking_flush(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_ingest_behind(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_verify_checksums_before_ingest(
rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_verify_checksums_before_ingest(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_verify_checksums_readahead_size(
rocksdb_ingestexternalfileoptions_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_ingestexternalfileoptions_get_verify_checksums_readahead_size(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_verify_file_checksum(
rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_verify_file_checksum(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_fail_if_not_bottommost_level(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_allow_db_generated_files(
rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_allow_db_generated_files(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_fill_cache(
rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_fill_cache(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_prefetch_lmax_index_and_filter_blocks(
rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_prefetch_lmax_index_and_filter_blocks(
rocksdb_ingestexternalfileoptions_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_file_opening_threads(
rocksdb_ingestexternalfileoptions_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_ingestexternalfileoptions_get_file_opening_threads(
rocksdb_ingestexternalfileoptions_t* opt);
/* OpenAndCompactOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_open_and_compact_options_set_max_secondary_open_retries(
rocksdb_open_and_compact_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_open_and_compact_options_get_max_secondary_open_retries(
rocksdb_open_and_compact_options_t* opt);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_open_and_compact_options_get_allow_resumption(
rocksdb_open_and_compact_options_t* opt);
/* ImportColumnFamilyOptions */
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_import_column_family_options_get_move_files(
rocksdb_import_column_family_options_t* opt);
/* SizeApproximationOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_include_memtables(
rocksdb_size_approximation_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_size_approximation_options_get_include_memtables(
rocksdb_size_approximation_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_include_files(
rocksdb_size_approximation_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_size_approximation_options_get_include_files(
rocksdb_size_approximation_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_include_blob_files(
rocksdb_size_approximation_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_size_approximation_options_get_include_blob_files(
rocksdb_size_approximation_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_files_size_error_margin(
rocksdb_size_approximation_options_t* opt, double v);
extern ROCKSDB_LIBRARY_API double
rocksdb_size_approximation_options_get_files_size_error_margin(
rocksdb_size_approximation_options_t* opt);
/* LiveFilesStorageInfoOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_livefiles_storage_info_options_set_include_checksum_info(
rocksdb_livefiles_storage_info_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_livefiles_storage_info_options_get_include_checksum_info(
rocksdb_livefiles_storage_info_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_livefiles_storage_info_options_set_wal_size_for_flush(
rocksdb_livefiles_storage_info_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_livefiles_storage_info_options_get_wal_size_for_flush(
rocksdb_livefiles_storage_info_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_livefiles_storage_info_options_set_atomic_flush(
rocksdb_livefiles_storage_info_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_livefiles_storage_info_options_get_atomic_flush(
rocksdb_livefiles_storage_info_options_t* opt);
/* GetColumnFamilyMetaDataOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_column_family_metadata_options_set_level(
rocksdb_column_family_metadata_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_column_family_metadata_options_get_level(
rocksdb_column_family_metadata_options_t* opt);
/* WaitForCompactOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_wait_for_compact_options_set_wait_for_purge(
rocksdb_wait_for_compact_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_wait_for_compact_options_get_wait_for_purge(
rocksdb_wait_for_compact_options_t* opt);
/* BlockBasedTableOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_cache_index_and_filter_blocks(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_cache_index_and_filter_blocks(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_cache_index_and_filter_blocks_with_high_priority(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_cache_index_and_filter_blocks_with_high_priority(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_pin_l0_filter_and_index_blocks_in_cache(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_pin_l0_filter_and_index_blocks_in_cache(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_pin_top_level_index_and_filter(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_pin_top_level_index_and_filter(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_index_type(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_block_based_options_get_index_type(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_index_block_search_type(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_index_block_search_type(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_data_block_index_type(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_data_block_index_type(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_data_block_hash_table_util_ratio(
rocksdb_block_based_table_options_t* opt, double v);
extern ROCKSDB_LIBRARY_API double
rocksdb_block_based_options_get_data_block_hash_table_util_ratio(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_checksum(
rocksdb_block_based_table_options_t* opt, char v);
extern ROCKSDB_LIBRARY_API int rocksdb_block_based_options_get_checksum(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_no_block_cache(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_no_block_cache(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_block_size(
rocksdb_block_based_table_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API uint64_t rocksdb_block_based_options_get_block_size(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_block_size_deviation(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_block_size_deviation(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_block_restart_interval(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_block_restart_interval(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_index_block_restart_interval(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_index_block_restart_interval(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_metadata_block_size(
rocksdb_block_based_table_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_based_options_get_metadata_block_size(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_partition_filters(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_partition_filters(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_decouple_partitioned_filters(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_decouple_partitioned_filters(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_optimize_filters_for_memory(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_optimize_filters_for_memory(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_use_delta_encoding(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_use_delta_encoding(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_whole_key_filtering(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_whole_key_filtering(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_detect_filter_construct_corruption(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_detect_filter_construct_corruption(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_verify_compression(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_verify_compression(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_read_amp_bytes_per_bit(
rocksdb_block_based_table_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_block_based_options_get_read_amp_bytes_per_bit(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_format_version(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_block_based_options_get_format_version(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_separate_key_value_in_data_block(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_separate_key_value_in_data_block(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_uniform_cv_threshold(
rocksdb_block_based_table_options_t* opt, double v);
extern ROCKSDB_LIBRARY_API double
rocksdb_block_based_options_get_uniform_cv_threshold(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_optimize_key_common_prefix(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_optimize_key_common_prefix(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_enable_index_compression(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_enable_index_compression(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_block_align(
rocksdb_block_based_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_block_align(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_super_block_alignment_size(
rocksdb_block_based_table_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_super_block_alignment_size(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_super_block_alignment_space_overhead_ratio(
rocksdb_block_based_table_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_super_block_alignment_space_overhead_ratio(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_index_shortening(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_block_based_options_get_index_shortening(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_max_auto_readahead_size(
rocksdb_block_based_table_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_max_auto_readahead_size(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_prepopulate_block_cache(
rocksdb_block_based_table_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_prepopulate_block_cache(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_initial_auto_readahead_size(
rocksdb_block_based_table_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_initial_auto_readahead_size(
rocksdb_block_based_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_num_file_reads_for_auto_readahead(
rocksdb_block_based_table_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_based_options_get_num_file_reads_for_auto_readahead(
rocksdb_block_based_table_options_t* opt);
/* CuckooTableOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_hash_table_ratio(
rocksdb_cuckoo_table_options_t* opt, double v);
extern ROCKSDB_LIBRARY_API double rocksdb_cuckoo_options_get_hash_table_ratio(
rocksdb_cuckoo_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_max_search_depth(
rocksdb_cuckoo_table_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t rocksdb_cuckoo_options_get_max_search_depth(
rocksdb_cuckoo_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_cuckoo_block_size(
rocksdb_cuckoo_table_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_cuckoo_options_get_cuckoo_block_size(
rocksdb_cuckoo_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_cuckoo_options_set_identity_as_first_hash(
rocksdb_cuckoo_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_cuckoo_options_get_identity_as_first_hash(
rocksdb_cuckoo_table_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_use_module_hash(
rocksdb_cuckoo_table_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_cuckoo_options_get_use_module_hash(rocksdb_cuckoo_table_options_t* opt);
/* CompactionOptionsUniversal */
extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_max_read_amp(
rocksdb_universal_compaction_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_universal_compaction_options_get_max_read_amp(
rocksdb_universal_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_allow_trivial_move(
rocksdb_universal_compaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_universal_compaction_options_get_allow_trivial_move(
rocksdb_universal_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_incremental(
rocksdb_universal_compaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_universal_compaction_options_get_incremental(
rocksdb_universal_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_reduce_file_locking(
rocksdb_universal_compaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_universal_compaction_options_get_reduce_file_locking(
rocksdb_universal_compaction_options_t* opt);
/* CompactionOptionsFIFO */
extern ROCKSDB_LIBRARY_API void
rocksdb_fifo_compaction_options_set_age_for_warm(
rocksdb_fifo_compaction_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_fifo_compaction_options_get_age_for_warm(
rocksdb_fifo_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_fifo_compaction_options_set_allow_trivial_copy_when_change_temperature(
rocksdb_fifo_compaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_fifo_compaction_options_get_allow_trivial_copy_when_change_temperature(
rocksdb_fifo_compaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_fifo_compaction_options_set_trivial_copy_buffer_size(
rocksdb_fifo_compaction_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_fifo_compaction_options_get_trivial_copy_buffer_size(
rocksdb_fifo_compaction_options_t* opt);
/* BackupEngineOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_io_buffer_size(
rocksdb_backup_engine_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_io_buffer_size(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_backup_rate_limit(
rocksdb_backup_engine_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_backup_rate_limit(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_max_background_operations(
rocksdb_backup_engine_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_backup_engine_options_get_max_background_operations(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_set_backup_dir(
rocksdb_backup_engine_options_t* opt, const char* v);
extern ROCKSDB_LIBRARY_API const char*
rocksdb_backup_engine_options_get_backup_dir(
rocksdb_backup_engine_options_t* opt, size_t* size);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_share_table_files(
rocksdb_backup_engine_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_share_table_files(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_set_sync(
rocksdb_backup_engine_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_backup_engine_options_get_sync(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_destroy_old_data(
rocksdb_backup_engine_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_destroy_old_data(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_backup_log_files(
rocksdb_backup_engine_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_backup_log_files(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_restore_rate_limit(
rocksdb_backup_engine_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_restore_rate_limit(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_share_files_with_checksum(
rocksdb_backup_engine_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_share_files_with_checksum(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_callback_trigger_interval_size(
rocksdb_backup_engine_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_callback_trigger_interval_size(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_max_valid_backups_to_open(
rocksdb_backup_engine_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_backup_engine_options_get_max_valid_backups_to_open(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_share_files_with_checksum_naming(
rocksdb_backup_engine_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_backup_engine_options_get_share_files_with_checksum_naming(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_schema_version(
rocksdb_backup_engine_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_backup_engine_options_get_schema_version(
rocksdb_backup_engine_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_current_temperatures_override_manifest(
rocksdb_backup_engine_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_current_temperatures_override_manifest(
rocksdb_backup_engine_options_t* opt);
/* CreateBackupOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_create_backup_options_set_decrease_background_thread_cpu_priority(
rocksdb_create_backup_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_create_backup_options_get_decrease_background_thread_cpu_priority(
rocksdb_create_backup_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_create_backup_options_set_background_thread_cpu_priority(
rocksdb_create_backup_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_create_backup_options_get_background_thread_cpu_priority(
rocksdb_create_backup_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_create_backup_options_set_flush_before_backup(
rocksdb_create_backup_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_create_backup_options_get_flush_before_backup(
rocksdb_create_backup_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_create_backup_options_set_atomic_flush(
rocksdb_create_backup_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_create_backup_options_get_atomic_flush(
rocksdb_create_backup_options_t* opt);
/* RestoreOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_set_keep_log_files(
rocksdb_restore_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_restore_options_get_keep_log_files(rocksdb_restore_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_set_mode(
rocksdb_restore_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_restore_options_get_mode(
rocksdb_restore_options_t* opt);
/* TransactionDBOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_options_set_max_num_locks(
rocksdb_transactiondb_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_max_num_locks(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_max_num_deadlocks(
rocksdb_transactiondb_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_transactiondb_options_get_max_num_deadlocks(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_options_set_num_stripes(
rocksdb_transactiondb_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t rocksdb_transactiondb_options_get_num_stripes(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_transaction_lock_timeout(
rocksdb_transactiondb_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_transaction_lock_timeout(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_default_lock_timeout(
rocksdb_transactiondb_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_default_lock_timeout(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_options_set_write_policy(
rocksdb_transactiondb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int rocksdb_transactiondb_options_get_write_policy(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_rollback_merge_operands(
rocksdb_transactiondb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_rollback_merge_operands(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_use_per_key_point_lock_mgr(
rocksdb_transactiondb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_use_per_key_point_lock_mgr(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_skip_concurrency_control(
rocksdb_transactiondb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_skip_concurrency_control(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_default_write_batch_flush_threshold(
rocksdb_transactiondb_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_default_write_batch_flush_threshold(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_enable_udt_validation(
rocksdb_transactiondb_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_enable_udt_validation(
rocksdb_transactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_txn_commit_bypass_memtable_threshold(
rocksdb_transactiondb_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_transactiondb_options_get_txn_commit_bypass_memtable_threshold(
rocksdb_transactiondb_options_t* opt);
/* TransactionOptions */
extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_set_snapshot(
rocksdb_transaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_set_snapshot(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_deadlock_detect(
rocksdb_transaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_deadlock_detect(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_use_only_the_last_commit_time_batch_for_recovery(
rocksdb_transaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_use_only_the_last_commit_time_batch_for_recovery(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_lock_timeout(
rocksdb_transaction_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t rocksdb_transaction_options_get_lock_timeout(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_deadlock_timeout_us(
rocksdb_transaction_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_deadlock_timeout_us(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_expiration(
rocksdb_transaction_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_expiration(rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_deadlock_detect_depth(
rocksdb_transaction_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_deadlock_detect_depth(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_max_write_batch_size(
rocksdb_transaction_options_t* opt, size_t v);
extern ROCKSDB_LIBRARY_API size_t
rocksdb_transaction_options_get_max_write_batch_size(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_skip_concurrency_control(
rocksdb_transaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_skip_concurrency_control(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_skip_prepare(
rocksdb_transaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_skip_prepare(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_write_batch_flush_threshold(
rocksdb_transaction_options_t* opt, int64_t v);
extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_write_batch_flush_threshold(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_write_batch_track_timestamp_size(
rocksdb_transaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_write_batch_track_timestamp_size(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_commit_bypass_memtable(
rocksdb_transaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_commit_bypass_memtable(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_large_txn_commit_optimize_threshold(
rocksdb_transaction_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_transaction_options_get_large_txn_commit_optimize_threshold(
rocksdb_transaction_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_large_txn_commit_optimize_byte_threshold(
rocksdb_transaction_options_t* opt, uint64_t v);
extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_transaction_options_get_large_txn_commit_optimize_byte_threshold(
rocksdb_transaction_options_t* opt);
/* OptimisticTransactionOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_optimistictransaction_options_set_set_snapshot(
rocksdb_optimistictransaction_options_t* opt, unsigned char v);
extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_optimistictransaction_options_get_set_snapshot(
rocksdb_optimistictransaction_options_t* opt);
/* OptimisticTransactionDBOptions */
extern ROCKSDB_LIBRARY_API void
rocksdb_optimistictransactiondb_options_set_validate_policy(
rocksdb_optimistictransactiondb_options_t* opt, int v);
extern ROCKSDB_LIBRARY_API int
rocksdb_optimistictransactiondb_options_get_validate_policy(
rocksdb_optimistictransactiondb_options_t* opt);
extern ROCKSDB_LIBRARY_API void
rocksdb_optimistictransactiondb_options_set_occ_lock_buckets(
rocksdb_optimistictransactiondb_options_t* opt, uint32_t v);
extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_optimistictransactiondb_options_get_occ_lock_buckets(
rocksdb_optimistictransactiondb_options_t* opt);