diff --git a/server/datastore/mysql/app_configs.go b/server/datastore/mysql/app_configs.go index 0e99e106ee..3ea528e07d 100644 --- a/server/datastore/mysql/app_configs.go +++ b/server/datastore/mysql/app_configs.go @@ -45,8 +45,14 @@ func (d *Datastore) isEventSchedulerEnabled() (bool, error) { if err != nil { return false, err } + defer rows.Close() + if !rows.Next() { - return false, errors.New("Error detecting MySQL event scheduler status.") + err := errors.New("Error detecting MySQL event scheduler status.") + if rerr := rows.Err(); rerr != nil { + err = rerr + } + return false, err } var value string if err := rows.Scan(&value); err != nil { diff --git a/server/datastore/mysql/labels.go b/server/datastore/mysql/labels.go index 6dedf096f3..a4bcdd1878 100644 --- a/server/datastore/mysql/labels.go +++ b/server/datastore/mysql/labels.go @@ -35,6 +35,7 @@ func (d *Datastore) ApplyLabelSpecs(specs []*fleet.LabelSpec) (err error) { if err != nil { return errors.Wrap(err, "prepare ApplyLabelSpecs insert") } + defer stmt.Close() for _, s := range specs { if s.Name == "" { @@ -324,9 +325,11 @@ func (d *Datastore) LabelQueriesForHost(host *fleet.Host, cutoff time.Time) (map results[id] = query } + if err := rows.Err(); err != nil { + return nil, errors.Wrap(err, "iterating over returned rows") + } return results, nil - } func (d *Datastore) RecordLabelQueryExecutions(host *fleet.Host, results map[uint]bool, updated time.Time) error { diff --git a/server/datastore/mysql/queries.go b/server/datastore/mysql/queries.go index 2c8ddb2a3d..e9d2ab79cb 100644 --- a/server/datastore/mysql/queries.go +++ b/server/datastore/mysql/queries.go @@ -49,6 +49,7 @@ func (d *Datastore) ApplyQueries(authorID uint, queries []*fleet.Query) (err err if err != nil { return errors.Wrap(err, "prepare ApplyQueries insert") } + defer stmt.Close() for _, q := range queries { if q.Name == "" {