aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/jobs
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-12-26 08:53:51 +0000
committerChristopher Baines <mail@cbaines.net>2019-12-26 08:53:51 +0000
commitdd94f59acfa4512247f47ae9a1a01077cabaeb6d (patch)
tree69d6f76ddfbc4c3f0bc949fbfb7ad6832860fb8b /guix-data-service/jobs
parent4eb5a3417c13f74745ec7ca3d92a95096c176da1 (diff)
downloaddata-service-dd94f59acfa4512247f47ae9a1a01077cabaeb6d.tar
data-service-dd94f59acfa4512247f47ae9a1a01077cabaeb6d.tar.gz
Fix the representation of the fixed output derivation hashes
Previously, they were nix-base32-string encoded, but the representation in the derivations is base16, so it doesn't make sense to use a different representation in the database. Therefore, add some code that runs before the start of each job to convert the data in the database. It was easier to do this in Guile with the existing support for working with these bytevector representations. After some migration period, the code for converting the old hashes can be removed.
Diffstat (limited to 'guix-data-service/jobs')
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index 1c58f21..753bfbd 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -1236,6 +1236,11 @@ SKIP LOCKED")
(with-postgresql-connection
(simple-format #f "load-new-guix-revision ~A" id)
(lambda (conn)
+ ;; Fix the hash encoding of derivation_output_details. This'll only run
+ ;; once on any given database, but is kept here just to make sure any
+ ;; instances have the data updated.
+ (fix-derivation-output-details-hash-encoding conn)
+
(exec-query conn "BEGIN")
(match (select-job-for-update conn id)