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
2 changed files with 33 additions and 19 deletions
|
@ -73,19 +73,30 @@ WHERE git_branches.commit = $1")
|
||||||
before-date)
|
before-date)
|
||||||
(define query
|
(define query
|
||||||
(string-append
|
(string-append
|
||||||
"SELECT git_branches.commit, datetime, "
|
"
|
||||||
"(guix_revisions.id IS NOT NULL) as guix_revision_exists, "
|
SELECT git_branches.commit,
|
||||||
"(
|
datetime,
|
||||||
SELECT json_agg(event)
|
(
|
||||||
FROM load_new_guix_revision_job_events
|
load_new_guix_revision_job_events.event IS NOT NULL
|
||||||
INNER JOIN load_new_guix_revision_jobs ON
|
) as data_available,
|
||||||
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
|
SELECT json_agg(event)
|
||||||
git_branches.git_repository_id = load_new_guix_revision_jobs.git_repository_id
|
FROM load_new_guix_revision_job_events
|
||||||
) AS job_events "
|
INNER JOIN load_new_guix_revision_jobs ON
|
||||||
"FROM git_branches "
|
load_new_guix_revision_jobs.id = load_new_guix_revision_job_events.job_id
|
||||||
"LEFT OUTER JOIN guix_revisions ON git_branches.commit = guix_revisions.commit "
|
WHERE load_new_guix_revision_jobs.commit = git_branches.commit AND
|
||||||
"WHERE name = $1 AND git_branches.git_repository_id = $2"
|
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
|
(if after-date
|
||||||
(simple-format #f " AND datetime > '~A'"
|
(simple-format #f " AND datetime > '~A'"
|
||||||
(date->string after-date "~1 ~3"))
|
(date->string after-date "~1 ~3"))
|
||||||
|
@ -94,17 +105,20 @@ WHERE git_branches.commit = $1")
|
||||||
(simple-format #f " AND datetime < '~A'"
|
(simple-format #f " AND datetime < '~A'"
|
||||||
(date->string before-date "~1 ~3"))
|
(date->string before-date "~1 ~3"))
|
||||||
"")
|
"")
|
||||||
"ORDER BY datetime DESC"
|
"
|
||||||
|
ORDER BY datetime DESC"
|
||||||
(if limit
|
(if limit
|
||||||
(simple-format #f " LIMIT ~A;" limit)
|
(string-append
|
||||||
|
"
|
||||||
|
LIMIT " (number->string limit))
|
||||||
"")))
|
"")))
|
||||||
|
|
||||||
(map
|
(map
|
||||||
(match-lambda
|
(match-lambda
|
||||||
((commit datetime guix_revision_exists job_events)
|
((commit datetime data_available job_events)
|
||||||
(list commit
|
(list commit
|
||||||
datetime
|
datetime
|
||||||
(string=? guix_revision_exists "t")
|
(string=? data_available "t")
|
||||||
(if (or (and (string? job_events) (string-null? job_events))
|
(if (or (and (string? job_events) (string-null? job_events))
|
||||||
(eq? #f job_events))
|
(eq? #f job_events))
|
||||||
'()
|
'()
|
||||||
|
|
|
@ -139,10 +139,10 @@
|
||||||
`((revisions
|
`((revisions
|
||||||
. ,(list->vector
|
. ,(list->vector
|
||||||
(map (match-lambda
|
(map (match-lambda
|
||||||
((commit-hash date revision-exists? _)
|
((commit-hash date data-available? _)
|
||||||
`((date . ,date)
|
`((date . ,date)
|
||||||
(commit-hash . ,commit-hash)
|
(commit-hash . ,commit-hash)
|
||||||
(data_available . ,revision-exists?))))
|
(data_available . ,data-available?))))
|
||||||
revisions))))))
|
revisions))))))
|
||||||
(else
|
(else
|
||||||
(render-html
|
(render-html
|
||||||
|
|
Loading…
Reference in a new issue