aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/model
diff options
context:
space:
mode:
Diffstat (limited to 'guix-data-service/model')
-rw-r--r--guix-data-service/model/build.scm26
1 files changed, 25 insertions, 1 deletions
diff --git a/guix-data-service/model/build.scm b/guix-data-service/model/build.scm
index d6f911b..92d4969 100644
--- a/guix-data-service/model/build.scm
+++ b/guix-data-service/model/build.scm
@@ -23,6 +23,7 @@
#:use-module (json)
#:use-module (guix-data-service database)
#:use-module (guix-data-service model utils)
+ #:use-module (guix-data-service model derivation)
#:use-module (guix-data-service model system)
#:export (select-build-stats
select-builds-with-context
@@ -470,7 +471,10 @@ WHERE derivations.file_name = $1"
(_
#f)))
-(define (insert-builds conn build-server-id derivation-file-names
+(define (insert-builds conn
+ build-server-id
+ derivation-file-names
+ derivation-output-details-lists
build-server-build-ids)
(let ((build-ids
(insert-missing-data-and-return-all-ids
@@ -487,6 +491,26 @@ WHERE derivations.file_name = $1"
build-server-build-ids)
#:delete-duplicates? #t)))
+ (for-each
+ (lambda (build-id derivation-output-details)
+ (and=>
+ derivation-output-details
+ (lambda (details)
+ (let ((derivation-output-details-set-id
+ (derivation-output-details-ids->derivation-output-details-set-id
+ conn
+ (derivation-output-details->derivation-output-details-ids
+ conn
+ details))))
+ (exec-query
+ conn
+ "
+UPDATE builds SET derivation_output_details_set_id = $1 WHERE id = $2"
+ (list (number->string derivation-output-details-set-id)
+ (number->string build-id)))))))
+ build-ids
+ derivation-output-details-lists)
+
(exec-query
conn
(string-append