BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
122b046b
Commit
122b046b
authored
Jul 21, 2016
by
Lin Jen-Shin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Workaround MySQL with INNER JOIN:
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' Oh well.
parent
8ad92b95
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
3 deletions
+12
-3
commit_status.rb
app/models/commit_status.rb
+5
-1
project.rb
app/models/project.rb
+7
-2
No files found.
app/models/commit_status.rb
View file @
122b046b
...
...
@@ -16,7 +16,11 @@ class CommitStatus < ActiveRecord::Base
alias_attribute
:author
,
:user
scope
:latest
,
->
{
where
(
id:
unscope
(
:select
).
select
(
'max(id)'
).
group
(
:name
,
:commit_id
))
}
scope
:latest
,
->
do
max_id
=
unscope
(
:select
).
select
(
"max(
#{
quoted_table_name
}
.id)"
)
where
(
id:
max_id
.
group
(
:name
,
:commit_id
))
end
scope
:retried
,
->
{
where
.
not
(
id:
latest
)
}
scope
:ordered
,
->
{
order
(
:name
)
}
scope
:ignored
,
->
{
where
(
allow_failure:
true
,
status:
[
:failed
,
:canceled
])
}
...
...
app/models/project.rb
View file @
122b046b
...
...
@@ -431,8 +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
)
builds
.
where
(
pipeline:
pipeline
).
latest
.
with_artifacts
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
end
def
merge_base_commit
(
first_commit_id
,
second_commit_id
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment