From 6c90fe432496a2b2ace6984ac24beb7f7736ef1c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 4 Sep 2019 13:20:41 +0200 Subject: Reduce code duplication in the package module By using insert-missing-data-and-return-all-ids. --- guix-data-service/model/package.scm | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/guix-data-service/model/package.scm b/guix-data-service/model/package.scm index 1579469..477a25c 100644 --- a/guix-data-service/model/package.scm +++ b/guix-data-service/model/package.scm @@ -169,34 +169,8 @@ WHERE packages.id IN ( packages metadata-ids)) - (let* ((existing-package-entry-ids - (exec-query->vhash conn - (select-existing-package-entries package-entries) - ;; name, version and package_metadata_id - cdr - first)) ;;id - (missing-package-entries - (filter (lambda (package-entry) - (not (vhash-assoc package-entry - existing-package-entry-ids))) - (delete-duplicates package-entries))) - (new-package-entry-ids - (if (null? missing-package-entries) - '() - (map car - (exec-query - conn - (insert-into-package-entries - missing-package-entries))))) - (new-entries-id-lookup-vhash - (two-lists->vhash missing-package-entries - new-package-entry-ids))) - - (map (lambda (package-entry) - (cdr - (or (vhash-assoc package-entry - existing-package-entry-ids) - (vhash-assoc package-entry - new-entries-id-lookup-vhash) - (error "missing package entry")))) - package-entries))) + (insert-missing-data-and-return-all-ids + conn + "packages" + '(name version package_metadata_id) + package-entries)) -- cgit v1.2.3