aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/jobs
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-12-26 23:03:12 +0000
committerChristopher Baines <mail@cbaines.net>2019-12-26 23:03:12 +0000
commit5163398e5454601208214c52207d93b49117b0ed (patch)
tree7019bcd909207395d5e30389614c9bd18d528ef9 /guix-data-service/jobs
parentb877b64eb87417d4b4195fd78561aac9cb795192 (diff)
downloaddata-service-5163398e5454601208214c52207d93b49117b0ed.tar
data-service-5163398e5454601208214c52207d93b49117b0ed.tar.gz
Add pagination to the jobs page
Diffstat (limited to 'guix-data-service/jobs')
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm19
1 files changed, 16 insertions, 3 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index 8410f7e..235ded0 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -1050,9 +1050,10 @@ RETURNING id;")
(list commit))))
result))
-(define (select-jobs-and-events conn)
+(define (select-jobs-and-events conn before-id limit)
(define query
- "
+ (string-append
+ "
SELECT
load_new_guix_revision_jobs.id,
load_new_guix_revision_jobs.commit,
@@ -1071,7 +1072,19 @@ SELECT
SELECT 1 FROM load_new_guix_revision_job_logs WHERE job_id = load_new_guix_revision_jobs.id
) AS log_exists
FROM load_new_guix_revision_jobs
-ORDER BY load_new_guix_revision_jobs.id DESC")
+"
+ (if before-id
+ (string-append
+ "WHERE load_new_guix_revision_jobs.id < "
+ (number->string before-id))
+ "")
+ "
+ORDER BY load_new_guix_revision_jobs.id DESC
+"
+ (if limit
+ (string-append
+ "LIMIT " (number->string limit))
+ "")))
(map
(match-lambda