From 5eaccaa624773441da797f93950117a44863df12 Mon Sep 17 00:00:00 2001 From: KantaHasegawa <66783124+KantaHasegawa@users.noreply.github.com> Date: Mon, 5 Jun 2023 17:24:00 +0900 Subject: [PATCH] reafactor: add nil detection when sqldb return (#6373) * reafactor: add null detection when sqldb return * refactor: Detecting nil in dbConnector.GetDBConn() * refactor: Revert partial code from c1ea73036715018a1bb55cdb8690441044e13a76 * fix: fix if statement --- gorm.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gorm.go b/gorm.go index ecdb700b..21b289db 100644 --- a/gorm.go +++ b/gorm.go @@ -181,7 +181,7 @@ func Open(dialector Dialector, opts ...Option) (db *DB, err error) { err = config.Dialector.Initialize(db) if err != nil { - if db, _ := db.DB(); db != nil { + if db, err := db.DB(); err == nil { _ = db.Close() } } @@ -376,10 +376,12 @@ func (db *DB) DB() (*sql.DB, error) { connPool := db.ConnPool if dbConnector, ok := connPool.(GetDBConnector); ok && dbConnector != nil { - return dbConnector.GetDBConn() + if sqldb, err := dbConnector.GetDBConn(); sqldb != nil || err != nil { + return sqldb, err + } } - if sqldb, ok := connPool.(*sql.DB); ok { + if sqldb, ok := connPool.(*sql.DB); ok && sqldb != nil { return sqldb, nil }