virtual ~KeyValueDB() {}
+ /// compact the underlying store
+ virtual void compact() {}
+
+ /// compact db for all keys with a given prefix
+ virtual void compact_prefix(const string& prefix) {}
+ /// compact db for all keys with a given prefix, async
+ virtual void compact_prefix_async(const string& prefix) {}
+ virtual void compact_range(const string& prefix,
+ const string& start, const string& end) {}
+ virtual void compact_range_async(const string& prefix,
+ const string& start, const string& end) {}
+
protected:
virtual WholeSpaceIterator _get_iterator() = 0;
virtual WholeSpaceIterator _get_snapshot_iterator() = 0;
/// compact the underlying leveldb store
void compact();
- /// compact leveldb for all keys with a given prefix
+ /// compact db for all keys with a given prefix
void compact_prefix(const string& prefix) {
compact_range(prefix, past_prefix(prefix));
}
void compact_prefix_async(const string& prefix) {
compact_range_async(prefix, past_prefix(prefix));
}
-
- void compact_range(const string& prefix, const string& start, const string& end) {
+ void compact_range(const string& prefix,
+ const string& start, const string& end) {
compact_range(combine_strings(prefix, start), combine_strings(prefix, end));
}
- void compact_range_async(const string& prefix, const string& start, const string& end) {
- compact_range_async(combine_strings(prefix, start), combine_strings(prefix, end));
+ void compact_range_async(const string& prefix,
+ const string& start, const string& end) {
+ compact_range_async(combine_strings(prefix, start),
+ combine_strings(prefix, end));
}
+
/**
* options_t: Holds options which are minimally interpreted
* on initialization and then passed through to LevelDB.