From 5747af915e865168330edc658f54c3d228bc1199 Mon Sep 17 00:00:00 2001 From: "kim (grufwub)" Date: Thu, 26 Aug 2021 11:55:02 +0100 Subject: [PATCH] return error instead of panic on sql.Open("sqlite") Signed-off-by: kim (grufwub) --- internal/db/bundb/bundb.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/internal/db/bundb/bundb.go b/internal/db/bundb/bundb.go index 5b942e3a8..a24cee3ae 100644 --- a/internal/db/bundb/bundb.go +++ b/internal/db/bundb/bundb.go @@ -90,7 +90,12 @@ func NewBunDBService(ctx context.Context, c *config.Config, log *logrus.Logger) conn = bun.NewDB(sqldb, pgdialect.New()) case dbTypeSqlite: // SQLITE - sqldb = mustOpenSQLite(c.DBConfig.Address) + var err error + + sqldb, err = sql.Open("sqlite", c.DBConfig.Address) + if err != nil { + return nil, fmt.Errorf("could not open sqlite db: %s", err) + } conn = bun.NewDB(sqldb, sqlitedialect.New()) if strings.HasPrefix(strings.TrimPrefix(c.DBConfig.Address, "file:"), ":memory:") { @@ -283,15 +288,6 @@ func deriveBunDBPGOptions(c *config.Config) (*pgx.ConnConfig, error) { return cfg, nil } -// mustOpenSQLite opens an SQLite sql.DB instance, panicking on error (indicates missing import) -func mustOpenSQLite(dataSrc string) *sql.DB { - db, err := sql.Open("sqlite", dataSrc) - if err != nil { - panic(err) - } - return db -} - /* CONVERSION FUNCTIONS */