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))))
|
||||
|
||||
(let* ((derivation-outputs
|
||||
(map cdr names-and-derivation-outputs))
|
||||
(derivation-output-paths
|
||||
(map derivation-output-path
|
||||
derivation-outputs))
|
||||
(derivation-output-names
|
||||
(map car names-and-derivation-outputs))
|
||||
(map cdr names-and-derivation-outputs))
|
||||
(derivation-output-paths
|
||||
(map derivation-output-path
|
||||
derivation-outputs))
|
||||
(derivation-output-details-ids
|
||||
(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
|
||||
(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))))
|
||||
|
||||
(insert-missing-data
|
||||
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-missing-data
|
||||
conn
|
||||
"derivation_outputs"
|
||||
'(derivation_id name derivation_output_details_id)
|
||||
(let ((vec
|
||||
(list->vector
|
||||
(map car names-and-derivation-outputs))))
|
||||
(vector-map!
|
||||
(lambda (_ output-name derivation-output-details-id)
|
||||
(list derivation-id
|
||||
output-name
|
||||
derivation-output-details-id))
|
||||
vec
|
||||
derivation-output-details-ids)
|
||||
vec))
|
||||
|
||||
(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))
|
||||
|
||||
(define (select-derivation-by-file-name-hash conn file-name-hash)
|
||||
(define query
|
||||
(string-append
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue