From dce897aa4f3c24099a57faa25002d56fd982a8cc Mon Sep 17 00:00:00 2001 From: marcoarment Date: Tue, 24 Oct 2023 16:11:41 -0400 Subject: [PATCH] Tiny improvements --- Package.swift | 2 +- Sources/Blackbird/BlackbirdChanges.swift | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 1129db9..eafa9f5 100644 --- a/Package.swift +++ b/Package.swift @@ -22,7 +22,7 @@ let package = Package( name: "Blackbird", dependencies: [], swiftSettings: [ -// .unsafeFlags(["-Xfrontend", "-warn-concurrency"]) // Uncomment for Sendable testing +// .enableExperimentalFeature("StrictConcurrency"), // Uncomment for Sendable testing ] ), .testTarget( diff --git a/Sources/Blackbird/BlackbirdChanges.swift b/Sources/Blackbird/BlackbirdChanges.swift index 3af016b..115b185 100644 --- a/Sources/Blackbird/BlackbirdChanges.swift +++ b/Sources/Blackbird/BlackbirdChanges.swift @@ -118,6 +118,12 @@ public extension Blackbird { guard let columnNames else { return true } return columnNames.contains(T.table.keyPathToColumnName(keyPath: keyPath)) } + + /// The set of primary-key values that may have changed, or `nil` if any primary key may have changed. + public var changedPrimaryKeys: PrimaryKeyValues? { + if let primaryKeys, primaryKeys.count > 0 { return primaryKeys } + return nil + } internal init(type: T.Type, from change: Change) { self.type = type