diff options
author | Christopher Baines <mail@cbaines.net> | 2019-03-07 23:50:51 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-03-07 23:50:51 +0000 |
commit | a1e481cc4dbd81df77490e6ab8cab9ef55605248 (patch) | |
tree | d945d9afc1df308dffe09bad147e106713e00997 /guix-data-service/model/derivation.scm | |
parent | 0380c84a676647b8879315b50be52a04362d616a (diff) | |
download | data-service-a1e481cc4dbd81df77490e6ab8cab9ef55605248.tar data-service-a1e481cc4dbd81df77490e6ab8cab9ef55605248.tar.gz |
Continue improving pages and linking things together
Diffstat (limited to 'guix-data-service/model/derivation.scm')
-rw-r--r-- | guix-data-service/model/derivation.scm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/guix-data-service/model/derivation.scm b/guix-data-service/model/derivation.scm index 05c9e95..305c260 100644 --- a/guix-data-service/model/derivation.scm +++ b/guix-data-service/model/derivation.scm @@ -9,6 +9,8 @@ #:use-module (guix-data-service model utils) #:export (select-derivation-by-file-name select-derivation-outputs-by-derivation-id + select-derivation-by-output-filename + select-derivations-using-output select-derivation-inputs-by-derivation-id select-existing-derivations select-derivations-by-id @@ -34,6 +36,32 @@ ",") ")")) +(define (select-derivation-by-output-filename conn filename) + (define query + (string-append + "SELECT derivations.file_name, derivation_outputs.id " + "FROM derivation_output_details " + "INNER JOIN derivation_outputs" + " ON derivation_output_details.id = derivation_outputs.derivation_output_details_id " + "INNER JOIN derivations" + " ON derivation_outputs.derivation_id = derivations.id " + "WHERE derivation_output_details.path = $1")) + + (exec-query conn query (list filename))) + +(define (select-derivations-using-output conn output-id) + (define query + (string-append + "SELECT derivations.file_name " + "FROM derivations " + "INNER JOIN derivation_inputs" + " ON derivation_inputs.derivation_id = derivations.id " + "WHERE derivation_output_id = $1 " + "ORDER BY derivations.file_name " + "LIMIT 100 ")) + + (exec-query conn query (list output-id))) + (define (insert-derivation-outputs conn derivation-id names-and-derivation-outputs) |