fix rare duplication of uniqueID values during import when an import candidate is added by a previous insertion block

This commit is contained in:
John Estropia
2021-01-23 16:51:45 +09:00
parent 18aac84335
commit edd8ba55d8
3 changed files with 6 additions and 3 deletions

View File

@@ -230,7 +230,10 @@ extension BaseDataTransaction {
}
try autoreleasepool {
if let object = existingObjectsByID[objectID] {
if let object = existingObjectsByID[objectID]
?? self.context.insertedObjects
.compactMap({ O.cs_matches(object: $0) ? O.cs_fromRaw(object: $0) : nil })
.first(where: { $0.uniqueIDValue == objectID }) {
guard entityType.shouldUpdate(from: source, in: self) else {