aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-07-18 22:07:40 -0400
committerUnknwon <u@gogs.io>2017-07-18 22:07:40 -0400
commitee9950ec2f2811896918e74540fc6c3f40918daf (patch)
tree4294bfd30ccfaaeb1eace28ecd54d6190dad5bf2
parentdc10594d7b0f01cee5114789fa95c05596fe6d1e (diff)
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.
-rw-r--r--models/repo.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/models/repo.go b/models/repo.go
index d6205ca5..dd04ac6e 100644
--- a/models/repo.go
+++ b/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)
}