diff options
author | Christopher Baines <mail@cbaines.net> | 2020-09-18 20:05:29 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-09-18 20:05:29 +0100 |
commit | f817241a596f35b9c4985a61ceea24e5f645a5cf (patch) | |
tree | 93dfccf71eeca22f62ac7332b21376222e6f4044 | |
parent | 5e8408c833e209efddfa0159114b90400c1aaf4d (diff) | |
download | build-coordinator-f817241a596f35b9c4985a61ceea24e5f645a5cf.tar build-coordinator-f817241a596f35b9c4985a61ceea24e5f645a5cf.tar.gz |
Simplify sqlite transactionality
Remove one layer of exception handling, as I don't think it was adding much.
-rw-r--r-- | guix-build-coordinator/datastore/sqlite.scm | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index 6de0187..79877ed 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -147,23 +147,16 @@ (with-exception-handler (lambda (exn) (simple-format (current-error-port) - "error: sqlite: ~A\n" - exn) + "error: sqlite rolling back transaction\n") (sqlite-exec db "ROLLBACK TRANSACTION;") (raise-exception exn)) (lambda () - (with-exception-handler - (lambda (exn) - (backtrace) - (raise-exception exn)) - (lambda () - (call-with-values - (lambda () - (proc db)) - (lambda vals - (sqlite-exec db "COMMIT TRANSACTION;") - (apply values vals)))))) - #:unwind? #t)))) + (call-with-values + (lambda () + (proc db)) + (lambda vals + (sqlite-exec db "COMMIT TRANSACTION;") + (apply values vals)))))))) (define-method (datastore-find-agent (datastore <sqlite-datastore>) |