From 0ba72f2eb7f888cadc53123ab674165788700a43 Mon Sep 17 00:00:00 2001 From: Tim Vaillancourt Date: Thu, 7 Nov 2024 00:11:18 +0100 Subject: [PATCH] `vtorc`: cleanup init db handling Signed-off-by: Tim Vaillancourt --- go/vt/vtorc/db/db.go | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/go/vt/vtorc/db/db.go b/go/vt/vtorc/db/db.go index 64143477645..9b1f0c7e58a 100644 --- a/go/vt/vtorc/db/db.go +++ b/go/vt/vtorc/db/db.go @@ -47,7 +47,9 @@ func OpenVTOrc() (db *sql.DB, err error) { db, fromCache, err = sqlutils.GetSQLiteDB(config.Config.SQLite3DataFile) if err == nil && !fromCache { log.Infof("Connected to vtorc backend: sqlite on %v", config.Config.SQLite3DataFile) - _ = initVTOrcDB(db) + if err := initVTOrcDB(db); err != nil { + log.Fatalf("Cannot initiate vtorc: %+v", err) + } } if db != nil { db.SetMaxOpenConns(1) @@ -65,10 +67,8 @@ func registerVTOrcDeployment(db *sql.DB) error { ?, datetime('now') ) ` - if _, err := execInternal(db, query, ""); err != nil { - log.Fatalf("Unable to write to vtorc_db_deployments: %+v", err) - } - return nil + _, err := execInternal(db, query, "") + return err } // deployStatements will issue given sql queries that are not already known to be deployed. @@ -76,19 +76,14 @@ func registerVTOrcDeployment(db *sql.DB) error { func deployStatements(db *sql.DB, queries []string) error { tx, err := db.Begin() if err != nil { - log.Fatal(err.Error()) return err } for _, query := range queries { if _, err := tx.Exec(query); err != nil { - log.Fatalf("Cannot initiate vtorc: %+v; query=%+v", err, query) return err } } - if err := tx.Commit(); err != nil { - log.Fatal(err.Error()) - } - return nil + return tx.Commit() } // ClearVTOrcDatabase is used to clear the VTOrc database. This function is meant to be used by tests to clear the @@ -96,7 +91,9 @@ func deployStatements(db *sql.DB, queries []string) error { func ClearVTOrcDatabase() { db, _, _ := sqlutils.GetSQLiteDB(config.Config.SQLite3DataFile) if db != nil { - _ = initVTOrcDB(db) + if err := initVTOrcDB(db); err != nil { + log.Fatalf("Cannot re-initiate vtorc: %+v", err) + } } } @@ -105,12 +102,18 @@ func ClearVTOrcDatabase() { func initVTOrcDB(db *sql.DB) error { log.Info("Initializing vtorc") log.Info("Migrating database schema") - _ = deployStatements(db, vtorcBackend) - _ = registerVTOrcDeployment(db) - - _, _ = ExecVTOrc(`PRAGMA journal_mode = WAL`) - _, _ = ExecVTOrc(`PRAGMA synchronous = NORMAL`) - + if err := deployStatements(db, vtorcBackend); err != nil { + return err + } + if err := registerVTOrcDeployment(db); err != nil { + return err + } + if _, err := ExecVTOrc(`PRAGMA journal_mode = WAL`); err != nil { + return err + } + if _, err := ExecVTOrc(`PRAGMA synchronous = NORMAL`); err != nil { + return err + } return nil }