diff --git a/src/IStorage.h b/src/IStorage.h index f3ea50864..516f3e0e9 100644 --- a/src/IStorage.h +++ b/src/IStorage.h @@ -14,7 +14,7 @@ class IStorage public: typedef std::function callback; - virtual ~IStorage() {} + virtual ~IStorage(); virtual void insert(const char *key, size_t cchKey, void *data, size_t cb) = 0; virtual void erase(const char *key, size_t cchKey) = 0; @@ -25,7 +25,7 @@ public: virtual void beginWriteBatch() {} // NOP virtual void endWriteBatch() {} // NOP - virtual void flush(); + virtual void flush() = 0; /* This is permitted to be a shallow clone */ virtual const IStorage *clone() const = 0; diff --git a/src/storage.cpp b/src/storage.cpp index 0fc7de83c..cb095028a 100644 --- a/src/storage.cpp +++ b/src/storage.cpp @@ -1,5 +1,8 @@ #include "server.h" + +IStorage::~IStorage() {} + #ifdef USE_MEMKIND #include @@ -11,6 +14,7 @@ #include #include #include "storage.h" +#include "IStorage.h" struct memkind *mkdisk = NULL; static const char *PMEM_DIR = NULL;