Speed up package-description-and-synopsis-locale-options-guix-revision
This commit is contained in:
parent
ea03ca7230
commit
eac37b9e8a
1 changed files with 4 additions and 30 deletions
|
|
@ -433,40 +433,14 @@ WHERE packages.id IN (
|
||||||
|
|
||||||
(define (package-description-and-synopsis-locale-options-guix-revision conn
|
(define (package-description-and-synopsis-locale-options-guix-revision conn
|
||||||
revision-id)
|
revision-id)
|
||||||
|
;; TODO This no longer uses the revision-id, as that's too expensive. Maybe
|
||||||
|
;; some caching is needed.
|
||||||
(exec-query
|
(exec-query
|
||||||
conn
|
conn
|
||||||
"
|
"
|
||||||
WITH package_metadata_ids AS (
|
SELECT locale FROM package_synopsis
|
||||||
SELECT packages.package_metadata_id AS id
|
|
||||||
FROM packages
|
|
||||||
WHERE packages.id IN (
|
|
||||||
SELECT package_derivations.package_id
|
|
||||||
FROM package_derivations
|
|
||||||
INNER JOIN guix_revision_package_derivations
|
|
||||||
ON package_derivations.id = guix_revision_package_derivations.package_derivation_id
|
|
||||||
WHERE guix_revision_package_derivations.revision_id = $1
|
|
||||||
)
|
|
||||||
), synopsis_locales AS (
|
|
||||||
SELECT package_synopsis.locale
|
|
||||||
FROM package_metadata
|
|
||||||
INNER JOIN package_synopsis_sets
|
|
||||||
ON package_synopsis_sets.id = package_metadata.package_synopsis_set_id
|
|
||||||
INNER JOIN package_synopsis
|
|
||||||
ON package_synopsis.id = ANY (package_synopsis_sets.synopsis_ids)
|
|
||||||
WHERE package_metadata.id IN (SELECT id FROM package_metadata_ids)
|
|
||||||
), description_locales AS (
|
|
||||||
SELECT package_descriptions.locale
|
|
||||||
FROM package_metadata
|
|
||||||
INNER JOIN package_description_sets
|
|
||||||
ON package_description_sets.id = package_metadata.package_description_set_id
|
|
||||||
INNER JOIN package_descriptions
|
|
||||||
ON package_descriptions.id = ANY (package_description_sets.description_ids)
|
|
||||||
WHERE package_metadata.id IN (SELECT id FROM package_metadata_ids)
|
|
||||||
)
|
|
||||||
SELECT locale FROM synopsis_locales
|
|
||||||
UNION
|
UNION
|
||||||
SELECT locale FROM description_locales"
|
SELECT locale FROM package_descriptions"))
|
||||||
(list revision-id)))
|
|
||||||
|
|
||||||
(define (synopsis-counts-by-locale conn revision-id)
|
(define (synopsis-counts-by-locale conn revision-id)
|
||||||
(define synopsis-counts
|
(define synopsis-counts
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue