Make progress on Database surgery.

This commit is contained in:
Brent Simmons
2017-08-20 15:56:58 -07:00
parent 54cfaefd81
commit 2ce577e9d4
14 changed files with 104 additions and 266 deletions

View File

@@ -18,7 +18,7 @@ public final class DatabaseLookupTable {
private let objectIDKey: String
private let relatedObjectIDKey: String
private let relationshipName: String
private weak var relatedTable: DatabaseTable?
private let relatedTable: DatabaseTable
private let cache: DatabaseLookupTableCache
public init(name: String, objectIDKey: String, relatedObjectIDKey: String, relatedTable: DatabaseTable, relationshipName: String) {
@@ -124,11 +124,6 @@ private extension DatabaseLookupTable {
// Save the actual related objects.
guard let relatedTable = relatedTable else {
assertionFailure("updateRelationships: relatedTable unexpectedly disappeared.")
return
}
let relatedObjectsToSave = uniqueArrayOfRelatedObjects(with: objectsNeedingUpdate)
if relatedObjectsToSave.isEmpty {
assertionFailure("updateRelationships: expected related objects to save. This should be unreachable.")

View File

@@ -16,6 +16,18 @@ public protocol DatabaseObject {
func relatedObjectsWithName(_ name: String) -> [DatabaseObject]?
}
public extension DatabaseObject {
func setRelatedObjects(_ objects: [DatabaseObject], name: String) {
// Do nothing
}
func relatedObjectsWithName(_ name: String) -> [DatabaseObject]? {
return nil
}
}
extension Array where Element == DatabaseObject {
func dictionary() -> [String: DatabaseObject] {