diff options
Diffstat (limited to 'guix-build-coordinator')
-rw-r--r-- | guix-build-coordinator/datastore/sqlite.scm | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index 77fbf1e..07ea32e 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -1242,25 +1242,16 @@ WHERE processed = 0 created-after) "") " -EXCEPT - SELECT uuid - FROM builds - INNER JOIN derivation_inputs - ON builds.derivation_name = derivation_inputs.derivation_name +AND NOT EXISTS ( + SELECT 1 + FROM derivation_inputs INNER JOIN derivation_outputs ON derivation_inputs.derivation_output_id = derivation_outputs.id - WHERE derivation_outputs.output IN ( - SELECT derivation_outputs.output - FROM derivation_outputs - EXCEPT - SELECT derivation_outputs.output - FROM builds - INNER JOIN build_results - ON builds.uuid = build_results.build_id - INNER JOIN derivation_outputs - ON builds.derivation_name = derivation_outputs.derivation_name - WHERE build_results.result = 'success' - ) + INNER JOIN unbuilt_outputs + ON unbuilt_outputs.output = + derivation_outputs.output + WHERE builds.derivation_name = derivation_inputs.derivation_name +) EXCEPT SELECT build_id FROM allocated_builds ")))) |