Tweak using vectors in insert-derivation-outputs
This commit is contained in:
parent
b904fdb161
commit
7fe042498f
1 changed files with 37 additions and 36 deletions
|
|
@ -1048,46 +1048,47 @@ ON CONFLICT DO NOTHING"
|
||||||
(number->string derivation_output_details_set_id))))
|
(number->string derivation_output_details_set_id))))
|
||||||
|
|
||||||
(let* ((derivation-outputs
|
(let* ((derivation-outputs
|
||||||
(map cdr names-and-derivation-outputs))
|
(map cdr names-and-derivation-outputs))
|
||||||
(derivation-output-paths
|
(derivation-output-paths
|
||||||
(map derivation-output-path
|
(map derivation-output-path
|
||||||
derivation-outputs))
|
derivation-outputs))
|
||||||
(derivation-output-names
|
(derivation-output-details-ids
|
||||||
(map car names-and-derivation-outputs))
|
(derivation-output-details->derivation-output-details-ids
|
||||||
|
conn
|
||||||
|
(map
|
||||||
|
(match-lambda
|
||||||
|
(($ <derivation-output> path hash-algo hash recursive?)
|
||||||
|
`((path . ,path)
|
||||||
|
(hash_algorithm . ,(or (and=> hash-algo symbol->string)
|
||||||
|
NULL))
|
||||||
|
(hash . ,(or (and=> hash bytevector->base16-string)
|
||||||
|
NULL))
|
||||||
|
(recursive . ,recursive?))))
|
||||||
|
derivation-outputs))))
|
||||||
|
|
||||||
(derivation-output-details-ids
|
(insert-missing-data
|
||||||
(derivation-output-details->derivation-output-details-ids
|
conn
|
||||||
conn
|
"derivation_outputs"
|
||||||
(map
|
'(derivation_id name derivation_output_details_id)
|
||||||
(match-lambda
|
(let ((vec
|
||||||
(($ <derivation-output> path hash-algo hash recursive?)
|
(list->vector
|
||||||
`((path . ,path)
|
(map car names-and-derivation-outputs))))
|
||||||
(hash_algorithm . ,(or (and=> hash-algo symbol->string)
|
(vector-map!
|
||||||
NULL))
|
(lambda (_ output-name derivation-output-details-id)
|
||||||
(hash . ,(or (and=> hash bytevector->base16-string)
|
(list derivation-id
|
||||||
NULL))
|
output-name
|
||||||
(recursive . ,recursive?))))
|
derivation-output-details-id))
|
||||||
derivation-outputs))))
|
vec
|
||||||
|
derivation-output-details-ids)
|
||||||
(insert-missing-data
|
vec))
|
||||||
conn
|
|
||||||
"derivation_outputs"
|
|
||||||
'(derivation_id name derivation_output_details_id)
|
|
||||||
(list->vector
|
|
||||||
(map (lambda (output-name derivation-output-details-id)
|
|
||||||
(list derivation-id
|
|
||||||
output-name
|
|
||||||
derivation-output-details-id))
|
|
||||||
derivation-output-names
|
|
||||||
(vector->list derivation-output-details-ids))))
|
|
||||||
|
|
||||||
(insert-into-derivations-by-output-details-set
|
|
||||||
(derivation-output-details-ids->derivation-output-details-set-id
|
|
||||||
conn
|
|
||||||
derivation-output-details-ids))
|
|
||||||
|
|
||||||
|
(insert-into-derivations-by-output-details-set
|
||||||
|
(derivation-output-details-ids->derivation-output-details-set-id
|
||||||
|
conn
|
||||||
derivation-output-details-ids))
|
derivation-output-details-ids))
|
||||||
|
|
||||||
|
derivation-output-details-ids))
|
||||||
|
|
||||||
(define (select-derivation-by-file-name-hash conn file-name-hash)
|
(define (select-derivation-by-file-name-hash conn file-name-hash)
|
||||||
(define query
|
(define query
|
||||||
(string-append
|
(string-append
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue