diff --git a/Frameworks/Database/ArticlesTable.swift b/Frameworks/Database/ArticlesTable.swift index b3594db01..595e5e01c 100644 --- a/Frameworks/Database/ArticlesTable.swift +++ b/Frameworks/Database/ArticlesTable.swift @@ -114,28 +114,6 @@ final class ArticlesTable: DatabaseTable { } -// func uniquedArticles(_ fetchedArticles: Set
, statusesTable: StatusesTable) -> Set
{ -// -// var articles = Set
() -// -// for oneArticle in fetchedArticles { -// -// assert(oneArticle.status != nil) -// -// if let existingArticle = cachedArticle(oneArticle.databaseID) { -// articles.insert(existingArticle) -// } -// else { -// cacheArticle(oneArticle) -// articles.insert(oneArticle) -// } -// } -// -// statusesTable.attachCachedStatuses(articles) -// -// return articles -// } - // typealias FeedCountCallback = (Int) -> Void // // func numberOfArticlesWithFeedID(_ feedID: String, callback: @escaping FeedCountCallback) { @@ -221,23 +199,10 @@ private extension ArticlesTable { return fetchArticlesWithWhereClause(database, whereClause: "articles.feedID = ?", parameters: [feedID as AnyObject]) } - -// func cachedArticle(_ articleID: String) -> Article? { -// -// return cachedArticles.object(forKey: articleID as NSString) -// } -// -// func cacheArticle(_ article: Article) { -// -// cachedArticles.setObject(article, forKey: article.databaseID as NSString) -// } -// -// func cacheArticles(_ articles: Set
) { -// -// articles.forEach { cacheArticle($0) } -// } } +// MARK: - + private struct ArticleCache { // Main thread only — unlike the other object caches. diff --git a/Frameworks/Database/Database.swift b/Frameworks/Database/Database.swift index 699ac4c25..e1ee02480 100644 --- a/Frameworks/Database/Database.swift +++ b/Frameworks/Database/Database.swift @@ -46,37 +46,11 @@ public final class Database { public func fetchArticles(for feed: Feed) -> Set
{ return articlesTable.fetchArticles(feed) - -// return Set
() // TODO -// var fetchedArticles = Set
() -// let feedID = feed.feedID -// -// queue.fetchSync { (database: FMDatabase!) -> Void in -// -// fetchedArticles = self.fetchArticlesForFeedID(feedID, database: database) -// } -// -// let articles = articleCache.uniquedArticles(fetchedArticles, statusesTable: statusesTable) -// return filteredArticles(articles, feedCounts: [feed.feedID: fetchedArticles.count]) } public func fetchArticlesAsync(for feed: Feed, _ resultBlock: @escaping ArticleResultBlock) { articlesTable.fetchArticlesAsync(feed, resultBlock) - -// let feedID = feed.feedID -// -// queue.fetch { (database: FMDatabase!) -> Void in -// -// let fetchedArticles = self.fetchArticlesForFeedID(feedID, database: database) -// -// DispatchQueue.main.async() { () -> Void in -// -// let articles = self.articleCache.uniquedArticles(fetchedArticles, statusesTable: self.statusesTable) -// let filteredArticles = self.filteredArticles(articles, feedCounts: [feed.feedID: fetchedArticles.count]) -// resultBlock(filteredArticles) -// } -// } } public func fetchUnreadArticles(for folder: Folder) -> Set
{ @@ -329,38 +303,7 @@ private extension Database { // // return result // } -// -// // MARK: Fetching Articles -// -// func fetchArticlesWithWhereClause(_ database: FMDatabase, whereClause: String, parameters: [AnyObject]?) -> Set
{ -// -// let sql = "select * from articles where \(whereClause);" -// logSQL(sql) -// -// if let resultSet = database.executeQuery(sql, withArgumentsIn: parameters) { -// return articlesWithResultSet(resultSet, database) -// } -// -// return Set
() -// } // -// func articlesWithResultSet(_ resultSet: FMResultSet, _ database: FMDatabase) -> Set
{ -// -// let fetchedArticles = resultSet.mapToSet { Article(account: self.account, row: $0) } -// -// statusesTable.attachStatuses(fetchedArticles, database) -// authorsTable.attachAuthors(fetchedArticles, database) -// tagsTable.attachTags(fetchedArticles, database) -// attachmentsTable.attachAttachments(fetchedArticles, database) -// -// return fetchedArticles -// } -// -// func fetchArticlesForFeedID(_ feedID: String, database: FMDatabase) -> Set
{ -// -// return fetchArticlesWithWhereClause(database, whereClause: "articles.feedID = ?", parameters: [feedID as AnyObject]) -// } -// // // MARK: Unread counts // // func numberOfArticles(_ feedID: String, _ database: FMDatabase) -> Int { @@ -436,12 +379,6 @@ private extension Database { // return articlesSet // } // -// -// func feedIDsFromArticles(_ articles: Set
) -> Set { -// -// return Set(articles.map { $0.feedID }) -// } -// // func deletePossibleOldArticles(_ articles: Set
) { // // let feedIDs = feedIDsFromArticles(articles)