diff options
author | Christopher Baines <mail@cbaines.net> | 2021-02-08 22:04:26 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2021-02-08 22:04:26 +0000 |
commit | 110a3b7ce5fdbf97363dbc4e283c3eb8f0a3d41c (patch) | |
tree | a3d0731c2ae3ace7f09f9ae86303de08c9cf3cbc /guix-data-service | |
parent | f2d98b626d25fae71b558e79915507c60ee84109 (diff) | |
download | data-service-110a3b7ce5fdbf97363dbc4e283c3eb8f0a3d41c.tar data-service-110a3b7ce5fdbf97363dbc4e283c3eb8f0a3d41c.tar.gz |
Exclude derviations with unchanged outputs from the comparison page
As these aren't useful to look at. This should probably default to #f and be a
parameter.
Diffstat (limited to 'guix-data-service')
-rw-r--r-- | guix-data-service/comparison.scm | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/guix-data-service/comparison.scm b/guix-data-service/comparison.scm index 92750db..4a6805a 100644 --- a/guix-data-service/comparison.scm +++ b/guix-data-service/comparison.scm @@ -253,6 +253,7 @@ GROUP BY derivation_source_files.store_path")) (systems #f) (targets #f) (include-builds? #t) + (exclude-unchanged-outputs? #t) ;; Build changes are (symbols): ;; broken, fixed, still-failing, ;; still-working, unknown @@ -285,7 +286,7 @@ GROUP BY derivation_source_files.store_path")) (define query (string-append " WITH base_packages AS ( - SELECT packages.*, derivations.file_name, + SELECT packages.*, derivations.id AS derivation_id, derivations.file_name, package_derivations.system, package_derivations.target, derivations_by_output_details_set.derivation_output_details_set_id FROM packages @@ -301,7 +302,7 @@ WITH base_packages AS ( WHERE revision_id = $1 )" extra-constraints " ), target_packages AS ( - SELECT packages.*, derivations.file_name, + SELECT packages.*, derivations.id AS derivation_id, derivations.file_name, package_derivations.system, package_derivations.target, derivations_by_output_details_set.derivation_output_details_set_id FROM packages @@ -383,6 +384,22 @@ WHERE " AND coalesce(base_packages.name, target_packages.name) > $3" "") + (if exclude-unchanged-outputs? + " + AND NOT ( + ( + SELECT array_agg(id ORDER BY id) + FROM derivation_outputs + WHERE derivation_outputs.derivation_id = base_packages.derivation_id + ) + && + ( + SELECT array_agg(id ORDER BY id) + FROM derivation_outputs + WHERE derivation_outputs.derivation_id = target_packages.derivation_id + ) + )" + "") (cond ((eq? build-change #f) "") ((eq? build-change 'unknown) |