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