Merge branch 'ab-37125-assigned-issues-query' into 'master'

Reduce complexity of issuable finder query.

Closes #37125

See merge request gitlab-org/gitlab-ce!18219
This commit is contained in:
Yorick Peterse 2018-04-10 15:04:50 +00:00
commit 23fb465c75
2 changed files with 12 additions and 4 deletions

View file

@ -159,7 +159,10 @@ class IssuableFinder
finder_options = { include_subgroups: params[:include_subgroups], only_owned: true }
GroupProjectsFinder.new(group: group, current_user: current_user, options: finder_options).execute
else
ProjectsFinder.new(current_user: current_user, project_ids_relation: item_project_ids(items)).execute
opts = { current_user: current_user }
opts[:project_ids_relation] = item_project_ids(items) if items
ProjectsFinder.new(opts).execute
end
@projects = projects.with_feature_available_for_user(klass, current_user).reorder(nil)
@ -316,9 +319,9 @@ class IssuableFinder
def by_project(items)
items =
if project?
items.of_projects(projects(items)).references_project
elsif projects(items)
items.merge(projects(items).reorder(nil)).join_project
items.of_projects(projects).references_project
elsif projects
items.merge(projects.reorder(nil)).join_project
else
items.none
end

View file

@ -0,0 +1,5 @@
---
title: Reduce complexity of issuable finder query.
merge_request: 18219
author:
type: performance