Add more logging to backfilling guix_revision_package_derivation_distribution_counts

This commit is contained in:
Christopher Baines 2024-08-10 21:07:35 +01:00
parent b79c7e83be
commit 4d0813c331

View file

@ -20,6 +20,7 @@
#:use-module (ice-9 threads) #:use-module (ice-9 threads)
#:use-module (squee) #:use-module (squee)
#:use-module (guix-data-service database) #:use-module (guix-data-service database)
#:use-module (guix-data-service utils)
#:use-module (guix-data-service model system) #:use-module (guix-data-service model system)
#:export (insert-guix-revision-package-derivations #:export (insert-guix-revision-package-derivations
@ -174,30 +175,40 @@ ORDER BY id DESC")))
(for-each (for-each
(lambda (revision-id) (lambda (revision-id)
(simple-format #t "backfilling guix_revision_package_derivation_distribution_counts for revision ~A\n" revision-id) (with-exception-handler
(let ((system-ids-and-targets (lambda (exn)
(exec-query (simple-format
conn #t "exception backfilling guix_revision_package_derivation_distribution_counts for revision ~A: ~A\n"
" revision-id exn))
(lambda ()
(with-time-logging
(simple-format
#f "backfilling guix_revision_package_derivation_distribution_counts for revision ~A"
revision-id)
(let ((system-ids-and-targets
(exec-query
conn
"
SELECT DISTINCT system_id, target SELECT DISTINCT system_id, target
FROM package_derivations FROM package_derivations
INNER JOIN guix_revision_package_derivations 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
WHERE revision_id = $1" WHERE revision_id = $1"
(list revision-id)))) (list revision-id))))
(with-postgresql-transaction (with-postgresql-transaction
conn conn
(lambda (conn) (lambda (conn)
(for-each (for-each
(match-lambda (match-lambda
((system-id target) ((system-id target)
(insert-guix-revision-package-derivation-distribution-counts (insert-guix-revision-package-derivation-distribution-counts
conn conn
revision-id revision-id
system-id system-id
target))) target)))
system-ids-and-targets))))) system-ids-and-targets))))))
#:unwind? #t))
revision-ids)) revision-ids))
(define* (get-sql-to-select-package-and-related-derivations-for-revision (define* (get-sql-to-select-package-and-related-derivations-for-revision