aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/datastore/sqlite.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-01-07 18:56:47 +0000
committerChristopher Baines <mail@cbaines.net>2022-01-07 18:57:29 +0000
commitc7c1d57d4e639b2a577dd969ce78c9586d1ac77c (patch)
treedae19de8d6c339c2fff8b1af53efff1170964e04 /guix-build-coordinator/datastore/sqlite.scm
parent86a971448a0ff13d645a251429c055ec060a4b70 (diff)
downloadbuild-coordinator-c7c1d57d4e639b2a577dd969ce78c9586d1ac77c.tar
build-coordinator-c7c1d57d4e639b2a577dd969ce78c9586d1ac77c.tar.gz
Remove use of last-insert-rowid in insert-build
This can be done through RETURNING now.
Diffstat (limited to 'guix-build-coordinator/datastore/sqlite.scm')
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm14
1 files changed, 9 insertions, 5 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index d900224..72bf091 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -3574,23 +3574,27 @@ INSERT INTO derivation_outputs (derivation_id, name, output_id)
db
"
INSERT INTO builds (uuid, derivation_id, priority, created_at, deferred_until)
-VALUES (:uuid, :derivation_id, :priority, datetime('now'), :deferred_until)"
+VALUES (:uuid, :derivation_id, :priority, datetime('now'), :deferred_until)
+RETURNING id"
#:cache? #t)))
(sqlite-bind-arguments
statement
#:uuid uuid
- #:derivation_id (db-find-derivation-id db drv-name)
+ #:derivation_id (call-with-delay-logging
+ db-find-derivation-id
+ #:args (list db drv-name))
#:priority priority
#:deferred_until
(and=> defer-until
(lambda (date)
(date->string date "~1 ~3"))))
- (sqlite-step statement)
- (sqlite-reset statement))
+ (match (sqlite-step statement)
+ (#(id)
+ (sqlite-reset statement)
- (last-insert-rowid db))
+ id))))
(define (get-derived-priority db build-id)
(let ((statement