From bd52629674f7e50b20f5882185a8fe61c30f9191 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 16 Jan 2020 20:37:02 +0000 Subject: Fix insert-build when derivation_output_details_set_id is NULL I can't figure out how to insert NULL through a param, so just construct a query to insert the values directly. --- guix-data-service/model/build.scm | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/guix-data-service/model/build.scm b/guix-data-service/model/build.scm index 09ebb31..2c2d5df 100644 --- a/guix-data-service/model/build.scm +++ b/guix-data-service/model/build.scm @@ -382,19 +382,24 @@ UPDATE builds SET derivation_output_details_set_id = ( (define (insert-build conn build-server-id derivation-file-name) (match (exec-query conn - " + (string-append + " INSERT INTO builds (build_server_id, derivation_file_name, derivation_output_details_set_id) -VALUES ($1, $2, $3) -RETURNING (id)" - (list (number->string build-server-id) - derivation-file-name - (or - (and=> (select-derivations-by-output-details-set-id-by-derivation-file-name - conn - derivation-file-name) - number->string) - "NULL"))) +VALUES (" + (number->string build-server-id) + ", " + (quote-string derivation-file-name) + ", " + (or + (and=> + (select-derivations-by-output-details-set-id-by-derivation-file-name + conn + derivation-file-name) + number->string) + "NULL") + ") +RETURNING (id)")) (((id)) (string->number id)))) -- cgit v1.2.3