diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp index 277cbdf9ba3f99c0ec868b4c3a3dc5313bd937d6..696e0dd4d09c74351b62619c67c0213d634e99b5 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp @@ -22,7 +22,6 @@ #include "log_print.h" #include "metadata/meta_data_manager.h" #include "metadata/secret_key_meta_data.h" -#include "rdb_cloud.h" #include "rdb_cursor.h" #include "rdb_helper.h" #include "rdb_query.h" @@ -94,7 +93,12 @@ int32_t RdbGeneralStore::Bind(const Database &database, BindInfo bindInfo) ZLOGE("cloudDb is null"); return GeneralError::E_ERROR; } - delegate_->SetCloudDB(std::make_shared(bindInfo.db_)); + rdbCloud_ = std::make_shared(bindInfo_.db_); + if (rdbCloud_ == nullptr) { + ZLOGE("rdb_cloudDb is null"); + return GeneralError::E_ERROR; + } + delegate_->SetCloudDB(rdbCloud_); DBSchema schema; schema.tables.resize(database.tables.size()); for (size_t i = 0; i < database.tables.size(); i++) { diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h index f337fe5644e58e099ec39c3f2f16637e385627e9..452e7fd5ec401bf55e427ce9a78e1fe261475ce3 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h @@ -19,6 +19,7 @@ #include "relational_store_delegate.h" #include "relational_store_manager.h" +#include "rdb_cloud.h" #include "rdb_store.h" #include "store/general_store.h" #include "metadata/store_meta_data.h" @@ -58,6 +59,7 @@ private: RdbManager manager_; RdbDelegate *delegate_ = nullptr; std::shared_ptr store_; + std::shared_ptr rdbCloud_ {}; BindInfo bindInfo_; }; } // namespace OHOS::DistributedRdb