Use latest_build_status rather than build_status

In various places in the blocked-builds module.
This commit is contained in:
Christopher Baines 2022-11-12 10:57:26 +00:00
parent a34bf4defc
commit 8e9ab68d14

View file

@ -120,12 +120,12 @@ INNER JOIN latest_build_status
WHERE NOT EXISTS (
SELECT 1
FROM builds AS successful_builds
INNER JOIN build_status AS successful_builds_build_status
ON successful_builds.id = successful_builds_build_status.build_id
INNER JOIN latest_build_status AS successful_builds_latest_build_status
ON successful_builds.id = successful_builds_latest_build_status.build_id
WHERE successful_builds.derivation_output_details_set_id =
builds.derivation_output_details_set_id
AND successful_builds.build_server_id = $2
AND successful_builds_build_status.status = 'succeeded'
AND successful_builds_latest_build_status.status = 'succeeded'
)")
(exec-query conn
@ -215,8 +215,8 @@ WHERE id = $1")
"
SELECT builds.build_server_id, builds.derivation_output_details_set_id
FROM builds
INNER JOIN build_status
ON build_status.build_id = builds.id
INNER JOIN latest_build_status
ON latest_build_status.build_id = builds.id
-- This should only be run on builds that have failed, but double check here
AND status IN ('failed', 'failed-dependency', 'failed-other', 'canceled')
WHERE builds.id IN ("
@ -226,10 +226,10 @@ WHERE builds.id IN ("
AND NOT EXISTS (
SELECT 1
FROM builds AS builds_for_same_output
INNER JOIN build_status AS builds_for_same_output_build_status
INNER JOIN latest_build_status AS builds_for_same_output_latest_build_status
ON builds_for_same_output.id
= builds_for_same_output_build_status.build_id
AND builds_for_same_output_build_status.status = 'succeeded'
= builds_for_same_output_latest_build_status.build_id
AND builds_for_same_output_latest_build_status.status = 'succeeded'
WHERE builds_for_same_output.derivation_output_details_set_id
= builds.derivation_output_details_set_id
)"))
@ -269,9 +269,9 @@ WHERE EXISTS (
")
AND EXISTS (
SELECT 1
FROM build_status
WHERE build_status.build_id = builds.id
AND build_status.status = 'succeeded'
FROM latest_build_status
WHERE latest_build_status.build_id = builds.id
AND latest_build_status.status = 'succeeded'
)
AND blocked_builds.build_server_id = builds.build_server_id
AND blocked_builds.blocking_derivation_output_details_set_id