aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/datastore/sqlite.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-01-19 13:16:50 +0000
committerChristopher Baines <mail@cbaines.net>2022-01-19 13:22:19 +0000
commitb37dce9c3ffb794d76f867500bafe4c34c6bc8eb (patch)
treeef2a77ef9519296cf4db2f7f04e1482bfc803fe0 /guix-build-coordinator/datastore/sqlite.scm
parent2cf7ba99a0d9cf03acf7e9036c0fd1ad3c1091be (diff)
downloadbuild-coordinator-b37dce9c3ffb794d76f867500bafe4c34c6bc8eb.tar
build-coordinator-b37dce9c3ffb794d76f867500bafe4c34c6bc8eb.tar.gz
Delete processed hook events using a prepared statement
Diffstat (limited to 'guix-build-coordinator/datastore/sqlite.scm')
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm20
1 files changed, 14 insertions, 6 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index 3c3caa3..74d75f7 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -2432,12 +2432,20 @@ LIMIT :limit"
(call-with-worker-thread
(slot-ref datastore 'worker-writer-thread-channel)
(lambda (db)
- (sqlite-exec
- db
- (string-append
- "
-DELETE FROM unprocessed_hook_events WHERE id = "
- (number->string id))))))
+ (let ((statement
+ (sqlite-prepare
+ db
+ "
+DELETE FROM unprocessed_hook_events WHERE id = :id"
+ #:cache? #t)))
+
+ (sqlite-bind-arguments
+ statement
+ #:id id)
+
+ (sqlite-step statement)
+ (sqlite-reset statement))))
+ #t)
(define-method (datastore-count-build-allocation-plan-entries
(datastore <sqlite-datastore>))