aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-02-14 20:10:44 +0000
committerChristopher Baines <mail@cbaines.net>2023-02-14 20:10:44 +0000
commitebbcf36dc48ce9eedb906e574990ec16f9bae704 (patch)
tree2f761ca497b03c1356f018c48790daa70ad7332f
parent5874c4ee37daefc79a0915062b4ed5ba650dc8a7 (diff)
downloaddata-service-ebbcf36dc48ce9eedb906e574990ec16f9bae704.tar
data-service-ebbcf36dc48ce9eedb906e574990ec16f9bae704.tar.gz
Delete blocked_builds entries when deleting derivations
-rw-r--r--guix-data-service/data-deletion.scm16
1 files changed, 16 insertions, 0 deletions
diff --git a/guix-data-service/data-deletion.scm b/guix-data-service/data-deletion.scm
index d16b916..a1fd5f2 100644
--- a/guix-data-service/data-deletion.scm
+++ b/guix-data-service/data-deletion.scm
@@ -385,6 +385,18 @@ DELETE FROM builds WHERE id IN ("
(string-join build-ids ",")
")")))))
+ (define (delete-blocked-builds-for-derivation-output-details-set
+ conn
+ derivation-output-details-set-id)
+ (exec-query
+ conn
+ "
+DELETE FROM blocked_builds
+WHERE blocked_derivation_output_details_set_id = $1
+ OR blocking_derivation_output_details_set_id = $2"
+ (list derivation-output-details-set-id
+ derivation-output-details-set-id)))
+
(define (delete-unreferenced-derivations-source-files conn)
(exec-query
conn
@@ -475,6 +487,10 @@ WHERE derivation_id = $1"
conn
derivation-output-details-set-id)
+ (delete-blocked-builds-for-derivation-output-details-set
+ conn
+ derivation-output-details-set-id)
+
(exec-query
conn
"