From 8a618322b12436dac6034817c596aa9fd433dd8d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 30 Oct 2019 09:19:28 +0100 Subject: database: Add db-remove-specification. * src/cuirass/database.scm (db-remove-specification): New procedure. --- src/cuirass/database.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm index 8db5411..523165d 100644 --- a/src/cuirass/database.scm +++ b/src/cuirass/database.scm @@ -38,6 +38,7 @@ db-open db-close db-add-specification + db-remove-specification db-get-specifications db-add-evaluation db-set-evaluations-done @@ -332,6 +333,16 @@ package_path_inputs, proc_input, proc_file, proc, proc_args) \ (assq-ref spec #:inputs)) spec-id))) +(define (db-remove-specification name) + "Remove the specification matching NAME from the database and its inputs." + (with-db-critical-section db + (sqlite-exec db "BEGIN TRANSACTION;") + (sqlite-exec db "\ +DELETE FROM Inputs WHERE specification=" name ";") + (sqlite-exec db "\ +DELETE FROM Specifications WHERE name=" name ";") + (sqlite-exec db "COMMIT;"))) + (define (db-get-inputs spec-name) (with-db-critical-section db (let loop ((rows (sqlite-exec -- cgit v1.2.3