From 22ab21a5efb6f9b667cb3212d6b37eea24daae04 Mon Sep 17 00:00:00 2001 From: andri lim Date: Mon, 1 Apr 2019 15:00:45 +0700 Subject: [PATCH] add readonly option --- rocksdb.nim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rocksdb.nim b/rocksdb.nim index 13a7e90..e6514af 100644 --- a/rocksdb.nim +++ b/rocksdb.nim @@ -101,6 +101,7 @@ template bailOnErrors {.dirty.} = proc init*(rocks: var RocksDBInstance, dbPath, dbBackupPath: string, + readOnly = false, cpus = countProcessors(), createIfMissing = true): RocksDBResult[void] = rocks.options = rocksdb_options_create() @@ -115,7 +116,10 @@ proc init*(rocks: var RocksDBInstance, rocksdb_options_set_create_if_missing(rocks.options, uint8(createIfMissing)) var errors: cstring - rocks.db = rocksdb_open(rocks.options, dbPath, errors.addr) + if readOnly: + rocks.db = rocksdb_open_for_read_only(rocks.options, dbPath, 0'u8, errors.addr) + else: + rocks.db = rocksdb_open(rocks.options, dbPath, errors.addr) bailOnErrors() rocks.backupEngine = rocksdb_backup_engine_open(rocks.options, dbBackupPath, errors.addr)