From 53df9c2591d94d52f96599285c2b37cd96c4e6b3 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 13 May 2020 22:59:40 +0100 Subject: Make sure to include all unprocessed builds in the graph When only starting from builds where the derivation isn't used in other derivations, you risk missing parts of the derivation graph that aren't covered with builds. --- guix-build-coordinator/datastore/sqlite.scm | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index 8c3c598..7f06b89 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -951,18 +951,9 @@ EXCEPT WITH RECURSIVE builds_with_derived_priority( uuid, derivation_name, derived_priority ) AS ( - -- Start with builds for derivations where outputs from that derivation - -- aren't used by other derivations SELECT builds.uuid, builds.derivation_name, builds.priority FROM builds - WHERE - NOT EXISTS ( - SELECT 1 - FROM derivation_inputs - INNER JOIN derivation_outputs - ON derivation_inputs.derivation_output_id = derivation_outputs.id - WHERE derivation_outputs.derivation_name = builds.derivation_name - ) + WHERE processed = 0 UNION SELECT builds.uuid, builds.derivation_name, max(builds.priority, builds_with_derived_priority.derived_priority) -- cgit v1.2.3