[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/06: Add a couple of options to select-derivation-outputs-in-revision
From: |
Christopher Baines |
Subject: |
03/06: Add a couple of options to select-derivation-outputs-in-revision |
Date: |
Sun, 3 May 2020 16:30:01 -0400 (EDT) |
cbaines pushed a commit to branch master
in repository data-service.
commit 3cc14ae03a4f3782cd61756cda772ba5cb4aee4b
Author: Christopher Baines <address@hidden>
AuthorDate: Sun May 3 21:20:53 2020 +0100
Add a couple of options to select-derivation-outputs-in-revision
To filter outputs by whether particular substitute servers have a
substitute.
---
guix-data-service/model/derivation.scm | 36 ++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/guix-data-service/model/derivation.scm
b/guix-data-service/model/derivation.scm
index 693e513..a19b336 100644
--- a/guix-data-service/model/derivation.scm
+++ b/guix-data-service/model/derivation.scm
@@ -454,6 +454,8 @@ ORDER BY derivations.file_name
#:key
search-query
output-consistency
+ nars-from-build-servers
+ no-nars-from-build-servers
system
target
limit-results
@@ -517,6 +519,40 @@ WHERE guix_revisions.commit = $1
query count))
criteria
(iota (length criteria) 2))))
+ (if (list? nars-from-build-servers)
+ (string-append
+ "
+AND ARRAY[" (string-join (map number->string nars-from-build-servers)
+ ", ")
+"]::integer[] <@ COALESCE(( -- contained by
+ SELECT ARRAY_AGG(narinfo_fetch_records.build_server_id)
+ FROM nars
+ INNER JOIN narinfo_signatures
+ ON nars.id = narinfo_signatures.nar_id
+ INNER JOIN narinfo_signature_data
+ ON narinfo_signature_data.id = narinfo_signatures.narinfo_signature_data_id
+ 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
+), ARRAY[]::integer[])")
+ "")
+ (if (list? no-nars-from-build-servers)
+ (string-append
+ "
+AND NOT ARRAY[" (string-join (map number->string no-nars-from-build-servers)
+ ", ")
+"]::integer[] && COALESCE((
+ SELECT ARRAY_AGG(narinfo_fetch_records.build_server_id)
+ FROM nars
+ INNER JOIN narinfo_signatures
+ ON nars.id = narinfo_signatures.nar_id
+ INNER JOIN narinfo_signature_data
+ ON narinfo_signature_data.id = narinfo_signatures.narinfo_signature_data_id
+ 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
+), ARRAY[]::integer[])")
+ "")
(cond
((string=? output-consistency "any")
"")
- branch master updated (b4111af -> 2e3276e), Christopher Baines, 2020/05/03
- 01/06: Split out querying of build servers and substitute servers, Christopher Baines, 2020/05/03
- 03/06: Add a couple of options to select-derivation-outputs-in-revision,
Christopher Baines <=
- 02/06: Rename render-revision-derivation-outputs, Christopher Baines, 2020/05/03
- 04/06: Allow filtering by substitute availability for derivation outputs, Christopher Baines, 2020/05/03
- 05/06: Add a new package substitute availability page, Christopher Baines, 2020/05/03
- 06/06: Tweak select-output-consistency-for-revision, Christopher Baines, 2020/05/03