diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2018-04-10 15:04:50 +0000 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2018-04-10 19:04:55 -0500 |
commit | f0ee75f19c2730aa3d73251e6a24f5d7c63b80ec (patch) | |
tree | 7d40f99f2726a3a7064237f75f78402c1b5132ec | |
parent | fd35eb84788e73b3cb71806c5d82e85426a1f1ee (diff) | |
download | gitlab-ce-f0ee75f19c2730aa3d73251e6a24f5d7c63b80ec.tar.gz |
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
-rw-r--r-- | app/finders/issuable_finder.rb | 11 | ||||
-rw-r--r-- | changelogs/unreleased/ab-37125-assigned-issues-query.yml | 5 |
2 files changed, 12 insertions, 4 deletions
diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index 61c72aa22a8..7ed9b1fc6d0 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -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 diff --git a/changelogs/unreleased/ab-37125-assigned-issues-query.yml b/changelogs/unreleased/ab-37125-assigned-issues-query.yml new file mode 100644 index 00000000000..5d4aad08764 --- /dev/null +++ b/changelogs/unreleased/ab-37125-assigned-issues-query.yml @@ -0,0 +1,5 @@ +--- +title: Reduce complexity of issuable finder query. +merge_request: 18219 +author: +type: performance |