/******************************************************************************* * Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved * Unauthorized copying of this file, via any medium is strictly prohibited. * Proprietary and confidential. ******************************************************************************/ #pragma once #include "utils/Error.h" #include "VecIdMapper.h" #include "rocksdb/db.h" #include #include #include namespace zilliz { namespace vecwise { namespace server { class RocksIdMapper : public IVecIdMapper{ public: RocksIdMapper(); ~RocksIdMapper(); ServerError Put(const std::string& nid, const std::string& sid, const std::string& group = "") override; ServerError Put(const std::vector& nid, const std::vector& sid, const std::string& group = "") override; ServerError Get(const std::string& nid, std::string& sid, const std::string& group = "") const override; ServerError Get(const std::vector& nid, std::vector& sid, const std::string& group = "") const override; ServerError Delete(const std::string& nid, const std::string& group = "") override; ServerError DeleteGroup(const std::string& group) override; private: void OpenDb(); void CloseDb(); private: rocksdb::DB* db_; std::unordered_map column_handles_; }; } } }