[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/04: Select existing derivations in chunks
From: |
Christopher Baines |
Subject: |
03/04: Select existing derivations in chunks |
Date: |
Sun, 3 Oct 2021 08:04:08 -0400 (EDT) |
cbaines pushed a commit to branch master
in repository data-service.
commit 3627d36d770b4da4084a2d6175c24349c3b148cf
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Sun Oct 3 12:59:02 2021 +0100
Select existing derivations in chunks
To avoid one massive query.
---
guix-data-service/model/derivation.scm | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/guix-data-service/model/derivation.scm
b/guix-data-service/model/derivation.scm
index bc5431e..f2a5dfe 100644
--- a/guix-data-service/model/derivation.scm
+++ b/guix-data-service/model/derivation.scm
@@ -1707,12 +1707,15 @@ WHERE " criteria ";"))
(unless (null? missing-file-names)
(for-each
- (match-lambda
- ((id file-name)
- (hash-set! derivation-ids-hash-table
- file-name
- (string->number id))))
- (exec-query conn (select-existing-derivations missing-file-names))))))
+ (lambda (chunk)
+ (for-each
+ (match-lambda
+ ((id file-name)
+ (hash-set! derivation-ids-hash-table
+ file-name
+ (string->number id))))
+ (exec-query conn (select-existing-derivations chunk))))
+ (chunk! missing-file-names 2000)))))
(define (derivation-file-names->derivation-ids conn derivation-file-names)
(define (select-source-files-missing-nars derivation-ids)