File tree Expand file tree Collapse file tree
Sources/SQLiteData/CloudKit Expand file tree Collapse file tree Original file line number Diff line number Diff line change 19191919 ownerName: serverRecord. recordID. zoneID. ownerName,
19201920 parentRecordPrimaryKey: serverRecord. parent? . recordID. recordPrimaryKey,
19211921 parentRecordType: serverRecord. parent? . recordID. tableName,
1922- lastKnownServerRecord: serverRecord,
1923- _lastKnownServerRecordAllFields: serverRecord,
1924- share: nil ,
1925- userModificationTime: serverRecord. userModificationTime
1922+ userModificationTime: 0
19261923 )
19271924 } onConflict: {
19281925 ( $0. recordPrimaryKey, $0. recordType)
19291926 } doUpdate: {
1930- if tablesByName [ serverRecord. recordType] == nil {
1931- $0. setLastKnownServerRecord ( serverRecord)
1932- } else {
1927+ if tablesByName. keys. contains ( serverRecord. recordType) {
19331928 $0. zoneName = serverRecord. recordID. zoneID. zoneName
19341929 $0. ownerName = serverRecord. recordID. zoneID. ownerName
19351930 }
19361931 }
19371932 . execute ( db)
19381933
1939- guard
1940- let metadata = try SyncMetadata . find ( serverRecord. recordID) . fetchOne ( db) ,
1941- let table = tablesByName [ serverRecord. recordType]
1934+ // If the table isn't registered yet, store the server record for later replay when
1935+ // the table becomes known.
1936+ guard let table = tablesByName [ serverRecord. recordType] else {
1937+ try SyncMetadata
1938+ . update { $0. setLastKnownServerRecord ( serverRecord) }
1939+ . execute ( db)
1940+ return
1941+ }
1942+
1943+ guard let metadata = try SyncMetadata
1944+ . find ( serverRecord. recordID)
1945+ . fetchOne ( db)
19421946 else {
19431947 return
19441948 }
You can’t perform that action at this time.
0 commit comments