From a62c6626e0ae27390013abcc94b42cecd6eb4497 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Mon, 17 Dec 2018 13:48:53 -0800 Subject: [PATCH] Support setting options on column families via C bindings (#4785) Summary: Currently, it supports setting options only on the default column family. Pull Request resolved: https://github.com/facebook/rocksdb/pull/4785 Differential Revision: D13491819 Pulled By: ajkr fbshipit-source-id: 75c78bd86222bb05568e538562af84fb53eb4d8d --- db/c.cc | 9 +++++++++ include/rocksdb/c.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/db/c.cc b/db/c.cc index a5d0133b4..4b26df405 100644 --- a/db/c.cc +++ b/db/c.cc @@ -2067,6 +2067,15 @@ void rocksdb_set_options( db->rep->SetOptions(options_map)); } +void rocksdb_set_options_cf( + rocksdb_t* db, rocksdb_column_family_handle_t* handle, int count, const char* const keys[], const char* const values[], char** errptr) { + std::unordered_map options_map; + for (int i=0; irep->SetOptions(handle->rep, options_map)); + } + rocksdb_options_t* rocksdb_options_create() { return new rocksdb_options_t; } diff --git a/include/rocksdb/c.h b/include/rocksdb/c.h index c0cd83cd4..0464af797 100644 --- a/include/rocksdb/c.h +++ b/include/rocksdb/c.h @@ -728,6 +728,9 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_cuckoo_table_factory( extern ROCKSDB_LIBRARY_API void rocksdb_set_options( rocksdb_t* db, int count, const char* const keys[], const char* const values[], char** errptr); +extern ROCKSDB_LIBRARY_API void rocksdb_set_options_cf( + rocksdb_t* db, rocksdb_column_family_handle_t* handle, int count, const char* const keys[], const char* const values[], char** errptr); + extern ROCKSDB_LIBRARY_API rocksdb_options_t* rocksdb_options_create(); extern ROCKSDB_LIBRARY_API void rocksdb_options_destroy(rocksdb_options_t*); extern ROCKSDB_LIBRARY_API void rocksdb_options_increase_parallelism(