Skip to content

Commit d942687

Browse files
committed
fix: address review — disambiguate nil driver from empty DB, explicit @mainactor
1 parent 837cf3b commit d942687

4 files changed

Lines changed: 4 additions & 6 deletions

File tree

TablePro/Core/Autocomplete/SQLSchemaProvider.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ actor SQLSchemaProvider {
109109
tables = newTables
110110
}
111111

112-
func fetchFreshTables() async throws -> [TableInfo] {
113-
guard let driver = cachedDriver else { return [] }
112+
func fetchFreshTables() async throws -> [TableInfo]? {
113+
guard let driver = cachedDriver else { return nil }
114114
let fresh = try await driver.fetchTables()
115115
tables = fresh
116116
return fresh

TablePro/ViewModels/SidebarViewModel.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ struct LiveTableFetcher: TableFetcher {
2929
func fetchTables(force: Bool) async throws -> [TableInfo] {
3030
if let provider = schemaProvider {
3131
if force {
32-
let fresh = try await provider.fetchFreshTables()
33-
if !fresh.isEmpty { return fresh }
32+
if let fresh = try await provider.fetchFreshTables() { return fresh }
3433
} else {
3534
let cached = await provider.getTables()
3635
if !cached.isEmpty { return cached }

TablePro/Views/Main/MainContentCoordinator.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ final class MainContentCoordinator {
313313
}
314314

315315
func reloadSidebar() {
316-
Task {
316+
Task { @MainActor in
317317
await schemaProvider.invalidateTables()
318318
sidebarViewModel?.forceLoadTables()
319319
}

TableProTests/ViewModels/LiveTableFetcherTests.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@ struct LiveTableFetcherTests {
179179
let provider = SQLSchemaProvider()
180180
await provider.loadSchema(using: mockDriver)
181181

182-
await provider.invalidateTables()
183182
let freshTables = [
184183
TestFixtures.makeTableInfo(name: "alpha"),
185184
TestFixtures.makeTableInfo(name: "beta")

0 commit comments

Comments
 (0)