]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/KeyValueDB: make compaction interface generic
authorSage Weil <sage@inktank.com>
Tue, 1 Apr 2014 01:05:13 +0000 (18:05 -0700)
committerSage Weil <sage@redhat.com>
Wed, 30 Jul 2014 04:28:50 +0000 (21:28 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/os/KeyValueDB.h
src/os/LevelDBStore.h

index a1255083cd0f136b057c3a53a35b111682d5fdf8..0ac512f72adc3e72dc8bf9dbcdc1a549d0add39c 100644 (file)
@@ -179,6 +179,18 @@ public:
 
   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;
index 1c072daa43b2f7cf697ec1aecc36c32203cec199..3dbc0f92dfd648ab8072fce12c2577ff04646daf 100644 (file)
@@ -85,21 +85,24 @@ public:
   /// 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.