Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
df29b11
Initial draft
lukaskubanek Jan 8, 2026
776a1ee
Add modification times handling and implement client row initializer
lukaskubanek Jan 8, 2026
2c26d55
Value equality check now operates on QueryBinding
lukaskubanek Jan 9, 2026
de8d2d5
Initial take on `MergeConflict.mergedValue(for:)`
lukaskubanek Jan 9, 2026
316b07f
Change table used in tests
lukaskubanek Jan 9, 2026
da87365
Add test for conflict resolution with custom representations
lukaskubanek Jan 9, 2026
72ed0dd
Introduce notion of field merge policy
lukaskubanek Jan 9, 2026
83cd9ae
Change table used in tests once again
lukaskubanek Jan 9, 2026
aeb61df
Introduce “counter” field merge policy
lukaskubanek Jan 9, 2026
afcc783
Introduce “set” field merge policy
lukaskubanek Jan 9, 2026
949e1f0
Tweak `MergeConflict.mergedValue(…)`
lukaskubanek Jan 11, 2026
9bf0aae
Support for decoding RowVersion from CKRecord
lukaskubanek Jan 11, 2026
db64edd
Switch CKRecord-to-row decoding to synthetic SELECT
lukaskubanek Jan 11, 2026
b8ddfbe
Add `MergeConflict.makeUpdateQuery()`
lukaskubanek Jan 12, 2026
393b281
Refactor merge conflict test helpers
lukaskubanek Jan 12, 2026
754aff4
Add test for update query creation
lukaskubanek Jan 12, 2026
95b560d
Polish tests
lukaskubanek Jan 12, 2026
61549fd
Add test for full-circle conflict resolution
lukaskubanek Jan 12, 2026
5aef753
Reorder code
lukaskubanek Jan 13, 2026
745d2c8
Add comments to field merge policies
lukaskubanek Jan 12, 2026
349788a
`FieldMergePolicy.resolve` → `merge`
lukaskubanek Jan 12, 2026
a150bd4
RowVersion<T> → RowVersion<Table>
lukaskubanek Jan 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@

@available(macOS 13, iOS 16, tvOS 16, watchOS 9, *)
extension CKRecordKeyValueSetting {
fileprivate subscript(at key: String) -> Int64 {
package subscript(at key: String) -> Int64 {
get {
self["\(CKRecord.userModificationTimeKey)_\(key)"] as? Int64 ?? -1
}
Expand Down
Loading