mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
Reimplement case-insensitivity move bug fix (#3047)
* Use eq for FindByPath for case sensitivity * Handle case sensitive moves
This commit is contained in:
@@ -586,10 +586,20 @@ func (qb *FileStore) FindByPath(ctx context.Context, p string) (file.File, error
|
||||
table := qb.table()
|
||||
folderTable := folderTableMgr.table
|
||||
|
||||
q := qb.selectDataset().Prepared(true).Where(
|
||||
folderTable.Col("path").Like(dirName),
|
||||
table.Col("basename").Like(basename),
|
||||
)
|
||||
// like uses case-insensitive matching. Only use like if wildcards are used
|
||||
q := qb.selectDataset().Prepared(true)
|
||||
|
||||
if strings.Contains(basename, "%") || strings.Contains(dirName, "%") {
|
||||
q = q.Where(
|
||||
folderTable.Col("path").Like(dirName),
|
||||
table.Col("basename").Like(basename),
|
||||
)
|
||||
} else {
|
||||
q = q.Where(
|
||||
folderTable.Col("path").Eq(dirName),
|
||||
table.Col("basename").Eq(basename),
|
||||
)
|
||||
}
|
||||
|
||||
ret, err := qb.get(ctx, q)
|
||||
if err != nil && !errors.Is(err, sql.ErrNoRows) {
|
||||
|
||||
Reference in New Issue
Block a user