diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2019-10-30 09:19:28 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2019-10-30 09:19:28 +0100 |
commit | 8a618322b12436dac6034817c596aa9fd433dd8d (patch) | |
tree | 9fa83ce1aabdef09ebf886b60881331180aff52f | |
parent | c88a7c006ef164015e5c3fb1544b8112bf6ececf (diff) | |
download | cuirass-8a618322b12436dac6034817c596aa9fd433dd8d.tar cuirass-8a618322b12436dac6034817c596aa9fd433dd8d.tar.gz |
database: Add db-remove-specification.
* src/cuirass/database.scm (db-remove-specification): New procedure.
-rw-r--r-- | src/cuirass/database.scm | 11 |
1 files changed, 11 insertions, 0 deletions
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 |