diff --git a/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/single_kvstore_client_test.cpp b/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/single_kvstore_client_test.cpp index 49ddafd07baf20bd09a990164a85acb611decc57..1d21b432b0f537518ae0fa10f8d537bbc36c5a33 100644 --- a/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/single_kvstore_client_test.cpp +++ b/frameworks/innerkitsimpl/distributeddatafwk/test/unittest/single_kvstore_client_test.cpp @@ -255,6 +255,22 @@ HWTEST_F(SingleKvStoreClientTest, GetEntriesAndResultSet001, TestSize.Level1) EXPECT_EQ(closeResultSetStatus, Status::SUCCESS) << "close resultSet failed."; } +/** +* @tc.name: GetEmptyEntries +* @tc.desc: Batch get empty values. +* @tc.type: FUNC +* @tc.require: +* @tc.author: Sven Wang +*/ +HWTEST_F(SingleKvStoreClientTest, GetEmptyEntries, TestSize.Level1) +{ + EXPECT_NE(singleKvStorePtr, nullptr) << "kvStorePtr is null."; + std::vector results; + auto status = singleKvStorePtr->GetEntries({ "SUCCESS_TEST" }, results); + EXPECT_EQ(status, Status::SUCCESS) << "status is not SUCCESS."; + EXPECT_EQ(results.size(), 0) << "entries size is not empty."; +} + /** * @tc.name: Subscribe001 * @tc.desc: Put data and get callback. diff --git a/frameworks/innerkitsimpl/kvdb/src/single_store_impl.cpp b/frameworks/innerkitsimpl/kvdb/src/single_store_impl.cpp index 367c3f33b8ee3dade4ea583f0d8f1cab7453cdf6..8dc509ed0c7bc1f44039bfd3699a9362d6573254 100644 --- a/frameworks/innerkitsimpl/kvdb/src/single_store_impl.cpp +++ b/frameworks/innerkitsimpl/kvdb/src/single_store_impl.cpp @@ -702,7 +702,12 @@ Status SingleStoreImpl::GetEntries(const DistributedDB::Query &query, std::vecto entry.value = std::move(dbEntry.value); ++it; } - return StoreUtil::ConvertStatus(dbStatus); + + auto status = StoreUtil::ConvertStatus(dbStatus); + if (status == NOT_FOUND) { + status = SUCCESS; + } + return status; } std::vector SingleStoreImpl::GetPrefix(const Key &prefix) const @@ -734,6 +739,7 @@ std::vector SingleStoreImpl::TrimKey(const Key &prefix) const } return {begin, end}; } + Status SingleStoreImpl::DoSync(const SyncInfo &syncInfo, std::shared_ptr observer) { auto service = KVDBServiceClient::GetInstance();