Comment 7 for bug 631206

Revision history for this message
Julian Edwards (julian-edwards) wrote :

JTV came up with this which is massively quicker.

SELECT DISTINCT BuildFarmJob.*
FROM BuildFarmJob
LEFT JOIN PackageBuild ON PackageBuild.build_farm_job = BuildFarmJob.id
WHERE
    BuildFarmJob.builder = %s AND (
        PackageBuild.id IS NULL OR
        PackageBuild.archive IN (
            SELECT id
            FROM Archive
            WHERE Archive.private = FALSE

            UNION

            SELECT id
            FROM Archive
            WHERE
                Archive.private = TRUE AND
                Archive.owner IN (
                    SELECT DISTINCT team
                    FROM TeamParticipation
                    WHERE person = %s
                )
        )
    )
ORDER BY date_finished DESC, id