Fix readonly db
Summary: DBImplReadOnly::CompactRange wasn't override DBImpl::CompactRange; this can cause problem when using StackableDB inheritors like DbWithTtl. P. S. Thanks C++11 for override :) Test Plan: make all check Reviewers: igor, sdong Reviewed By: sdong Subscribers: yhchiang, leveldb Differential Revision: https://reviews.facebook.net/D20829
This commit is contained in:
parent
e9269e6ece
commit
3215967205
@ -32,60 +32,62 @@ class DBImplReadOnly : public DBImpl {
|
|||||||
using DB::Get;
|
using DB::Get;
|
||||||
virtual Status Get(const ReadOptions& options,
|
virtual Status Get(const ReadOptions& options,
|
||||||
ColumnFamilyHandle* column_family, const Slice& key,
|
ColumnFamilyHandle* column_family, const Slice& key,
|
||||||
std::string* value);
|
std::string* value) override;
|
||||||
|
|
||||||
// TODO: Implement ReadOnly MultiGet?
|
// TODO: Implement ReadOnly MultiGet?
|
||||||
|
|
||||||
using DBImpl::NewIterator;
|
using DBImpl::NewIterator;
|
||||||
virtual Iterator* NewIterator(const ReadOptions&,
|
virtual Iterator* NewIterator(const ReadOptions&,
|
||||||
ColumnFamilyHandle* column_family);
|
ColumnFamilyHandle* column_family) override;
|
||||||
|
|
||||||
virtual Status NewIterators(
|
virtual Status NewIterators(
|
||||||
const ReadOptions& options,
|
const ReadOptions& options,
|
||||||
const std::vector<ColumnFamilyHandle*>& column_families,
|
const std::vector<ColumnFamilyHandle*>& column_families,
|
||||||
std::vector<Iterator*>* iterators);
|
std::vector<Iterator*>* iterators) override;
|
||||||
|
|
||||||
using DBImpl::Put;
|
using DBImpl::Put;
|
||||||
virtual Status Put(const WriteOptions& options,
|
virtual Status Put(const WriteOptions& options,
|
||||||
ColumnFamilyHandle* column_family, const Slice& key,
|
ColumnFamilyHandle* column_family, const Slice& key,
|
||||||
const Slice& value) {
|
const Slice& value) override {
|
||||||
return Status::NotSupported("Not supported operation in read only mode.");
|
return Status::NotSupported("Not supported operation in read only mode.");
|
||||||
}
|
}
|
||||||
using DBImpl::Merge;
|
using DBImpl::Merge;
|
||||||
virtual Status Merge(const WriteOptions& options,
|
virtual Status Merge(const WriteOptions& options,
|
||||||
ColumnFamilyHandle* column_family, const Slice& key,
|
ColumnFamilyHandle* column_family, const Slice& key,
|
||||||
const Slice& value) {
|
const Slice& value) override {
|
||||||
return Status::NotSupported("Not supported operation in read only mode.");
|
return Status::NotSupported("Not supported operation in read only mode.");
|
||||||
}
|
}
|
||||||
using DBImpl::Delete;
|
using DBImpl::Delete;
|
||||||
virtual Status Delete(const WriteOptions& options,
|
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.");
|
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.");
|
return Status::NotSupported("Not supported operation in read only mode.");
|
||||||
}
|
}
|
||||||
using DBImpl::CompactRange;
|
using DBImpl::CompactRange;
|
||||||
virtual Status CompactRange(ColumnFamilyHandle* column_family,
|
virtual Status CompactRange(ColumnFamilyHandle* column_family,
|
||||||
const Slice* begin, const Slice* end,
|
const Slice* begin, const Slice* end,
|
||||||
bool reduce_level = false,
|
bool reduce_level = false, int target_level = -1,
|
||||||
int target_level = -1) {
|
uint32_t target_path_id = 0) override {
|
||||||
return Status::NotSupported("Not supported operation in read only mode.");
|
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.");
|
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.");
|
return Status::NotSupported("Not supported operation in read only mode.");
|
||||||
}
|
}
|
||||||
virtual Status GetLiveFiles(std::vector<std::string>&,
|
virtual Status GetLiveFiles(std::vector<std::string>&,
|
||||||
uint64_t* manifest_file_size,
|
uint64_t* manifest_file_size,
|
||||||
bool flush_memtable = true) {
|
bool flush_memtable = true) override {
|
||||||
return Status::NotSupported("Not supported operation in read only mode.");
|
return Status::NotSupported("Not supported operation in read only mode.");
|
||||||
}
|
}
|
||||||
using DBImpl::Flush;
|
using DBImpl::Flush;
|
||||||
virtual Status Flush(const FlushOptions& options,
|
virtual Status Flush(const FlushOptions& options,
|
||||||
ColumnFamilyHandle* column_family) {
|
ColumnFamilyHandle* column_family) override {
|
||||||
return Status::NotSupported("Not supported operation in read only mode.");
|
return Status::NotSupported("Not supported operation in read only mode.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user