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))

Reply via email to