From 1bdc8855ba0fc78e86131e7f2bafb34984f5e79e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 3 Oct 2020 08:55:56 +0100 Subject: [PATCH] Extract out opening PostgreSQL connections So this can be reused. --- guix-data-service/database.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/guix-data-service/database.scm b/guix-data-service/database.scm index 2ac26c4..1d29199 100644 --- a/guix-data-service/database.scm +++ b/guix-data-service/database.scm @@ -44,7 +44,7 @@ (define pg-conn-finish (@@ (squee) pg-conn-finish)) -(define* (with-postgresql-connection name f #:key (statement-timeout #f)) +(define (open-postgresql-connection name statement-timeout) (define paramstring (string-append (or (getenv "GUIX_DATA_SERVICE_DATABASE_PARAMSTRING") @@ -62,8 +62,13 @@ conn (simple-format #f "SET statement_timeout = ~A" statement-timeout))) + + conn)) + +(define* (with-postgresql-connection name f #:key (statement-timeout #f)) + (let ((conn (open-postgresql-connection name statement-timeout))) (with-throw-handler - #t + #t (lambda () (call-with-values (lambda ()