Skip to content

Commit 4f9fae9

Browse files
author
Donovan Hide
committed
Add rocksdb_open_for_read_only to C API
1 parent fe331c8 commit 4f9fae9

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

db/c.cc

+14
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,20 @@ rocksdb_t* rocksdb_open(
330330
return result;
331331
}
332332

333+
rocksdb_t* rocksdb_open_for_read_only(
334+
const rocksdb_options_t* options,
335+
const char* name,
336+
unsigned char error_if_log_file_exist,
337+
char** errptr) {
338+
DB* db;
339+
if (SaveError(errptr, DB::OpenForReadOnly(options->rep, std::string(name), &db, error_if_log_file_exist))) {
340+
return nullptr;
341+
}
342+
rocksdb_t* result = new rocksdb_t;
343+
result->rep = db;
344+
return result;
345+
}
346+
333347
void rocksdb_close(rocksdb_t* db) {
334348
delete db->rep;
335349
delete db;

include/rocksdb/c.h

+6
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ extern rocksdb_t* rocksdb_open(
8383
const char* name,
8484
char** errptr);
8585

86+
extern rocksdb_t* rocksdb_open_for_read_only(
87+
const rocksdb_options_t* options,
88+
const char* name,
89+
unsigned char error_if_log_file_exist,
90+
char** errptr);
91+
8692
extern void rocksdb_close(rocksdb_t* db);
8793

8894
extern void rocksdb_put(

0 commit comments

Comments
 (0)