cbaines pushed a commit to branch master
in repository data-service.
commit 38d55012335b47f8e7d85329d1878d9d73ae064d
Author: Christopher Baines <[email protected]>
AuthorDate: Sun Oct 27 13:54:10 2024 +0000
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))