|
1961 | 1961 | do { |
1962 | 1962 | switch try actionForUpsert( |
1963 | 1963 | from: serverRecord, |
1964 | | - in: table, |
| 1964 | + table: table, |
1965 | 1965 | metadata: metadata, |
1966 | 1966 | force: force, |
1967 | 1967 | db: db |
1968 | 1968 | ) { |
1969 | 1969 | case .skip: |
1970 | 1970 | return |
1971 | | - case .upsert: |
| 1971 | + case .apply: |
1972 | 1972 | try $_currentZoneID.withValue(serverRecord.recordID.zoneID) { |
1973 | 1973 | try #sql(upsert( |
1974 | 1974 | table, |
|
2025 | 2025 | /// The record matches the last-known server record and there is nothing to apply. |
2026 | 2026 | case skip |
2027 | 2027 | /// The server-side change applies directly. |
2028 | | - case upsert |
| 2028 | + case apply |
2029 | 2029 | /// Both sides hold conflicting state that must be resolved before applying. |
2030 | 2030 | case resolve(any RowConflict<T>) |
2031 | 2031 | } |
2032 | 2032 |
|
2033 | 2033 | private func actionForUpsert<T>( |
2034 | 2034 | from serverRecord: CKRecord, |
2035 | | - in table: some SynchronizableTable<T>, |
| 2035 | + table: some SynchronizableTable<T>, |
2036 | 2036 | metadata: SyncMetadata, |
2037 | 2037 | force: Bool, |
2038 | 2038 | db: Database |
2039 | 2039 | ) throws -> ServerRecordUpsertAction<T> { |
2040 | | - guard !force else { return .upsert } |
| 2040 | + guard !force else { return .apply } |
2041 | 2041 |
|
2042 | 2042 | func clientRow() throws -> T? { |
2043 | 2043 | guard let row = try T.unscoped |
|
2049 | 2049 | } |
2050 | 2050 |
|
2051 | 2051 | guard let ancestorRecord = metadata._lastKnownServerRecordAllFields else { |
2052 | | - guard let clientRow = try clientRow() else { return .upsert } |
| 2052 | + guard let clientRow = try clientRow() else { return .apply } |
2053 | 2053 |
|
2054 | 2054 | let clientVersion = RowVersion( |
2055 | 2055 | clientRow: clientRow, |
|
2075 | 2075 | guard hasServerChanged else { return .skip } |
2076 | 2076 |
|
2077 | 2077 | let hasClientChanged = metadata.userModificationTime > ancestorRecord.userModificationTime |
2078 | | - guard hasClientChanged else { return .upsert } |
| 2078 | + guard hasClientChanged else { return .apply } |
2079 | 2079 |
|
2080 | | - guard let clientRow = try clientRow() else { return .upsert } |
| 2080 | + guard let clientRow = try clientRow() else { return .apply } |
2081 | 2081 |
|
2082 | 2082 | let ancestorVersion = try RowVersion<T>(from: ancestorRecord, db: db) |
2083 | 2083 | let serverVersion = try RowVersion<T>(from: serverRecord, db: db) |
|
0 commit comments