fix: checks for error after rows.Next call (#480)

This commit is contained in:
Ciaran Liedeman
2020-05-09 15:23:47 +02:00
committed by GitHub
parent 7f260c3ae0
commit f59abad425
5 changed files with 35 additions and 4 deletions

View File

@@ -516,7 +516,7 @@ func QueryEdges(ctx context.Context, drv dialect.Driver, spec *EdgeQuerySpec) er
return err
}
}
return nil
return rows.Err()
}
type query struct {
@@ -540,7 +540,7 @@ func (q *query) nodes(ctx context.Context, drv dialect.Driver) error {
return err
}
}
return nil
return rows.Err()
}
func (q *query) count(ctx context.Context, drv dialect.Driver) (int, error) {
@@ -723,6 +723,9 @@ func (u *updater) setTableColumns(update *sql.UpdateBuilder, addEdges, clearEdge
func (u *updater) scan(rows *sql.Rows) error {
defer rows.Close()
if !rows.Next() {
if rows.Err() != nil {
return rows.Err()
}
return &NotFoundError{table: u.Node.Table, id: u.Node.ID.Value}
}
if err := rows.Scan(u.ScanValues...); err != nil {