Default severity: error
Rows.Next returns false both when iteration finishes successfully and when an
iteration error occurs. Check Rows.Err after the loop so driver, network, and
decoding failures are not silently treated as successful completion.
Bad
for rows.Next() { scan(rows) }Good
for rows.Next() { scan(rows) }; if err := rows.Err(); err != nil { return err }