Skip to content

Commit 5a45711

Browse files
committed
fix: catch errors reported by errcheck linter
1 parent 32801a9 commit 5a45711

File tree

4 files changed

+98
-32
lines changed

4 files changed

+98
-32
lines changed

Diff for: drivers/mysql.go

+34-11
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package drivers
22

33
import (
44
"database/sql"
5+
"errors"
56
"fmt"
67
"strconv"
78
"strings"
@@ -70,7 +71,10 @@ func (db *MySQL) GetTables(database string) (map[string][]string, error) {
7071

7172
for rows.Next() {
7273
var table string
73-
rows.Scan(&table)
74+
err = rows.Scan(&table)
75+
if err != nil {
76+
return nil, err
77+
}
7478

7579
tables[database] = append(tables[database], table)
7680
}
@@ -100,7 +104,10 @@ func (db *MySQL) GetTableColumns(database, table string) (results [][]string, er
100104
rowValues[i] = new(sql.RawBytes)
101105
}
102106

103-
rows.Scan(rowValues...)
107+
err = rows.Scan(rowValues...)
108+
if err != nil {
109+
return nil, err
110+
}
104111

105112
var row []string
106113
for _, col := range rowValues {
@@ -140,7 +147,10 @@ func (db *MySQL) GetConstraints(table string) (results [][]string, err error) {
140147
rowValues[i] = new(sql.RawBytes)
141148
}
142149

143-
rows.Scan(rowValues...)
150+
err = rows.Scan(rowValues...)
151+
if err != nil {
152+
return nil, err
153+
}
144154

145155
var row []string
146156
for _, col := range rowValues {
@@ -179,7 +189,10 @@ func (db *MySQL) GetForeignKeys(table string) (results [][]string, err error) {
179189
rowValues[i] = new(sql.RawBytes)
180190
}
181191

182-
rows.Scan(rowValues...)
192+
err = rows.Scan(rowValues...)
193+
if err != nil {
194+
return nil, err
195+
}
183196

184197
var row []string
185198
for _, col := range rowValues {
@@ -210,7 +223,10 @@ func (db *MySQL) GetIndexes(table string) (results [][]string, err error) {
210223
rowValues[i] = new(sql.RawBytes)
211224
}
212225

213-
rows.Scan(rowValues...)
226+
err = rows.Scan(rowValues...)
227+
if err != nil {
228+
return nil, err
229+
}
214230

215231
var row []string
216232
for _, col := range rowValues {
@@ -257,7 +273,10 @@ func (db *MySQL) GetRecords(table, where, sort string, offset, limit int) (pagin
257273
return nil, 0, err
258274
}
259275

260-
rows.Scan(&totalRecords)
276+
err = rows.Scan(&totalRecords)
277+
if err != nil {
278+
return nil, 0, err
279+
}
261280

262281
defer paginatedRows.Close()
263282
}
@@ -272,7 +291,10 @@ func (db *MySQL) GetRecords(table, where, sort string, offset, limit int) (pagin
272291
rowValues[i] = new(sql.RawBytes)
273292
}
274293

275-
paginatedRows.Scan(rowValues...)
294+
err = paginatedRows.Scan(rowValues...)
295+
if err != nil {
296+
return nil, 0, err
297+
}
276298

277299
var row []string
278300
for _, col := range rowValues {
@@ -304,7 +326,10 @@ func (db *MySQL) ExecuteQuery(query string) (results [][]string, err error) {
304326
rowValues[i] = new(sql.RawBytes)
305327
}
306328

307-
rows.Scan(rowValues...)
329+
err = rows.Scan(rowValues...)
330+
if err != nil {
331+
return nil, err
332+
}
308333

309334
var row []string
310335
for _, col := range rowValues {
@@ -428,9 +453,7 @@ func (db *MySQL) ExecutePendingChanges(changes []models.DbDmlChange, inserts []m
428453

429454
_, err = tx.Exec(query)
430455
if err != nil {
431-
tx.Rollback()
432-
433-
return err
456+
return errors.Join(err, tx.Rollback())
434457
}
435458
}
436459

Diff for: drivers/postgres.go

+26-9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package drivers
22

33
import (
44
"database/sql"
5+
"errors"
56
"fmt"
67
"strconv"
78
"strings"
@@ -106,7 +107,10 @@ func (db *Postgres) GetTables(database string) (tables map[string][]string, err
106107
var tableName string
107108
var tableSchema string
108109

109-
rows.Scan(&tableName, &tableSchema)
110+
err = rows.Scan(&tableName, &tableSchema)
111+
if err != nil {
112+
return nil, err
113+
}
110114

111115
tables[tableSchema] = append(tables[tableSchema], tableName)
112116

@@ -137,7 +141,10 @@ func (db *Postgres) GetTableColumns(database, table string) (results [][]string,
137141
rowValues[i] = new(sql.RawBytes)
138142
}
139143

140-
rows.Scan(rowValues...)
144+
err = rows.Scan(rowValues...)
145+
if err != nil {
146+
return nil, err
147+
}
141148

142149
var row []string
143150
for _, col := range rowValues {
@@ -190,7 +197,10 @@ func (db *Postgres) GetConstraints(table string) (constraints [][]string, err er
190197
rowValues[i] = new(sql.RawBytes)
191198
}
192199

193-
rows.Scan(rowValues...)
200+
err = rows.Scan(rowValues...)
201+
if err != nil {
202+
return nil, err
203+
}
194204

195205
var row []string
196206
for _, col := range rowValues {
@@ -244,7 +254,10 @@ func (db *Postgres) GetForeignKeys(table string) (foreignKeys [][]string, err er
244254
rowValues[i] = new(sql.RawBytes)
245255
}
246256

247-
rows.Scan(rowValues...)
257+
err = rows.Scan(rowValues...)
258+
if err != nil {
259+
return nil, err
260+
}
248261

249262
var row []string
250263
for _, col := range rowValues {
@@ -303,7 +316,10 @@ func (db *Postgres) GetIndexes(table string) (indexes [][]string, err error) {
303316
rowValues[i] = new(sql.RawBytes)
304317
}
305318

306-
rows.Scan(rowValues...)
319+
err = rows.Scan(rowValues...)
320+
if err != nil {
321+
return nil, err
322+
}
307323

308324
var row []string
309325
for _, col := range rowValues {
@@ -367,7 +383,10 @@ func (db *Postgres) GetRecords(table, where, sort string, offset, limit int) (re
367383
rowValues[i] = new(sql.RawBytes)
368384
}
369385

370-
paginatedRows.Scan(rowValues...)
386+
err = paginatedRows.Scan(rowValues...)
387+
if err != nil {
388+
return nil, 0, err
389+
}
371390

372391
var row []string
373392
for _, col := range rowValues {
@@ -520,9 +539,7 @@ func (db *Postgres) ExecutePendingChanges(changes []models.DbDmlChange, inserts
520539
for _, query := range queries {
521540
_, err = tx.Exec(query)
522541
if err != nil {
523-
tx.Rollback()
524-
525-
return err
542+
return errors.Join(err, tx.Rollback())
526543
}
527544
}
528545

Diff for: drivers/sqlite.go

+34-11
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package drivers
22

33
import (
44
"database/sql"
5+
"errors"
56
"fmt"
67
"strconv"
78
"strings"
@@ -71,7 +72,10 @@ func (db *SQLite) GetTables(database string) (map[string][]string, error) {
7172

7273
for rows.Next() {
7374
var table string
74-
rows.Scan(&table)
75+
err = rows.Scan(&table)
76+
if err != nil {
77+
return nil, err
78+
}
7579

7680
tables[database] = append(tables[database], table)
7781
}
@@ -99,7 +103,10 @@ func (db *SQLite) GetTableColumns(database, table string) (results [][]string, e
99103
rowValues[i] = new(sql.RawBytes)
100104
}
101105

102-
rows.Scan(rowValues...)
106+
err = rows.Scan(rowValues...)
107+
if err != nil {
108+
return nil, err
109+
}
103110

104111
var row []string
105112

@@ -138,7 +145,10 @@ func (db *SQLite) GetConstraints(table string) (results [][]string, err error) {
138145
rowValues[i] = new(sql.RawBytes)
139146
}
140147

141-
rows.Scan(rowValues...)
148+
err = rows.Scan(rowValues...)
149+
if err != nil {
150+
return nil, err
151+
}
142152

143153
var row []string
144154
for _, col := range rowValues {
@@ -176,7 +186,10 @@ func (db *SQLite) GetForeignKeys(table string) (results [][]string, err error) {
176186
rowValues[i] = new(sql.RawBytes)
177187
}
178188

179-
rows.Scan(rowValues...)
189+
err = rows.Scan(rowValues...)
190+
if err != nil {
191+
return nil, err
192+
}
180193

181194
var row []string
182195
for _, col := range rowValues {
@@ -210,7 +223,10 @@ func (db *SQLite) GetIndexes(table string) (results [][]string, err error) {
210223
rowValues[i] = new(sql.RawBytes)
211224
}
212225

213-
rows.Scan(rowValues...)
226+
err = rows.Scan(rowValues...)
227+
if err != nil {
228+
return nil, err
229+
}
214230

215231
var row []string
216232
for _, col := range rowValues {
@@ -259,7 +275,10 @@ func (db *SQLite) GetRecords(table, where, sort string, offset, limit int) (pagi
259275
return nil, 0, err
260276
}
261277

262-
rows.Scan(&totalRecords)
278+
err = rows.Scan(&totalRecords)
279+
if err != nil {
280+
return nil, 0, err
281+
}
263282

264283
defer paginatedRows.Close()
265284
}
@@ -274,7 +293,10 @@ func (db *SQLite) GetRecords(table, where, sort string, offset, limit int) (pagi
274293
rowValues[i] = new(sql.RawBytes)
275294
}
276295

277-
paginatedRows.Scan(rowValues...)
296+
err = paginatedRows.Scan(rowValues...)
297+
if err != nil {
298+
return nil, 0, err
299+
}
278300

279301
var row []string
280302
for _, col := range rowValues {
@@ -310,7 +332,10 @@ func (db *SQLite) ExecuteQuery(query string) (results [][]string, err error) {
310332
rowValues[i] = new(sql.RawBytes)
311333
}
312334

313-
rows.Scan(rowValues...)
335+
err = rows.Scan(rowValues...)
336+
if err != nil {
337+
return nil, err
338+
}
314339

315340
var row []string
316341
for _, col := range rowValues {
@@ -435,9 +460,7 @@ func (db *SQLite) ExecutePendingChanges(changes []models.DbDmlChange, inserts []
435460
fmt.Printf("LS -> drivers/sqlite.go:440 -> query: %+v\n", query)
436461
_, err = tx.Exec(query)
437462
if err != nil {
438-
tx.Rollback()
439-
440-
return err
463+
return errors.Join(err, tx.Rollback())
441464
}
442465
}
443466

Diff for: main.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ import (
1414
var version = "dev"
1515

1616
func main() {
17-
mysql.SetLogger(log.New(io.Discard, "", 0))
17+
err := mysql.SetLogger(log.New(io.Discard, "", 0))
18+
if err != nil {
19+
panic(err)
20+
}
1821

1922
// check if "version" arg is passed
2023
argsWithProg := os.Args

0 commit comments

Comments
 (0)