Continue improving pages and linking things together
This commit is contained in:
parent
0380c84a67
commit
a1e481cc4d
4 changed files with 160 additions and 13 deletions
|
|
@ -2,6 +2,7 @@
|
|||
#:use-module (squee)
|
||||
#:export (select-build-stats
|
||||
select-builds-with-context
|
||||
select-builds-with-context-by-derivation-id
|
||||
select-build-by-build-server-and-id
|
||||
insert-build
|
||||
ensure-build-exists))
|
||||
|
|
@ -42,6 +43,25 @@
|
|||
|
||||
(exec-query conn query))
|
||||
|
||||
(define (select-builds-with-context-by-derivation-id conn derivation-id)
|
||||
(define query
|
||||
(string-append
|
||||
"SELECT builds.id, build_servers.url, "
|
||||
"latest_build_status.status_fetched_at, latest_build_status.starttime, "
|
||||
"latest_build_status.stoptime, latest_build_status.status "
|
||||
"FROM builds "
|
||||
"INNER JOIN build_servers ON build_servers.id = builds.build_server_id "
|
||||
"INNER JOIN "
|
||||
"(SELECT DISTINCT ON (internal_build_id) * "
|
||||
"FROM build_status "
|
||||
"ORDER BY internal_build_id, status_fetched_at DESC"
|
||||
") AS latest_build_status "
|
||||
"ON latest_build_status.internal_build_id = builds.internal_id "
|
||||
"WHERE builds.derivation_id = $1 "
|
||||
"ORDER BY latest_build_status.status_fetched_at DESC "))
|
||||
|
||||
(exec-query conn query (list derivation-id)))
|
||||
|
||||
(define (select-build-by-build-server-and-id
|
||||
conn build-server-id id)
|
||||
(exec-query conn
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
#:use-module (guix-data-service model utils)
|
||||
#:export (select-derivation-by-file-name
|
||||
select-derivation-outputs-by-derivation-id
|
||||
select-derivation-by-output-filename
|
||||
select-derivations-using-output
|
||||
select-derivation-inputs-by-derivation-id
|
||||
select-existing-derivations
|
||||
select-derivations-by-id
|
||||
|
|
@ -34,6 +36,32 @@
|
|||
",")
|
||||
")"))
|
||||
|
||||
(define (select-derivation-by-output-filename conn filename)
|
||||
(define query
|
||||
(string-append
|
||||
"SELECT derivations.file_name, derivation_outputs.id "
|
||||
"FROM derivation_output_details "
|
||||
"INNER JOIN derivation_outputs"
|
||||
" ON derivation_output_details.id = derivation_outputs.derivation_output_details_id "
|
||||
"INNER JOIN derivations"
|
||||
" ON derivation_outputs.derivation_id = derivations.id "
|
||||
"WHERE derivation_output_details.path = $1"))
|
||||
|
||||
(exec-query conn query (list filename)))
|
||||
|
||||
(define (select-derivations-using-output conn output-id)
|
||||
(define query
|
||||
(string-append
|
||||
"SELECT derivations.file_name "
|
||||
"FROM derivations "
|
||||
"INNER JOIN derivation_inputs"
|
||||
" ON derivation_inputs.derivation_id = derivations.id "
|
||||
"WHERE derivation_output_id = $1 "
|
||||
"ORDER BY derivations.file_name "
|
||||
"LIMIT 100 "))
|
||||
|
||||
(exec-query conn query (list output-id)))
|
||||
|
||||
(define (insert-derivation-outputs conn
|
||||
derivation-id
|
||||
names-and-derivation-outputs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue