aboutsummaryrefslogtreecommitdiff
path: root/nar-herder/database.scm
diff options
context:
space:
mode:
Diffstat (limited to 'nar-herder/database.scm')
-rw-r--r--nar-herder/database.scm19
1 files changed, 19 insertions, 0 deletions
diff --git a/nar-herder/database.scm b/nar-herder/database.scm
index 2bac86f..7a550ec 100644
--- a/nar-herder/database.scm
+++ b/nar-herder/database.scm
@@ -57,6 +57,7 @@
database-fold-all-narinfo-files
database-map-all-narinfo-files
+ database-count-narinfo-files
database-insert-cached-narinfo-file
database-select-cached-narinfo-file-by-hash
@@ -1117,6 +1118,24 @@ FROM narinfo_files"
result))
'()))
+(define (database-count-narinfo-files database)
+ (call-with-worker-thread
+ (database-reader-thread-channel database)
+ (lambda (db)
+ (let ((statement
+ (sqlite-prepare
+ db
+ "
+SELECT COUNT(*) FROM narinfo_files"
+ #:cache? #t)))
+
+ (let ((result
+ (vector-ref (sqlite-step statement)
+ 0)))
+ (sqlite-reset statement)
+
+ result)))))
+
(define (database-insert-cached-narinfo-file database
narinfo-id
size