Add more time logging in to insert-missing-derivations

This commit is contained in:
Christopher Baines 2024-07-16 16:13:17 +01:00
parent 7da355b034
commit bbbcea8ff6

View file

@ -1623,70 +1623,70 @@ LIMIT $1"
" RETURNING id"
";"))
(simple-format
#t "debug: insert-missing-derivations: inserting ~A derivations\n"
(length derivations))
(let ((derivation-ids
(append-map
(lambda (chunk)
(map (lambda (result)
(string->number (car result)))
(exec-query conn (insert-into-derivations chunk))))
(chunk derivations 500))))
(with-time-logging
(simple-format
#f "insert-missing-derivations: inserting ~A derivations"
(length derivations))
(let ((derivation-ids
(append-map
(lambda (chunk)
(map (lambda (result)
(string->number (car result)))
(exec-query conn (insert-into-derivations chunk))))
(chunk derivations 500))))
(simple-format
#t "debug: insert-missing-derivations: updating hash table\n")
(for-each (lambda (derivation derivation-id)
(hash-set! derivation-ids-hash-table
(derivation-file-name derivation)
derivation-id))
derivations
derivation-ids)
(with-time-logging
"insert-missing-derivations: updating hash table"
(for-each (lambda (derivation derivation-id)
(hash-set! derivation-ids-hash-table
(derivation-file-name derivation)
derivation-id))
derivations
derivation-ids))
(simple-format
#t "debug: insert-missing-derivations: inserting outputs\n")
(for-each (lambda (derivation-id derivation)
(insert-derivation-outputs conn
derivation-id
(derivation-outputs derivation)))
derivation-ids
derivations)
(with-time-logging
"insert-missing-derivations: inserting outputs"
(for-each (lambda (derivation-id derivation)
(insert-derivation-outputs conn
derivation-id
(derivation-outputs derivation)))
derivation-ids
derivations))
(simple-format
#t "debug: insert-missing-derivations: inserting sources\n")
(for-each (lambda (derivation-id derivation)
(let ((sources (derivation-sources derivation)))
(unless (null? sources)
(let ((sources-ids
(insert-derivation-sources conn
derivation-id
sources)))
(map (lambda (id source-file)
(insert-derivation-source-file-nar conn
id
source-file))
sources-ids
sources)))))
derivation-ids
derivations)
(with-time-logging
"insert-missing-derivations: inserting sources"
(for-each (lambda (derivation-id derivation)
(let ((sources (derivation-sources derivation)))
(unless (null? sources)
(let ((sources-ids
(insert-derivation-sources conn
derivation-id
sources)))
(map (lambda (id source-file)
(insert-derivation-source-file-nar conn
id
source-file))
sources-ids
sources)))))
derivation-ids
derivations))
(simple-format
#t "debug: insert-missing-derivations: ensure-input-derivations-exist\n")
(with-time-logging
"insert-missing-derivations: ensure-input-derivations-exist"
(ensure-input-derivations-exist (deduplicate-strings
(map derivation-input-path
(append-map derivation-inputs
derivations)))))
(ensure-input-derivations-exist (deduplicate-strings
(map derivation-input-path
(append-map derivation-inputs
derivations))))
(with-time-logging
(simple-format
#f "insert-missing-derivations: inserting inputs for ~A derivations"
(length derivations))
(insert-derivation-inputs conn
derivation-ids
derivations))
(with-time-logging
(simple-format
#f "insert-missing-derivations: inserting inputs for ~A derivations"
(length derivations))
(insert-derivation-inputs conn
derivation-ids
derivations))
derivation-ids))
derivation-ids)))
(define (select-derivations-by-id conn ids)
(define query