diff --git a/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h b/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h index 097f8d9a781842b620aee193a5ada94f049ab4ca..e31eb8899f0610c1ba51a5575495d30e34e8ea3d 100644 --- a/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h +++ b/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h @@ -32,9 +32,7 @@ public: virtual ~GeneralStore() = default; - virtual int32_t Bind(std::shared_ptr cloudDb) = 0; - - virtual int32_t SetSchema(const SchemaMeta &schemaMeta) = 0; + virtual int32_t Bind(const SchemaMeta &schemaMeta, std::shared_ptr cloudDb) = 0; virtual int32_t Execute(const std::string &table, const std::string &sql) = 0; diff --git a/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp b/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp index f1c4186f6187411e34632b2158bccf86c111694d..cd3c8d16066e2ba1d66462a35cfe6d4351616098 100644 --- a/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp +++ b/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp @@ -399,13 +399,13 @@ void CloudServiceImpl::GetSchema(const Event &event) rdbEvent.GetStoreInfo().instanceId); auto instance = CloudServer::GetInstance(); if (instance == nullptr) { - ZLOGE("instance is nullptr"); + ZLOGE("instance is nullptr"); return; } - auto database = std::find_if(schemaMeta.databases.begin(),schemaMeta.databases.end(), - [&rdbEvent](const auto &database){ - return database.name == rdbEvent.GetStoreInfo().storeName; - }); + auto database = + std::find_if(schemaMeta.databases.begin(), schemaMeta.databases.end(), [&rdbEvent](const auto &database) { + return database.name == rdbEvent.GetStoreInfo().storeName; + }); if (database == schemaMeta.databases.end()) { return; } @@ -422,10 +422,10 @@ void CloudServiceImpl::GetSchema(const Event &event) ZLOGE("store is nullptr"); return; } - store->SetSchema(schemaMeta); - store->Bind(cloudDB); + store->Bind(schemaMeta, cloudDB); for (const auto &table : database->tables) { ZLOGD("table: %{public}s sync start", table.name.c_str()); + // do sync } return; } 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 f69051cabade5c507f450aa3ba33605431bf3d96..0f79fc6225ce00bd97ec452a6f6cb874d0f1d437 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp @@ -70,7 +70,7 @@ RdbGeneralStore::RdbGeneralStore(const StoreMetaData &meta) : manager_(meta.appI } } -int32_t RdbGeneralStore::Bind(std::shared_ptr cloudDb) +int32_t RdbGeneralStore::Bind(const SchemaMeta &schemaMeta, std::shared_ptr cloudDb) { cloudDb_ = std::move(cloudDb); return 0; @@ -168,9 +168,4 @@ int32_t RdbGeneralStore::Unwatch(int32_t origin, Watcher &watcher) return GeneralError::E_NOT_SUPPORT; } -int32_t RdbGeneralStore::SetSchema(const SchemaMeta &schemaMeta) -{ - //SetSchema - return GeneralError::E_OK; -} } // namespace OHOS::DistributedRdb 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 a77e7e33bc6d4568e0a1d07838309e19a440ed80..051115e24fcce3c57af8d7e83b13b3e7b42ab708 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h @@ -39,8 +39,7 @@ public: using RdbManager = DistributedDB::RelationalStoreManager; explicit RdbGeneralStore(const StoreMetaData &metaData); - int32_t Bind(std::shared_ptr cloudDb) override; - int32_t SetSchema(const SchemaMeta &schemaMeta) override; + int32_t Bind(const SchemaMeta &schemaMeta, std::shared_ptr cloudDb) override; int32_t Execute(const std::string &table, const std::string &sql) override; int32_t BatchInsert(const std::string &table, VBuckets &&values) override; int32_t BatchUpdate(const std::string &table, const std::string &sql, VBuckets &&values) override; diff --git a/datamgr_service/services/distributeddataservice/service/test/cloud_data_test.cpp b/datamgr_service/services/distributeddataservice/service/test/cloud_data_test.cpp index 781ed1582970417c3ee1453713dfcbdf6b0f02ca..32057e30be51ce257bc54de3365e6917a5a773e0 100644 --- a/datamgr_service/services/distributeddataservice/service/test/cloud_data_test.cpp +++ b/datamgr_service/services/distributeddataservice/service/test/cloud_data_test.cpp @@ -90,6 +90,7 @@ SchemaMeta CloudServerMock::GetAppSchema(int32_t userId, const std::string &bund } std::shared_ptr CloudDataTest::dbStoreMock_ = std::make_shared(); +SchemaMeta CloudDataTest::schemaMeta_; void CloudDataTest::InitMetaData() { @@ -148,6 +149,7 @@ void CloudDataTest::TearDownTestCase() {} void CloudDataTest::SetUp() { InitMetaData(); + InitSchemaMeta(); MetaDataManager::GetInstance().SaveMeta(metaData_.GetKey(), metaData_); StoreMetaData storeMetaData; @@ -162,7 +164,6 @@ void CloudDataTest::SetUp() storeMetaData.user = std::to_string(DistributedKv::AccountDelegate::GetInstance()->GetUserByToken(storeMetaData.tokenId)); MetaDataManager::GetInstance().SaveMeta(storeMetaData.GetKey(), storeMetaData); - InitSchemaMeta(); } void CloudDataTest::TearDown() {} diff --git a/relational_store/frameworks/native/rdb/src/rdb_types_util.cpp b/relational_store/frameworks/native/rdb/src/rdb_types_util.cpp index f269f84a0a187fa6a00ac3c86b1c663b1b6d5214..907d1223636a8d06cdfea852c0526ad12c0a8f56 100644 --- a/relational_store/frameworks/native/rdb/src/rdb_types_util.cpp +++ b/relational_store/frameworks/native/rdb/src/rdb_types_util.cpp @@ -115,19 +115,4 @@ bool Unmarshalling(Asset &output, MessageParcel &data) { return Unmarshal(data, output.version, output.name, output.size, output.modifyTime, output.uri); } - -template<> -bool Marshalling(const SubOption &input, MessageParcel &data) -{ - return ITypesUtil::Marshal(data, static_cast(input.mode)); -} - -template<> -bool Unmarshalling(SubOption &output, MessageParcel &data) -{ - int32_t mode = static_cast(output.mode); - auto ret = ITypesUtil::Unmarshal(data, mode); - output.mode = static_cast(mode); - return ret; -} } diff --git a/relational_store/interfaces/inner_api/rdb/include/rdb_service.h b/relational_store/interfaces/inner_api/rdb/include/rdb_service.h index 9e82eda3105ebe10adb69646cf818406e7d15693..4d9ec559dc5985131698913654552ad65a0b97ae 100644 --- a/relational_store/interfaces/inner_api/rdb/include/rdb_service.h +++ b/relational_store/interfaces/inner_api/rdb/include/rdb_service.h @@ -64,7 +64,7 @@ public: virtual int32_t GetSchema(const RdbSyncerParam ¶m) = 0; - static constexpr const char *SERVICE_NAME = "relational_store"; + inline static constexpr const char *SERVICE_NAME = "relational_store"; protected: virtual int32_t DoSync(const RdbSyncerParam ¶m, const SyncOption &option, const RdbPredicates &predicates, SyncResult &result) = 0;