Reformat a couple of package related queries

This commit is contained in:
Christopher Baines 2021-04-24 05:58:48 +01:00
parent 1f078e1af0
commit e38bddcae5

View file

@ -39,21 +39,24 @@
branches-by-package-version)) branches-by-package-version))
(define (select-existing-package-entries package-entries) (define (select-existing-package-entries package-entries)
(string-append "SELECT id, packages.name, packages.version, " (string-append
"packages.package_metadata_id " "
"FROM packages " SELECT id, packages.name, packages.version,
"JOIN (VALUES " packages.package_metadata_id
(string-join (map (lambda (package-entry) FROM packages
(apply JOIN (VALUES "
simple-format (string-join (map (lambda (package-entry)
#f "('~A', '~A', ~A)" (apply
package-entry)) simple-format
package-entries) #f "('~A', '~A', ~A)"
", ") package-entry))
") AS vals (name, version, package_metadata_id) " package-entries)
"ON packages.name = vals.name AND " ", ")
"packages.version = vals.version AND " "
"packages.package_metadata_id = vals.package_metadata_id")) ) AS vals (name, version, package_metadata_id)
ON packages.name = vals.name
AND packages.version = vals.version
AND packages.package_metadata_id = vals.package_metadata_id"))
(define* (select-packages-in-revision conn commit-hash (define* (select-packages-in-revision conn commit-hash
#:key limit-results #:key limit-results
@ -242,20 +245,21 @@ WHERE packages.id IN (
(exec-query conn query (list commit-hash))) (exec-query conn query (list commit-hash)))
(define (insert-into-package-entries package-entries) (define (insert-into-package-entries package-entries)
(string-append "INSERT INTO packages " (string-append
"(name, version, package_metadata_id) VALUES " "
(string-join INSERT INTO packages (name, version, package_metadata_id) VALUES "
(map (string-join
(match-lambda (map
((name version package_metadata_id) (match-lambda
(simple-format #f "('~A', '~A', ~A)" ((name version package_metadata_id)
name (simple-format #f "('~A', '~A', ~A)"
version name
package_metadata_id))) version
package-entries) package_metadata_id)))
",") package-entries)
" RETURNING id" ",")
";")) "
RETURNING id"))
(define (inferior-packages->package-ids conn package-entries) (define (inferior-packages->package-ids conn package-entries)
(insert-missing-data-and-return-all-ids (insert-missing-data-and-return-all-ids