From 38d55012335b47f8e7d85329d1878d9d73ae064d Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 27 Oct 2024 13:54:10 +0000 Subject: [PATCH] Add placeholder derivation source file nar procedures --- guix-data-service/model/derivation.scm | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/guix-data-service/model/derivation.scm b/guix-data-service/model/derivation.scm index 35b1a29..547c682 100644 --- a/guix-data-service/model/derivation.scm +++ b/guix-data-service/model/derivation.scm @@ -57,6 +57,8 @@ fix-derivation-output-details-hash-encoding insert-derivation-sources insert-derivation-source-file-nar + insert-placeholder-derivation-source-file-nar + update-derivation-source-file-nar insert-derivation-outputs insert-derivation-inputs derivation-output-details->derivation-output-details-ids @@ -1507,6 +1509,38 @@ INSERT INTO derivation_source_file_nars ( (number->string uncompressed-size) (string-append "\\x" (bytevector->base16-string bytevector))))) +(define (insert-placeholder-derivation-source-file-nar conn id) + (exec-query + conn + " +INSERT INTO derivation_source_file_nars ( + derivation_source_file_id, + compression, + hash_algorithm, + hash, + uncompressed_size, + data +) VALUES ($1, $2, $3, $4, $5, $6)" + (list (number->string id) + "lzip" + "sha256" + "placeholder" + "0" + ""))) + +(define (update-derivation-source-file-nar conn id + hash bytevector uncompressed-size) + (exec-query + conn + " +UPDATE derivation_source_file_nars +SET hash = $1, uncompressed_size = $2, data = $3 +WHERE derivation_source_file_id = $4" + (list hash + (number->string uncompressed-size) + (string-append "\\x" (bytevector->base16-string bytevector)) + (number->string id)))) + (define* (backfill-derivation-source-file-nars conn #:key (batch-size 10000) (loop? #t))