aboutsummaryrefslogtreecommitdiff
path: root/nar-herder/database.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2021-12-29 21:56:29 +0000
committerChristopher Baines <mail@cbaines.net>2021-12-29 21:56:29 +0000
commitb7722aed5f91fa7d44343e7ce091e4dccc879430 (patch)
treebaa17a8077b85c76d24f974380d1c41d7e455a7c /nar-herder/database.scm
parent049dfec287fa948cac6682d0a047bc0ed356f0bf (diff)
downloadnar-herder-b7722aed5f91fa7d44343e7ce091e4dccc879430.tar
nar-herder-b7722aed5f91fa7d44343e7ce091e4dccc879430.tar.gz
Limit the number of recent changes returned
So that requests for recent changes don't time out.
Diffstat (limited to 'nar-herder/database.scm')
-rw-r--r--nar-herder/database.scm7
1 files changed, 4 insertions, 3 deletions
diff --git a/nar-herder/database.scm b/nar-herder/database.scm
index 060d2ba..399d527 100644
--- a/nar-herder/database.scm
+++ b/nar-herder/database.scm
@@ -434,7 +434,7 @@ SELECT contents FROM narinfos WHERE substr(store_path, 12, 32) = :hash"
(#(contents) contents)
(_ #f))))))
-(define (database-select-recent-changes database after-date)
+(define* (database-select-recent-changes database after-date #:key (limit 8192))
(call-with-worker-thread
(database-reader-thread-channel database)
(lambda (db)
@@ -442,11 +442,12 @@ SELECT contents FROM narinfos WHERE substr(store_path, 12, 32) = :hash"
(sqlite-prepare
db
"
-SELECT datetime, change, data FROM recent_changes WHERE datetime >= :datetime"
+SELECT datetime, change, data FROM recent_changes WHERE datetime >= :datetime LIMIT :limit"
#:cache? #t)))
(sqlite-bind-arguments
statement
- #:datetime after-date)
+ #:datetime after-date
+ #:limit limit)
(let loop ((row (sqlite-step statement))
(result '()))