summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-01-25 14:44:44 +0000
committerSean McGivern <sean@gitlab.com>2017-01-25 14:44:44 +0000
commit17abc148d3a48495617c05e01c1ee911af4bb5a1 (patch)
treeacf9f6ea4e3d546551c4b9fee976e77159813294
parent65bf7e0d92856d90215ca908751e676393c10618 (diff)
downloadgitlab-ce-speed-up-members-dropdown.tar.gz
Don't call `#uniq` on a relationspeed-up-members-dropdown
When there was no project, no search, and no current user or author param, the AutocompleteController would call `#uniq!` on a relation instead of an array. This performed the less-efficient `SELECT DISTINCT` when it wasn't even needed (because the query wouldn't return duplicates anyway - duplicates were only added by putting a user on top of the list).
-rw-r--r--app/controllers/autocomplete_controller.rb6
1 files changed, 2 insertions, 4 deletions
diff --git a/app/controllers/autocomplete_controller.rb b/app/controllers/autocomplete_controller.rb
index 6db4e1dc1bc..b79ca034c5b 100644
--- a/app/controllers/autocomplete_controller.rb
+++ b/app/controllers/autocomplete_controller.rb
@@ -18,15 +18,13 @@ class AutocompleteController < ApplicationController
if params[:search].blank?
# Include current user if available to filter by "Me"
if params[:current_user].present? && current_user
- @users = [current_user, *@users]
+ @users = [current_user, *@users].uniq
end
if params[:author_id].present?
author = User.find_by_id(params[:author_id])
- @users = [author, *@users] if author
+ @users = [author, *@users].uniq if author
end
-
- @users.uniq!
end
render json: @users, only: [:name, :username, :id], methods: [:avatar_url]