@ -32,60 +32,62 @@ class DBImplReadOnly : public DBImpl {
using DB : : Get ;
virtual Status Get ( const ReadOptions & options ,
ColumnFamilyHandle * column_family , const Slice & key ,
std : : string * value ) ;
std : : string * value ) override ;
// TODO: Implement ReadOnly MultiGet?
using DBImpl : : NewIterator ;
virtual Iterator * NewIterator ( const ReadOptions & ,
ColumnFamilyHandle * column_family ) ;
ColumnFamilyHandle * column_family ) override ;
virtual Status NewIterators (
const ReadOptions & options ,
const std : : vector < ColumnFamilyHandle * > & column_families ,
std : : vector < Iterator * > * iterators ) ;
std : : vector < Iterator * > * iterators ) override ;
using DBImpl : : Put ;
virtual Status Put ( const WriteOptions & options ,
ColumnFamilyHandle * column_family , const Slice & key ,
const Slice & value ) {
const Slice & value ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
using DBImpl : : Merge ;
virtual Status Merge ( const WriteOptions & options ,
ColumnFamilyHandle * column_family , const Slice & key ,
const Slice & value ) {
const Slice & value ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
using DBImpl : : Delete ;
virtual Status Delete ( const WriteOptions & options ,
ColumnFamilyHandle * column_family , const Slice & key ) {
ColumnFamilyHandle * column_family ,
const Slice & key ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
virtual Status Write ( const WriteOptions & options , WriteBatch * updates ) {
virtual Status Write ( const WriteOptions & options ,
WriteBatch * updates ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
using DBImpl : : CompactRange ;
virtual Status CompactRange ( ColumnFamilyHandle * column_family ,
const Slice * begin , const Slice * end ,
bool reduce_level = false ,
int target_level = - 1 ) {
bool reduce_level = false , int target_level = - 1 ,
uint32_t target_path_id = 0 ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
virtual Status DisableFileDeletions ( ) {
virtual Status DisableFileDeletions ( ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
virtual Status EnableFileDeletions ( bool force ) {
virtual Status EnableFileDeletions ( bool force ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
virtual Status GetLiveFiles ( std : : vector < std : : string > & ,
uint64_t * manifest_file_size ,
bool flush_memtable = true ) {
bool flush_memtable = true ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}
using DBImpl : : Flush ;
virtual Status Flush ( const FlushOptions & options ,
ColumnFamilyHandle * column_family ) {
ColumnFamilyHandle * column_family ) override {
return Status : : NotSupported ( " Not supported operation in read only mode. " ) ;
}