From 203065661cce6a1757b10c6d912e17bafd9d39da Mon Sep 17 00:00:00 2001 From: Adrian Macneil Date: Sun, 1 Nov 2020 15:30:20 +1300 Subject: [PATCH] Properly check errors from sql.Rows (#170) --- .golangci.yml | 1 + pkg/dbmate/clickhouse.go | 4 ++++ pkg/dbmate/mysql.go | 4 ++++ pkg/dbmate/postgres.go | 4 ++++ pkg/dbmate/sqlite.go | 4 ++++ 5 files changed, 17 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 20b9a33..fcad107 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -11,6 +11,7 @@ linters: - ineffassign - misspell - nakedret + - rowserrcheck - staticcheck - structcheck - typecheck diff --git a/pkg/dbmate/clickhouse.go b/pkg/dbmate/clickhouse.go index 930a69b..63070e3 100644 --- a/pkg/dbmate/clickhouse.go +++ b/pkg/dbmate/clickhouse.go @@ -243,6 +243,10 @@ func (drv ClickHouseDriver) SelectMigrations(db *sql.DB, limit int) (map[string] migrations[version] = true } + if err = rows.Err(); err != nil { + return nil, err + } + return migrations, nil } diff --git a/pkg/dbmate/mysql.go b/pkg/dbmate/mysql.go index 9d23f79..f809587 100644 --- a/pkg/dbmate/mysql.go +++ b/pkg/dbmate/mysql.go @@ -223,6 +223,10 @@ func (drv MySQLDriver) SelectMigrations(db *sql.DB, limit int) (map[string]bool, migrations[version] = true } + if err = rows.Err(); err != nil { + return nil, err + } + return migrations, nil } diff --git a/pkg/dbmate/postgres.go b/pkg/dbmate/postgres.go index b77d752..7cbc8a0 100644 --- a/pkg/dbmate/postgres.go +++ b/pkg/dbmate/postgres.go @@ -258,6 +258,10 @@ func (drv PostgresDriver) SelectMigrations(db *sql.DB, limit int) (map[string]bo migrations[version] = true } + if err = rows.Err(); err != nil { + return nil, err + } + return migrations, nil } diff --git a/pkg/dbmate/sqlite.go b/pkg/dbmate/sqlite.go index 5eded31..3ef10dd 100644 --- a/pkg/dbmate/sqlite.go +++ b/pkg/dbmate/sqlite.go @@ -148,6 +148,10 @@ func (drv SQLiteDriver) SelectMigrations(db *sql.DB, limit int) (map[string]bool migrations[version] = true } + if err = rows.Err(); err != nil { + return nil, err + } + return migrations, nil }