From c64e8c96213b65cf516ca5fdf92a1241df8cb7f4 Mon Sep 17 00:00:00 2001 From: Xu Peng Date: Sun, 5 May 2019 10:28:40 +0800 Subject: [PATCH] refactor(db): typdef meta ptr Former-commit-id: 1fcbd80c65a1ee2815a57127f04807ce7d9f23f3 --- cpp/src/db/DBImpl.h | 4 +++- cpp/src/db/MemManager.h | 6 ++++-- cpp/src/db/Meta.h | 5 +++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cpp/src/db/DBImpl.h b/cpp/src/db/DBImpl.h index 77632796d4..d23269836e 100644 --- a/cpp/src/db/DBImpl.h +++ b/cpp/src/db/DBImpl.h @@ -21,6 +21,8 @@ namespace meta { template class DBImpl : public DB { public: + typedef typename meta::Meta::Ptr MetaPtr; + DBImpl(const Options& options); virtual Status add_group(meta::GroupSchema& group_info) override; @@ -78,7 +80,7 @@ private: bool bg_build_index_started_; std::condition_variable bg_build_index_finish_signal_; - std::shared_ptr _pMeta; + MetaPtr _pMeta; std::shared_ptr _pMemMgr; }; // DBImpl diff --git a/cpp/src/db/MemManager.h b/cpp/src/db/MemManager.h index 47d3aa3352..b2494e4de8 100644 --- a/cpp/src/db/MemManager.h +++ b/cpp/src/db/MemManager.h @@ -23,6 +23,7 @@ template class MemVectors { public: typedef typename EngineT::Ptr EnginePtr; + typedef typename meta::Meta::Ptr MetaPtr; explicit MemVectors(const std::shared_ptr&, const meta::GroupFileSchema&, const Options&); @@ -44,7 +45,7 @@ private: MemVectors(const MemVectors&) = delete; MemVectors& operator=(const MemVectors&) = delete; - std::shared_ptr pMeta_; + MetaPtr pMeta_; Options options_; meta::GroupFileSchema schema_; IDGenerator* _pIdGenerator; @@ -59,6 +60,7 @@ class MemManager { public: typedef MemVectors ItemT; typedef std::shared_ptr VectorsPtr; + typedef typename meta::Meta::Ptr MetaPtr; MemManager(const std::shared_ptr& meta_, const Options& options) : _pMeta(meta_), options_(options) {} @@ -79,7 +81,7 @@ private: typedef std::vector ImmMemPool; MemMap _memMap; ImmMemPool _immMems; - std::shared_ptr _pMeta; + MetaPtr _pMeta; Options options_; std::mutex _mutex; std::mutex serialization_mtx_; diff --git a/cpp/src/db/Meta.h b/cpp/src/db/Meta.h index bf9d55847c..2828c5adee 100644 --- a/cpp/src/db/Meta.h +++ b/cpp/src/db/Meta.h @@ -5,6 +5,8 @@ #include #include #include +#include + #include "Options.h" #include "Status.h" @@ -50,8 +52,11 @@ typedef std::vector GroupFilesSchema; typedef std::map DatePartionedGroupFilesSchema; +class Meta; class Meta { public: + typedef std::shared_ptr Ptr; + virtual Status add_group(GroupSchema& group_info) = 0; virtual Status get_group(GroupSchema& group_info) = 0; virtual Status has_group(const std::string& group_id_, bool& has_or_not_) = 0;