Unverified Commit 44532cbf authored by yiwu-arbug's avatar yiwu-arbug Committed by GitHub

travis build to include arm build and clang-format (#508)

Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
parent 639b4777
dist: trusty dist: bionic
language: rust language: rust
os: os:
...@@ -7,14 +7,25 @@ os: ...@@ -7,14 +7,25 @@ os:
rust: rust:
- nightly - nightly
addons:
apt:
sources:
- llvm-toolchain-bionic-7
packages:
- clang-format-7
jobs: jobs:
include: include:
- os: osx
osx_image: xcode11.3
rust: nightly
- os: linux - os: linux
rust: nightly rust: nightly
env: FEATURES="encryption,jemalloc,portable,sse" env: FEATURES="encryption,jemalloc,portable,sse"
- os: linux
arch: arm64
rust: nightly
- os: osx
osx_image: xcode11.5
rust: nightly
- env: TASK="clang-format"
env: env:
global: global:
...@@ -28,7 +39,11 @@ before_script: ...@@ -28,7 +39,11 @@ before_script:
script: script:
# copile rocksdb may cost more than 10 minutes, see https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received # copile rocksdb may cost more than 10 minutes, see https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
- travis_wait make clippy - if [ "${TASK}" == "clang-format" ]; then
- cargo fmt --all -- --check bash ./travis-build/travis-format.sh;
- cargo build --features=$FEATURES else
- cargo test --all --features=$FEATURES travis_wait make clippy;
cargo fmt --all -- --check;
cargo build --features=$FEATURES;
cargo test --all --features=$FEATURES;
fi
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -85,7 +85,8 @@ typedef struct crocksdb_compactionfilterfactory_t ...@@ -85,7 +85,8 @@ typedef struct crocksdb_compactionfilterfactory_t
crocksdb_compactionfilterfactory_t; crocksdb_compactionfilterfactory_t;
typedef struct crocksdb_comparator_t crocksdb_comparator_t; typedef struct crocksdb_comparator_t crocksdb_comparator_t;
typedef struct crocksdb_env_t crocksdb_env_t; typedef struct crocksdb_env_t crocksdb_env_t;
typedef struct crocksdb_fifo_compaction_options_t crocksdb_fifo_compaction_options_t; typedef struct crocksdb_fifo_compaction_options_t
crocksdb_fifo_compaction_options_t;
typedef struct crocksdb_filelock_t crocksdb_filelock_t; typedef struct crocksdb_filelock_t crocksdb_filelock_t;
typedef struct crocksdb_filterpolicy_t crocksdb_filterpolicy_t; typedef struct crocksdb_filterpolicy_t crocksdb_filterpolicy_t;
typedef struct crocksdb_flushoptions_t crocksdb_flushoptions_t; typedef struct crocksdb_flushoptions_t crocksdb_flushoptions_t;
...@@ -99,8 +100,7 @@ typedef struct crocksdb_column_family_descriptor ...@@ -99,8 +100,7 @@ typedef struct crocksdb_column_family_descriptor
typedef struct crocksdb_compactoptions_t crocksdb_compactoptions_t; typedef struct crocksdb_compactoptions_t crocksdb_compactoptions_t;
typedef struct crocksdb_block_based_table_options_t typedef struct crocksdb_block_based_table_options_t
crocksdb_block_based_table_options_t; crocksdb_block_based_table_options_t;
typedef struct crocksdb_cuckoo_table_options_t typedef struct crocksdb_cuckoo_table_options_t crocksdb_cuckoo_table_options_t;
crocksdb_cuckoo_table_options_t;
typedef struct crocksdb_randomfile_t crocksdb_randomfile_t; typedef struct crocksdb_randomfile_t crocksdb_randomfile_t;
typedef struct crocksdb_readoptions_t crocksdb_readoptions_t; typedef struct crocksdb_readoptions_t crocksdb_readoptions_t;
typedef struct crocksdb_seqfile_t crocksdb_seqfile_t; typedef struct crocksdb_seqfile_t crocksdb_seqfile_t;
...@@ -109,12 +109,14 @@ typedef struct crocksdb_snapshot_t crocksdb_snapshot_t; ...@@ -109,12 +109,14 @@ typedef struct crocksdb_snapshot_t crocksdb_snapshot_t;
typedef struct crocksdb_writablefile_t crocksdb_writablefile_t; typedef struct crocksdb_writablefile_t crocksdb_writablefile_t;
typedef struct crocksdb_writebatch_t crocksdb_writebatch_t; typedef struct crocksdb_writebatch_t crocksdb_writebatch_t;
typedef struct crocksdb_writeoptions_t crocksdb_writeoptions_t; typedef struct crocksdb_writeoptions_t crocksdb_writeoptions_t;
typedef struct crocksdb_universal_compaction_options_t crocksdb_universal_compaction_options_t; typedef struct crocksdb_universal_compaction_options_t
crocksdb_universal_compaction_options_t;
typedef struct crocksdb_livefiles_t crocksdb_livefiles_t; typedef struct crocksdb_livefiles_t crocksdb_livefiles_t;
typedef struct crocksdb_column_family_handle_t crocksdb_column_family_handle_t; typedef struct crocksdb_column_family_handle_t crocksdb_column_family_handle_t;
typedef struct crocksdb_envoptions_t crocksdb_envoptions_t; typedef struct crocksdb_envoptions_t crocksdb_envoptions_t;
typedef struct crocksdb_sequential_file_t crocksdb_sequential_file_t; typedef struct crocksdb_sequential_file_t crocksdb_sequential_file_t;
typedef struct crocksdb_ingestexternalfileoptions_t crocksdb_ingestexternalfileoptions_t; typedef struct crocksdb_ingestexternalfileoptions_t
crocksdb_ingestexternalfileoptions_t;
typedef struct crocksdb_sstfilereader_t crocksdb_sstfilereader_t; typedef struct crocksdb_sstfilereader_t crocksdb_sstfilereader_t;
typedef struct crocksdb_sstfilewriter_t crocksdb_sstfilewriter_t; typedef struct crocksdb_sstfilewriter_t crocksdb_sstfilewriter_t;
typedef struct crocksdb_externalsstfileinfo_t crocksdb_externalsstfileinfo_t; typedef struct crocksdb_externalsstfileinfo_t crocksdb_externalsstfileinfo_t;
...@@ -139,7 +141,8 @@ typedef struct crocksdb_externalfileingestioninfo_t ...@@ -139,7 +141,8 @@ typedef struct crocksdb_externalfileingestioninfo_t
crocksdb_externalfileingestioninfo_t; crocksdb_externalfileingestioninfo_t;
typedef struct crocksdb_eventlistener_t crocksdb_eventlistener_t; typedef struct crocksdb_eventlistener_t crocksdb_eventlistener_t;
typedef struct crocksdb_keyversions_t crocksdb_keyversions_t; typedef struct crocksdb_keyversions_t crocksdb_keyversions_t;
typedef struct crocksdb_column_family_meta_data_t crocksdb_column_family_meta_data_t; typedef struct crocksdb_column_family_meta_data_t
crocksdb_column_family_meta_data_t;
typedef struct crocksdb_level_meta_data_t crocksdb_level_meta_data_t; typedef struct crocksdb_level_meta_data_t crocksdb_level_meta_data_t;
typedef struct crocksdb_sst_file_meta_data_t crocksdb_sst_file_meta_data_t; typedef struct crocksdb_sst_file_meta_data_t crocksdb_sst_file_meta_data_t;
typedef struct crocksdb_compaction_options_t crocksdb_compaction_options_t; typedef struct crocksdb_compaction_options_t crocksdb_compaction_options_t;
...@@ -202,7 +205,8 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open( ...@@ -202,7 +205,8 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open(
const crocksdb_options_t* options, const char* name, char** errptr); const crocksdb_options_t* options, const char* name, char** errptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_with_ttl( extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_with_ttl(
const crocksdb_options_t* options, const char* name, int ttl, char** errptr); const crocksdb_options_t* options, const char* name, int ttl,
char** errptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_for_read_only( extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_for_read_only(
const crocksdb_options_t* options, const char* name, const crocksdb_options_t* options, const char* name,
...@@ -211,8 +215,9 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_for_read_only( ...@@ -211,8 +215,9 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_for_read_only(
extern C_ROCKSDB_LIBRARY_API void crocksdb_status_ptr_get_error( extern C_ROCKSDB_LIBRARY_API void crocksdb_status_ptr_get_error(
crocksdb_status_ptr_t*, char** errptr); crocksdb_status_ptr_t*, char** errptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_backup_engine_t* crocksdb_backup_engine_open( extern C_ROCKSDB_LIBRARY_API crocksdb_backup_engine_t*
const crocksdb_options_t* options, const char* path, char** errptr); crocksdb_backup_engine_open(const crocksdb_options_t* options, const char* path,
char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_backup_engine_create_new_backup( extern C_ROCKSDB_LIBRARY_API void crocksdb_backup_engine_create_new_backup(
crocksdb_backup_engine_t* be, crocksdb_t* db, char** errptr); crocksdb_backup_engine_t* be, crocksdb_t* db, char** errptr);
...@@ -238,17 +243,14 @@ crocksdb_backup_engine_get_backup_info(crocksdb_backup_engine_t* be); ...@@ -238,17 +243,14 @@ crocksdb_backup_engine_get_backup_info(crocksdb_backup_engine_t* be);
extern C_ROCKSDB_LIBRARY_API int crocksdb_backup_engine_info_count( extern C_ROCKSDB_LIBRARY_API int crocksdb_backup_engine_info_count(
const crocksdb_backup_engine_info_t* info); const crocksdb_backup_engine_info_t* info);
extern C_ROCKSDB_LIBRARY_API int64_t extern C_ROCKSDB_LIBRARY_API int64_t crocksdb_backup_engine_info_timestamp(
crocksdb_backup_engine_info_timestamp(const crocksdb_backup_engine_info_t* info, const crocksdb_backup_engine_info_t* info, int index);
int index);
extern C_ROCKSDB_LIBRARY_API uint32_t extern C_ROCKSDB_LIBRARY_API uint32_t crocksdb_backup_engine_info_backup_id(
crocksdb_backup_engine_info_backup_id(const crocksdb_backup_engine_info_t* info, const crocksdb_backup_engine_info_t* info, int index);
int index);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t crocksdb_backup_engine_info_size(
crocksdb_backup_engine_info_size(const crocksdb_backup_engine_info_t* info, const crocksdb_backup_engine_info_t* info, int index);
int index);
extern C_ROCKSDB_LIBRARY_API uint32_t crocksdb_backup_engine_info_number_files( extern C_ROCKSDB_LIBRARY_API uint32_t crocksdb_backup_engine_info_number_files(
const crocksdb_backup_engine_info_t* info, int index); const crocksdb_backup_engine_info_t* info, int index);
...@@ -260,23 +262,22 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_backup_engine_close( ...@@ -260,23 +262,22 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_backup_engine_close(
crocksdb_backup_engine_t* be); crocksdb_backup_engine_t* be);
extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_column_families( extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_column_families(
const crocksdb_options_t* options, const char* name, int num_column_families, const crocksdb_options_t* options, const char* name,
const char** column_family_names, int num_column_families, const char** column_family_names,
const crocksdb_options_t** column_family_options, const crocksdb_options_t** column_family_options,
crocksdb_column_family_handle_t** column_family_handles, char** errptr); crocksdb_column_family_handle_t** column_family_handles, char** errptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_column_families_with_ttl( extern C_ROCKSDB_LIBRARY_API crocksdb_t* crocksdb_open_column_families_with_ttl(
const crocksdb_options_t* options, const char* name, int num_column_families, const crocksdb_options_t* options, const char* name,
const char** column_family_names, int num_column_families, const char** column_family_names,
const crocksdb_options_t** column_family_options, const crocksdb_options_t** column_family_options, const int32_t* ttl_array,
const int32_t* ttl_array, unsigned char read_only, unsigned char read_only,
crocksdb_column_family_handle_t** column_family_handles, crocksdb_column_family_handle_t** column_family_handles, char** errptr);
char** errptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_t* extern C_ROCKSDB_LIBRARY_API crocksdb_t*
crocksdb_open_for_read_only_column_families( crocksdb_open_for_read_only_column_families(
const crocksdb_options_t* options, const char* name, int num_column_families, const crocksdb_options_t* options, const char* name,
const char** column_family_names, int num_column_families, const char** column_family_names,
const crocksdb_options_t** column_family_options, const crocksdb_options_t** column_family_options,
crocksdb_column_family_handle_t** column_family_handles, crocksdb_column_family_handle_t** column_family_handles,
unsigned char error_if_log_file_exist, char** errptr); unsigned char error_if_log_file_exist, char** errptr);
...@@ -296,8 +297,8 @@ crocksdb_create_column_family(crocksdb_t* db, ...@@ -296,8 +297,8 @@ crocksdb_create_column_family(crocksdb_t* db,
extern C_ROCKSDB_LIBRARY_API void crocksdb_drop_column_family( extern C_ROCKSDB_LIBRARY_API void crocksdb_drop_column_family(
crocksdb_t* db, crocksdb_column_family_handle_t* handle, char** errptr); crocksdb_t* db, crocksdb_column_family_handle_t* handle, char** errptr);
extern C_ROCKSDB_LIBRARY_API uint32_t crocksdb_column_family_handle_id( extern C_ROCKSDB_LIBRARY_API uint32_t
crocksdb_column_family_handle_t*); crocksdb_column_family_handle_id(crocksdb_column_family_handle_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_column_family_handle_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_column_family_handle_destroy(
crocksdb_column_family_handle_t*); crocksdb_column_family_handle_t*);
...@@ -339,10 +340,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_single_delete_cf( ...@@ -339,10 +340,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_single_delete_cf(
extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_range_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_range_cf(
crocksdb_t* db, const crocksdb_writeoptions_t* options, crocksdb_t* db, const crocksdb_writeoptions_t* options,
crocksdb_column_family_handle_t* column_family, crocksdb_column_family_handle_t* column_family, const char* begin_key,
const char* begin_key, size_t begin_keylen, size_t begin_keylen, const char* end_key, size_t end_keylen, char** errptr);
const char* end_key, size_t end_keylen,
char **errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_merge( extern C_ROCKSDB_LIBRARY_API void crocksdb_merge(
crocksdb_t* db, const crocksdb_writeoptions_t* options, const char* key, crocksdb_t* db, const crocksdb_writeoptions_t* options, const char* key,
...@@ -403,12 +402,12 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t* crocksdb_create_iterator_cf( ...@@ -403,12 +402,12 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t* crocksdb_create_iterator_cf(
crocksdb_column_family_handle_t* column_family); crocksdb_column_family_handle_t* column_family);
extern C_ROCKSDB_LIBRARY_API void crocksdb_create_iterators( extern C_ROCKSDB_LIBRARY_API void crocksdb_create_iterators(
crocksdb_t *db, crocksdb_readoptions_t* opts, crocksdb_t* db, crocksdb_readoptions_t* opts,
crocksdb_column_family_handle_t** column_families, crocksdb_column_family_handle_t** column_families,
crocksdb_iterator_t** iterators, size_t size, char** errptr); crocksdb_iterator_t** iterators, size_t size, char** errptr);
extern C_ROCKSDB_LIBRARY_API const crocksdb_snapshot_t* crocksdb_create_snapshot( extern C_ROCKSDB_LIBRARY_API const crocksdb_snapshot_t*
crocksdb_t* db); crocksdb_create_snapshot(crocksdb_t* db);
extern C_ROCKSDB_LIBRARY_API void crocksdb_release_snapshot( extern C_ROCKSDB_LIBRARY_API void crocksdb_release_snapshot(
crocksdb_t* db, const crocksdb_snapshot_t* snapshot); crocksdb_t* db, const crocksdb_snapshot_t* snapshot);
...@@ -417,23 +416,24 @@ crocksdb_get_snapshot_sequence_number(const crocksdb_snapshot_t* snapshot); ...@@ -417,23 +416,24 @@ crocksdb_get_snapshot_sequence_number(const crocksdb_snapshot_t* snapshot);
/* Returns NULL if property name is unknown. /* Returns NULL if property name is unknown.
Else returns a pointer to a malloc()-ed null-terminated value. */ Else returns a pointer to a malloc()-ed null-terminated value. */
extern C_ROCKSDB_LIBRARY_API crocksdb_map_property_t* crocksdb_create_map_property(); extern C_ROCKSDB_LIBRARY_API crocksdb_map_property_t*
crocksdb_create_map_property();
extern C_ROCKSDB_LIBRARY_API void crocksdb_destroy_map_property(crocksdb_map_property_t* info); extern C_ROCKSDB_LIBRARY_API void crocksdb_destroy_map_property(
crocksdb_map_property_t* info);
extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_get_map_property_cf( extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_get_map_property_cf(
crocksdb_t* db, crocksdb_column_family_handle_t* column_family, crocksdb_t* db, crocksdb_column_family_handle_t* column_family,
const char* property, crocksdb_map_property_t* data); const char* property, crocksdb_map_property_t* data);
extern C_ROCKSDB_LIBRARY_API char* crocksdb_map_property_value( extern C_ROCKSDB_LIBRARY_API char* crocksdb_map_property_value(
crocksdb_map_property_t* info, crocksdb_map_property_t* info, const char* propname);
const char* propname);
extern C_ROCKSDB_LIBRARY_API uint64_t crocksdb_map_property_int_value( extern C_ROCKSDB_LIBRARY_API uint64_t crocksdb_map_property_int_value(
crocksdb_map_property_t* info, const char* propname); crocksdb_map_property_t* info, const char* propname);
extern C_ROCKSDB_LIBRARY_API char* crocksdb_property_value(crocksdb_t* db, extern C_ROCKSDB_LIBRARY_API char* crocksdb_property_value(
const char* propname); crocksdb_t* db, const char* propname);
extern C_ROCKSDB_LIBRARY_API char* crocksdb_property_value_cf( extern C_ROCKSDB_LIBRARY_API char* crocksdb_property_value_cf(
crocksdb_t* db, crocksdb_column_family_handle_t* column_family, crocksdb_t* db, crocksdb_column_family_handle_t* column_family,
...@@ -451,16 +451,15 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_approximate_sizes_cf( ...@@ -451,16 +451,15 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_approximate_sizes_cf(
const size_t* range_limit_key_len, uint64_t* sizes); const size_t* range_limit_key_len, uint64_t* sizes);
extern C_ROCKSDB_LIBRARY_API void crocksdb_approximate_memtable_stats( extern C_ROCKSDB_LIBRARY_API void crocksdb_approximate_memtable_stats(
const crocksdb_t* db, const crocksdb_t* db, const char* range_start_key,
const char* range_start_key, size_t range_start_key_len, size_t range_start_key_len, const char* range_limit_key,
const char* range_limit_key, size_t range_limit_key_len, size_t range_limit_key_len, uint64_t* count, uint64_t* size);
uint64_t* count, uint64_t* size);
extern C_ROCKSDB_LIBRARY_API void crocksdb_approximate_memtable_stats_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_approximate_memtable_stats_cf(
const crocksdb_t* db, const crocksdb_column_family_handle_t* cf, const crocksdb_t* db, const crocksdb_column_family_handle_t* cf,
const char* range_start_key, size_t range_start_key_len, const char* range_start_key, size_t range_start_key_len,
const char* range_limit_key, size_t range_limit_key_len, const char* range_limit_key, size_t range_limit_key_len, uint64_t* count,
uint64_t* count, uint64_t* size); uint64_t* size);
extern C_ROCKSDB_LIBRARY_API void crocksdb_compact_range(crocksdb_t* db, extern C_ROCKSDB_LIBRARY_API void crocksdb_compact_range(crocksdb_t* db,
const char* start_key, const char* start_key,
...@@ -499,26 +498,26 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_flush_cfs( ...@@ -499,26 +498,26 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_flush_cfs(
crocksdb_t* db, const crocksdb_column_family_handle_t** column_familys, crocksdb_t* db, const crocksdb_column_family_handle_t** column_familys,
int num_handles, const crocksdb_flushoptions_t* options, char** errptr); int num_handles, const crocksdb_flushoptions_t* options, char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_flush_wal( extern C_ROCKSDB_LIBRARY_API void crocksdb_flush_wal(crocksdb_t* db,
crocksdb_t* db, unsigned char sync, char** errptr); unsigned char sync,
char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_sync_wal( extern C_ROCKSDB_LIBRARY_API void crocksdb_sync_wal(crocksdb_t* db,
crocksdb_t* db, char** errptr); char** errptr);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_get_latest_sequence_number(crocksdb_t* db); crocksdb_get_latest_sequence_number(crocksdb_t* db);
extern C_ROCKSDB_LIBRARY_API void crocksdb_disable_file_deletions(crocksdb_t* db, extern C_ROCKSDB_LIBRARY_API void crocksdb_disable_file_deletions(
char** errptr); crocksdb_t* db, char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_enable_file_deletions( extern C_ROCKSDB_LIBRARY_API void crocksdb_enable_file_deletions(
crocksdb_t* db, unsigned char force, char** errptr); crocksdb_t* db, unsigned char force, char** errptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* crocksdb_get_db_options(
crocksdb_get_db_options(crocksdb_t* db); crocksdb_t* db);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_set_db_options(crocksdb_t* db,
crocksdb_set_db_options(crocksdb_t* db,
const char** names, const char** names,
const char** values, const char** values,
size_t num_options, size_t num_options,
...@@ -527,13 +526,9 @@ crocksdb_set_db_options(crocksdb_t* db, ...@@ -527,13 +526,9 @@ crocksdb_set_db_options(crocksdb_t* db,
extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* crocksdb_get_options_cf( extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* crocksdb_get_options_cf(
const crocksdb_t* db, crocksdb_column_family_handle_t* column_family); const crocksdb_t* db, crocksdb_column_family_handle_t* column_family);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_set_options_cf(
crocksdb_set_options_cf(crocksdb_t* db, crocksdb_t* db, crocksdb_column_family_handle_t* cf, const char** names,
crocksdb_column_family_handle_t* cf, const char** values, size_t num_options, char** errptr);
const char** names,
const char** values,
size_t num_options,
char** errptr);
/* Management operations */ /* Management operations */
...@@ -548,13 +543,15 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_repair_db( ...@@ -548,13 +543,15 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_repair_db(
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_destroy(crocksdb_iterator_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_destroy(crocksdb_iterator_t*);
extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_iter_valid( extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_iter_valid(
const crocksdb_iterator_t*); const crocksdb_iterator_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek_to_first(crocksdb_iterator_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek_to_first(
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek_to_last(crocksdb_iterator_t*); crocksdb_iterator_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek_to_last(
crocksdb_iterator_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek(crocksdb_iterator_t*, extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek(crocksdb_iterator_t*,
const char* k, size_t klen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek_for_prev(crocksdb_iterator_t*,
const char* k, const char* k,
size_t klen); size_t klen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_seek_for_prev(
crocksdb_iterator_t*, const char* k, size_t klen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_next(crocksdb_iterator_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_next(crocksdb_iterator_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_prev(crocksdb_iterator_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_prev(crocksdb_iterator_t*);
extern C_ROCKSDB_LIBRARY_API const char* crocksdb_iter_key( extern C_ROCKSDB_LIBRARY_API const char* crocksdb_iter_key(
...@@ -566,19 +563,20 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_get_error( ...@@ -566,19 +563,20 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_iter_get_error(
/* Write batch */ /* Write batch */
extern C_ROCKSDB_LIBRARY_API crocksdb_writebatch_t* crocksdb_writebatch_create();
extern C_ROCKSDB_LIBRARY_API crocksdb_writebatch_t* extern C_ROCKSDB_LIBRARY_API crocksdb_writebatch_t*
crocksdb_writebatch_create_with_capacity(size_t reserved_bytes); crocksdb_writebatch_create();
extern C_ROCKSDB_LIBRARY_API crocksdb_writebatch_t* crocksdb_writebatch_create_from( extern C_ROCKSDB_LIBRARY_API crocksdb_writebatch_t*
const char* rep, size_t size); crocksdb_writebatch_create_with_capacity(size_t reserved_bytes);
extern C_ROCKSDB_LIBRARY_API crocksdb_writebatch_t*
crocksdb_writebatch_create_from(const char* rep, size_t size);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_destroy(
crocksdb_writebatch_t*); crocksdb_writebatch_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_clear(crocksdb_writebatch_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_clear(
extern C_ROCKSDB_LIBRARY_API int crocksdb_writebatch_count(crocksdb_writebatch_t*); crocksdb_writebatch_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_put(crocksdb_writebatch_t*, extern C_ROCKSDB_LIBRARY_API int crocksdb_writebatch_count(
const char* key, crocksdb_writebatch_t*);
size_t klen, extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_put(
const char* val, crocksdb_writebatch_t*, const char* key, size_t klen, const char* val,
size_t vlen); size_t vlen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_put_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_put_cf(
crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family, crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family,
...@@ -592,10 +590,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_putv_cf( ...@@ -592,10 +590,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_putv_cf(
int num_keys, const char* const* keys_list, const size_t* keys_list_sizes, int num_keys, const char* const* keys_list, const size_t* keys_list_sizes,
int num_values, const char* const* values_list, int num_values, const char* const* values_list,
const size_t* values_list_sizes); const size_t* values_list_sizes);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_merge(crocksdb_writebatch_t*, extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_merge(
const char* key, crocksdb_writebatch_t*, const char* key, size_t klen, const char* val,
size_t klen,
const char* val,
size_t vlen); size_t vlen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_merge_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_merge_cf(
crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family, crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family,
...@@ -609,15 +605,13 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_mergev_cf( ...@@ -609,15 +605,13 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_mergev_cf(
int num_keys, const char* const* keys_list, const size_t* keys_list_sizes, int num_keys, const char* const* keys_list, const size_t* keys_list_sizes,
int num_values, const char* const* values_list, int num_values, const char* const* values_list,
const size_t* values_list_sizes); const size_t* values_list_sizes);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_delete(crocksdb_writebatch_t*, extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_delete(
const char* key, crocksdb_writebatch_t*, const char* key, size_t klen);
size_t klen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_delete_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_delete_cf(
crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family, crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family,
const char* key, size_t klen); const char* key, size_t klen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_single_delete(crocksdb_writebatch_t*, extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_single_delete(
const char* key, crocksdb_writebatch_t*, const char* key, size_t klen);
size_t klen);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_single_delete_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_single_delete_cf(
crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family, crocksdb_writebatch_t*, crocksdb_column_family_handle_t* column_family,
const char* key, size_t klen); const char* key, size_t klen);
...@@ -651,10 +645,12 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_iterate( ...@@ -651,10 +645,12 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_iterate(
void (*deleted)(void*, const char* k, size_t klen)); void (*deleted)(void*, const char* k, size_t klen));
extern C_ROCKSDB_LIBRARY_API const char* crocksdb_writebatch_data( extern C_ROCKSDB_LIBRARY_API const char* crocksdb_writebatch_data(
crocksdb_writebatch_t*, size_t* size); crocksdb_writebatch_t*, size_t* size);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_set_save_point(crocksdb_writebatch_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_set_save_point(
crocksdb_writebatch_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_pop_save_point( extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_pop_save_point(
crocksdb_writebatch_t*, char** errptr); crocksdb_writebatch_t*, char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_rollback_to_save_point(crocksdb_writebatch_t*, char** errptr); extern C_ROCKSDB_LIBRARY_API void crocksdb_writebatch_rollback_to_save_point(
crocksdb_writebatch_t*, char** errptr);
/* Block based table options */ /* Block based table options */
...@@ -662,7 +658,8 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_block_based_table_options_t* ...@@ -662,7 +658,8 @@ extern C_ROCKSDB_LIBRARY_API crocksdb_block_based_table_options_t*
crocksdb_block_based_options_create(); crocksdb_block_based_options_create();
extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_destroy(
crocksdb_block_based_table_options_t* options); crocksdb_block_based_table_options_t* options);
extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_metadata_block_size( extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_options_set_metadata_block_size(
crocksdb_block_based_table_options_t* options, size_t block_size); crocksdb_block_based_table_options_t* options, size_t block_size);
extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_block_size( extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_block_size(
crocksdb_block_based_table_options_t* options, size_t block_size); crocksdb_block_based_table_options_t* options, size_t block_size);
...@@ -672,13 +669,17 @@ crocksdb_block_based_options_set_block_size_deviation( ...@@ -672,13 +669,17 @@ crocksdb_block_based_options_set_block_size_deviation(
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_options_set_block_restart_interval( crocksdb_block_based_options_set_block_restart_interval(
crocksdb_block_based_table_options_t* options, int block_restart_interval); crocksdb_block_based_table_options_t* options, int block_restart_interval);
extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_filter_policy( extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_options_set_filter_policy(
crocksdb_block_based_table_options_t* options, crocksdb_block_based_table_options_t* options,
crocksdb_filterpolicy_t* filter_policy); crocksdb_filterpolicy_t* filter_policy);
extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_no_block_cache( extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_table_options_t* options, unsigned char no_block_cache); crocksdb_block_based_options_set_no_block_cache(
crocksdb_block_based_table_options_t* options,
unsigned char no_block_cache);
extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_block_cache( extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_block_cache(
crocksdb_block_based_table_options_t* options, crocksdb_cache_t* block_cache); crocksdb_block_based_table_options_t* options,
crocksdb_cache_t* block_cache);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_options_set_block_cache_compressed( crocksdb_block_based_options_set_block_cache_compressed(
crocksdb_block_based_table_options_t* options, crocksdb_block_based_table_options_t* options,
...@@ -686,7 +687,8 @@ crocksdb_block_based_options_set_block_cache_compressed( ...@@ -686,7 +687,8 @@ crocksdb_block_based_options_set_block_cache_compressed(
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_options_set_whole_key_filtering( crocksdb_block_based_options_set_whole_key_filtering(
crocksdb_block_based_table_options_t*, unsigned char); crocksdb_block_based_table_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_block_based_options_set_format_version( extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_options_set_format_version(
crocksdb_block_based_table_options_t*, int); crocksdb_block_based_table_options_t*, int);
enum { enum {
crocksdb_block_based_table_index_type_binary_search = 0, crocksdb_block_based_table_index_type_binary_search = 0,
...@@ -716,15 +718,17 @@ crocksdb_block_based_options_set_pin_l0_filter_and_index_blocks_in_cache( ...@@ -716,15 +718,17 @@ crocksdb_block_based_options_set_pin_l0_filter_and_index_blocks_in_cache(
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_block_based_options_set_read_amp_bytes_per_bit( crocksdb_block_based_options_set_read_amp_bytes_per_bit(
crocksdb_block_based_table_options_t*, int); crocksdb_block_based_table_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_block_based_table_factory( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t* opt, crocksdb_block_based_table_options_t* table_options); crocksdb_options_set_block_based_table_factory(
crocksdb_options_t* opt,
crocksdb_block_based_table_options_t* table_options);
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_options_get_block_cache_usage( extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_options_t *opt); crocksdb_options_get_block_cache_usage(crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_block_cache_capacity( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_block_cache_capacity(
crocksdb_options_t* opt, size_t capacity, char **errptr); crocksdb_options_t* opt, size_t capacity, char** errptr);
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_options_get_block_cache_capacity( extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_options_t* opt); crocksdb_options_get_block_cache_capacity(crocksdb_options_t* opt);
/* Flush job info */ /* Flush job info */
...@@ -740,8 +744,8 @@ extern C_ROCKSDB_LIBRARY_API unsigned char ...@@ -740,8 +744,8 @@ extern C_ROCKSDB_LIBRARY_API unsigned char
crocksdb_flushjobinfo_triggered_writes_stop(const crocksdb_flushjobinfo_t*); crocksdb_flushjobinfo_triggered_writes_stop(const crocksdb_flushjobinfo_t*);
/* Compaction job info */ /* Compaction job info */
extern C_ROCKSDB_LIBRARY_API void crocksdb_compactionjobinfo_status(const crocksdb_compactionjobinfo_t* info, char** extern C_ROCKSDB_LIBRARY_API void crocksdb_compactionjobinfo_status(
errptr); const crocksdb_compactionjobinfo_t* info, char** errptr);
extern C_ROCKSDB_LIBRARY_API const char* crocksdb_compactionjobinfo_cf_name( extern C_ROCKSDB_LIBRARY_API const char* crocksdb_compactionjobinfo_cf_name(
const crocksdb_compactionjobinfo_t*, size_t*); const crocksdb_compactionjobinfo_t*, size_t*);
extern C_ROCKSDB_LIBRARY_API size_t extern C_ROCKSDB_LIBRARY_API size_t
...@@ -764,15 +768,12 @@ crocksdb_compactionjobinfo_elapsed_micros(const crocksdb_compactionjobinfo_t*); ...@@ -764,15 +768,12 @@ crocksdb_compactionjobinfo_elapsed_micros(const crocksdb_compactionjobinfo_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_compactionjobinfo_num_corrupt_keys( crocksdb_compactionjobinfo_num_corrupt_keys(
const crocksdb_compactionjobinfo_t*); const crocksdb_compactionjobinfo_t*);
extern C_ROCKSDB_LIBRARY_API int extern C_ROCKSDB_LIBRARY_API int crocksdb_compactionjobinfo_output_level(
crocksdb_compactionjobinfo_output_level(
const crocksdb_compactionjobinfo_t*); const crocksdb_compactionjobinfo_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_compactionjobinfo_input_records( crocksdb_compactionjobinfo_input_records(const crocksdb_compactionjobinfo_t*);
const crocksdb_compactionjobinfo_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_compactionjobinfo_output_records( crocksdb_compactionjobinfo_output_records(const crocksdb_compactionjobinfo_t*);
const crocksdb_compactionjobinfo_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_compactionjobinfo_total_input_bytes( crocksdb_compactionjobinfo_total_input_bytes(
const crocksdb_compactionjobinfo_t* info); const crocksdb_compactionjobinfo_t* info);
...@@ -792,15 +793,12 @@ crocksdb_externalfileingestioninfo_table_properties( ...@@ -792,15 +793,12 @@ crocksdb_externalfileingestioninfo_table_properties(
const crocksdb_externalfileingestioninfo_t*); const crocksdb_externalfileingestioninfo_t*);
/* External write stall info */ /* External write stall info */
extern C_ROCKSDB_LIBRARY_API const char* extern C_ROCKSDB_LIBRARY_API const char* crocksdb_writestallinfo_cf_name(
crocksdb_writestallinfo_cf_name(
const crocksdb_writestallinfo_t*, size_t*); const crocksdb_writestallinfo_t*, size_t*);
extern C_ROCKSDB_LIBRARY_API const crocksdb_writestallcondition_t* extern C_ROCKSDB_LIBRARY_API const crocksdb_writestallcondition_t*
crocksdb_writestallinfo_cur( crocksdb_writestallinfo_cur(const crocksdb_writestallinfo_t*);
const crocksdb_writestallinfo_t*);
extern C_ROCKSDB_LIBRARY_API const crocksdb_writestallcondition_t* extern C_ROCKSDB_LIBRARY_API const crocksdb_writestallcondition_t*
crocksdb_writestallinfo_prev( crocksdb_writestallinfo_prev(const crocksdb_writestallinfo_t*);
const crocksdb_writestallinfo_t*);
/* Event listener */ /* Event listener */
...@@ -852,7 +850,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_cuckoo_table_factory( ...@@ -852,7 +850,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_cuckoo_table_factory(
/* Options */ /* Options */
extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* crocksdb_options_create(); extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* crocksdb_options_create();
extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* crocksdb_options_copy(const crocksdb_options_t*); extern C_ROCKSDB_LIBRARY_API crocksdb_options_t* crocksdb_options_copy(
const crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_destroy(crocksdb_options_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_options_destroy(crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_column_family_descriptor_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_column_family_descriptor_destroy(
crocksdb_column_family_descriptor* cf_desc); crocksdb_column_family_descriptor* cf_desc);
...@@ -866,14 +865,16 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_increase_parallelism( ...@@ -866,14 +865,16 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_increase_parallelism(
crocksdb_options_t* opt, int total_threads); crocksdb_options_t* opt, int total_threads);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_optimize_for_point_lookup( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_optimize_for_point_lookup(
crocksdb_options_t* opt, uint64_t block_cache_size_mb); crocksdb_options_t* opt, uint64_t block_cache_size_mb);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_optimize_level_style_compaction( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_optimize_level_style_compaction(
crocksdb_options_t* opt, uint64_t memtable_memory_budget); crocksdb_options_t* opt, uint64_t memtable_memory_budget);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_optimize_universal_style_compaction( crocksdb_options_optimize_universal_style_compaction(
crocksdb_options_t* opt, uint64_t memtable_memory_budget); crocksdb_options_t* opt, uint64_t memtable_memory_budget);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_filter( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_filter(
crocksdb_options_t*, crocksdb_compactionfilter_t*); crocksdb_options_t*, crocksdb_compactionfilter_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_filter_factory( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_compaction_filter_factory(
crocksdb_options_t*, crocksdb_compactionfilterfactory_t*); crocksdb_options_t*, crocksdb_compactionfilterfactory_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_compaction_readahead_size( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_compaction_readahead_size(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
...@@ -883,12 +884,12 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_merge_operator( ...@@ -883,12 +884,12 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_merge_operator(
crocksdb_options_t*, crocksdb_mergeoperator_t*); crocksdb_options_t*, crocksdb_mergeoperator_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compression_per_level( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compression_per_level(
crocksdb_options_t* opt, int* level_values, size_t num_levels); crocksdb_options_t* opt, int* level_values, size_t num_levels);
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_options_get_compression_level_number( extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_options_t* opt); crocksdb_options_get_compression_level_number(crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_get_compression_per_level( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_get_compression_per_level(
crocksdb_options_t* opt, int *level_values); crocksdb_options_t* opt, int* level_values);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_set_bottommost_compression(
crocksdb_set_bottommost_compression(crocksdb_options_t *opt, int c); crocksdb_options_t* opt, int c);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_create_if_missing( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_create_if_missing(
crocksdb_options_t*, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
...@@ -902,8 +903,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_env(crocksdb_options_t*, ...@@ -902,8 +903,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_env(crocksdb_options_t*,
crocksdb_env_t*); crocksdb_env_t*);
extern C_ROCKSDB_LIBRARY_API crocksdb_logger_t* crocksdb_logger_create( extern C_ROCKSDB_LIBRARY_API crocksdb_logger_t* crocksdb_logger_create(
void* rep, void (*destructor_)(void*), crocksdb_logger_logv_cb logv); void* rep, void (*destructor_)(void*), crocksdb_logger_logv_cb logv);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_info_log(crocksdb_options_t*, extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_info_log(
crocksdb_logger_t*); crocksdb_options_t*, crocksdb_logger_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_info_log_level( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_info_log_level(
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_write_buffer_size( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_write_buffer_size(
...@@ -916,11 +917,11 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_total_wal_size( ...@@ -916,11 +917,11 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_total_wal_size(
crocksdb_options_t* opt, uint64_t n); crocksdb_options_t* opt, uint64_t n);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compression_options( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compression_options(
crocksdb_options_t*, int, int, int, int); crocksdb_options_t*, int, int, int, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_use_direct_reads(crocksdb_options_t* opt, extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_use_direct_reads(
unsigned char v); crocksdb_options_t* opt, unsigned char v);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_use_direct_io_for_flush_and_compaction( crocksdb_options_set_use_direct_io_for_flush_and_compaction(
crocksdb_options_t *opt, unsigned char v); crocksdb_options_t* opt, unsigned char v);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_prefix_extractor( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_prefix_extractor(
crocksdb_options_t*, crocksdb_slicetransform_t*); crocksdb_options_t*, crocksdb_slicetransform_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
...@@ -931,7 +932,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_num_levels( ...@@ -931,7 +932,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_num_levels(
extern C_ROCKSDB_LIBRARY_API int crocksdb_options_get_num_levels( extern C_ROCKSDB_LIBRARY_API int crocksdb_options_get_num_levels(
crocksdb_options_t*); crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_level0_file_num_compaction_trigger(crocksdb_options_t*, int); crocksdb_options_set_level0_file_num_compaction_trigger(crocksdb_options_t*,
int);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_level0_slowdown_writes_trigger(crocksdb_options_t*, int); crocksdb_options_set_level0_slowdown_writes_trigger(crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API int extern C_ROCKSDB_LIBRARY_API int
...@@ -942,14 +944,15 @@ extern C_ROCKSDB_LIBRARY_API int ...@@ -942,14 +944,15 @@ extern C_ROCKSDB_LIBRARY_API int
crocksdb_options_get_level0_stop_writes_trigger(crocksdb_options_t*); crocksdb_options_get_level0_stop_writes_trigger(crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_target_file_size_base( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_target_file_size_base(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API uint64_t crocksdb_options_get_target_file_size_base( extern C_ROCKSDB_LIBRARY_API uint64_t
const crocksdb_options_t*); crocksdb_options_get_target_file_size_base(const crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_target_file_size_multiplier( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t*, int); crocksdb_options_set_target_file_size_multiplier(crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_bytes_for_level_base( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_bytes_for_level_base(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_optimize_filters_for_hits( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t*, unsigned char); crocksdb_options_set_optimize_filters_for_hits(crocksdb_options_t*,
unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_level_compaction_dynamic_level_bytes(crocksdb_options_t*, crocksdb_options_set_level_compaction_dynamic_level_bytes(crocksdb_options_t*,
unsigned char); unsigned char);
...@@ -957,7 +960,8 @@ extern C_ROCKSDB_LIBRARY_API unsigned char ...@@ -957,7 +960,8 @@ extern C_ROCKSDB_LIBRARY_API unsigned char
crocksdb_options_get_level_compaction_dynamic_level_bytes( crocksdb_options_get_level_compaction_dynamic_level_bytes(
const crocksdb_options_t* const options); const crocksdb_options_t* const options);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_max_bytes_for_level_multiplier(crocksdb_options_t*, double); crocksdb_options_set_max_bytes_for_level_multiplier(crocksdb_options_t*,
double);
extern C_ROCKSDB_LIBRARY_API double extern C_ROCKSDB_LIBRARY_API double
crocksdb_options_get_max_bytes_for_level_multiplier(crocksdb_options_t*); crocksdb_options_get_max_bytes_for_level_multiplier(crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
...@@ -975,20 +979,20 @@ extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_load_latest_options( ...@@ -975,20 +979,20 @@ extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_load_latest_options(
/* returns a pointer to a malloc()-ed, null terminated string */ /* returns a pointer to a malloc()-ed, null terminated string */
extern C_ROCKSDB_LIBRARY_API char* crocksdb_options_statistics_get_string( extern C_ROCKSDB_LIBRARY_API char* crocksdb_options_statistics_get_string(
crocksdb_options_t* opt); crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API uint64_t crocksdb_options_statistics_get_ticker_count( extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_options_t* opt, uint32_t ticker_type); crocksdb_options_statistics_get_ticker_count(crocksdb_options_t* opt,
extern C_ROCKSDB_LIBRARY_API uint64_t crocksdb_options_statistics_get_and_reset_ticker_count( uint32_t ticker_type);
crocksdb_options_t* opt, uint32_t ticker_type); extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_options_statistics_get_and_reset_ticker_count(crocksdb_options_t* opt,
uint32_t ticker_type);
extern C_ROCKSDB_LIBRARY_API char* extern C_ROCKSDB_LIBRARY_API char*
crocksdb_options_statistics_get_histogram_string(crocksdb_options_t* opt, crocksdb_options_statistics_get_histogram_string(crocksdb_options_t* opt,
uint32_t type); uint32_t type);
extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_options_statistics_get_histogram( extern C_ROCKSDB_LIBRARY_API unsigned char
crocksdb_options_t* opt, crocksdb_options_statistics_get_histogram(crocksdb_options_t* opt,
uint32_t type, uint32_t type, double* median,
double* median,
double* percentile95, double* percentile95,
double* percentile99, double* percentile99, double* average,
double* average,
double* standard_deviation, double* standard_deviation,
double* max); double* max);
...@@ -997,14 +1001,14 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_write_buffer_number( ...@@ -997,14 +1001,14 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_write_buffer_number(
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_min_write_buffer_number_to_merge(crocksdb_options_t*, int); crocksdb_options_set_min_write_buffer_number_to_merge(crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_max_write_buffer_number_to_maintain(crocksdb_options_t *, crocksdb_options_set_max_write_buffer_number_to_maintain(crocksdb_options_t*,
int); int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_background_jobs( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_background_jobs(
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API int crocksdb_options_get_max_background_jobs( extern C_ROCKSDB_LIBRARY_API int crocksdb_options_get_max_background_jobs(
const crocksdb_options_t*); const crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_log_file_size(
crocksdb_options_set_max_log_file_size(crocksdb_options_t *, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_log_file_time_to_roll( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_log_file_time_to_roll(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_keep_log_file_num( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_keep_log_file_num(
...@@ -1015,13 +1019,17 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_soft_rate_limit( ...@@ -1015,13 +1019,17 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_soft_rate_limit(
crocksdb_options_t*, double); crocksdb_options_t*, double);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_hard_rate_limit( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_hard_rate_limit(
crocksdb_options_t*, double); crocksdb_options_t*, double);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_soft_pending_compaction_bytes_limit( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_soft_pending_compaction_bytes_limit(
crocksdb_options_t* opt, size_t v); crocksdb_options_t* opt, size_t v);
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_options_get_soft_pending_compaction_bytes_limit( extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_options_get_soft_pending_compaction_bytes_limit(
crocksdb_options_t* opt); crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_hard_pending_compaction_bytes_limit( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_hard_pending_compaction_bytes_limit(
crocksdb_options_t* opt, size_t v); crocksdb_options_t* opt, size_t v);
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_options_get_hard_pending_compaction_bytes_limit( extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_options_get_hard_pending_compaction_bytes_limit(
crocksdb_options_t* opt); crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_rate_limit_delay_max_milliseconds(crocksdb_options_t*, crocksdb_options_set_rate_limit_delay_max_milliseconds(crocksdb_options_t*,
...@@ -1030,41 +1038,41 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_manifest_file_size( ...@@ -1030,41 +1038,41 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_manifest_file_size(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_table_cache_numshardbits( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_table_cache_numshardbits(
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_writable_file_max_buffer_size( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t*, int); crocksdb_options_set_writable_file_max_buffer_size(crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_arena_block_size( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_arena_block_size(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_use_fsync( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_use_fsync(
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_db_paths(
crocksdb_options_set_db_paths(crocksdb_options_t *, const char *const *, crocksdb_options_t*, const char* const*, const size_t*, const uint64_t*,
const size_t *, const uint64_t *, int); int);
extern C_ROCKSDB_LIBRARY_API size_t extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_options_get_db_paths_num(crocksdb_options_t *); crocksdb_options_get_db_paths_num(crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API const char* extern C_ROCKSDB_LIBRARY_API const char* crocksdb_options_get_db_path(
crocksdb_options_get_db_path(crocksdb_options_t *, size_t index); crocksdb_options_t*, size_t index);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_options_get_path_target_size(crocksdb_options_t*, size_t index); crocksdb_options_get_path_target_size(crocksdb_options_t*, size_t index);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_db_log_dir( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_db_log_dir(
crocksdb_options_t*, const char*); crocksdb_options_t*, const char*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_dir(crocksdb_options_t*, extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_dir(
const char*); crocksdb_options_t*, const char*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_ttl_seconds( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_ttl_seconds(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_size_limit_mb( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_size_limit_mb(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_manifest_preallocation_size( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t*, size_t); crocksdb_options_set_manifest_preallocation_size(crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_allow_mmap_reads( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_allow_mmap_reads(
crocksdb_options_t*, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_allow_mmap_writes( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_allow_mmap_writes(
crocksdb_options_t*, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_is_fd_close_on_exec( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_is_fd_close_on_exec(
crocksdb_options_t*, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_skip_log_error_on_recovery( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t*, unsigned char); crocksdb_options_set_skip_log_error_on_recovery(crocksdb_options_t*,
unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_stats_dump_period_sec( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_stats_dump_period_sec(
crocksdb_options_t*, unsigned int); crocksdb_options_t*, unsigned int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_advise_random_on_open( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_advise_random_on_open(
...@@ -1075,20 +1083,19 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_use_adaptive_mutex( ...@@ -1075,20 +1083,19 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_use_adaptive_mutex(
crocksdb_options_t*, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_bytes_per_sync( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_bytes_per_sync(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_enable_pipelined_write(
crocksdb_options_set_enable_pipelined_write(crocksdb_options_t *, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_enable_multi_batch_write(
crocksdb_options_set_enable_multi_batch_write(crocksdb_options_t *opt, crocksdb_options_t* opt, unsigned char v);
unsigned char v);
extern C_ROCKSDB_LIBRARY_API unsigned char extern C_ROCKSDB_LIBRARY_API unsigned char
crocksdb_options_is_enable_multi_batch_write(crocksdb_options_t* opt); crocksdb_options_is_enable_multi_batch_write(crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_unordered_write(
crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_unordered_write(crocksdb_options_t*, unsigned char); crocksdb_options_set_allow_concurrent_memtable_write(crocksdb_options_t*,
extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_allow_concurrent_memtable_write(crocksdb_options_t *,
unsigned char); unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_manual_wal_flush( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_manual_wal_flush(
crocksdb_options_t *, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_enable_write_thread_adaptive_yield(crocksdb_options_t*, crocksdb_options_set_enable_write_thread_adaptive_yield(crocksdb_options_t*,
unsigned char); unsigned char);
...@@ -1104,18 +1111,21 @@ crocksdb_options_set_delete_obsolete_files_period_micros(crocksdb_options_t*, ...@@ -1104,18 +1111,21 @@ crocksdb_options_set_delete_obsolete_files_period_micros(crocksdb_options_t*,
uint64_t); uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_prepare_for_bulk_load( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_prepare_for_bulk_load(
crocksdb_options_t*); crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API const char* crocksdb_options_get_memtable_factory_name(crocksdb_options_t *opt); extern C_ROCKSDB_LIBRARY_API const char*
crocksdb_options_get_memtable_factory_name(crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_memtable_vector_rep( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_memtable_vector_rep(
crocksdb_options_t*); crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_memtable_prefix_bloom_size_ratio( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t*, double); crocksdb_options_set_memtable_prefix_bloom_size_ratio(crocksdb_options_t*,
double);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_compaction_bytes( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_compaction_bytes(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_hash_skip_list_rep( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_hash_skip_list_rep(
crocksdb_options_t*, size_t, int32_t, int32_t); crocksdb_options_t*, size_t, int32_t, int32_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_hash_link_list_rep( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_hash_link_list_rep(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_doubly_skip_list_rep(crocksdb_options_t *opt); extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_doubly_skip_list_rep(
crocksdb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_plain_table_factory( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_plain_table_factory(
crocksdb_options_t*, uint32_t, int, double, size_t); crocksdb_options_t*, uint32_t, int, double, size_t);
...@@ -1135,8 +1145,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_inplace_update_num_locks( ...@@ -1135,8 +1145,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_inplace_update_num_locks(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_report_bg_io_stats( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_report_bg_io_stats(
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_readahead_size( extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_t*, size_t); crocksdb_options_set_compaction_readahead_size(crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_subcompactions( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_subcompactions(
crocksdb_options_t*, uint32_t); crocksdb_options_t*, uint32_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_bytes_per_sync( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_bytes_per_sync(
...@@ -1161,8 +1171,8 @@ enum { ...@@ -1161,8 +1171,8 @@ enum {
}; };
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compression( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compression(
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API int extern C_ROCKSDB_LIBRARY_API int crocksdb_options_get_compression(
crocksdb_options_get_compression(crocksdb_options_t *); crocksdb_options_t*);
enum { enum {
crocksdb_level_compaction = 0, crocksdb_level_compaction = 0,
...@@ -1189,8 +1199,8 @@ enum { ...@@ -1189,8 +1199,8 @@ enum {
compaction_by_oldest_smallest_seq_first = 2, compaction_by_oldest_smallest_seq_first = 2,
compaction_by_min_overlapping_ratio = 3, compaction_by_min_overlapping_ratio = 3,
}; };
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_priority(
crocksdb_options_set_compaction_priority(crocksdb_options_t *, unsigned char); crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_delayed_write_rate( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_delayed_write_rate(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
...@@ -1198,29 +1208,35 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_force_consistency_checks( ...@@ -1198,29 +1208,35 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_force_consistency_checks(
crocksdb_options_t*, unsigned char); crocksdb_options_t*, unsigned char);
/* RateLimiter */ /* RateLimiter */
extern C_ROCKSDB_LIBRARY_API crocksdb_ratelimiter_t* crocksdb_ratelimiter_create( extern C_ROCKSDB_LIBRARY_API crocksdb_ratelimiter_t*
int64_t rate_bytes_per_sec, int64_t refill_period_us, int32_t fairness); crocksdb_ratelimiter_create(int64_t rate_bytes_per_sec,
extern C_ROCKSDB_LIBRARY_API crocksdb_ratelimiter_t* crocksdb_ratelimiter_create_with_auto_tuned( int64_t refill_period_us, int32_t fairness);
int64_t rate_bytes_per_sec, int64_t refill_period_us, int32_t fairness, extern C_ROCKSDB_LIBRARY_API crocksdb_ratelimiter_t*
crocksdb_ratelimiter_mode_t mode, unsigned char auto_tuned); crocksdb_ratelimiter_create_with_auto_tuned(int64_t rate_bytes_per_sec,
extern C_ROCKSDB_LIBRARY_API void crocksdb_ratelimiter_destroy(crocksdb_ratelimiter_t*); int64_t refill_period_us,
int32_t fairness,
crocksdb_ratelimiter_mode_t mode,
unsigned char auto_tuned);
extern C_ROCKSDB_LIBRARY_API void crocksdb_ratelimiter_destroy(
crocksdb_ratelimiter_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_ratelimiter_set_bytes_per_second( extern C_ROCKSDB_LIBRARY_API void crocksdb_ratelimiter_set_bytes_per_second(
crocksdb_ratelimiter_t *limiter, int64_t rate_bytes_per_sec); crocksdb_ratelimiter_t* limiter, int64_t rate_bytes_per_sec);
extern C_ROCKSDB_LIBRARY_API int64_t crocksdb_ratelimiter_get_singleburst_bytes( extern C_ROCKSDB_LIBRARY_API int64_t
crocksdb_ratelimiter_t *limiter); crocksdb_ratelimiter_get_singleburst_bytes(crocksdb_ratelimiter_t* limiter);
enum { enum {
env_io_priority_low = 0, env_io_priority_low = 0,
env_io_priority_high = 1, env_io_priority_high = 1,
env_io_priority_total = 2, env_io_priority_total = 2,
}; };
extern C_ROCKSDB_LIBRARY_API void crocksdb_ratelimiter_request(crocksdb_ratelimiter_t *limiter, extern C_ROCKSDB_LIBRARY_API void crocksdb_ratelimiter_request(
int64_t bytes, unsigned char pri); crocksdb_ratelimiter_t* limiter, int64_t bytes, unsigned char pri);
extern C_ROCKSDB_LIBRARY_API int64_t crocksdb_ratelimiter_get_total_bytes_through( extern C_ROCKSDB_LIBRARY_API int64_t
crocksdb_ratelimiter_t *limiter, unsigned char pri); crocksdb_ratelimiter_get_total_bytes_through(crocksdb_ratelimiter_t* limiter,
extern C_ROCKSDB_LIBRARY_API int64_t crocksdb_ratelimiter_get_bytes_per_second( unsigned char pri);
crocksdb_ratelimiter_t *limiter); extern C_ROCKSDB_LIBRARY_API int64_t
crocksdb_ratelimiter_get_bytes_per_second(crocksdb_ratelimiter_t* limiter);
extern C_ROCKSDB_LIBRARY_API int64_t crocksdb_ratelimiter_get_total_requests( extern C_ROCKSDB_LIBRARY_API int64_t crocksdb_ratelimiter_get_total_requests(
crocksdb_ratelimiter_t *limiter, unsigned char pri); crocksdb_ratelimiter_t* limiter, unsigned char pri);
/* Compaction Filter */ /* Compaction Filter */
...@@ -1233,8 +1249,9 @@ crocksdb_compactionfilter_create( ...@@ -1233,8 +1249,9 @@ crocksdb_compactionfilter_create(
size_t* new_value_length, size_t* new_value_length,
unsigned char* value_changed), unsigned char* value_changed),
const char* (*name)(void*)); const char* (*name)(void*));
extern C_ROCKSDB_LIBRARY_API void crocksdb_compactionfilter_set_ignore_snapshots( extern C_ROCKSDB_LIBRARY_API void
crocksdb_compactionfilter_t*, unsigned char); crocksdb_compactionfilter_set_ignore_snapshots(crocksdb_compactionfilter_t*,
unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_compactionfilter_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_compactionfilter_destroy(
crocksdb_compactionfilter_t*); crocksdb_compactionfilter_t*);
...@@ -1275,7 +1292,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_comparator_destroy( ...@@ -1275,7 +1292,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_comparator_destroy(
/* Filter policy */ /* Filter policy */
extern C_ROCKSDB_LIBRARY_API crocksdb_filterpolicy_t* crocksdb_filterpolicy_create( extern C_ROCKSDB_LIBRARY_API crocksdb_filterpolicy_t*
crocksdb_filterpolicy_create(
void* state, void (*destructor)(void*), void* state, void (*destructor)(void*),
char* (*create_filter)(void*, const char* const* key_array, char* (*create_filter)(void*, const char* const* key_array,
const size_t* key_length_array, int num_keys, const size_t* key_length_array, int num_keys,
...@@ -1314,7 +1332,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_mergeoperator_destroy( ...@@ -1314,7 +1332,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_mergeoperator_destroy(
/* Read options */ /* Read options */
extern C_ROCKSDB_LIBRARY_API crocksdb_readoptions_t* crocksdb_readoptions_create(); extern C_ROCKSDB_LIBRARY_API crocksdb_readoptions_t*
crocksdb_readoptions_create();
extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_destroy(
crocksdb_readoptions_t*); crocksdb_readoptions_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_verify_checksums( extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_verify_checksums(
...@@ -1331,31 +1350,29 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_read_tier( ...@@ -1331,31 +1350,29 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_read_tier(
crocksdb_readoptions_t*, int); crocksdb_readoptions_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_tailing( extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_tailing(
crocksdb_readoptions_t*, unsigned char); crocksdb_readoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_managed(
crocksdb_readoptions_set_managed(crocksdb_readoptions_t *, unsigned char); crocksdb_readoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_readahead_size( extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_readahead_size(
crocksdb_readoptions_t*, size_t); crocksdb_readoptions_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_readoptions_set_max_skippable_internal_keys(crocksdb_readoptions_t *, crocksdb_readoptions_set_max_skippable_internal_keys(crocksdb_readoptions_t*,
uint64_t); uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_total_order_seek( extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_total_order_seek(
crocksdb_readoptions_t*, unsigned char); crocksdb_readoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_prefix_same_as_start( extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_prefix_same_as_start(
crocksdb_readoptions_t*, unsigned char); crocksdb_readoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_pin_data(
crocksdb_readoptions_set_pin_data(crocksdb_readoptions_t *, unsigned char); crocksdb_readoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_readoptions_set_background_purge_on_iterator_cleanup( crocksdb_readoptions_set_background_purge_on_iterator_cleanup(
crocksdb_readoptions_t *, unsigned char); crocksdb_readoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_readoptions_set_ignore_range_deletions(crocksdb_readoptions_t *, crocksdb_readoptions_set_ignore_range_deletions(crocksdb_readoptions_t*,
unsigned char); unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_readoptions_set_table_filter(
crocksdb_readoptions_set_table_filter( crocksdb_readoptions_t*, void*,
crocksdb_readoptions_t*, int (*table_filter)(void*, const crocksdb_table_properties_t*),
void*, void (*destory)(void*));
int(*table_filter)(void*, const crocksdb_table_properties_t*),
void(*destory)(void*));
/* Write options */ /* Write options */
...@@ -1369,11 +1386,11 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writeoptions_disable_wal( ...@@ -1369,11 +1386,11 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_writeoptions_disable_wal(
crocksdb_writeoptions_t* opt, int disable); crocksdb_writeoptions_t* opt, int disable);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_writeoptions_set_ignore_missing_column_families( crocksdb_writeoptions_set_ignore_missing_column_families(
crocksdb_writeoptions_t *, unsigned char); crocksdb_writeoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_writeoptions_set_no_slowdown(
crocksdb_writeoptions_set_no_slowdown(crocksdb_writeoptions_t *, unsigned char); crocksdb_writeoptions_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_writeoptions_set_low_pri(
crocksdb_writeoptions_set_low_pri(crocksdb_writeoptions_t *, unsigned char); crocksdb_writeoptions_t*, unsigned char);
/* Compact range options */ /* Compact range options */
...@@ -1393,7 +1410,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_compactoptions_set_target_path_id( ...@@ -1393,7 +1410,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_compactoptions_set_target_path_id(
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_compactoptions_set_max_subcompactions(crocksdb_compactoptions_t*, int); crocksdb_compactoptions_set_max_subcompactions(crocksdb_compactoptions_t*, int);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_compactoptions_set_bottommost_level_compaction(crocksdb_compactoptions_t*, int); crocksdb_compactoptions_set_bottommost_level_compaction(
crocksdb_compactoptions_t*, int);
/* Flush options */ /* Flush options */
...@@ -1410,7 +1428,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_flushoptions_set_allow_write_stall( ...@@ -1410,7 +1428,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_flushoptions_set_allow_write_stall(
extern C_ROCKSDB_LIBRARY_API crocksdb_memory_allocator_t* extern C_ROCKSDB_LIBRARY_API crocksdb_memory_allocator_t*
crocksdb_jemalloc_nodump_allocator_create(char** errptr); crocksdb_jemalloc_nodump_allocator_create(char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_memory_allocator_destroy(crocksdb_memory_allocator_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_memory_allocator_destroy(
crocksdb_memory_allocator_t*);
/* Cache */ /* Cache */
...@@ -1422,15 +1441,19 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_lru_cache_options_set_capacity( ...@@ -1422,15 +1441,19 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_lru_cache_options_set_capacity(
crocksdb_lru_cache_options_t*, size_t); crocksdb_lru_cache_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_lru_cache_options_set_num_shard_bits( extern C_ROCKSDB_LIBRARY_API void crocksdb_lru_cache_options_set_num_shard_bits(
crocksdb_lru_cache_options_t*, int); crocksdb_lru_cache_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_lru_cache_options_set_strict_capacity_limit( extern C_ROCKSDB_LIBRARY_API void
crocksdb_lru_cache_options_set_strict_capacity_limit(
crocksdb_lru_cache_options_t*, unsigned char); crocksdb_lru_cache_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void crocksdb_lru_cache_options_set_high_pri_pool_ratio( extern C_ROCKSDB_LIBRARY_API void
crocksdb_lru_cache_options_set_high_pri_pool_ratio(
crocksdb_lru_cache_options_t*, double); crocksdb_lru_cache_options_t*, double);
extern C_ROCKSDB_LIBRARY_API void crocksdb_lru_cache_options_set_memory_allocator( extern C_ROCKSDB_LIBRARY_API void
crocksdb_lru_cache_options_t*, crocksdb_memory_allocator_t*); crocksdb_lru_cache_options_set_memory_allocator(crocksdb_lru_cache_options_t*,
crocksdb_memory_allocator_t*);
extern C_ROCKSDB_LIBRARY_API crocksdb_cache_t* crocksdb_cache_create_lru( extern C_ROCKSDB_LIBRARY_API crocksdb_cache_t* crocksdb_cache_create_lru(
crocksdb_lru_cache_options_t*); crocksdb_lru_cache_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_cache_destroy(crocksdb_cache_t* cache); extern C_ROCKSDB_LIBRARY_API void crocksdb_cache_destroy(
crocksdb_cache_t* cache);
extern C_ROCKSDB_LIBRARY_API void crocksdb_cache_set_capacity( extern C_ROCKSDB_LIBRARY_API void crocksdb_cache_set_capacity(
crocksdb_cache_t* cache, size_t capacity); crocksdb_cache_t* cache, size_t capacity);
...@@ -1438,29 +1461,31 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_cache_set_capacity( ...@@ -1438,29 +1461,31 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_cache_set_capacity(
extern C_ROCKSDB_LIBRARY_API crocksdb_env_t* crocksdb_default_env_create(); extern C_ROCKSDB_LIBRARY_API crocksdb_env_t* crocksdb_default_env_create();
extern C_ROCKSDB_LIBRARY_API crocksdb_env_t* crocksdb_mem_env_create(); extern C_ROCKSDB_LIBRARY_API crocksdb_env_t* crocksdb_mem_env_create();
extern C_ROCKSDB_LIBRARY_API crocksdb_env_t* extern C_ROCKSDB_LIBRARY_API crocksdb_env_t* crocksdb_ctr_encrypted_env_create(
crocksdb_ctr_encrypted_env_create(crocksdb_env_t* base_env, crocksdb_env_t* base_env, const char* ciphertext, size_t ciphertext_len);
const char* ciphertext,
size_t ciphertext_len);
extern C_ROCKSDB_LIBRARY_API void crocksdb_env_set_background_threads( extern C_ROCKSDB_LIBRARY_API void crocksdb_env_set_background_threads(
crocksdb_env_t* env, int n); crocksdb_env_t* env, int n);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_env_set_high_priority_background_threads(crocksdb_env_t* env, int n); crocksdb_env_set_high_priority_background_threads(crocksdb_env_t* env, int n);
extern C_ROCKSDB_LIBRARY_API void crocksdb_env_join_all_threads( extern C_ROCKSDB_LIBRARY_API void crocksdb_env_join_all_threads(
crocksdb_env_t* env); crocksdb_env_t* env);
extern C_ROCKSDB_LIBRARY_API void crocksdb_env_file_exists( extern C_ROCKSDB_LIBRARY_API void crocksdb_env_file_exists(crocksdb_env_t* env,
crocksdb_env_t* env, const char* path, char** errptr); const char* path,
extern C_ROCKSDB_LIBRARY_API void crocksdb_env_delete_file( char** errptr);
crocksdb_env_t* env, const char* path, char** errptr); extern C_ROCKSDB_LIBRARY_API void crocksdb_env_delete_file(crocksdb_env_t* env,
const char* path,
char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_env_destroy(crocksdb_env_t*); extern C_ROCKSDB_LIBRARY_API void crocksdb_env_destroy(crocksdb_env_t*);
extern C_ROCKSDB_LIBRARY_API crocksdb_envoptions_t* crocksdb_envoptions_create(); extern C_ROCKSDB_LIBRARY_API crocksdb_envoptions_t*
crocksdb_envoptions_create();
extern C_ROCKSDB_LIBRARY_API void crocksdb_envoptions_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_envoptions_destroy(
crocksdb_envoptions_t* opt); crocksdb_envoptions_t* opt);
extern C_ROCKSDB_LIBRARY_API crocksdb_sequential_file_t* extern C_ROCKSDB_LIBRARY_API crocksdb_sequential_file_t*
crocksdb_sequential_file_create(crocksdb_env_t* env, const char* path, crocksdb_sequential_file_create(crocksdb_env_t* env, const char* path,
const crocksdb_envoptions_t* opts, char** errptr); const crocksdb_envoptions_t* opts,
char** errptr);
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_sequential_file_read( extern C_ROCKSDB_LIBRARY_API size_t crocksdb_sequential_file_read(
crocksdb_sequential_file_t*, size_t n, char* buf, char** errptr); crocksdb_sequential_file_t*, size_t n, char* buf, char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_sequential_file_skip( extern C_ROCKSDB_LIBRARY_API void crocksdb_sequential_file_skip(
...@@ -1541,54 +1566,49 @@ crocksdb_key_managed_encrypted_env_create(crocksdb_env_t*, ...@@ -1541,54 +1566,49 @@ crocksdb_key_managed_encrypted_env_create(crocksdb_env_t*,
extern C_ROCKSDB_LIBRARY_API crocksdb_sstfilereader_t* extern C_ROCKSDB_LIBRARY_API crocksdb_sstfilereader_t*
crocksdb_sstfilereader_create(const crocksdb_options_t* io_options); crocksdb_sstfilereader_create(const crocksdb_options_t* io_options);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilereader_open(
crocksdb_sstfilereader_open(crocksdb_sstfilereader_t* reader, crocksdb_sstfilereader_t* reader, const char* name, char** errptr);
const char* name, char** errptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t* extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t*
crocksdb_sstfilereader_new_iterator(crocksdb_sstfilereader_t* reader, crocksdb_sstfilereader_new_iterator(crocksdb_sstfilereader_t* reader,
const crocksdb_readoptions_t* options); const crocksdb_readoptions_t* options);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilereader_read_table_properties(
crocksdb_sstfilereader_read_table_properties( const crocksdb_sstfilereader_t* reader, void* ctx,
const crocksdb_sstfilereader_t* reader, void (*cb)(void*, const crocksdb_table_properties_t*));
void* ctx, void (*cb)(void*, const crocksdb_table_properties_t*));
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilereader_verify_checksum(
crocksdb_sstfilereader_verify_checksum(crocksdb_sstfilereader_t* reader, crocksdb_sstfilereader_t* reader, char** errptr);
char** errptr);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilereader_destroy(
crocksdb_sstfilereader_destroy(crocksdb_sstfilereader_t* reader); crocksdb_sstfilereader_t* reader);
extern C_ROCKSDB_LIBRARY_API crocksdb_sstfilewriter_t* extern C_ROCKSDB_LIBRARY_API crocksdb_sstfilewriter_t*
crocksdb_sstfilewriter_create(const crocksdb_envoptions_t* env, crocksdb_sstfilewriter_create(const crocksdb_envoptions_t* env,
const crocksdb_options_t* io_options); const crocksdb_options_t* io_options);
extern C_ROCKSDB_LIBRARY_API crocksdb_sstfilewriter_t* extern C_ROCKSDB_LIBRARY_API crocksdb_sstfilewriter_t*
crocksdb_sstfilewriter_create_cf(const crocksdb_envoptions_t* env, crocksdb_sstfilewriter_create_cf(
const crocksdb_options_t* io_options, const crocksdb_envoptions_t* env, const crocksdb_options_t* io_options,
crocksdb_column_family_handle_t* column_family); crocksdb_column_family_handle_t* column_family);
extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_open( extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_open(
crocksdb_sstfilewriter_t* writer, const char* name, char** errptr); crocksdb_sstfilewriter_t* writer, const char* name, char** errptr);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_put(
crocksdb_sstfilewriter_put(crocksdb_sstfilewriter_t *writer, const char *key, crocksdb_sstfilewriter_t* writer, const char* key, size_t keylen,
size_t keylen, const char *val, size_t vallen, const char* val, size_t vallen, char** errptr);
char **errptr); extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_merge(
extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_t* writer, const char* key, size_t keylen,
crocksdb_sstfilewriter_merge(crocksdb_sstfilewriter_t *writer, const char *key, const char* val, size_t vallen, char** errptr);
size_t keylen, const char *val, size_t vallen, extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_delete(
char **errptr); crocksdb_sstfilewriter_t* writer, const char* key, size_t keylen,
extern C_ROCKSDB_LIBRARY_API void char** errptr);
crocksdb_sstfilewriter_delete(crocksdb_sstfilewriter_t *writer, const char *key, extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_delete_range(
size_t keylen, char **errptr); crocksdb_sstfilewriter_t* writer, const char* begin_key,
extern C_ROCKSDB_LIBRARY_API void size_t begin_keylen, const char* end_key, size_t end_keylen, char** errptr);
crocksdb_sstfilewriter_delete_range(crocksdb_sstfilewriter_t *writer, const char *begin_key,
size_t begin_keylen, const char *end_key, size_t end_keylen,
char **errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_finish( extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_finish(
crocksdb_sstfilewriter_t* writer, crocksdb_externalsstfileinfo_t* info, char** errptr); crocksdb_sstfilewriter_t* writer, crocksdb_externalsstfileinfo_t* info,
extern C_ROCKSDB_LIBRARY_API uint64_t crocksdb_sstfilewriter_file_size( char** errptr);
crocksdb_sstfilewriter_t* writer); extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_sstfilewriter_file_size(crocksdb_sstfilewriter_t* writer);
extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_destroy(
crocksdb_sstfilewriter_t* writer); crocksdb_sstfilewriter_t* writer);
...@@ -1596,14 +1616,16 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_destroy( ...@@ -1596,14 +1616,16 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_sstfilewriter_destroy(
extern C_ROCKSDB_LIBRARY_API crocksdb_externalsstfileinfo_t* extern C_ROCKSDB_LIBRARY_API crocksdb_externalsstfileinfo_t*
crocksdb_externalsstfileinfo_create(); crocksdb_externalsstfileinfo_create();
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_externalsstfileinfo_destroy(
crocksdb_externalsstfileinfo_destroy(crocksdb_externalsstfileinfo_t*); crocksdb_externalsstfileinfo_t*);
extern C_ROCKSDB_LIBRARY_API const char* crocksdb_externalsstfileinfo_file_path(
crocksdb_externalsstfileinfo_t*, size_t*);
extern C_ROCKSDB_LIBRARY_API const char* extern C_ROCKSDB_LIBRARY_API const char*
crocksdb_externalsstfileinfo_file_path(crocksdb_externalsstfileinfo_t*, size_t*); crocksdb_externalsstfileinfo_smallest_key(crocksdb_externalsstfileinfo_t*,
size_t*);
extern C_ROCKSDB_LIBRARY_API const char* extern C_ROCKSDB_LIBRARY_API const char*
crocksdb_externalsstfileinfo_smallest_key(crocksdb_externalsstfileinfo_t*, size_t*); crocksdb_externalsstfileinfo_largest_key(crocksdb_externalsstfileinfo_t*,
extern C_ROCKSDB_LIBRARY_API const char* size_t*);
crocksdb_externalsstfileinfo_largest_key(crocksdb_externalsstfileinfo_t*, size_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_externalsstfileinfo_sequence_number(crocksdb_externalsstfileinfo_t*); crocksdb_externalsstfileinfo_sequence_number(crocksdb_externalsstfileinfo_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
...@@ -1622,7 +1644,8 @@ crocksdb_ingestexternalfileoptions_set_snapshot_consistency( ...@@ -1622,7 +1644,8 @@ crocksdb_ingestexternalfileoptions_set_snapshot_consistency(
unsigned char snapshot_consistency); unsigned char snapshot_consistency);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_ingestexternalfileoptions_set_allow_global_seqno( crocksdb_ingestexternalfileoptions_set_allow_global_seqno(
crocksdb_ingestexternalfileoptions_t* opt, unsigned char allow_global_seqno); crocksdb_ingestexternalfileoptions_t* opt,
unsigned char allow_global_seqno);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_ingestexternalfileoptions_set_allow_blocking_flush( crocksdb_ingestexternalfileoptions_set_allow_blocking_flush(
crocksdb_ingestexternalfileoptions_t* opt, crocksdb_ingestexternalfileoptions_t* opt,
...@@ -1637,7 +1660,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_ingest_external_file_cf( ...@@ -1637,7 +1660,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_ingest_external_file_cf(
crocksdb_t* db, crocksdb_column_family_handle_t* handle, crocksdb_t* db, crocksdb_column_family_handle_t* handle,
const char* const* file_list, const size_t list_len, const char* const* file_list, const size_t list_len,
const crocksdb_ingestexternalfileoptions_t* opt, char** errptr); const crocksdb_ingestexternalfileoptions_t* opt, char** errptr);
extern C_ROCKSDB_LIBRARY_API unsigned char crocksdb_ingest_external_file_optimized( extern C_ROCKSDB_LIBRARY_API unsigned char
crocksdb_ingest_external_file_optimized(
crocksdb_t* db, crocksdb_column_family_handle_t* handle, crocksdb_t* db, crocksdb_column_family_handle_t* handle,
const char* const* file_list, const size_t list_len, const char* const* file_list, const size_t list_len,
const crocksdb_ingestexternalfileoptions_t* opt, char** errptr); const crocksdb_ingestexternalfileoptions_t* opt, char** errptr);
...@@ -1696,7 +1720,8 @@ crocksdb_fifo_compaction_options_set_max_table_files_size( ...@@ -1696,7 +1720,8 @@ crocksdb_fifo_compaction_options_set_max_table_files_size(
crocksdb_fifo_compaction_options_t* fifo_opts, uint64_t size); crocksdb_fifo_compaction_options_t* fifo_opts, uint64_t size);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_fifo_compaction_options_set_allow_compaction( crocksdb_fifo_compaction_options_set_allow_compaction(
crocksdb_fifo_compaction_options_t* fifo_opts, unsigned char allow_compaction); crocksdb_fifo_compaction_options_t* fifo_opts,
unsigned char allow_compaction);
extern C_ROCKSDB_LIBRARY_API void crocksdb_fifo_compaction_options_destroy( extern C_ROCKSDB_LIBRARY_API void crocksdb_fifo_compaction_options_destroy(
crocksdb_fifo_compaction_options_t* fifo_opts); crocksdb_fifo_compaction_options_t* fifo_opts);
...@@ -1722,16 +1747,14 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_get_options_from_string( ...@@ -1722,16 +1747,14 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_get_options_from_string(
crocksdb_options_t* new_options, char** errptr); crocksdb_options_t* new_options, char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_files_in_range( extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_files_in_range(
crocksdb_t* db, crocksdb_t* db, const char* start_key, size_t start_key_len,
const char* start_key, size_t start_key_len, const char* limit_key, size_t limit_key_len, unsigned char include_end,
const char* limit_key, size_t limit_key_len, char** errptr);
unsigned char include_end, char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_files_in_range_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_files_in_range_cf(
crocksdb_t* db, crocksdb_column_family_handle_t* column_family, crocksdb_t* db, crocksdb_column_family_handle_t* column_family,
const char* start_key, size_t start_key_len, const char* start_key, size_t start_key_len, const char* limit_key,
const char* limit_key, size_t limit_key_len, size_t limit_key_len, unsigned char include_end, char** errptr);
unsigned char include_end, char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_files_in_ranges_cf( extern C_ROCKSDB_LIBRARY_API void crocksdb_delete_files_in_ranges_cf(
crocksdb_t* db, crocksdb_column_family_handle_t* cf, crocksdb_t* db, crocksdb_column_family_handle_t* cf,
...@@ -1745,10 +1768,10 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_free(void* ptr); ...@@ -1745,10 +1768,10 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_free(void* ptr);
extern C_ROCKSDB_LIBRARY_API crocksdb_logger_t* crocksdb_create_env_logger( extern C_ROCKSDB_LIBRARY_API crocksdb_logger_t* crocksdb_create_env_logger(
const char* fname, crocksdb_env_t* env); const char* fname, crocksdb_env_t* env);
extern C_ROCKSDB_LIBRARY_API crocksdb_logger_t * extern C_ROCKSDB_LIBRARY_API crocksdb_logger_t*
crocksdb_create_log_from_options(const char *path, crocksdb_options_t *opts, crocksdb_create_log_from_options(const char* path, crocksdb_options_t* opts,
char **errptr); char** errptr);
extern C_ROCKSDB_LIBRARY_API void crocksdb_log_destroy(crocksdb_logger_t *); extern C_ROCKSDB_LIBRARY_API void crocksdb_log_destroy(crocksdb_logger_t*);
extern C_ROCKSDB_LIBRARY_API crocksdb_pinnableslice_t* crocksdb_get_pinned( extern C_ROCKSDB_LIBRARY_API crocksdb_pinnableslice_t* crocksdb_get_pinned(
crocksdb_t* db, const crocksdb_readoptions_t* options, const char* key, crocksdb_t* db, const crocksdb_readoptions_t* options, const char* key,
...@@ -1763,7 +1786,8 @@ extern C_ROCKSDB_LIBRARY_API const char* crocksdb_pinnableslice_value( ...@@ -1763,7 +1786,8 @@ extern C_ROCKSDB_LIBRARY_API const char* crocksdb_pinnableslice_value(
const crocksdb_pinnableslice_t* t, size_t* vlen); const crocksdb_pinnableslice_t* t, size_t* vlen);
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_get_supported_compression_number(); extern C_ROCKSDB_LIBRARY_API size_t crocksdb_get_supported_compression_number();
extern C_ROCKSDB_LIBRARY_API void crocksdb_get_supported_compression(int *, size_t); extern C_ROCKSDB_LIBRARY_API void crocksdb_get_supported_compression(int*,
size_t);
/* Table Properties */ /* Table Properties */
...@@ -1785,10 +1809,9 @@ extern C_ROCKSDB_LIBRARY_API const char* crocksdb_user_collected_properties_get( ...@@ -1785,10 +1809,9 @@ extern C_ROCKSDB_LIBRARY_API const char* crocksdb_user_collected_properties_get(
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_user_collected_properties_len( extern C_ROCKSDB_LIBRARY_API size_t crocksdb_user_collected_properties_len(
const crocksdb_user_collected_properties_t*); const crocksdb_user_collected_properties_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_user_collected_properties_add(
crocksdb_user_collected_properties_add( crocksdb_user_collected_properties_t*, const char* key, size_t key_len,
crocksdb_user_collected_properties_t*, const char* value, size_t value_len);
const char* key, size_t key_len, const char* value, size_t value_len);
extern C_ROCKSDB_LIBRARY_API crocksdb_user_collected_properties_iterator_t* extern C_ROCKSDB_LIBRARY_API crocksdb_user_collected_properties_iterator_t*
crocksdb_user_collected_properties_iter_create( crocksdb_user_collected_properties_iter_create(
...@@ -1802,8 +1825,7 @@ extern C_ROCKSDB_LIBRARY_API unsigned char ...@@ -1802,8 +1825,7 @@ extern C_ROCKSDB_LIBRARY_API unsigned char
crocksdb_user_collected_properties_iter_valid( crocksdb_user_collected_properties_iter_valid(
const crocksdb_user_collected_properties_iterator_t*); const crocksdb_user_collected_properties_iterator_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_user_collected_properties_iter_next(
crocksdb_user_collected_properties_iter_next(
crocksdb_user_collected_properties_iterator_t*); crocksdb_user_collected_properties_iterator_t*);
extern C_ROCKSDB_LIBRARY_API const char* extern C_ROCKSDB_LIBRARY_API const char*
...@@ -1819,8 +1841,8 @@ crocksdb_user_collected_properties_iter_value( ...@@ -1819,8 +1841,8 @@ crocksdb_user_collected_properties_iter_value(
extern C_ROCKSDB_LIBRARY_API size_t crocksdb_table_properties_collection_len( extern C_ROCKSDB_LIBRARY_API size_t crocksdb_table_properties_collection_len(
const crocksdb_table_properties_collection_t*); const crocksdb_table_properties_collection_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_table_properties_collection_destroy(
crocksdb_table_properties_collection_destroy(crocksdb_table_properties_collection_t*); crocksdb_table_properties_collection_t*);
extern C_ROCKSDB_LIBRARY_API crocksdb_table_properties_collection_iterator_t* extern C_ROCKSDB_LIBRARY_API crocksdb_table_properties_collection_iterator_t*
crocksdb_table_properties_collection_iter_create( crocksdb_table_properties_collection_iter_create(
...@@ -1850,27 +1872,22 @@ crocksdb_table_properties_collection_iter_value( ...@@ -1850,27 +1872,22 @@ crocksdb_table_properties_collection_iter_value(
extern C_ROCKSDB_LIBRARY_API crocksdb_table_properties_collector_t* extern C_ROCKSDB_LIBRARY_API crocksdb_table_properties_collector_t*
crocksdb_table_properties_collector_create( crocksdb_table_properties_collector_create(
void* state, void* state, const char* (*name)(void*), void (*destruct)(void*),
const char* (*name)(void*), void (*add)(void*, const char* key, size_t key_len, const char* value,
void (*destruct)(void*), size_t value_len, int entry_type, uint64_t seq,
void (*add)(void*, uint64_t file_size),
const char* key, size_t key_len,
const char* value, size_t value_len,
int entry_type, uint64_t seq, uint64_t file_size),
void (*finish)(void*, crocksdb_user_collected_properties_t* props)); void (*finish)(void*, crocksdb_user_collected_properties_t* props));
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_table_properties_collector_destroy(
crocksdb_table_properties_collector_destroy(crocksdb_table_properties_collector_t*); crocksdb_table_properties_collector_t*);
/* Table Properties Collector Factory */ /* Table Properties Collector Factory */
extern C_ROCKSDB_LIBRARY_API crocksdb_table_properties_collector_factory_t* extern C_ROCKSDB_LIBRARY_API crocksdb_table_properties_collector_factory_t*
crocksdb_table_properties_collector_factory_create( crocksdb_table_properties_collector_factory_create(
void* state, void* state, const char* (*name)(void*), void (*destruct)(void*),
const char* (*name)(void*), crocksdb_table_properties_collector_t* (*create_table_properties_collector)(
void (*destruct)(void*), void*, uint32_t cf));
crocksdb_table_properties_collector_t*
(*create_table_properties_collector)(void*, uint32_t cf));
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_table_properties_collector_factory_destroy( crocksdb_table_properties_collector_factory_destroy(
...@@ -1898,92 +1915,89 @@ crocksdb_get_properties_of_tables_in_range( ...@@ -1898,92 +1915,89 @@ crocksdb_get_properties_of_tables_in_range(
/* Get All Key Versions */ /* Get All Key Versions */
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_keyversions_destroy(
crocksdb_keyversions_destroy(crocksdb_keyversions_t *kvs); crocksdb_keyversions_t* kvs);
extern C_ROCKSDB_LIBRARY_API crocksdb_keyversions_t * extern C_ROCKSDB_LIBRARY_API crocksdb_keyversions_t*
crocksdb_get_all_key_versions(crocksdb_t *db, const char *begin_key, crocksdb_get_all_key_versions(crocksdb_t* db, const char* begin_key,
size_t begin_keylen, const char *end_key, size_t begin_keylen, const char* end_key,
size_t end_keylen, char **errptr); size_t end_keylen, char** errptr);
extern C_ROCKSDB_LIBRARY_API size_t extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_keyversions_count(const crocksdb_keyversions_t *kvs); crocksdb_keyversions_count(const crocksdb_keyversions_t* kvs);
extern C_ROCKSDB_LIBRARY_API const char * extern C_ROCKSDB_LIBRARY_API const char* crocksdb_keyversions_key(
crocksdb_keyversions_key(const crocksdb_keyversions_t *kvs, int index); const crocksdb_keyversions_t* kvs, int index);
extern C_ROCKSDB_LIBRARY_API const char * extern C_ROCKSDB_LIBRARY_API const char* crocksdb_keyversions_value(
crocksdb_keyversions_value(const crocksdb_keyversions_t *kvs, int index); const crocksdb_keyversions_t* kvs, int index);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_keyversions_seq(const crocksdb_keyversions_t *kvs, int index); crocksdb_keyversions_seq(const crocksdb_keyversions_t* kvs, int index);
extern C_ROCKSDB_LIBRARY_API int extern C_ROCKSDB_LIBRARY_API int crocksdb_keyversions_type(
crocksdb_keyversions_type(const crocksdb_keyversions_t *kvs, int index); const crocksdb_keyversions_t* kvs, int index);
/* Modify Sst File Seq No */ /* Modify Sst File Seq No */
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_set_external_sst_file_global_seq_no( crocksdb_set_external_sst_file_global_seq_no(
crocksdb_t *db, crocksdb_t* db, crocksdb_column_family_handle_t* column_family,
crocksdb_column_family_handle_t *column_family, const char* file, uint64_t seq_no, char** errptr);
const char *file,
uint64_t seq_no,
char **errptr);
/* ColumnFamilyMetaData */ /* ColumnFamilyMetaData */
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_get_column_family_meta_data(
crocksdb_get_column_family_meta_data(crocksdb_t* db, crocksdb_t* db, crocksdb_column_family_handle_t* cf,
crocksdb_column_family_handle_t* cf,
crocksdb_column_family_meta_data_t*); crocksdb_column_family_meta_data_t*);
extern C_ROCKSDB_LIBRARY_API crocksdb_column_family_meta_data_t* extern C_ROCKSDB_LIBRARY_API crocksdb_column_family_meta_data_t*
crocksdb_column_family_meta_data_create(); crocksdb_column_family_meta_data_create();
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_column_family_meta_data_destroy(
crocksdb_column_family_meta_data_destroy(crocksdb_column_family_meta_data_t*); crocksdb_column_family_meta_data_t*);
extern C_ROCKSDB_LIBRARY_API size_t extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_column_family_meta_data_level_count(const crocksdb_column_family_meta_data_t*); crocksdb_column_family_meta_data_level_count(
const crocksdb_column_family_meta_data_t*);
extern C_ROCKSDB_LIBRARY_API const crocksdb_level_meta_data_t* extern C_ROCKSDB_LIBRARY_API const crocksdb_level_meta_data_t*
crocksdb_column_family_meta_data_level_data(const crocksdb_column_family_meta_data_t*, crocksdb_column_family_meta_data_level_data(
size_t n); const crocksdb_column_family_meta_data_t*, size_t n);
extern C_ROCKSDB_LIBRARY_API size_t extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_level_meta_data_file_count(const crocksdb_level_meta_data_t*); crocksdb_level_meta_data_file_count(const crocksdb_level_meta_data_t*);
extern C_ROCKSDB_LIBRARY_API const crocksdb_sst_file_meta_data_t* extern C_ROCKSDB_LIBRARY_API const crocksdb_sst_file_meta_data_t*
crocksdb_level_meta_data_file_data(const crocksdb_level_meta_data_t*, size_t n); crocksdb_level_meta_data_file_data(const crocksdb_level_meta_data_t*, size_t n);
extern C_ROCKSDB_LIBRARY_API size_t extern C_ROCKSDB_LIBRARY_API size_t
crocksdb_sst_file_meta_data_size(const crocksdb_sst_file_meta_data_t*); crocksdb_sst_file_meta_data_size(const crocksdb_sst_file_meta_data_t*);
extern C_ROCKSDB_LIBRARY_API const char* crocksdb_sst_file_meta_data_name(
const crocksdb_sst_file_meta_data_t*);
extern C_ROCKSDB_LIBRARY_API const char* extern C_ROCKSDB_LIBRARY_API const char*
crocksdb_sst_file_meta_data_name(const crocksdb_sst_file_meta_data_t*); crocksdb_sst_file_meta_data_smallestkey(const crocksdb_sst_file_meta_data_t*,
extern C_ROCKSDB_LIBRARY_API const char* size_t*);
crocksdb_sst_file_meta_data_smallestkey(const crocksdb_sst_file_meta_data_t*, size_t*); extern C_ROCKSDB_LIBRARY_API const char* crocksdb_sst_file_meta_data_largestkey(
extern C_ROCKSDB_LIBRARY_API const char* const crocksdb_sst_file_meta_data_t*, size_t*);
crocksdb_sst_file_meta_data_largestkey(const crocksdb_sst_file_meta_data_t*, size_t*);
/* CompactFiles */ /* CompactFiles */
extern C_ROCKSDB_LIBRARY_API crocksdb_compaction_options_t* extern C_ROCKSDB_LIBRARY_API crocksdb_compaction_options_t*
crocksdb_compaction_options_create(); crocksdb_compaction_options_create();
extern C_ROCKSDB_LIBRARY_API void crocksdb_compaction_options_destroy(
crocksdb_compaction_options_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_compaction_options_set_compression(
crocksdb_compaction_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_compaction_options_destroy(crocksdb_compaction_options_t*); crocksdb_compaction_options_set_output_file_size_limit(
extern C_ROCKSDB_LIBRARY_API void crocksdb_compaction_options_t*, size_t);
crocksdb_compaction_options_set_compression(crocksdb_compaction_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_compaction_options_set_output_file_size_limit(crocksdb_compaction_options_t*, size_t); crocksdb_compaction_options_set_max_subcompactions(
extern C_ROCKSDB_LIBRARY_API void crocksdb_compaction_options_t*, int);
crocksdb_compaction_options_set_max_subcompactions(crocksdb_compaction_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_compact_files_cf(
crocksdb_compact_files_cf(crocksdb_t*, crocksdb_column_family_handle_t*, crocksdb_t*, crocksdb_column_family_handle_t*,
crocksdb_compaction_options_t*, crocksdb_compaction_options_t*, const char** input_file_names,
const char** input_file_names, size_t input_file_count, int output_level, char** errptr);
size_t input_file_count,
int output_level,
char** errptr);
/* PerfContext */ /* PerfContext */
extern C_ROCKSDB_LIBRARY_API int crocksdb_get_perf_level(void); extern C_ROCKSDB_LIBRARY_API int crocksdb_get_perf_level(void);
extern C_ROCKSDB_LIBRARY_API void crocksdb_set_perf_level(int level); extern C_ROCKSDB_LIBRARY_API void crocksdb_set_perf_level(int level);
extern C_ROCKSDB_LIBRARY_API crocksdb_perf_context_t* extern C_ROCKSDB_LIBRARY_API crocksdb_perf_context_t* crocksdb_get_perf_context(
crocksdb_get_perf_context(void); void);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_perf_context_reset(
crocksdb_perf_context_reset(crocksdb_perf_context_t*); crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_user_key_comparison_count(crocksdb_perf_context_t*); crocksdb_perf_context_user_key_comparison_count(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
...@@ -2055,7 +2069,8 @@ crocksdb_perf_context_db_mutex_lock_nanos(crocksdb_perf_context_t*); ...@@ -2055,7 +2069,8 @@ crocksdb_perf_context_db_mutex_lock_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_write_thread_wait_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_write_thread_wait_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_write_scheduling_flushes_compactions_time(crocksdb_perf_context_t*); crocksdb_perf_context_write_scheduling_flushes_compactions_time(
crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_db_condition_wait_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_db_condition_wait_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
...@@ -2083,7 +2098,8 @@ crocksdb_perf_context_bloom_sst_miss_count(crocksdb_perf_context_t*); ...@@ -2083,7 +2098,8 @@ crocksdb_perf_context_bloom_sst_miss_count(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_new_sequential_file_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_new_sequential_file_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_new_random_access_file_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_new_random_access_file_nanos(
crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_new_writable_file_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_new_writable_file_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
...@@ -2097,7 +2113,8 @@ crocksdb_perf_context_env_file_exists_nanos(crocksdb_perf_context_t*); ...@@ -2097,7 +2113,8 @@ crocksdb_perf_context_env_file_exists_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_get_children_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_get_children_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_get_children_file_attributes_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_get_children_file_attributes_nanos(
crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_delete_file_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_delete_file_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
...@@ -2109,7 +2126,8 @@ crocksdb_perf_context_env_delete_dir_nanos(crocksdb_perf_context_t*); ...@@ -2109,7 +2126,8 @@ crocksdb_perf_context_env_delete_dir_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_get_file_size_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_get_file_size_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_get_file_modification_time_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_get_file_modification_time_nanos(
crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_perf_context_env_rename_file_nanos(crocksdb_perf_context_t*); crocksdb_perf_context_env_rename_file_nanos(crocksdb_perf_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
...@@ -2128,8 +2146,8 @@ crocksdb_perf_context_decrypt_data_nanos(crocksdb_perf_context_t*); ...@@ -2128,8 +2146,8 @@ crocksdb_perf_context_decrypt_data_nanos(crocksdb_perf_context_t*);
// IOStatsContext // IOStatsContext
extern C_ROCKSDB_LIBRARY_API crocksdb_iostats_context_t* extern C_ROCKSDB_LIBRARY_API crocksdb_iostats_context_t*
crocksdb_get_iostats_context(void); crocksdb_get_iostats_context(void);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_iostats_context_reset(
crocksdb_iostats_context_reset(crocksdb_iostats_context_t*); crocksdb_iostats_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_iostats_context_bytes_written(crocksdb_iostats_context_t*); crocksdb_iostats_context_bytes_written(crocksdb_iostats_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
...@@ -2151,10 +2169,10 @@ crocksdb_iostats_context_prepare_write_nanos(crocksdb_iostats_context_t*); ...@@ -2151,10 +2169,10 @@ crocksdb_iostats_context_prepare_write_nanos(crocksdb_iostats_context_t*);
extern C_ROCKSDB_LIBRARY_API uint64_t extern C_ROCKSDB_LIBRARY_API uint64_t
crocksdb_iostats_context_logger_nanos(crocksdb_iostats_context_t*); crocksdb_iostats_context_logger_nanos(crocksdb_iostats_context_t*);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_run_ldb_tool(
crocksdb_run_ldb_tool(int argc, char** argv, const crocksdb_options_t* opts); int argc, char** argv, const crocksdb_options_t* opts);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void crocksdb_run_sst_dump_tool(
crocksdb_run_sst_dump_tool(int argc, char** argv, const crocksdb_options_t* opts); int argc, char** argv, const crocksdb_options_t* opts);
/* Titan */ /* Titan */
struct ctitandb_blob_index_t { struct ctitandb_blob_index_t {
...@@ -2168,18 +2186,15 @@ typedef struct ctitandb_readoptions_t ctitandb_readoptions_t; ...@@ -2168,18 +2186,15 @@ typedef struct ctitandb_readoptions_t ctitandb_readoptions_t;
typedef struct ctitandb_blob_index_t ctitandb_blob_index_t; typedef struct ctitandb_blob_index_t ctitandb_blob_index_t;
extern C_ROCKSDB_LIBRARY_API crocksdb_t* ctitandb_open_column_families( extern C_ROCKSDB_LIBRARY_API crocksdb_t* ctitandb_open_column_families(
const char* name, const char* name, const ctitandb_options_t* tdb_options,
const ctitandb_options_t* tdb_options, int num_column_families, int num_column_families, const char** column_family_names,
const char** column_family_names,
const ctitandb_options_t** titan_column_family_options, const ctitandb_options_t** titan_column_family_options,
crocksdb_column_family_handle_t** column_family_handles, char** errptr); crocksdb_column_family_handle_t** column_family_handles, char** errptr);
extern C_ROCKSDB_LIBRARY_API extern C_ROCKSDB_LIBRARY_API crocksdb_column_family_handle_t*
crocksdb_column_family_handle_t* ctitandb_create_column_family( ctitandb_create_column_family(
crocksdb_t* db, crocksdb_t* db, const ctitandb_options_t* titan_column_family_options,
const ctitandb_options_t* titan_column_family_options, const char* column_family_name, char** errptr);
const char* column_family_name,
char** errptr);
/* TitanDBOptions */ /* TitanDBOptions */
...@@ -2190,12 +2205,14 @@ extern C_ROCKSDB_LIBRARY_API void ctitandb_options_destroy(ctitandb_options_t*); ...@@ -2190,12 +2205,14 @@ extern C_ROCKSDB_LIBRARY_API void ctitandb_options_destroy(ctitandb_options_t*);
extern C_ROCKSDB_LIBRARY_API ctitandb_options_t* ctitandb_options_copy( extern C_ROCKSDB_LIBRARY_API ctitandb_options_t* ctitandb_options_copy(
ctitandb_options_t*); ctitandb_options_t*);
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_rocksdb_options(ctitandb_options_t* opts, const crocksdb_options_t* rocksdb_opts); extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_rocksdb_options(
ctitandb_options_t* opts, const crocksdb_options_t* rocksdb_opts);
extern C_ROCKSDB_LIBRARY_API ctitandb_options_t* ctitandb_get_titan_options_cf( extern C_ROCKSDB_LIBRARY_API ctitandb_options_t* ctitandb_get_titan_options_cf(
const crocksdb_t* db, crocksdb_column_family_handle_t* column_family); const crocksdb_t* db, crocksdb_column_family_handle_t* column_family);
extern C_ROCKSDB_LIBRARY_API ctitandb_options_t* ctitandb_get_titan_db_options(crocksdb_t* db); extern C_ROCKSDB_LIBRARY_API ctitandb_options_t* ctitandb_get_titan_db_options(
crocksdb_t* db);
extern C_ROCKSDB_LIBRARY_API const char* ctitandb_options_dirname( extern C_ROCKSDB_LIBRARY_API const char* ctitandb_options_dirname(
ctitandb_options_t*); ctitandb_options_t*);
...@@ -2228,14 +2245,14 @@ extern C_ROCKSDB_LIBRARY_API void ctitandb_encode_blob_index( ...@@ -2228,14 +2245,14 @@ extern C_ROCKSDB_LIBRARY_API void ctitandb_encode_blob_index(
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_disable_background_gc( extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_disable_background_gc(
ctitandb_options_t* options, unsigned char disable); ctitandb_options_t* options, unsigned char disable);
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_level_merge(ctitandb_options_t* options, extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_level_merge(
unsigned char enable); ctitandb_options_t* options, unsigned char enable);
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_range_merge(ctitandb_options_t* options, extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_range_merge(
unsigned char enable); ctitandb_options_t* options, unsigned char enable);
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_max_sorted_runs(ctitandb_options_t* options, extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_max_sorted_runs(
int size); ctitandb_options_t* options, int size);
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_max_gc_batch_size( extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_max_gc_batch_size(
ctitandb_options_t* options, uint64_t size); ctitandb_options_t* options, uint64_t size);
...@@ -2264,67 +2281,64 @@ ctitandb_options_set_purge_obsolete_files_period_sec( ...@@ -2264,67 +2281,64 @@ ctitandb_options_set_purge_obsolete_files_period_sec(
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_blob_cache( extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_blob_cache(
ctitandb_options_t* options, crocksdb_cache_t* cache); ctitandb_options_t* options, crocksdb_cache_t* cache);
extern C_ROCKSDB_LIBRARY_API size_t ctitandb_options_get_blob_cache_usage( extern C_ROCKSDB_LIBRARY_API size_t
ctitandb_options_t *opt); ctitandb_options_get_blob_cache_usage(ctitandb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_blob_cache_capacity( extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_blob_cache_capacity(
ctitandb_options_t* opt, size_t capacity, char **errptr); ctitandb_options_t* opt, size_t capacity, char** errptr);
extern C_ROCKSDB_LIBRARY_API size_t ctitandb_options_get_blob_cache_capacity( extern C_ROCKSDB_LIBRARY_API size_t
ctitandb_options_t* opt); ctitandb_options_get_blob_cache_capacity(ctitandb_options_t* opt);
extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_discardable_ratio( extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_discardable_ratio(
ctitandb_options_t* options, double ratio); ctitandb_options_t* options, double ratio);
extern void C_ROCKSDB_LIBRARY_API ctitandb_options_set_sample_ratio(ctitandb_options_t* options, extern void C_ROCKSDB_LIBRARY_API
double ratio); ctitandb_options_set_sample_ratio(ctitandb_options_t* options, double ratio);
extern void C_ROCKSDB_LIBRARY_API ctitandb_options_set_blob_run_mode(ctitandb_options_t* options, int mode); extern void C_ROCKSDB_LIBRARY_API
ctitandb_options_set_blob_run_mode(ctitandb_options_t* options, int mode);
/* TitanReadOptions */ /* TitanReadOptions */
extern C_ROCKSDB_LIBRARY_API ctitandb_readoptions_t* ctitandb_readoptions_create(); extern C_ROCKSDB_LIBRARY_API ctitandb_readoptions_t*
ctitandb_readoptions_create();
extern C_ROCKSDB_LIBRARY_API void ctitandb_readoptions_destroy(ctitandb_readoptions_t* opts); extern C_ROCKSDB_LIBRARY_API void ctitandb_readoptions_destroy(
ctitandb_readoptions_t* opts);
extern C_ROCKSDB_LIBRARY_API unsigned char ctitandb_readoptions_key_only(ctitandb_readoptions_t* opts); extern C_ROCKSDB_LIBRARY_API unsigned char ctitandb_readoptions_key_only(
ctitandb_readoptions_t* opts);
extern C_ROCKSDB_LIBRARY_API void ctitandb_readoptions_set_key_only(ctitandb_readoptions_t* opts, extern C_ROCKSDB_LIBRARY_API void ctitandb_readoptions_set_key_only(
unsigned char v); ctitandb_readoptions_t* opts, unsigned char v);
/* Titan Iterator */ /* Titan Iterator */
extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t* ctitandb_create_iterator( extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t* ctitandb_create_iterator(
crocksdb_t* db, crocksdb_t* db, const crocksdb_readoptions_t* options,
const crocksdb_readoptions_t* options,
const ctitandb_readoptions_t* titan_options); const ctitandb_readoptions_t* titan_options);
extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t* ctitandb_create_iterator_cf( extern C_ROCKSDB_LIBRARY_API crocksdb_iterator_t* ctitandb_create_iterator_cf(
crocksdb_t* db, crocksdb_t* db, const crocksdb_readoptions_t* options,
const crocksdb_readoptions_t* options,
const ctitandb_readoptions_t* titan_options, const ctitandb_readoptions_t* titan_options,
crocksdb_column_family_handle_t* column_family); crocksdb_column_family_handle_t* column_family);
extern C_ROCKSDB_LIBRARY_API void ctitandb_create_iterators( extern C_ROCKSDB_LIBRARY_API void ctitandb_create_iterators(
crocksdb_t *db, crocksdb_t* db, crocksdb_readoptions_t* options,
crocksdb_readoptions_t* options,
ctitandb_readoptions_t* titan_options, ctitandb_readoptions_t* titan_options,
crocksdb_column_family_handle_t** column_families, crocksdb_column_family_handle_t** column_families,
crocksdb_iterator_t** iterators, crocksdb_iterator_t** iterators, size_t size, char** errptr);
size_t size,
char** errptr);
extern C_ROCKSDB_LIBRARY_API void ctitandb_delete_files_in_range( extern C_ROCKSDB_LIBRARY_API void ctitandb_delete_files_in_range(
crocksdb_t* db, crocksdb_t* db, const char* start_key, size_t start_key_len,
const char* start_key, size_t start_key_len, const char* limit_key, size_t limit_key_len, unsigned char include_end,
const char* limit_key, size_t limit_key_len, char** errptr);
unsigned char include_end, char** errptr);
extern C_ROCKSDB_LIBRARY_API void ctitandb_delete_files_in_range_cf( extern C_ROCKSDB_LIBRARY_API void ctitandb_delete_files_in_range_cf(
crocksdb_t* db, crocksdb_column_family_handle_t* column_family, crocksdb_t* db, crocksdb_column_family_handle_t* column_family,
const char* start_key, size_t start_key_len, const char* start_key, size_t start_key_len, const char* limit_key,
const char* limit_key, size_t limit_key_len, size_t limit_key_len, unsigned char include_end, char** errptr);
unsigned char include_end, char** errptr);
extern C_ROCKSDB_LIBRARY_API void ctitandb_delete_files_in_ranges_cf( extern C_ROCKSDB_LIBRARY_API void ctitandb_delete_files_in_ranges_cf(
crocksdb_t* db, crocksdb_column_family_handle_t* cf, crocksdb_t* db, crocksdb_column_family_handle_t* cf,
......
#!/bin/bash
# BSD License
# For rocksdb software
# Copyright (c) 2011-present, Facebook, Inc.
# All rights reserved.
# ---------------------------------------------------------------------
# Copyright (c) 2011 The LevelDB Authors. All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# If clang_format_diff.py command is not specfied, we assume we are able to
# access directly without any path.
if [ -z $CLANG_FORMAT_DIFF ]
then
CLANG_FORMAT_DIFF="clang-format-diff"
fi
# Check clang-format-diff.py
if ! which $CLANG_FORMAT_DIFF &> /dev/null
then
echo "You didn't have clang-format-diff.py and/or clang-format available in your computer!"
echo "You can download clang-format-diff.py by running: "
echo " curl --location http://goo.gl/iUW1u2 -o ${CLANG_FORMAT_DIFF}"
echo "You can download clang-format by running: "
echo " brew install clang-format"
echo "Then, move both files (i.e. ${CLANG_FORMAT_DIFF} and clang-format) to some directory within PATH=${PATH}"
exit 128
fi
# Check argparse, a library that clang-format-diff.py requires.
python 2>/dev/null << EOF
import argparse
EOF
if [ "$?" != 0 ]
then
echo "To run clang-format-diff.py, we'll need the library "argparse" to be"
echo "installed. You can try either of the follow ways to install it:"
echo " 1. Manually download argparse: https://pypi.python.org/pypi/argparse"
echo " 2. easy_install argparse (if you have easy_install)"
echo " 3. pip install argparse (if you have pip)"
exit 129
fi
# TODO(kailiu) following work is not complete since we still need to figure
# out how to add the modified files done pre-commit hook to git's commit index.
#
# Check if this script has already been added to pre-commit hook.
# Will suggest user to add this script to pre-commit hook if their pre-commit
# is empty.
# PRE_COMMIT_SCRIPT_PATH="`git rev-parse --show-toplevel`/.git/hooks/pre-commit"
# if ! ls $PRE_COMMIT_SCRIPT_PATH &> /dev/null
# then
# echo "Would you like to add this script to pre-commit hook, which will do "
# echo -n "the format check for all the affected lines before you check in (y/n):"
# read add_to_hook
# if [ "$add_to_hook" == "y" ]
# then
# ln -s `git rev-parse --show-toplevel`/build_tools/format-diff.sh $PRE_COMMIT_SCRIPT_PATH
# fi
# fi
set -e
uncommitted_code=`git diff HEAD`
LAST_MASTER=`git merge-base master HEAD`
# If there's no uncommitted changes, we assume user are doing post-commit
# format check, in which case we'll check the modified lines since last commit
# from master. Otherwise, we'll check format of the uncommitted code only.
if [ -z "$uncommitted_code" ]
then
# Check the format of last commit
diffs=$(git diff -U0 $LAST_MASTER^ | $CLANG_FORMAT_DIFF -p1)
else
# Check the format of uncommitted lines,
diffs=$(git diff -U0 HEAD | $CLANG_FORMAT_DIFF -p1)
fi
if [ -z "$diffs" ]
then
echo "Nothing needs to be reformatted!"
exit 0
fi
# Highlight the insertion/deletion from the clang-format-diff.py's output
COLOR_END="\033[0m"
COLOR_RED="\033[0;31m"
COLOR_GREEN="\033[0;32m"
echo -e "Detect lines that doesn't follow the format rules:\r"
# Add the color to the diff. lines added will be green; lines removed will be red.
echo "$diffs" |
sed -e "s/\(^-.*$\)/`echo -e \"$COLOR_RED\1$COLOR_END\"`/" |
sed -e "s/\(^+.*$\)/`echo -e \"$COLOR_GREEN\1$COLOR_END\"`/"
if [[ "$OPT" == *"-DTRAVIS"* ]]
then
exit 1
fi
# echo -e "Would you like to fix the format automatically (y/n): \c"
# # Make sure under any mode, we can read user input.
# exec < /dev/tty
# read to_fix
# if [ "$to_fix" != "y" ]
# then
# exit 1
# fi
# Do in-place format adjustment.
if [ -z "$uncommitted_code" ]
then
git diff -U0 $LAST_MASTER^ | $CLANG_FORMAT_DIFF -i -p1
else
git diff -U0 HEAD^ | $CLANG_FORMAT_DIFF -i -p1
fi
echo "Files reformatted!"
# Amend to last commit if user do the post-commit format check
if [ -z "$uncommitted_code" ]; then
echo -e "Would you like to amend the changes to last commit (`git log HEAD --oneline | head -1`)? (y/n): \c"
read to_amend
if [ "$to_amend" == "y" ]
then
git commit -a --amend --reuse-message HEAD
echo "Amended to last commit"
fi
fi
#!/bin/bash
git diff `git merge-base master HEAD` ./librocksdb_sys/crocksdb | clang-format-diff -style=google -p1 -i
#!/bin/bash
set -ev
git fetch --depth=1 origin master:master;
git diff $(git merge-base master HEAD) HEAD ./librocksdb_sys/crocksdb > diff;
cat diff | clang-format-diff-7 -style=google -p1 > formatted;
if [ -s formatted ]; then
cat formatted;
echo "Run \`scripts/format-diff.sh\` to format your code.";
exit 1;
fi;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment