diff options
author | Christopher Baines <mail@cbaines.net> | 2019-12-29 09:34:12 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-12-29 16:04:45 +0000 |
commit | d15ba4f25c0dfcc6ea8e03982819e217d5bb35b9 (patch) | |
tree | 389b4a0fc5240db329021701d6d7eb484bd57dff /guix-data-service/model | |
parent | 7ca9b11885f443a1042768ad48a5bbbebcc38b64 (diff) | |
download | data-service-d15ba4f25c0dfcc6ea8e03982819e217d5bb35b9.tar data-service-d15ba4f25c0dfcc6ea8e03982819e217d5bb35b9.tar.gz |
Serve narinfo files for derivation sources
Diffstat (limited to 'guix-data-service/model')
-rw-r--r-- | guix-data-service/model/derivation.scm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/guix-data-service/model/derivation.scm b/guix-data-service/model/derivation.scm index f26102c..692b3fe 100644 --- a/guix-data-service/model/derivation.scm +++ b/guix-data-service/model/derivation.scm @@ -42,6 +42,7 @@ select-derivation-references-by-derivation-id select-derivation-source-file-by-store-path select-derivation-source-file-nar-data-by-file-name + select-derivation-source-file-data-by-file-name-hash select-derivation-by-output-filename select-derivations-using-output select-derivations-in-revision @@ -805,6 +806,31 @@ WHERE store_path = $1") (map car (exec-query conn query (list store-path)))) +(define (select-derivation-source-file-data-by-file-name-hash conn hash) + (match (exec-query + conn + " +SELECT derivation_source_files.store_path, + derivation_source_file_nars.compression, + length(derivation_source_file_nars.data) AS compressed_size, + derivation_source_file_nars.hash_algorithm, + derivation_source_file_nars.hash, + derivation_source_file_nars.uncompressed_size +FROM derivation_source_file_nars +INNER JOIN derivation_source_files + ON derivation_source_file_nars.derivation_source_file_id = + derivation_source_files.id +WHERE substring(derivation_source_files.store_path from 12 for 32) = $1" + (list hash)) + (((store_path compression compressed_size hash_algorithm hash uncompressed_size)) + (list store_path + compression + (string->number compressed_size) + hash_algorithm + hash + (string->number uncompressed_size))) + (() #f))) + (define (select-derivation-source-file-nar-data-by-file-name conn file-name) (match (exec-query conn |