From cb96fe64ed02994f1fb996852e1623d75d066dff Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sun, 8 Dec 2019 11:49:02 -0800 Subject: [PATCH] =?UTF-8?q?Fix=20bug=20where=20search=20indexing=20wasn?= =?UTF-8?q?=E2=80=99t=20actually=20happening.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frameworks/ArticlesDatabase/ArticlesTable.swift | 1 + Frameworks/ArticlesDatabase/SearchTable.swift | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Frameworks/ArticlesDatabase/ArticlesTable.swift b/Frameworks/ArticlesDatabase/ArticlesTable.swift index bbdddfdac..864e55711 100644 --- a/Frameworks/ArticlesDatabase/ArticlesTable.swift +++ b/Frameworks/ArticlesDatabase/ArticlesTable.swift @@ -440,6 +440,7 @@ final class ArticlesTable: DatabaseTable { if articleIDs.isEmpty { return } + self.searchTable.ensureIndexedArticles(articleIDs, database) DispatchQueue.main.async { self.indexUnindexedArticles() diff --git a/Frameworks/ArticlesDatabase/SearchTable.swift b/Frameworks/ArticlesDatabase/SearchTable.swift index da0d35d2d..ad3412c03 100644 --- a/Frameworks/ArticlesDatabase/SearchTable.swift +++ b/Frameworks/ArticlesDatabase/SearchTable.swift @@ -77,12 +77,8 @@ final class SearchTable: DatabaseTable { self.ensureIndexedArticles(articleIDs, database) } } -} - -// MARK: - Private - -private extension SearchTable { + /// Add to, or update, the search index for articles with specified IDs. func ensureIndexedArticles(_ articleIDs: Set, _ database: FMDatabase) { guard let articlesTable = articlesTable else { return @@ -97,6 +93,11 @@ private extension SearchTable { let indexedArticles = articleSearchInfos.filter { $0.searchRowID != nil } updateIndexForArticles(indexedArticles, database) } +} + +// MARK: - Private + +private extension SearchTable { func performInitialIndexForArticles(_ articles: Set, _ database: FMDatabase) { articles.forEach { performInitialIndex($0, database) }