From bff2b47eb678fb4c2f02c374cba8fe5c5d6d3985 Mon Sep 17 00:00:00 2001 From: binwiederhier Date: Tue, 3 Mar 2026 14:52:29 -0500 Subject: [PATCH] Simplify schema reading --- message/cache_sqlite_schema.go | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/message/cache_sqlite_schema.go b/message/cache_sqlite_schema.go index 368594f6..8c68bad8 100644 --- a/message/cache_sqlite_schema.go +++ b/message/cache_sqlite_schema.go @@ -216,24 +216,13 @@ func setupSQLite(db *sql.DB, startupQueries string, cacheDuration time.Duration) return err } // If 'messages' table does not exist, this must be a new database - rowsMC, err := db.Query(sqliteSelectMessagesCountQuery) - if err != nil { + var messagesCount int + if err := db.QueryRow(sqliteSelectMessagesCountQuery).Scan(&messagesCount); err != nil { return setupNewSQLite(db) } - rowsMC.Close() - // If 'messages' table exists, check 'schemaVersion' table - schemaVersion := 0 - rowsSV, err := db.Query(sqliteSelectSchemaVersionQuery) - if err == nil { - defer rowsSV.Close() - if !rowsSV.Next() { - return fmt.Errorf("cannot determine schema version: cache file may be corrupt") - } - if err := rowsSV.Scan(&schemaVersion); err != nil { - return err - } - rowsSV.Close() - } + // If 'messages' table exists (schema >= 0), check 'schemaVersion' table + var schemaVersion int + db.QueryRow(sqliteSelectSchemaVersionQuery).Scan(&schemaVersion) // Error means schema version is zero! // Do migrations if schemaVersion == sqliteCurrentSchemaVersion { return nil