Guard against divide by 0 in update-derivation-outputs-statistics

This commit is contained in:
Christopher Baines 2022-11-28 13:17:20 +00:00
parent 1a0c5599eb
commit 6ada1cb845

View file

@ -1965,16 +1965,17 @@ SELECT COUNT(DISTINCT derivation_id), COUNT(*) FROM derivation_outputs"))
(match (exec-query conn query) (match (exec-query conn query)
(((derivation_id_count all_count)) (((derivation_id_count all_count))
(exec-query (unless (< (string->number all_count) 1)
conn (exec-query
(format conn
#f (format
" #f
"
ALTER TABLE derivation_outputs ALTER TABLE derivation_outputs
ALTER COLUMN derivation_id ALTER COLUMN derivation_id
SET (n_distinct = ~7f)" SET (n_distinct = ~7f)"
(* -1 (/ (string->number derivation_id_count) (* -1 (/ (string->number derivation_id_count)
(string->number all_count))))))))) (string->number all_count))))))))))
(define (vacuum-derivation-outputs-table conn) (define (vacuum-derivation-outputs-table conn)
(exec-query (exec-query