guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/04: Better handle filtering narinfos


From: Christopher Baines
Subject: 02/04: Better handle filtering narinfos
Date: Sat, 10 Apr 2021 05:10:37 -0400 (EDT)

cbaines pushed a commit to branch master
in repository data-service.

commit 28a7cb6291af4eae4e53b2aac5dba387eef771da
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Sat Apr 10 08:30:48 2021 +0100

    Better handle filtering narinfos
    
    This avoids a query error when trying to insert data for 0 narinfos.
---
 guix-data-service/substitutes.scm | 41 +++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/guix-data-service/substitutes.scm 
b/guix-data-service/substitutes.scm
index 4375a09..eff5208 100644
--- a/guix-data-service/substitutes.scm
+++ b/guix-data-service/substitutes.scm
@@ -80,22 +80,25 @@
     (simple-format #t "Got ~A narinfo files\n"
                    (length narinfos))
 
-    (unless (eq? (length narinfos) 0)
-      (with-postgresql-transaction
-       conn
-       (lambda (conn)
-         (record-narinfo-details-and-return-ids
-          conn
-          build-server-id
-          (filter-map
-           (lambda (narinfo)
-             (if (> (narinfo-size narinfo)
-                    %narinfo-max-size)
-                 (begin
-                   (simple-format (current-error-port)
-                                  "narinfo ~A has excessive size ~A\n"
-                                  (narinfo-path narinfo)
-                                  (narinfo-size narinfo))
-                   #f)
-                 narinfo))
-           narinfos)))))))
+    (let ((filtered-narinfos
+           (filter-map
+            (lambda (narinfo)
+              (if (> (narinfo-size narinfo)
+                     %narinfo-max-size)
+                  (begin
+                    (simple-format (current-error-port)
+                                   "narinfo ~A has excessive size ~A\n"
+                                   (narinfo-path narinfo)
+                                   (narinfo-size narinfo))
+                    #f)
+                  narinfo))
+            narinfos)))
+
+      (unless (null? filtered-narinfos)
+        (with-postgresql-transaction
+         conn
+         (lambda (conn)
+           (record-narinfo-details-and-return-ids
+            conn
+            build-server-id
+            filtered-narinfos)))))))



reply via email to

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