aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/datastore/sqlite.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-build-coordinator/datastore/sqlite.scm')
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm12
1 files changed, 7 insertions, 5 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index e7acd9f..7906081 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -382,18 +382,20 @@ VALUES "
(lambda (db)
(sqlite-exec db "BEGIN TRANSACTION;")
(with-exception-handler
- (lambda (key . args)
+ (lambda (exn)
(simple-format (current-error-port)
- "error: sqlite: ~A ~A\n"
- key args)
- (sqlite-exec db "ROLLBACK TRANSACTION;"))
+ "error: sqlite: ~A\n"
+ exn)
+ (sqlite-exec db "ROLLBACK TRANSACTION;")
+ (raise-exception exn))
(lambda ()
(insert-build-result db build-id agent-id result failure-reason)
(remove-build-allocation db build-id agent-id)
(mark-build-as-processed db build-id)
(when output-metadata
(store-output-metadata db build-id output-metadata))
- (sqlite-exec db "COMMIT TRANSACTION;")))))
+ (sqlite-exec db "COMMIT TRANSACTION;"))
+ #:unwind? #t)))
#t)
(define (insert-setup-failure-and-remove-allocation