guix-commits
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]