mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-30 19:08:37 +00:00 
			
		
		
		
	Make searching issues by keyword case insensitive on DB (#14848)
Most DBs apart from SQLite will use a default Collation that is not case insensitive. This means that SearchIssuesByKeyword becomes case sensitive for db indexing - in contrast to the bleve and elastic indexers. This PR simply uses UPPER(...) to do the LIKE - and although it may be more efficient to change collations this would be a non-trivial task. Fix #13663 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		| @@ -1706,17 +1706,18 @@ func GetRepoIssueStats(repoID, uid int64, filterMode int, isPull bool) (numOpen | ||||
| func SearchIssueIDsByKeyword(kw string, repoIDs []int64, limit, start int) (int64, []int64, error) { | ||||
| 	var repoCond = builder.In("repo_id", repoIDs) | ||||
| 	var subQuery = builder.Select("id").From("issue").Where(repoCond) | ||||
| 	kw = strings.ToUpper(kw) | ||||
| 	var cond = builder.And( | ||||
| 		repoCond, | ||||
| 		builder.Or( | ||||
| 			builder.Like{"name", kw}, | ||||
| 			builder.Like{"content", kw}, | ||||
| 			builder.Like{"UPPER(name)", kw}, | ||||
| 			builder.Like{"UPPER(content)", kw}, | ||||
| 			builder.In("id", builder.Select("issue_id"). | ||||
| 				From("comment"). | ||||
| 				Where(builder.And( | ||||
| 					builder.Eq{"type": CommentTypeComment}, | ||||
| 					builder.In("issue_id", subQuery), | ||||
| 					builder.Like{"content", kw}, | ||||
| 					builder.Like{"UPPER(content)", kw}, | ||||
| 				)), | ||||
| 			), | ||||
| 		), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user