all repos — homestead @ a8319b95f5f2e8ad28f967e6b7534539064c7df2

Code for my website

sqlite: check for no rows

Alan Pearce
commit

a8319b95f5f2e8ad28f967e6b7534539064c7df2

parent

8fb41b4b76e053f64a7ec7d958dc134e8566106e

1 file changed, 11 insertions(+), 8 deletions(-)

jump to
M internal/storage/sqlite/reader.gointernal/storage/sqlite/reader.go
@@ -66,16 +66,17 @@ }
var unixTime int64 var encoding string var content []byte + + r.log.Debug("querying db for file", "filename", filename) rows, err := r.queries.getFile.Query(filename) if err != nil { - if err == sql.ErrNoRows { - return nil, nil - } - return nil, errors.WithMessage(err, "querying database") } + defer rows.Close() + count := 0 for rows.Next() { + count += 1 err = rows.Scan( &file.ContentType, &unixTime,
@@ -85,15 +86,17 @@ &encoding,
&content, ) if err != nil { - if err == sql.ErrNoRows { - return nil, nil - } - return nil, errors.WithMessage(err, "querying database") } file.LastModified = time.Unix(unixTime, 0) file.Encodings[encoding] = buffer.NewBuffer(content) + } + if count == 0 { + return nil, nil + } + if err := rows.Err(); err != nil { + return nil, errors.WithMessage(err, "error iterating rows") } return file, nil