aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-07-06 21:35:05 +0100
committerChristopher Baines <mail@cbaines.net>2020-07-06 21:35:05 +0100
commit3bc5e6b5ce015176bd314ba8b407353fc3217a20 (patch)
tree9e0944b1e1eb38b0e030706810f9d2000b0e6d3a
parentb3388b77c395b2e22a8c2d2db940a4b9c0b77293 (diff)
downloadbuild-coordinator-3bc5e6b5ce015176bd314ba8b407353fc3217a20.tar
build-coordinator-3bc5e6b5ce015176bd314ba8b407353fc3217a20.tar.gz
Fix builds missing from the allocation plan
Previously builds were only considered if for the derivation, all the inputs had successful builds. However, this only accounted for inputs directly matching the derivation, not other derivations that also provided the same output. This commit fixes that.
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm4
1 files changed, 3 insertions, 1 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index 3f9b19e..435c600 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -1251,8 +1251,10 @@ UNION
derivation_inputs.derivation_name
INNER JOIN derivation_outputs
ON derivation_inputs.derivation_output_id = derivation_outputs.id
+ INNER JOIN derivation_outputs AS all_derivation_outputs
+ ON all_derivation_outputs.output = derivation_outputs.output
INNER JOIN builds
- ON builds.derivation_name = derivation_outputs.derivation_name
+ ON builds.derivation_name = all_derivation_outputs.derivation_name
)
SELECT builds_with_derived_priority.uuid, MAX(derived_priority)
FROM builds_with_derived_priority