diff options
author | Christopher Baines <mail@cbaines.net> | 2019-10-03 21:35:29 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-10-03 21:35:29 +0100 |
commit | fb301a8495965e7559d357440b8c59ad275ef6bd (patch) | |
tree | b68c055b7c9408fbdc9304fc603e87b80a347d9f /guix-data-service/model/package.scm | |
parent | a40a8f0f92370c560517130dc50fedee56629b00 (diff) | |
download | data-service-fb301a8495965e7559d357440b8c59ad275ef6bd.tar data-service-fb301a8495965e7559d357440b8c59ad275ef6bd.tar.gz |
Add a package page, showing versions for a revision
Diffstat (limited to 'guix-data-service/model/package.scm')
-rw-r--r-- | guix-data-service/model/package.scm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/guix-data-service/model/package.scm b/guix-data-service/model/package.scm index 8a6bb94..1a41a88 100644 --- a/guix-data-service/model/package.scm +++ b/guix-data-service/model/package.scm @@ -11,6 +11,7 @@ count-packages-in-revision inferior-packages->package-ids + select-package-versions-for-revision package-versions-for-branch)) (define (select-existing-package-entries package-entries) @@ -184,6 +185,24 @@ WHERE packages.id IN ( '(name version package_metadata_id) package-entries)) +(define (select-package-versions-for-revision conn + commit + package-name) + (define query " +SELECT DISTINCT version FROM packages +INNER JOIN package_derivations + ON packages.id = package_derivations.package_id +INNER JOIN guix_revision_package_derivations + 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 +WHERE guix_revisions.commit = $1 AND packages.name = $2 +ORDER BY version") + + (map + car + (exec-query conn query (list commit package-name)))) + (define (package-versions-for-branch conn git-repository-id branch-name |