del old dev uuid

Signed-off-by: yangliu <yangliu178@huawei.com>
This commit is contained in:
yangliu 2024-06-08 15:40:10 +08:00
parent 5e3a9f2978
commit 2203fe0e33
5 changed files with 46 additions and 0 deletions

View File

@ -65,6 +65,7 @@ public:
const std::function<void(Status, std::vector<Entry> &&)> &onResult) override;
Status GetEntries(const Key &prefix, std::vector<Entry> &entries) const override;
Status GetEntries(const DataQuery &query, std::vector<Entry> &entries) const override;
Status GetDeviceEntries(const std::string &device, std::vector<Entry> &entries) const override;
Status GetResultSet(const Key &prefix, std::shared_ptr<ResultSet> &resultSet) const override;
Status GetResultSet(const DataQuery &query, std::shared_ptr<ResultSet> &resultSet) const override;
Status CloseResultSet(std::shared_ptr<ResultSet> &resultSet) override;

View File

@ -490,6 +490,36 @@ Status SingleStoreImpl::GetResultSet(const Key &prefix, std::shared_ptr<ResultSe
return status;
}
Status SingleStoreImpl::GetDeviceEntries(const std::string &device, std::vector<Entry> &entries) const
{
std::shared_lock<decltype(rwMutex_)> lock(rwMutex_);
if (dbStore_ == nullptr) {
ZLOGE("db:%{public}s already closed!", StoreUtil::Anonymous(storeId_).c_str());
return ALREADY_CLOSED;
}
if (device.empty()) {
ZLOGE("no devices");
return INVALID_ARGUMENT;
}
std::vector<DBEntry> dbEntries;
std::string devId;
auto dbStatus = dbStore_->GetDeviceEntries(device, dbEntries);
entries.resize(dbEntries.size());
auto it = entries.begin();
for (auto &dbEntry : dbEntries) {
auto &entry = *it;
entry.key = convertor_.ToKey(std::move(dbEntry.key), devId);
entry.value = std::move(dbEntry.value);
++it;
}
auto status = StoreUtil::ConvertStatus(dbStatus);
if (status == NOT_FOUND) {
status = SUCCESS;
}
return status;
}
Status SingleStoreImpl::GetResultSet(const DataQuery &query, std::shared_ptr<ResultSet> &resultSet) const
{
DdsTrace trace(std::string(LOG_TAG "::") + std::string(__FUNCTION__));

View File

@ -308,6 +308,14 @@ public:
{
return Status::SUCCESS;
}
/**
* @brief Get all entries in this store by deviceId.
* @param device deviceId.
* @param entries Entries will be returned in this parameter.
* @return Return SUCCESS for success, others for failure.
*/
virtual Status GetDeviceEntries(const std::string &device, std::vector<Entry> &entries) const = 0;
};
} // namespace DistributedKv
} // namespace OHOS

View File

@ -54,6 +54,7 @@ public:
const std::function<void(Status, std::vector<Entry> &&)> &onResult) override;
Status GetEntries(const Key &prefix, std::vector<Entry> &entries) const override;
Status GetEntries(const DataQuery &query, std::vector<Entry> &entries) const override;
Status GetDeviceEntries(const std::string &device, std::vector<Entry> &entries) const override;
Status GetResultSet(const Key &prefix, std::shared_ptr<ResultSet> &resultSet) const override;
Status GetResultSet(const DataQuery &query, std::shared_ptr<ResultSet> &resultSet) const override;
Status CloseResultSet(std::shared_ptr<ResultSet> &resultSet) override;

View File

@ -442,6 +442,12 @@ Status SingleStoreImpl::Sync(const std::vector<std::string> &devices, SyncMode m
{
return SERVER_UNAVAILABLE;
}
Status SingleStoreImpl::GetDeviceEntries(const std::string &device, std::vector<Entry> &entries) const
{
return SUCCESS;
}
Status SingleStoreImpl::RegisterSyncCallback(std::shared_ptr<SyncCallback> callback)
{
return SERVER_UNAVAILABLE;