diff --git a/rocks/src/storages/rocks/client.cpp b/rocks/src/storages/rocks/client.cpp index 2123290c0a35..a287accd2975 100644 --- a/rocks/src/storages/rocks/client.cpp +++ b/rocks/src/storages/rocks/client.cpp @@ -3,8 +3,8 @@ #include #include #include - #include +#include #include #include @@ -18,16 +18,22 @@ namespace storages::rocks { namespace { +#if ROCKSDB_MAJOR > 9 +using RawDbPointerType = std::unique_ptr; +#else +using RawDbPointerType = rocksdb::DB*; +#endif + std::shared_ptr OpenPlain(const std::string& db_path) { rocksdb::Options options; options.create_if_missing = true; - rocksdb::DB* db_raw{}; + RawDbPointerType db_raw{}; const rocksdb::Status status = rocksdb::DB::Open(options, db_path, &db_raw); if (!status.ok()) { throw RequestFailedException("Create client", status.ToString()); } - return std::shared_ptr(db_raw); + return std::shared_ptr(std::move(db_raw)); } } // namespace