aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-11-29 10:36:46 +0000
committerChristopher Baines <mail@cbaines.net>2022-11-29 10:36:46 +0000
commit9f05f5f4f944c75caf017f3464cef454539ab6b9 (patch)
tree1e7a1b3238f2a002ac2de02d2ccace77621179ed
parent6ada1cb8456950460d483e04f90f64f787cfd53b (diff)
downloaddata-service-9f05f5f4f944c75caf017f3464cef454539ab6b9.tar
data-service-9f05f5f4f944c75caf017f3464cef454539ab6b9.tar.gz
Only sometimes attempt manually computing n_distinct values
For derivation_inputs.
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm15
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"