mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 04:14:39 +03:00
[Files Refactor] Bug fixes (#2868)
* Return error if multiple rows returned for id * Add missing LoadFiles calls * Show id if path is empty
This commit is contained in:
@@ -299,6 +299,7 @@ func (qb *GalleryStore) get(ctx context.Context, q *goqu.SelectDataset) (*models
|
||||
func (qb *GalleryStore) getMany(ctx context.Context, q *goqu.SelectDataset) ([]*models.Gallery, error) {
|
||||
const single = false
|
||||
var ret []*models.Gallery
|
||||
var lastID int
|
||||
if err := queryFunc(ctx, q, single, func(r *sqlx.Rows) error {
|
||||
var f galleryQueryRow
|
||||
if err := r.StructScan(&f); err != nil {
|
||||
@@ -307,6 +308,11 @@ func (qb *GalleryStore) getMany(ctx context.Context, q *goqu.SelectDataset) ([]*
|
||||
|
||||
s := f.resolve()
|
||||
|
||||
if s.ID == lastID {
|
||||
return fmt.Errorf("internal error: multiple rows returned for single gallery id %d", s.ID)
|
||||
}
|
||||
lastID = s.ID
|
||||
|
||||
ret = append(ret, s)
|
||||
return nil
|
||||
}); err != nil {
|
||||
|
||||
@@ -315,6 +315,7 @@ func (qb *ImageStore) get(ctx context.Context, q *goqu.SelectDataset) (*models.I
|
||||
func (qb *ImageStore) getMany(ctx context.Context, q *goqu.SelectDataset) ([]*models.Image, error) {
|
||||
const single = false
|
||||
var ret []*models.Image
|
||||
var lastID int
|
||||
if err := queryFunc(ctx, q, single, func(r *sqlx.Rows) error {
|
||||
var f imageQueryRow
|
||||
if err := r.StructScan(&f); err != nil {
|
||||
@@ -323,6 +324,11 @@ func (qb *ImageStore) getMany(ctx context.Context, q *goqu.SelectDataset) ([]*mo
|
||||
|
||||
i := f.resolve()
|
||||
|
||||
if i.ID == lastID {
|
||||
return fmt.Errorf("internal error: multiple rows returned for single image id %d", i.ID)
|
||||
}
|
||||
lastID = i.ID
|
||||
|
||||
ret = append(ret, i)
|
||||
return nil
|
||||
}); err != nil {
|
||||
|
||||
@@ -410,6 +410,7 @@ func (qb *SceneStore) get(ctx context.Context, q *goqu.SelectDataset) (*models.S
|
||||
func (qb *SceneStore) getMany(ctx context.Context, q *goqu.SelectDataset) ([]*models.Scene, error) {
|
||||
const single = false
|
||||
var ret []*models.Scene
|
||||
var lastID int
|
||||
if err := queryFunc(ctx, q, single, func(r *sqlx.Rows) error {
|
||||
var f sceneQueryRow
|
||||
if err := r.StructScan(&f); err != nil {
|
||||
@@ -417,6 +418,10 @@ func (qb *SceneStore) getMany(ctx context.Context, q *goqu.SelectDataset) ([]*mo
|
||||
}
|
||||
|
||||
s := f.resolve()
|
||||
if s.ID == lastID {
|
||||
return fmt.Errorf("internal error: multiple rows returned for single scene id %d", s.ID)
|
||||
}
|
||||
lastID = s.ID
|
||||
|
||||
ret = append(ret, s)
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user