diff --git a/Frameworks/Database/ArticlesTable.swift b/Frameworks/Database/ArticlesTable.swift index ac29d777b..036b47c57 100644 --- a/Frameworks/Database/ArticlesTable.swift +++ b/Frameworks/Database/ArticlesTable.swift @@ -12,10 +12,12 @@ import Data final class ArticlesTable: DatabaseTable { let name: String + let queue: RSDatabaseQueue - init(name: String) { + init(name: String, queue: RSDatabaseQueue) { self.name = name + self.queue = queue } private let cachedArticles: NSMapTable = NSMapTable.weakToWeakObjects() diff --git a/Frameworks/Database/AttachmentsTable.swift b/Frameworks/Database/AttachmentsTable.swift index 310c189d8..65d9aa89d 100644 --- a/Frameworks/Database/AttachmentsTable.swift +++ b/Frameworks/Database/AttachmentsTable.swift @@ -32,9 +32,12 @@ import Data final class AttachmentsTable: DatabaseTable { let name: String + let queue: RSDatabaseQueue + + init(name: String, queue: RSDatabaseQueue) { - init(name: String) { self.name = name + self.queue = queue } private var cachedAttachments = [String: Attachment]() // Attachment.databaseID key diff --git a/Frameworks/Database/AuthorsTable.swift b/Frameworks/Database/AuthorsTable.swift index 98399bc46..1547824c2 100644 --- a/Frameworks/Database/AuthorsTable.swift +++ b/Frameworks/Database/AuthorsTable.swift @@ -12,10 +12,12 @@ import Data final class AuthorsTable: DatabaseTable { let name: String + let queue: RSDatabaseQueue - init(name: String) { + init(name: String, queue: RSDatabaseQueue) { self.name = name + self.queue = queue } var cachedAuthors = [String: Author]() diff --git a/Frameworks/Database/StatusesTable.swift b/Frameworks/Database/StatusesTable.swift index 3cf370cbe..a8da9c4d0 100644 --- a/Frameworks/Database/StatusesTable.swift +++ b/Frameworks/Database/StatusesTable.swift @@ -16,12 +16,14 @@ final class StatusesTable: DatabaseTable { var cachedStatuses = [String: ArticleStatus]() let name: String - - init(name: String) { - + let queue: RSDatabaseQueue + + init(name: String, queue: RSDatabaseQueue) { + self.name = name + self.queue = queue } - + func markArticles(_ articles: Set
, statusKey: String, flag: Bool) { assertNoMissingStatuses(articles) diff --git a/Frameworks/Database/TagsTable.swift b/Frameworks/Database/TagsTable.swift index 935691423..1cbd5f057 100644 --- a/Frameworks/Database/TagsTable.swift +++ b/Frameworks/Database/TagsTable.swift @@ -19,13 +19,15 @@ typealias TagNameSet = Set final class TagsTable: DatabaseTable { let name: String + let queue: RSDatabaseQueue private var articleIDCache = [String: TagNameSet]() // articleID: tags - private var articleIDsWithNoTags = TagNameSet() + private var articleIDsWithNoTags = Set - init(name: String) { + init(name: String, queue: RSDatabaseQueue) { self.name = name + self.queue = queue } func saveTagsForArticles(_ articles: Set
) { diff --git a/Frameworks/RSDatabase/DatabaseTable.swift b/Frameworks/RSDatabase/DatabaseTable.swift index eef7e9b2b..5436807d6 100644 --- a/Frameworks/RSDatabase/DatabaseTable.swift +++ b/Frameworks/RSDatabase/DatabaseTable.swift @@ -10,9 +10,10 @@ import Foundation public protocol DatabaseTable { - public var name: String {get} + var name: String {get} + var queue: RSDatabaseQueue {get} - public init(name: String) + init(name: String, queue: RSDatabaseQueue) } extension DatabaseTable {