aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/model
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-01-31 20:24:27 +0000
committerChristopher Baines <mail@cbaines.net>2022-01-31 20:24:27 +0000
commitf1418c4e88e9fc77e9a450fa1c01471e897774f3 (patch)
treed9fb2f5d82dfd649b5edbe15b1d1bf9d6b040149 /guix-data-service/model
parent11ec8a806494047589f119b0db2af862e1c41ae2 (diff)
downloaddata-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.scm20
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