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