diff options
author | Christopher Baines <mail@cbaines.net> | 2022-01-31 20:24:27 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-01-31 20:24:27 +0000 |
commit | f1418c4e88e9fc77e9a450fa1c01471e897774f3 (patch) | |
tree | d9fb2f5d82dfd649b5edbe15b1d1bf9d6b040149 /guix-data-service/model | |
parent | 11ec8a806494047589f119b0db2af862e1c41ae2 (diff) | |
download | data-service-f1418c4e88e9fc77e9a450fa1c01471e897774f3.tar data-service-f1418c4e88e9fc77e9a450fa1c01471e897774f3.tar.gz |
Support querying package derivation outputs without the nars
Since this speeds up the response if you don't need the nar information.
Diffstat (limited to 'guix-data-service/model')
-rw-r--r-- | guix-data-service/model/derivation.scm | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/guix-data-service/model/derivation.scm b/guix-data-service/model/derivation.scm index a1ae821..47b5adc 100644 --- a/guix-data-service/model/derivation.scm +++ b/guix-data-service/model/derivation.scm @@ -678,6 +678,7 @@ LIMIT $4")) no-nars-from-build-servers system target + include-nars? limit-results after-path) (define query @@ -688,7 +689,10 @@ SELECT packages.name, derivation_output_details.path, derivation_output_details.hash_algorithm, derivation_output_details.hash, - derivation_output_details.recursive, + derivation_output_details.recursive" + + (if include-nars? + ", ( SELECT JSON_AGG( json_build_object( @@ -706,7 +710,9 @@ SELECT packages.name, INNER JOIN narinfo_fetch_records ON narinfo_signature_data.id = narinfo_fetch_records.narinfo_signature_data_id WHERE nars.store_path = derivation_output_details.path - ) AS nars + ) AS nars" + "") + " FROM derivations INNER JOIN derivation_outputs ON derivations.id = derivation_outputs.derivation_id @@ -833,7 +839,15 @@ ORDER BY derivation_output_details.path (string=? recursive "t") (if (null? nars_json) #() - (json-string->scm nars_json))))) + (json-string->scm nars_json)))) + ((package_name package_version + path hash_algorithm hash recursive) + (list package_name + package_version + path + hash + hash_algorithm + (string=? recursive "t")))) (exec-query-with-null-handling conn query `(,commit-hash |