guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Mathieu Othacehe
Date: Sun, 17 Jan 2021 05:54:50 -0500 (EST)

branch: master
commit 508ed333a65b06ed9ea7dd80adbbf1afdd05daaf
Author: Mathieu Othacehe <othacehe@gnu.org>
AuthorDate: Fri Jan 15 14:46:50 2021 +0100

    Fix concurrent database creation.
---
 bin/cuirass.in           |  1 +
 src/cuirass/database.scm | 16 +++++++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/bin/cuirass.in b/bin/cuirass.in
index 81247cd..18e2aab 100644
--- a/bin/cuirass.in
+++ b/bin/cuirass.in
@@ -98,6 +98,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
   (let ((opts (getopt-long args %options)))
     (parameterize
         ((%program-name     (car args))
+         (%create-database? (not (option-ref opts 'web #f)))
          (%package-database (option-ref opts 'database (%package-database)))
          (%package-cachedir
           (option-ref opts 'cache-directory (%package-cachedir)))
diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm
index 701c927..25b2bf1 100644
--- a/src/cuirass/database.scm
+++ b/src/cuirass/database.scm
@@ -92,6 +92,7 @@
             db-clear-workers
             db-clear-build-queue
             ;; Parameters.
+            %create-database?
             %package-database
             %package-schema-file
             %db-channel
@@ -205,6 +206,9 @@ parameters matches the number of arguments to bind."
                       (delete-duplicates args))))
     (exec-query db query (map normalize params))))
 
+(define %create-database?
+  (make-parameter #f))
+
 (define %package-database
   (make-parameter #f))
 
@@ -341,11 +345,13 @@ database object."
                             (getenv "CUIRASS_DATABASE")
                             (getenv "CUIRASS_HOST"))))
          (db (connect-to-postgres-paramstring param)))
-    (match (db-schema-version db)
-      (#f
-       (db-init db))
-      (else
-       (db-upgrade db)))))
+    (when (%create-database?)
+      (match (db-schema-version db)
+        (#f
+         (db-init db))
+        (else
+         (db-upgrade db))))
+    db))
 
 (define (db-close db)
   "Close database object DB."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]