Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/finders/concerns/merged_at_filter.rb')
-rw-r--r--app/finders/concerns/merged_at_filter.rb20
1 files changed, 1 insertions, 19 deletions
diff --git a/app/finders/concerns/merged_at_filter.rb b/app/finders/concerns/merged_at_filter.rb
index e44354f36d1..581bcca3c25 100644
--- a/app/finders/concerns/merged_at_filter.rb
+++ b/app/finders/concerns/merged_at_filter.rb
@@ -10,7 +10,7 @@ module MergedAtFilter
mr_metrics_scope = mr_metrics_scope.merged_after(merged_after) if merged_after.present?
mr_metrics_scope = mr_metrics_scope.merged_before(merged_before) if merged_before.present?
- join_metrics(items, mr_metrics_scope)
+ items.join_metrics.merge(mr_metrics_scope)
end
def merged_after
@@ -20,22 +20,4 @@ module MergedAtFilter
def merged_before
params[:merged_before]
end
-
- # rubocop: disable CodeReuse/ActiveRecord
- #
- # This join optimizes merged_at queries when the finder is invoked for a project by moving
- # the target_project_id condition from merge_requests table to merge_request_metrics table.
- def join_metrics(items, mr_metrics_scope)
- scope = if project_id = items.where_values_hash["target_project_id"]
- # removing the original merge_requests.target_project_id condition
- items = items.unscope(where: :target_project_id)
- # adding the target_project_id condition to merge_request_metrics
- items.join_metrics(project_id)
- else
- items.join_metrics
- end
-
- scope.merge(mr_metrics_scope)
- end
- # rubocop: enable CodeReuse/ActiveRecord
end