Have insert-blocked-builds cache when the partitions exist
To make it more efficient.
This commit is contained in:
parent
0f22e3ab40
commit
48d8ee885a
1 changed files with 20 additions and 15 deletions
|
|
@ -133,19 +133,26 @@ WHERE NOT EXISTS (
|
||||||
(list (number->string build-id)
|
(list (number->string build-id)
|
||||||
build-server-id)))
|
build-server-id)))
|
||||||
|
|
||||||
(define (insert-blocked-builds conn build-server-id data)
|
(define %created-partitions
|
||||||
(define (create-partition)
|
'())
|
||||||
(exec-query
|
|
||||||
conn
|
(define (insert-blocked-builds conn build-server-id data)
|
||||||
(string-append
|
(unless (null? data)
|
||||||
"
|
(unless (member build-server-id %created-partitions)
|
||||||
CREATE TABLE IF NOT EXISTS blocked_builds_build_server_"
|
(exec-query
|
||||||
(number->string build-server-id) "
|
conn
|
||||||
PARTITION OF blocked_builds FOR VALUES IN ("
|
(string-append
|
||||||
(number->string build-server-id)
|
"
|
||||||
")")))
|
CREATE TABLE IF NOT EXISTS blocked_builds_build_server_"
|
||||||
|
build-server-id "
|
||||||
|
PARTITION OF blocked_builds FOR VALUES IN ("
|
||||||
|
build-server-id
|
||||||
|
")"))
|
||||||
|
|
||||||
|
(set! %created-partitions
|
||||||
|
(cons build-server-id
|
||||||
|
%created-partitions)))
|
||||||
|
|
||||||
(define (try-insert)
|
|
||||||
(exec-query
|
(exec-query
|
||||||
conn
|
conn
|
||||||
(string-append
|
(string-append
|
||||||
|
|
@ -169,9 +176,7 @@ VALUES "
|
||||||
ON CONFLICT DO NOTHING")
|
ON CONFLICT DO NOTHING")
|
||||||
'()))
|
'()))
|
||||||
|
|
||||||
(unless (null? data)
|
#t)
|
||||||
(create-partitions)
|
|
||||||
(try-insert)))
|
|
||||||
|
|
||||||
(define (handle-populating-blocked-builds-for-scheduled-builds conn build-ids)
|
(define (handle-populating-blocked-builds-for-scheduled-builds conn build-ids)
|
||||||
(define (get-build-details build-id)
|
(define (get-build-details build-id)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue