aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/datastore/sqlite.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-05-13 22:01:08 +0100
committerChristopher Baines <mail@cbaines.net>2020-05-13 22:01:08 +0100
commit031006f055512a23ded5b390e0afa0f0a35b136e (patch)
tree923845f01b40fc99749437fa45a9dcf5603c9b18 /guix-build-coordinator/datastore/sqlite.scm
parent1226589800196922397bbcec4e05f64033fc1b86 (diff)
downloadbuild-coordinator-031006f055512a23ded5b390e0afa0f0a35b136e.tar
build-coordinator-031006f055512a23ded5b390e0afa0f0a35b136e.tar.gz
Fix an issue with the propagated priorities query
It was returning multiple records for a build, if that build could be reached through multiple paths in the graph, resulting in different priorities. Only the max priority matters, so have the query find that.
Diffstat (limited to 'guix-build-coordinator/datastore/sqlite.scm')
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index 5c10727..8c3c598 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -975,10 +975,11 @@ UNION
INNER JOIN builds
ON builds.derivation_name = derivation_outputs.derivation_name
)
-SELECT builds_with_derived_priority.uuid, derived_priority
+SELECT builds_with_derived_priority.uuid, MAX(derived_priority)
FROM builds_with_derived_priority
INNER JOIN builds ON builds.uuid = builds_with_derived_priority.uuid
-WHERE builds.processed = 0"
+WHERE builds.processed = 0
+GROUP BY builds_with_derived_priority.uuid"
#:cache? #t)))
(let ((result (sqlite-fold