diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-01-18 12:16:55 +0100 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-01-18 12:27:33 +0100 |
commit | d6a8021ea11c97a8b65f8693a7afe1cb7216295b (patch) | |
tree | 2fbdbb337c9d16628c9e032a3763d2e72272dc09 /app | |
parent | 835f1961e65fe9b4f943b17747b1518c555e8bfd (diff) | |
download | gitlab-ce-d6a8021ea11c97a8b65f8693a7afe1cb7216295b.tar.gz |
Scope issue projects to a Group when possibleissuable-group-projects
When using IssuableFinder with a Group we can greatly reduce the amount
of projects operated on (due to not including all public/internal
projects) by simply passing it down to the ProjectsFinder class.
This reduces the timings of the involved queries from roughly 300
ms to roughly 20 ms.
Fixes gitlab-org/gitlab-ce#4071, gitlab-org/gitlab-ce#3707
Diffstat (limited to 'app')
-rw-r--r-- | app/finders/issuable_finder.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index 4d56b48e3f8..0a4192e6bac 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -81,7 +81,8 @@ class IssuableFinder elsif current_user && params[:authorized_only].presence && !current_user_related? @projects = current_user.authorized_projects.reorder(nil) else - @projects = ProjectsFinder.new.execute(current_user).reorder(nil) + @projects = ProjectsFinder.new.execute(current_user, group: group). + reorder(nil) end end |