[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
06/06: Tweak select-output-consistency-for-revision
From: |
Christopher Baines |
Subject: |
06/06: Tweak select-output-consistency-for-revision |
Date: |
Sun, 3 May 2020 16:30:03 -0400 (EDT) |
cbaines pushed a commit to branch master
in repository data-service.
commit 2e3276e8034a1be755906bb68ce4d38a99bdb23c
Author: Christopher Baines <address@hidden>
AuthorDate: Sun May 3 21:21:39 2020 +0100
Tweak select-output-consistency-for-revision
I don't think this actually changes the result, but I think the query is a
bit
better formed.
---
guix-data-service/model/nar.scm | 33 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 17 deletions(-)
diff --git a/guix-data-service/model/nar.scm b/guix-data-service/model/nar.scm
index 2dde327..7fa151b 100644
--- a/guix-data-service/model/nar.scm
+++ b/guix-data-service/model/nar.scm
@@ -318,15 +318,9 @@ FROM (
SELECT derivation_output_details.path,
package_derivations.system,
package_derivations.target,
- JSON_AGG(
- json_build_object(
- 'hash', nars.hash,
- 'build_server_id', narinfo_fetch_records.build_server_id
- )
- ),
CASE
- WHEN (COUNT(DISTINCT narinfo_fetch_records.build_server_id) <= 1)
THEN NULL
- ELSE (COUNT(DISTINCT nars.hash) = 1)
+ WHEN (COUNT(DISTINCT nar_data.build_server_id) <= 1) THEN NULL
+ ELSE (COUNT(DISTINCT nar_data.hash) = 1)
END AS reproducible
FROM derivation_output_details
INNER JOIN derivation_outputs
@@ -335,17 +329,22 @@ FROM (
INNER JOIN package_derivations
ON derivation_outputs.derivation_id = package_derivations.derivation_id
INNER JOIN guix_revision_package_derivations
- ON package_derivations.id =
guix_revision_package_derivations.package_derivation_id
+ ON package_derivations.id =
+ guix_revision_package_derivations.package_derivation_id
INNER JOIN guix_revisions
ON guix_revision_package_derivations.revision_id = guix_revisions.id
- LEFT JOIN nars
- ON derivation_output_details.path = nars.store_path
- LEFT JOIN narinfo_signatures
- ON narinfo_signatures.nar_id = nars.id
- LEFT JOIN narinfo_signature_data
- ON narinfo_signatures.narinfo_signature_data_id = narinfo_signature_data.id
- LEFT JOIN narinfo_fetch_records
- ON narinfo_fetch_records.narinfo_signature_data_id =
narinfo_signature_data.id
+ LEFT JOIN (
+ SELECT nars.store_path, narinfo_fetch_records.build_server_id, nars.hash
+ FROM nars
+ INNER JOIN narinfo_signatures
+ ON narinfo_signatures.nar_id = nars.id
+ INNER JOIN narinfo_signature_data
+ ON narinfo_signatures.narinfo_signature_data_id =
narinfo_signature_data.id
+ INNER JOIN narinfo_fetch_records
+ ON narinfo_fetch_records.narinfo_signature_data_id =
+ narinfo_signature_data.id
+ ) AS nar_data
+ ON nar_data.store_path = derivation_output_details.path
WHERE derivation_output_details.hash IS NULL AND
guix_revisions.commit = $1 AND
package_derivations.target = '' -- Exclude cross builds
- 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, 2020/05/03
- 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 <=