Properly close db cursors after use

This commit is contained in:
2022-12-08 11:31:52 +01:00
parent 7db70e392b
commit dd2f3baa0c
2 changed files with 40 additions and 0 deletions

View File

@@ -31,10 +31,16 @@ func scanSingle[TData any](rows *sqlx.Rows) (TData, error) {
return *new(TData), err
}
if rows.Next() {
_ = rows.Close()
return *new(TData), errors.New("sql returned more than onw row")
}
err = rows.Close()
if err != nil {
return *new(TData), err
}
return data, nil
} else {
_ = rows.Close()
return *new(TData), sql.ErrNoRows
}
}
@@ -49,5 +55,9 @@ func scanAll[TData any](rows *sqlx.Rows) ([]TData, error) {
}
res = append(res, data)
}
err := rows.Close()
if err != nil {
return nil, err
}
return res, nil
}