diff options
author | Christopher Baines <mail@cbaines.net> | 2019-09-01 18:26:46 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-09-01 18:32:09 +0100 |
commit | d3254dddb68980c26edc35539346dcf455e01fba (patch) | |
tree | 73a00daab700f7fa0599009d86935dcc04e9f6ff /guix-data-service/model | |
parent | 514933db473b60db8fdd9eb5e5d3f94ce94ac715 (diff) | |
download | data-service-d3254dddb68980c26edc35539346dcf455e01fba.tar data-service-d3254dddb68980c26edc35539346dcf455e01fba.tar.gz |
Add lint warnings to the package page
Diffstat (limited to 'guix-data-service/model')
-rw-r--r-- | guix-data-service/model/lint-warning.scm | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/guix-data-service/model/lint-warning.scm b/guix-data-service/model/lint-warning.scm index 25678a8..7cd3ae4 100644 --- a/guix-data-service/model/lint-warning.scm +++ b/guix-data-service/model/lint-warning.scm @@ -3,7 +3,8 @@ #:use-module (guix-data-service model utils) #:export (lint-warnings-data->lint-warning-ids insert-guix-revision-lint-warnings - lint-warnings-for-guix-revision)) + lint-warnings-for-guix-revision + select-lint-warnings-by-revision-package-name-and-version)) (define (lint-warnings-data->lint-warning-ids conn @@ -94,3 +95,40 @@ INNER JOIN lint_warning_messages ,@(if message-query (list message-query) '())))) + +(define (select-lint-warnings-by-revision-package-name-and-version conn + commit-hash + name version) + (define query " +SELECT lint_warnings.id, lint_checkers.name, lint_checkers.description, + lint_checkers.network_dependent, + locations.file, locations.line, locations.column_number, + lint_warning_messages.message +FROM lint_warnings +INNER JOIN lint_checkers + ON lint_checkers.id = lint_warnings.lint_checker_id +INNER JOIN packages + ON lint_warnings.package_id = packages.id +LEFT OUTER JOIN locations + ON lint_warnings.location_id = locations.id +INNER JOIN lint_warning_message_sets + ON lint_warning_message_sets.id = lint_warning_message_set_id +INNER JOIN lint_warning_messages + ON lint_warning_messages.locale = 'en_US.utf8' + AND lint_warning_messages.id = ANY (lint_warning_message_sets.message_ids) +WHERE packages.id IN ( + SELECT package_derivations.package_id + FROM package_derivations + INNER JOIN guix_revision_package_derivations + ON package_derivations.id = + guix_revision_package_derivations.package_derivation_id + INNER JOIN guix_revisions + ON guix_revision_package_derivations.revision_id = guix_revisions.id + WHERE guix_revisions.commit = $1 +) + AND packages.name = $2 + AND packages.version = $3") + + (exec-query conn + query + (list commit-hash name version))) |