[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/07: Have insert-blocked-builds cache when the partitions exist
From: |
Christopher Baines |
Subject: |
02/07: Have insert-blocked-builds cache when the partitions exist |
Date: |
Sat, 12 Nov 2022 05:59:12 -0500 (EST) |
cbaines pushed a commit to branch master
in repository data-service.
commit 48d8ee885a6ca32a0984c429f085993e0669c8fb
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Fri Nov 11 11:29:08 2022 +0000
Have insert-blocked-builds cache when the partitions exist
To make it more efficient.
---
guix-data-service/model/blocked-builds.scm | 29 +++++++++++++++++------------
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git a/guix-data-service/model/blocked-builds.scm
b/guix-data-service/model/blocked-builds.scm
index e90aaca..635a63b 100644
--- a/guix-data-service/model/blocked-builds.scm
+++ b/guix-data-service/model/blocked-builds.scm
@@ -133,19 +133,26 @@ WHERE NOT EXISTS (
(list (number->string build-id)
build-server-id)))
+(define %created-partitions
+ '())
+
(define (insert-blocked-builds conn build-server-id data)
- (define (create-partition)
- (exec-query
- conn
- (string-append
- "
+ (unless (null? data)
+ (unless (member build-server-id %created-partitions)
+ (exec-query
+ conn
+ (string-append
+ "
CREATE TABLE IF NOT EXISTS blocked_builds_build_server_"
- (number->string build-server-id) "
+ build-server-id "
PARTITION OF blocked_builds FOR VALUES IN ("
- (number->string build-server-id)
- ")")))
+ build-server-id
+ ")"))
+
+ (set! %created-partitions
+ (cons build-server-id
+ %created-partitions)))
- (define (try-insert)
(exec-query
conn
(string-append
@@ -169,9 +176,7 @@ VALUES "
ON CONFLICT DO NOTHING")
'()))
- (unless (null? data)
- (create-partitions)
- (try-insert)))
+ #t)
(define (handle-populating-blocked-builds-for-scheduled-builds conn build-ids)
(define (get-build-details build-id)
- branch master updated (4101c6b -> 7731c6f), Christopher Baines, 2022/11/12
- 01/07: Rework insert-blocked-builds to make it more efficient, Christopher Baines, 2022/11/12
- 03/07: Add extended statistics on package_derivations, Christopher Baines, 2022/11/12
- 06/07: Use latest_build_status rather than build_status, Christopher Baines, 2022/11/12
- 07/07: Tweak backfilling the blocked builds, Christopher Baines, 2022/11/12
- 02/07: Have insert-blocked-builds cache when the partitions exist,
Christopher Baines <=
- 05/07: Spawn specific PostgreSQL connections for the blocked_builds updates, Christopher Baines, 2022/11/12
- 04/07: Add index on derivation_outputs id and derivation_id fields, Christopher Baines, 2022/11/12