mirror of
git://git.savannah.gnu.org/guix/data-service.git
synced 2023-12-14 03:23:03 +01:00
Update most-recent-commits-for-branch to handle data availability
This commit is contained in:
parent
570c667222
commit
9a9d156366
|
@ -73,19 +73,30 @@ WHERE git_branches.commit = $1")
|
|||
before-date)
|
||||
(define query
|
||||
(string-append
|
||||
"SELECT git_branches.commit, datetime, "
|
||||
"(guix_revisions.id IS NOT NULL) as guix_revision_exists, "
|
||||
"(
|
||||
SELECT json_agg(event)
|
||||
FROM load_new_guix_revision_job_events
|
||||
INNER JOIN load_new_guix_revision_jobs ON
|
||||
load_new_guix_revision_jobs.id = load_new_guix_revision_job_events.job_id
|
||||
WHERE load_new_guix_revision_jobs.commit = git_branches.commit AND
|
||||
git_branches.git_repository_id = load_new_guix_revision_jobs.git_repository_id
|
||||
) AS job_events "
|
||||
"FROM git_branches "
|
||||
"LEFT OUTER JOIN guix_revisions ON git_branches.commit = guix_revisions.commit "
|
||||
"WHERE name = $1 AND git_branches.git_repository_id = $2"
|
||||
"
|
||||
SELECT git_branches.commit,
|
||||
datetime,
|
||||
(
|
||||
load_new_guix_revision_job_events.event IS NOT NULL
|
||||
) as data_available,
|
||||
(
|
||||
SELECT json_agg(event)
|
||||
FROM load_new_guix_revision_job_events
|
||||
INNER JOIN load_new_guix_revision_jobs ON
|
||||
load_new_guix_revision_jobs.id = load_new_guix_revision_job_events.job_id
|
||||
WHERE load_new_guix_revision_jobs.commit = git_branches.commit AND
|
||||
git_branches.git_repository_id = load_new_guix_revision_jobs.git_repository_id
|
||||
) AS job_events
|
||||
FROM git_branches
|
||||
LEFT OUTER JOIN guix_revisions
|
||||
ON git_branches.commit = guix_revisions.commit
|
||||
LEFT JOIN load_new_guix_revision_jobs
|
||||
ON load_new_guix_revision_jobs.commit = guix_revisions.commit
|
||||
LEFT JOIN load_new_guix_revision_job_events
|
||||
ON job_id = load_new_guix_revision_jobs.id
|
||||
AND load_new_guix_revision_job_events.event = 'success'
|
||||
WHERE name = $1
|
||||
AND git_branches.git_repository_id = $2"
|
||||
(if after-date
|
||||
(simple-format #f " AND datetime > '~A'"
|
||||
(date->string after-date "~1 ~3"))
|
||||
|
@ -94,17 +105,20 @@ WHERE git_branches.commit = $1")
|
|||
(simple-format #f " AND datetime < '~A'"
|
||||
(date->string before-date "~1 ~3"))
|
||||
"")
|
||||
"ORDER BY datetime DESC"
|
||||
"
|
||||
ORDER BY datetime DESC"
|
||||
(if limit
|
||||
(simple-format #f " LIMIT ~A;" limit)
|
||||
(string-append
|
||||
"
|
||||
LIMIT " (number->string limit))
|
||||
"")))
|
||||
|
||||
(map
|
||||
(match-lambda
|
||||
((commit datetime guix_revision_exists job_events)
|
||||
((commit datetime data_available job_events)
|
||||
(list commit
|
||||
datetime
|
||||
(string=? guix_revision_exists "t")
|
||||
(string=? data_available "t")
|
||||
(if (or (and (string? job_events) (string-null? job_events))
|
||||
(eq? #f job_events))
|
||||
'()
|
||||
|
|
|
@ -139,10 +139,10 @@
|
|||
`((revisions
|
||||
. ,(list->vector
|
||||
(map (match-lambda
|
||||
((commit-hash date revision-exists? _)
|
||||
((commit-hash date data-available? _)
|
||||
`((date . ,date)
|
||||
(commit-hash . ,commit-hash)
|
||||
(data_available . ,revision-exists?))))
|
||||
(data_available . ,data-available?))))
|
||||
revisions))))))
|
||||
(else
|
||||
(render-html
|
||||
|
|
Loading…
Reference in a new issue