Switch queries across to use latest_build_status

This commit is contained in:
Christopher Baines 2020-10-13 19:32:42 +01:00
parent 83884ed2ea
commit e273e22042
6 changed files with 16 additions and 71 deletions

View file

@ -462,12 +462,8 @@ SELECT builds.id, derivations.file_name
FROM derivations
INNER JOIN builds
ON derivations.file_name = builds.derivation_file_name
LEFT JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
ON builds.id = latest_build_status.build_id
LEFT JOIN latest_build_status
ON latest_build_status.build_id = builds.id
WHERE builds.build_server_id = $1 AND
latest_build_status.status IN (
'scheduled', 'started'

View file

@ -79,13 +79,8 @@ LEFT JOIN builds
ON builds.derivation_output_details_set_id =
derivation_output_details_sets.id AND
builds.build_server_id = build_servers.id
LEFT JOIN
(
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
ON builds.id = latest_build_status.build_id
LEFT JOIN latest_build_status
ON builds.id = latest_build_status.build_id
"
(if (null? criteria)
""
@ -168,13 +163,8 @@ INNER JOIN guix_revisions
ON guix_revision_package_derivations.revision_id = guix_revisions.id"
"")
"
INNER JOIN
(
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
ON latest_build_status.build_id = builds.id
INNER JOIN latest_build_status
ON latest_build_status.build_id = builds.id
"
(if (null? where-conditions)
""
@ -237,12 +227,7 @@ SELECT build_servers.id,
latest_build_status.status
FROM builds
INNER JOIN build_servers ON build_servers.id = builds.build_server_id
INNER JOIN
(
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
INNER JOIN latest_build_status
ON latest_build_status.build_id = builds.id
INNER JOIN derivation_output_details_sets
ON builds.derivation_output_details_set_id =
@ -362,11 +347,7 @@ LEFT OUTER JOIN builds
ON derivations_by_output_details_set.derivation_output_details_set_id =
builds.derivation_output_details_set_id
AND builds.build_server_id = $2
LEFT OUTER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
LEFT OUTER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
WHERE latest_build_status.status = 'failed'
AND NOT EXISTS (

View file

@ -76,11 +76,7 @@ INNER JOIN derivations_by_output_details_set
LEFT OUTER JOIN builds
ON derivations_by_output_details_set.derivation_output_details_set_id =
builds.derivation_output_details_set_id
LEFT OUTER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
LEFT OUTER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
INNER JOIN guix_revisions
ON guix_revisions.id = channel_instances.guix_revision_id

View file

@ -157,11 +157,7 @@ LEFT OUTER JOIN builds
builds.derivation_output_details_set_id
LEFT OUTER JOIN build_servers
ON builds.build_server_id = build_servers.id
LEFT OUTER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
LEFT OUTER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
WHERE guix_revisions.commit = $1
AND packages.name = $2
@ -261,11 +257,7 @@ SELECT derivations.file_name,
ORDER BY latest_build_status.timestamp
)
FROM builds
INNER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
INNER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
WHERE builds.derivation_output_details_set_id =
derivations_by_output_details_set.derivation_output_details_set_id
@ -390,11 +382,7 @@ SELECT derivations.file_name,
ORDER BY latest_build_status.timestamp
)
FROM builds
INNER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
INNER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
WHERE builds.derivation_output_details_set_id =
derivations_by_output_details_set.derivation_output_details_set_id
@ -1445,11 +1433,7 @@ INNER JOIN derivations_by_output_details_set
LEFT OUTER JOIN builds
ON derivations.derivation_output_details_set_id =
builds.derivation_output_details_set_id
LEFT OUTER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
LEFT OUTER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
WHERE " criteria ";"))

View file

@ -361,11 +361,7 @@ INNER JOIN derivations_by_output_details_set
LEFT OUTER JOIN builds
ON derivations_by_output_details_set.derivation_output_details_set_id =
builds.derivation_output_details_set_id
LEFT OUTER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
LEFT OUTER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
INNER JOIN guix_revisions AS first_guix_revisions
ON first_guix_revision_id = first_guix_revisions.id
@ -493,11 +489,7 @@ FROM (
LEFT OUTER JOIN builds
ON data2.derivation_output_details_set_id =
builds.derivation_output_details_set_id
LEFT OUTER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
LEFT OUTER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
GROUP BY 1, 2, 3, 4, 5, 6
ORDER BY first_datetime DESC, package_version DESC")

View file

@ -108,11 +108,7 @@ INNER JOIN derivations_by_output_details_set
LEFT OUTER JOIN builds
ON derivations_by_output_details_set.derivation_output_details_set_id =
builds.derivation_output_details_set_id
LEFT OUTER JOIN (
SELECT DISTINCT ON (build_id) *
FROM build_status
ORDER BY build_id, id DESC
) AS latest_build_status
LEFT OUTER JOIN latest_build_status
ON builds.id = latest_build_status.build_id
INNER JOIN guix_revisions
ON guix_revisions.id = guix_revision_system_test_derivations.guix_revision_id