feat(storage,sqlite): log row closing errors

This commit is contained in:
wpetit 2023-03-29 20:10:06 +02:00
parent 351f22e216
commit 4e6b450338
1 changed files with 18 additions and 2 deletions

View File

@ -45,7 +45,11 @@ func (r *AgentRepository) GetSpecs(ctx context.Context, agentID datastore.AgentI
return nil, errors.WithStack(err) return nil, errors.WithStack(err)
} }
defer rows.Close() defer func() {
if err := rows.Close(); err != nil {
logger.Error(ctx, "could not close rows", logger.E(errors.WithStack(err)))
}
}()
for rows.Next() { for rows.Next() {
spec := &datastore.Spec{} spec := &datastore.Spec{}
@ -61,6 +65,10 @@ func (r *AgentRepository) GetSpecs(ctx context.Context, agentID datastore.AgentI
specs = append(specs, spec) specs = append(specs, spec)
} }
if err := rows.Err(); err != nil {
return nil, errors.WithStack(err)
}
return specs, nil return specs, nil
} }
@ -176,7 +184,11 @@ func (r *AgentRepository) Query(ctx context.Context, opts ...datastore.AgentQuer
return errors.WithStack(err) return errors.WithStack(err)
} }
defer rows.Close() defer func() {
if err := rows.Close(); err != nil {
logger.Error(ctx, "could not close rows", logger.E(errors.WithStack(err)))
}
}()
for rows.Next() { for rows.Next() {
agent := &datastore.Agent{} agent := &datastore.Agent{}
@ -192,6 +204,10 @@ func (r *AgentRepository) Query(ctx context.Context, opts ...datastore.AgentQuer
agents = append(agents, agent) agents = append(agents, agent)
} }
if err := rows.Err(); err != nil {
return errors.WithStack(err)
}
row := tx.QueryRowContext(ctx, `SELECT count(id) FROM agents `+filters, args...) row := tx.QueryRowContext(ctx, `SELECT count(id) FROM agents `+filters, args...)
if err := row.Scan(&count); err != nil { if err := row.Scan(&count); err != nil {
return errors.WithStack(err) return errors.WithStack(err)