aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/model
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-12-26 08:35:33 +0000
committerChristopher Baines <mail@cbaines.net>2019-12-26 08:35:33 +0000
commit801ebdfa9e694e1a292426940668d48e0d48e971 (patch)
treedecf51deb769532f5487e3ec10baf86cbc08c561 /guix-data-service/model
parente359cfea2bdc763852e7e37119f8986cf46f8eb9 (diff)
downloaddata-service-801ebdfa9e694e1a292426940668d48e0d48e971.tar
data-service-801ebdfa9e694e1a292426940668d48e0d48e971.tar.gz
Fix the successful builds outputs query where there are no revisions
As it was erroring before.
Diffstat (limited to 'guix-data-service/model')
-rw-r--r--guix-data-service/model/nar.scm17
1 files changed, 12 insertions, 5 deletions
diff --git a/guix-data-service/model/nar.scm b/guix-data-service/model/nar.scm
index f3b94f0..9ef2d8f 100644
--- a/guix-data-service/model/nar.scm
+++ b/guix-data-service/model/nar.scm
@@ -285,7 +285,8 @@ ORDER BY COUNT(*) DESC")
build-server-id
guix-revision-commits)
(define query
- (string-append "
+ (string-append
+ "
SELECT DISTINCT derivation_output_details.path
FROM derivations
INNER JOIN derivation_outputs
@@ -304,6 +305,11 @@ WHERE derivation_output_details.path NOT IN (
WHERE narinfo_fetch_records.build_server_id = $1
)
AND derivations.system = 'x86_64-linux'
+"
+ (if (null? guix-revision-commits)
+ ""
+ (string-append
+ "
AND derivations.id IN (
SELECT derivation_id
FROM package_derivations
@@ -312,10 +318,11 @@ WHERE derivation_output_details.path NOT IN (
INNER JOIN guix_revisions
ON guix_revisions.id = guix_revision_package_derivations.revision_id
WHERE guix_revisions.commit IN ("
- (string-join (map quote-string guix-revision-commits)
- ",")
- ")
-)
+ (string-join (map quote-string guix-revision-commits)
+ ",")
+ ")
+ )"))
+ "
LIMIT 10000"))
(map car (exec-query conn query (list (number->string build-server-id)))))