diff options
Diffstat (limited to 'guix-data-service/model/guix-revision-package-derivation.scm')
-rw-r--r-- | guix-data-service/model/guix-revision-package-derivation.scm | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/guix-data-service/model/guix-revision-package-derivation.scm b/guix-data-service/model/guix-revision-package-derivation.scm index 2b0ed61..63c23e5 100644 --- a/guix-data-service/model/guix-revision-package-derivation.scm +++ b/guix-data-service/model/guix-revision-package-derivation.scm @@ -166,34 +166,29 @@ VALUES ($1, $2, $3, $4, $5)" (loop (append level-counts (list count)))))))) system-ids-and-targets)) -(define (backfill-guix-revision-package-derivation-distribution-counts) +(define (backfill-guix-revision-package-derivation-distribution-counts conn) (define revision-ids - (with-thread-postgresql-connection - (lambda (conn) - (map - car - (exec-query - conn - " + (map + car + (exec-query + conn + " SELECT id FROM guix_revisions EXCEPT SELECT guix_revision_id FROM guix_revision_package_derivation_distribution_counts -ORDER BY id DESC"))))) +ORDER BY id DESC"))) - (n-par-for-each - 4 + (for-each (lambda (revision-id) (simple-format #t "backfilling guix_revision_package_derivation_distribution_counts for revision ~A\n" revision-id) - (with-thread-postgresql-connection + (with-postgresql-transaction + conn (lambda (conn) - (with-postgresql-transaction + (insert-guix-revision-package-derivation-distribution-counts conn - (lambda (conn) - (insert-guix-revision-package-derivation-distribution-counts - conn - revision-id)))))) + revision-id)))) revision-ids)) (define* (get-sql-to-select-package-and-related-derivations-for-revision |