Skip to content
Snippets Groups Projects
Commit a0dfb1a1 authored by Cam Saul's avatar Cam Saul
Browse files

fix issues where sync DB would sometimes see null table names when

running in parallel
parent f1d3f3d1
No related branches found
No related tags found
No related merge requests found
......@@ -38,16 +38,17 @@
(This is executed in parallel.)"
[{:keys [id table-names] :as database}]
(binding [*log-db-calls* false]
(dorun (pmap (fn [table-name]
(let [table (or (sel :one Table :db_id id :name table-name)
(ins Table
:db_id id
:name table-name
:active true))]
(update-table-row-count database table)
(sync-fields table)
(println table-name)))
@table-names))))
(->> (doall @table-names) ; load the whole lazy seq of `table-names` before pmap generates futures
(pmap (fn [table-name]
(let [table (or (sel :one Table :db_id id :name table-name)
(ins Table
:db_id id
:name table-name
:active true))]
(update-table-row-count database table)
(sync-fields table)
(println table-name))))
dorun)))
(defn sync-fields
"Sync `Fields` for TABLE."
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment