From 031006f055512a23ded5b390e0afa0f0a35b136e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 13 May 2020 22:01:08 +0100 Subject: 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. --- guix-build-coordinator/datastore/sqlite.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'guix-build-coordinator') 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 -- cgit v1.2.3