Split out inserting derivation output details sets
So that this can be used when inserting builds.
This commit is contained in:
parent
811256a920
commit
db37d9f6a8
1 changed files with 40 additions and 34 deletions
|
|
@ -54,6 +54,7 @@
|
|||
select-derivation-outputs-in-revision
|
||||
fix-derivation-output-details-hash-encoding
|
||||
derivation-output-details->derivation-output-details-ids
|
||||
derivation-output-details-ids->derivation-output-details-set-id
|
||||
select-derivations-by-revision-name-and-version
|
||||
select-derivation-inputs-by-derivation-id
|
||||
select-serialized-derivation-by-file-name
|
||||
|
|
@ -985,6 +986,42 @@ LOCK TABLE ONLY derivation_output_details
|
|||
(assq-ref details 'recursive)))
|
||||
derivation-output-details)))
|
||||
|
||||
(define (derivation-output-details-ids->derivation-output-details-set-id
|
||||
conn
|
||||
derivation-output-details-ids)
|
||||
(define (select-derivation-output-details-sets-id)
|
||||
(match (exec-query
|
||||
conn
|
||||
(string-append
|
||||
"
|
||||
SELECT id
|
||||
FROM derivation_output_details_sets
|
||||
WHERE derivation_output_details_ids = ARRAY["
|
||||
(string-join (map number->string
|
||||
derivation-output-details-ids)
|
||||
",")
|
||||
"]"))
|
||||
(((id))
|
||||
(string->number id))
|
||||
(_ #f)))
|
||||
|
||||
(define (insert-into-derivation-output-details-sets)
|
||||
(match (exec-query
|
||||
conn
|
||||
(string-append
|
||||
"
|
||||
INSERT INTO derivation_output_details_sets (derivation_output_details_ids)
|
||||
VALUES (ARRAY["
|
||||
(string-join (map number->string derivation-output-details-ids)
|
||||
",")
|
||||
"])
|
||||
RETURNING id"))
|
||||
(((id))
|
||||
(string->number id))))
|
||||
|
||||
(or (select-derivation-output-details-sets-id)
|
||||
(insert-into-derivation-output-details-sets)))
|
||||
|
||||
(define (insert-derivation-outputs conn
|
||||
derivation-id
|
||||
names-and-derivation-outputs)
|
||||
|
|
@ -1004,37 +1041,6 @@ LOCK TABLE ONLY derivation_output_details
|
|||
",")
|
||||
";"))
|
||||
|
||||
(define (select-derivation-output-details-sets-id derivation-output-details-ids)
|
||||
(match (exec-query
|
||||
conn
|
||||
(string-append
|
||||
"
|
||||
SELECT id
|
||||
FROM derivation_output_details_sets
|
||||
WHERE derivation_output_details_ids = ARRAY["
|
||||
(string-join (map number->string
|
||||
derivation-output-details-ids)
|
||||
",")
|
||||
"]"))
|
||||
(((id))
|
||||
(string->number id))
|
||||
(_ #f)))
|
||||
|
||||
(define (insert-into-derivation-output-details-sets
|
||||
derivation-output-details-ids)
|
||||
(match (exec-query
|
||||
conn
|
||||
(string-append
|
||||
"
|
||||
INSERT INTO derivation_output_details_sets (derivation_output_details_ids)
|
||||
VALUES (ARRAY["
|
||||
(string-join (map number->string derivation-output-details-ids)
|
||||
",")
|
||||
"])
|
||||
RETURNING id"))
|
||||
(((id))
|
||||
(string->number id))))
|
||||
|
||||
(define (insert-into-derivations-by-output-details-set
|
||||
derivation_output_details_set_id)
|
||||
(exec-query
|
||||
|
|
@ -1072,9 +1078,9 @@ VALUES ($1, $2)"
|
|||
derivation-output-details-ids))
|
||||
|
||||
(insert-into-derivations-by-output-details-set
|
||||
(or
|
||||
(select-derivation-output-details-sets-id derivation-output-details-ids)
|
||||
(insert-into-derivation-output-details-sets derivation-output-details-ids)))
|
||||
(derivation-output-details-ids->derivation-output-details-set-id
|
||||
conn
|
||||
derivation-output-details-ids))
|
||||
|
||||
derivation-output-details-ids))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue