From 5ccf8b64306fd6d695e6938fea7ad2f85df5717c Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Sat, 6 Mar 2021 23:11:12 +0800
Subject: [PATCH] Fix issue search with db indexer because of mysql 5.7 sqlmode
 (#14907)

* Fix sqlmode bug

* distinct is necessary
---
 models/issue.go | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/models/issue.go b/models/issue.go
index 58eb229f29..7ca8391029 100644
--- a/models/issue.go
+++ b/models/issue.go
@@ -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 {