From 7db8d0454bc53906187dec8a526f5262e32ea45d Mon Sep 17 00:00:00 2001 From: zqq Date: Sat, 22 Nov 2025 14:55:21 +0800 Subject: [PATCH] fixbug in old data Signed-off-by: zqq --- .../src/sqlite/relational/sqlite_relational_utils.cpp | 4 ++++ .../rdb/distributeddb_rdb_conflict_handler_test.cpp | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/frameworks/libs/distributeddb/storage/src/sqlite/relational/sqlite_relational_utils.cpp b/frameworks/libs/distributeddb/storage/src/sqlite/relational/sqlite_relational_utils.cpp index db01500be14..8ff8557e4fe 100644 --- a/frameworks/libs/distributeddb/storage/src/sqlite/relational/sqlite_relational_utils.cpp +++ b/frameworks/libs/distributeddb/storage/src/sqlite/relational/sqlite_relational_utils.cpp @@ -1057,6 +1057,10 @@ int SQLiteRelationalUtils::GetLocalDataByRowid(sqlite3 *db, const TableInfo &tab } dataInfoWithLog.localData.insert({fieldInfos[i].colName, cloudValue}); } + dataInfoWithLog.localData.insert({CloudDbConstant::MODIFY_FIELD, + static_cast(dataInfoWithLog.logInfo.timestamp)}); + dataInfoWithLog.localData.insert({CloudDbConstant::CREATE_FIELD, + static_cast(dataInfoWithLog.logInfo.wTimestamp)}); return E_OK; } diff --git a/frameworks/libs/distributeddb/test/unittest/common/store_test/rdb/distributeddb_rdb_conflict_handler_test.cpp b/frameworks/libs/distributeddb/test/unittest/common/store_test/rdb/distributeddb_rdb_conflict_handler_test.cpp index c5ee540446b..4db5d883424 100644 --- a/frameworks/libs/distributeddb/test/unittest/common/store_test/rdb/distributeddb_rdb_conflict_handler_test.cpp +++ b/frameworks/libs/distributeddb/test/unittest/common/store_test/rdb/distributeddb_rdb_conflict_handler_test.cpp @@ -125,14 +125,18 @@ void DistributedDBRDBConflictHandlerTest::Store1DeleteStore2Pull() */ HWTEST_F(DistributedDBRDBConflictHandlerTest, SimpleSync001, TestSize.Level0) { - SetCloudConflictHandler(info2_, [](const std::string &, const VBucket &, const VBucket &, VBucket &) { + SetCloudConflictHandler(info2_, [](const std::string &, const VBucket &old, const VBucket &, VBucket &) { + EXPECT_EQ(old.find(CloudDbConstant::CREATE_FIELD), old.end()); + EXPECT_EQ(old.find(CloudDbConstant::MODIFY_FIELD), old.end()); return ConflictRet::UPSERT; }); // step1 store1 push one row and store2 pull Store1InsertStore2Pull(); EXPECT_EQ(CountTableData(info2_, CLOUD_SYNC_TABLE_A, "intCol=1 AND stringCol1='text1' AND uuidCol='uuid1' AND stringCol2 IS NULL"), 1); - SetCloudConflictHandler(info2_, [](const std::string &, const VBucket &, const VBucket &, VBucket &) { + SetCloudConflictHandler(info2_, [](const std::string &, const VBucket &old, const VBucket &, VBucket &) { + EXPECT_NE(old.find(CloudDbConstant::CREATE_FIELD), old.end()); + EXPECT_NE(old.find(CloudDbConstant::MODIFY_FIELD), old.end()); return ConflictRet::DELETE; }); // step2 store1 delete one row and store2 pull -- Gitee