Просмотр исходного кода

explore: fix total repository number and page number do not match (#4441)

Because in the final repository list we use Distinct to remove
duplicates, but didn't do so when count total number of repositories.
Unknwon 7 лет назад
Родитель
Сommit
ee9950ec2f
1 измененных файлов с 2 добавлено и 3 удалено
  1. 2 3
      models/repo.go

+ 2 - 3
models/repo.go

@@ -1659,9 +1659,8 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos []*Repository, _ int
 		sess.And("repo.owner_id = ?", opts.OwnerID)
 	}
 
-	var countSess xorm.Session
-	countSess = *sess
-	count, err := countSess.Count(new(Repository))
+	// We need all fields (repo.*) in final list but only ID (repo.id) is good enough for counting.
+	count, err = sess.Clone().Distinct("repo.id").Count(new(Repository))
 	if err != nil {
 		return nil, 0, fmt.Errorf("Count: %v", err)
 	}