summaryrefslogtreecommitdiff
path: root/lib/gitlab/cycle_analytics/base_query.rb
diff options
context:
space:
mode:
authorTiago Botelho <tiagonbotelho@hotmail.com>2018-02-13 15:42:49 +0000
committerTiago Botelho <tiagonbotelho@hotmail.com>2018-02-28 10:46:20 +0000
commit41bb23ae1d61f1e94749a288d822c93b430ee9c8 (patch)
treeb223c9dc24759599e46c649300be32739775a975 /lib/gitlab/cycle_analytics/base_query.rb
parent4fcbcce36475067f4d72ebe9371634e31073a497 (diff)
downloadgitlab-ce-41bb23ae1d61f1e94749a288d822c93b430ee9c8.tar.gz
Restore memoization to base query and add a batch base query method
Diffstat (limited to 'lib/gitlab/cycle_analytics/base_query.rb')
-rw-r--r--lib/gitlab/cycle_analytics/base_query.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/gitlab/cycle_analytics/base_query.rb b/lib/gitlab/cycle_analytics/base_query.rb
index ed050287a9d..cd3d19db28e 100644
--- a/lib/gitlab/cycle_analytics/base_query.rb
+++ b/lib/gitlab/cycle_analytics/base_query.rb
@@ -7,14 +7,15 @@ module Gitlab
private
- def base_query(project_ids = nil)
- stage_query(project_ids)
+ def base_query
+ @base_query ||= stage_query([@project.id])
end
- def stage_query(project_ids = nil)
+ def stage_query(project_ids)
query = mr_closing_issues_table.join(issue_table).on(issue_table[:id].eq(mr_closing_issues_table[:issue_id]))
.join(issue_metrics_table).on(issue_table[:id].eq(issue_metrics_table[:issue_id]))
- .where(issue_table[:project_id].in(project_ids || @project.id)) # rubocop:disable Gitlab/ModuleWithInstanceVariables
+ .project(issue_table[:project_id].as("project_id"))
+ .where(issue_table[:project_id].in(project_ids)) # rubocop:disable Gitlab/ModuleWithInstanceVariables
.where(issue_table[:created_at].gteq(@options[:from])) # rubocop:disable Gitlab/ModuleWithInstanceVariables
# Load merge_requests
@@ -22,7 +23,6 @@ module Gitlab
.on(mr_table[:id].eq(mr_closing_issues_table[:merge_request_id]))
.join(mr_metrics_table)
.on(mr_table[:id].eq(mr_metrics_table[:merge_request_id]))
- .project(issue_table[:project_id].as("project_id"))
query
end