]> source.dussan.org Git - gitea.git/commitdiff
Fix issue search with db indexer because of mysql 5.7 sqlmode (#14907)
authorLunny Xiao <xiaolunwen@gmail.com>
Sat, 6 Mar 2021 15:11:12 +0000 (23:11 +0800)
committerGitHub <noreply@github.com>
Sat, 6 Mar 2021 15:11:12 +0000 (23:11 +0800)
* Fix sqlmode bug

* distinct is necessary

models/issue.go

index 58eb229f2990ea11fc9e852e00f4f130cef1aab7..7ca83910292644ee9fde034d2625aa3d1445ac19 100644 (file)
@@ -1724,10 +1724,19 @@ func SearchIssueIDsByKeyword(kw string, repoIDs []int64, limit, start int) (int6
        )
 
        var ids = make([]int64, 0, limit)
-       err := x.Distinct("id").Table("issue").Where(cond).OrderBy("`updated_unix` DESC").Limit(limit, start).Find(&ids)
+       var res = make([]struct {
+               ID          int64
+               UpdatedUnix int64
+       }, 0, limit)
+       err := x.Distinct("id", "updated_unix").Table("issue").Where(cond).
+               OrderBy("`updated_unix` DESC").Limit(limit, start).
+               Find(&res)
        if err != nil {
                return 0, nil, err
        }
+       for _, r := range res {
+               ids = append(ids, r.ID)
+       }
 
        total, err := x.Distinct("id").Table("issue").Where(cond).Count()
        if err != nil {