[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Mathieu Othacehe |
Date: |
Tue, 9 Mar 2021 12:46:25 -0500 (EST) |
branch: master
commit 70394149afb9ee3ec487e7ad6dd5667fd65f4a20
Author: Mathieu Othacehe <othacehe@gnu.org>
AuthorDate: Tue Mar 9 18:31:18 2021 +0100
database: Add db-retry-evaluation!.
* src/cuirass/database.scm (db-retry-evaluation!): New procedure.
* tests/database.scm ("db-retry-evaluation"): New test.
---
src/cuirass/database.scm | 7 +++++++
tests/database.scm | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm
index 805de5f..fe88cd6 100644
--- a/src/cuirass/database.scm
+++ b/src/cuirass/database.scm
@@ -73,6 +73,7 @@
db-update-build-worker!
db-restart-build!
db-restart-evaluation!
+ db-retry-evaluation!
db-get-build-products
db-get-builds-by-search
db-get-builds
@@ -829,6 +830,12 @@ UPDATE Builds SET stoptime =" now
", starttime = 0, stoptime = 0
WHERE evaluation=" eval-id ";")))
+(define (db-retry-evaluation! eval-id)
+ "Retry the evaluation with EVAL-ID id."
+ (with-db-worker-thread db
+ (exec-query/bind db "\
+DELETE FROM Checkouts WHERE evaluation=" eval-id ";")))
+
(define (query->bind-arguments query-string)
"Return a list of keys to query strings by parsing QUERY-STRING."
(define status-values
diff --git a/tests/database.scm b/tests/database.scm
index 9c6f192..e62c17f 100644
--- a/tests/database.scm
+++ b/tests/database.scm
@@ -535,6 +535,12 @@ timestamp, checkouttime, evaltime) VALUES ('guix', 0, 0,
0, 0);")
(eq? (assq-ref (db-get-build "/old-build.drv") #:status)
(build-status scheduled))))
+ (test-equal "db-retry-evaluation!"
+ '()
+ (begin
+ (db-retry-evaluation! 4)
+ (db-get-checkouts 4)))
+
(test-assert "db-close"
(begin
(exec-query (%db) (format #f "DROP OWNED BY CURRENT_USER;"))