diff options
author | Christopher Baines <mail@cbaines.net> | 2023-09-07 15:54:14 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-09-07 15:54:14 +0100 |
commit | 2bd0b0c806b060c767afca60cdddd1aef03ff930 (patch) | |
tree | 64db309e90acc73dd1463cc10ffb565049dee139 /nar-herder/database.scm | |
parent | 6f061356d52b614afa4337a33b248bcb071b0314 (diff) | |
download | nar-herder-2bd0b0c806b060c767afca60cdddd1aef03ff930.tar nar-herder-2bd0b0c806b060c767afca60cdddd1aef03ff930.tar.gz |
Add datastore-fold-all-narinfo-files
Diffstat (limited to 'nar-herder/database.scm')
-rw-r--r-- | nar-herder/database.scm | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/nar-herder/database.scm b/nar-herder/database.scm index e0c6fe8..dca11ad 100644 --- a/nar-herder/database.scm +++ b/nar-herder/database.scm @@ -55,6 +55,7 @@ database-select-narinfo-files database-select-narinfo-files-by-narinfo-id + database-fold-all-narinfo-files database-map-all-narinfo-files database-insert-cached-narinfo-file @@ -1077,7 +1078,7 @@ WHERE narinfos.id = :narinfo_id" result))))))) -(define (database-map-all-narinfo-files database proc) +(define (database-fold-all-narinfo-files database proc init) (call-with-worker-thread (database-reader-thread-channel database) (lambda (db) @@ -1093,16 +1094,24 @@ FROM narinfo_files" (lambda (row result) (match row (#(size compression url) - (cons (proc `((size . ,size) - (compression . ,compression) - (url . ,url))) + (proc `((size . ,size) + (compression . ,compression) + (url . ,url)) result)))) - '() + init statement))) (sqlite-reset statement) result-list))))) +(define (database-map-all-narinfo-files database proc) + (database-fold-all-narinfo-files + database + (lambda (nar-file result) + (cons (proc nar-file) + result)) + '())) + (define (database-insert-cached-narinfo-file database narinfo-id size |