diff options
author | Christopher Baines <mail@cbaines.net> | 2019-03-06 22:58:05 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-03-06 22:58:05 +0000 |
commit | e656b0967be7fa9753edd498ce225b74073b87af (patch) | |
tree | 2e7aa1276de12f012d5442e317dae425a0a559a2 /guix-data-service/model/derivation.scm | |
parent | 7a90afe980c39efcdb3efcafd031b6b1bdcd1216 (diff) | |
download | data-service-e656b0967be7fa9753edd498ce225b74073b87af.tar data-service-e656b0967be7fa9753edd498ce225b74073b87af.tar.gz |
Include the status of derivations
On the comparison page.
Diffstat (limited to 'guix-data-service/model/derivation.scm')
-rw-r--r-- | guix-data-service/model/derivation.scm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/guix-data-service/model/derivation.scm b/guix-data-service/model/derivation.scm index ef39251..a83bf97 100644 --- a/guix-data-service/model/derivation.scm +++ b/guix-data-service/model/derivation.scm @@ -9,6 +9,7 @@ #:use-module (guix-data-service model utils) #:export (select-existing-derivations select-derivations-by-id + select-derivations-and-build-status-by-id insert-into-derivations derivations->derivation-ids)) @@ -289,6 +290,27 @@ (exec-query conn query)) +(define (select-derivations-and-build-status-by-id conn ids) + (define query + (string-append + "SELECT derivations.id, derivations.file_name, latest_build_status.status " + "FROM derivations " + "LEFT OUTER JOIN builds ON derivations.id = builds.derivation_id " + "LEFT OUTER JOIN " + "(SELECT DISTINCT ON (internal_build_id) * " + "FROM build_status " + "ORDER BY internal_build_id, status_fetched_at DESC" + ") AS latest_build_status " + "ON builds.internal_id = latest_build_status.internal_build_id " + "WHERE derivations.id IN " + "(" (string-join (map (lambda (id) + (simple-format #f "'~A'" id)) + ids) + ",") + ");")) + + (exec-query conn query)) + (define (derivations->derivation-ids conn derivations) (define (ensure-input-derivations-exist) (let* ((missing-derivation-file-names (map derivation-file-name |