diff options
Diffstat (limited to 'guix-data-service/model')
-rw-r--r-- | guix-data-service/model/lint-warning.scm | 30 | ||||
-rw-r--r-- | guix-data-service/model/utils.scm | 22 |
2 files changed, 29 insertions, 23 deletions
diff --git a/guix-data-service/model/lint-warning.scm b/guix-data-service/model/lint-warning.scm index f22681b..6c83773 100644 --- a/guix-data-service/model/lint-warning.scm +++ b/guix-data-service/model/lint-warning.scm @@ -36,20 +36,22 @@ (define (insert-guix-revision-lint-warnings conn guix-revision-id lint-warning-ids) - (exec-query - conn - (string-append - "INSERT INTO guix_revision_lint_warnings (lint_warning_id, guix_revision_id) " - "VALUES " - (string-join - (map (lambda (lint-warning-id) - (simple-format - #f - "(~A, ~A)" - lint-warning-id - guix-revision-id)) - lint-warning-ids) - ", ")))) + (if (null? lint-warning-ids) + '() + (exec-query + conn + (string-append + "INSERT INTO guix_revision_lint_warnings (lint_warning_id, guix_revision_id) " + "VALUES " + (string-join + (map (lambda (lint-warning-id) + (simple-format + #f + "(~A, ~A)" + lint-warning-id + guix-revision-id)) + lint-warning-ids) + ", "))))) (define* (lint-warnings-for-guix-revision conn commit-hash #:key diff --git a/guix-data-service/model/utils.scm b/guix-data-service/model/utils.scm index 5676c23..79aa7da 100644 --- a/guix-data-service/model/utils.scm +++ b/guix-data-service/model/utils.scm @@ -317,10 +317,12 @@ WHERE table_name = $1" "ANALYZE " temp-table-name)) ;; Populate the temporary table - (with-time-logging (string-append "populating " temp-table-name) - (exec-query conn - (insert-sql data - #:table-name temp-table-name))) + (if (null? data) + '() + (with-time-logging (string-append "populating " temp-table-name) + (exec-query conn + (insert-sql data + #:table-name temp-table-name)))) ;; Use the temporary table to find the existing values (let ((result (with-time-logging @@ -336,11 +338,13 @@ WHERE table_name = $1" result)) ;; If not using a temporary table, just do a single SELECT query - (exec-query->vhash conn - select-query - cdr - (lambda (result) - (string->number (first result)))))) + (if (null? data) + '() + (exec-query->vhash conn + select-query + cdr + (lambda (result) + (string->number (first result))))))) (missing-entries (filter (lambda (field-values) (not (vhash-assoc |