diff options
author | Christopher Baines <mail@cbaines.net> | 2022-11-29 10:36:46 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-11-29 10:36:46 +0000 |
commit | 9f05f5f4f944c75caf017f3464cef454539ab6b9 (patch) | |
tree | 1e7a1b3238f2a002ac2de02d2ccace77621179ed /guix-data-service | |
parent | 6ada1cb8456950460d483e04f90f64f787cfd53b (diff) | |
download | data-service-9f05f5f4f944c75caf017f3464cef454539ab6b9.tar data-service-9f05f5f4f944c75caf017f3464cef454539ab6b9.tar.gz |
Only sometimes attempt manually computing n_distinct values
For derivation_inputs.
Diffstat (limited to 'guix-data-service')
-rw-r--r-- | guix-data-service/jobs/load-new-guix-revision.scm | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index c1c27af..57d6e77 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -2142,9 +2142,18 @@ SKIP LOCKED") "vacuuming package derivations by guix revision range table" (vacuum-package-derivations-table conn)) - (with-time-logging - "update-derivation-inputs-statistics" - (update-derivation-inputs-statistics conn)) + (match (exec-query + conn + "SELECT reltuples::integer FROM pg_class WHERE relname = 'derivation_inputs'") + (((rows)) + ;; Don't attempt counting distinct values if there are too + ;; many rows, as that is far to slow and could use up all the + ;; disk space. + (when (< (string->number rows) + 1000000000) + (with-time-logging + "update-derivation-inputs-statistics" + (update-derivation-inputs-statistics conn))))) (with-time-logging "vacuum-derivation-inputs-table" |