diff options
author | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-02-13 18:42:49 +0300 |
---|---|---|
committer | Tiago Botelho <tiagonbotelho@hotmail.com> | 2018-02-28 13:46:20 +0300 |
commit | 41bb23ae1d61f1e94749a288d822c93b430ee9c8 (patch) | |
tree | b223c9dc24759599e46c649300be32739775a975 /lib/gitlab/cycle_analytics/base_query.rb | |
parent | 4fcbcce36475067f4d72ebe9371634e31073a497 (diff) |
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.rb | 10 |
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 |