mirror of
https://github.com/navidrome/navidrome.git
synced 2025-06-06 02:13:29 +03:00
Add context to SQL queries, enabling cancellation
This commit is contained in:
parent
d80e1a260b
commit
2aef227572
@ -129,7 +129,7 @@ func (r sqlRepository) executeSQL(sq Sqlizer) (int64, error) {
|
|||||||
}
|
}
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
var c int64
|
var c int64
|
||||||
res, err := r.db.NewQuery(query).Bind(args).Execute()
|
res, err := r.db.NewQuery(query).Bind(args).WithContext(r.ctx).Execute()
|
||||||
if res != nil {
|
if res != nil {
|
||||||
c, _ = res.RowsAffected()
|
c, _ = res.RowsAffected()
|
||||||
}
|
}
|
||||||
@ -165,7 +165,7 @@ func (r sqlRepository) queryOne(sq Sqlizer, response interface{}) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
err = r.db.NewQuery(query).Bind(args).One(response)
|
err = r.db.NewQuery(query).Bind(args).WithContext(r.ctx).One(response)
|
||||||
if errors.Is(err, sql.ErrNoRows) {
|
if errors.Is(err, sql.ErrNoRows) {
|
||||||
r.logSQL(query, args, nil, 0, start)
|
r.logSQL(query, args, nil, 0, start)
|
||||||
return model.ErrNotFound
|
return model.ErrNotFound
|
||||||
@ -183,7 +183,7 @@ func (r sqlRepository) queryAll(sq SelectBuilder, response interface{}, options
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
err = r.db.NewQuery(query).Bind(args).All(response)
|
err = r.db.NewQuery(query).Bind(args).WithContext(r.ctx).All(response)
|
||||||
if errors.Is(err, sql.ErrNoRows) {
|
if errors.Is(err, sql.ErrNoRows) {
|
||||||
r.logSQL(query, args, nil, -1, start)
|
r.logSQL(query, args, nil, -1, start)
|
||||||
return model.ErrNotFound
|
return model.ErrNotFound
|
||||||
@ -199,7 +199,7 @@ func (r sqlRepository) queryAllSlice(sq SelectBuilder, response interface{}) err
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
err = r.db.NewQuery(query).Bind(args).Column(response)
|
err = r.db.NewQuery(query).Bind(args).WithContext(r.ctx).Column(response)
|
||||||
if errors.Is(err, sql.ErrNoRows) {
|
if errors.Is(err, sql.ErrNoRows) {
|
||||||
r.logSQL(query, args, nil, -1, start)
|
r.logSQL(query, args, nil, -1, start)
|
||||||
return model.ErrNotFound
|
return model.ErrNotFound
|
||||||
|
Loading…
x
Reference in New Issue
Block a user