Speed up deleting blocked_builds entries
This commit is contained in:
parent
1bce38a69d
commit
2d96fbff48
|
@ -388,14 +388,28 @@ DELETE FROM builds WHERE id IN ("
|
|||
(define (delete-blocked-builds-for-derivation-output-details-set
|
||||
conn
|
||||
derivation-output-details-set-id)
|
||||
(exec-query
|
||||
conn
|
||||
"
|
||||
;; Do this for each build server individually, as that helps PostgreSQL
|
||||
;; efficiently check the partitions
|
||||
(let ((build-server-ids
|
||||
(map
|
||||
car
|
||||
(exec-query
|
||||
conn
|
||||
"SELECT id FROM build_servers"))))
|
||||
(for-each
|
||||
(lambda (build-server-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)))
|
||||
WHERE build_server_id = $1
|
||||
AND (
|
||||
blocked_derivation_output_details_set_id = $2 OR blocking_derivation_output_details_set_id = $3
|
||||
)"
|
||||
(list build-server-id
|
||||
derivation-output-details-set-id
|
||||
derivation-output-details-set-id)))
|
||||
build-server-ids)))
|
||||
|
||||
(define (delete-unreferenced-derivations-source-files conn)
|
||||
(exec-query
|
||||
|
|
Loading…
Reference in New Issue