diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2016-07-21 17:02:28 +0800 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2016-07-21 17:02:28 +0800 |
commit | 5e0669e0eb0fe466bab64f45249b16073e314c99 (patch) | |
tree | 69198a5bd3e0a09ac177b749f02b2c4b22d2cecf /app/models/project.rb | |
parent | e5b05fe8c0e773d850c314b8317e5fa2eb75379d (diff) | |
download | gitlab-ce-5e0669e0eb0fe466bab64f45249b16073e314c99.tar.gz |
Since it's too hard to use JOIN with Rails... feedback:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5347#note_13204564
Diffstat (limited to 'app/models/project.rb')
-rw-r--r-- | app/models/project.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 9b9d497fbd8..d14d15fdc5c 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -431,13 +431,13 @@ class Project < ActiveRecord::Base # ref can't be HEAD, can only be branch/tag name or SHA def latest_successful_builds_for(ref = default_branch) - pipeline = pipelines.latest_successful_for(ref).to_sql - join_sql = "INNER JOIN (#{pipeline}) pipelines" + - " ON pipelines.id = #{Ci::Build.quoted_table_name}.commit_id" - builds.joins(join_sql).latest.with_artifacts - # TODO: Whenever we dropped support for MySQL, we could change to: - # pipeline = pipelines.latest_successful_for(ref) - # builds.where(pipeline: pipeline).latest.with_artifacts + latest_pipeline = pipelines.latest_successful_for(ref).first + + if latest_pipeline + latest_pipeline.builds.latest.with_artifacts + else + builds.none + end end def merge_base_commit(first_commit_id, second_commit_id) |