Ignore table update when remap already exists.

This commit is contained in:
Alex Hart 2023-05-16 13:17:09 -03:00 committed by Greyson Parrelli
parent 59745a695c
commit 398527d3f1

View file

@ -230,11 +230,17 @@ class GroupTable(context: Context?, databaseHelper: SignalDatabase?) : DatabaseT
for ((old, new) in oldToNew) {
updateCount += db.update(MembershipTable.TABLE_NAME)
.values(MembershipTable.RECIPIENT_ID to new!!.serialize())
.where("${MembershipTable.GROUP_ID} = ? AND ${MembershipTable.RECIPIENT_ID} = ?", groupId, old)
.run(conflictStrategy = SQLiteDatabase.CONFLICT_IGNORE)
if (updateCount == 0) {
db.delete(MembershipTable.TABLE_NAME)
.where("${MembershipTable.GROUP_ID} = ? AND ${MembershipTable.RECIPIENT_ID} = ?", groupId, old)
.run()
}
}
}
}
if (updateCount > 0) {
Log.i(TAG, "Successfully updated $updateCount rows. GroupId: $groupId, Remaps: $remaps", true)