Skip to content

Commit c289693

Browse files
committed
rollback sql.ErrNoRows to errors.ErrNoData
1 parent 75d62d7 commit c289693

2 files changed

Lines changed: 17 additions & 4 deletions

File tree

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ package db
2929
3030
import (
3131
"github.com/gwaylib/conf"
32+
"github.com/gwaylib/errors"
3233
"github.com/gwaylib/qsql"
3334
_ "github.com/go-sql-driver/mysql"
3435
)
@@ -114,6 +115,10 @@ mdb := db.GetCache("master")
114115
var u = *User{}
115116
if err := qsql.QueryStruct(mdb, u, "SELECT id, name FROM a WHERE id = ?", id)
116117
if err != nil{
118+
// sql.ErrNoRows has been replace by errors.ErrNoData
119+
if errors.ErrNoData.Equal(err) {
120+
// no data
121+
}
117122
// ...
118123
}
119124
// ..
@@ -123,6 +128,10 @@ mdb := db.GetCache("master")
123128
// or mdb = <sql.Tx>
124129
var u = *User{}
125130
if err := qsql.ScanStruct(qsql.QueryRow(mdb, "SELECT id, name FROM a WHERE id = ?", id), u); err != nil {
131+
// sql.ErrNoRows has been replace by errors.ErrNoData
132+
if errors.ErrNoData.Equal(err) {
133+
// no data
134+
}
126135
// ...
127136
}
128137
@@ -165,6 +174,10 @@ mdb := db.GetCache("master")
165174
// or mdb = <sql.Tx>
166175
count := 0
167176
if err := qsql.QueryElem(mdb, &count, "SELECT count(*) FROM a WHERE id = ?", id); err != nil{
177+
// sql.ErrNoRows has been replace by errors.ErrNoData
178+
if errors.ErrNoData.Equal(err) {
179+
// no data
180+
}
168181
// ...
169182
}
170183
```

qsql.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func scanStruct(rows Rows, obj interface{}) error {
147147
return errors.As(err)
148148
}
149149
if !rows.Next() {
150-
return sql.ErrNoRows
150+
return errors.ErrNoData
151151
}
152152
if err := rows.Scan(values...); err != nil {
153153
return errors.As(err)
@@ -227,10 +227,10 @@ func queryStructs(db Queryer, ctx context.Context, obj interface{}, querySql str
227227

228228
func queryElem(db Queryer, ctx context.Context, result interface{}, querySql string, args ...interface{}) error {
229229
if err := db.QueryRowContext(ctx, querySql, args...).Scan(result); err != nil {
230-
if sql.ErrNoRows != err {
231-
return errors.As(err, querySql, args)
230+
if sql.ErrNoRows == err {
231+
return errors.ErrNoData.As(args)
232232
}
233-
return err
233+
return errors.As(err, querySql, args)
234234
}
235235
return nil
236236
}

0 commit comments

Comments
 (0)