mirror of
https://github.com/logseq/logseq.git
synced 2026-05-29 15:09:41 +00:00
fix(perf): don't call d/datoms to get all eavt
It's too slow (+8s) for a 500m sqlite file to just insert a new block
This commit is contained in:
5
deps/db/src/logseq/db/frontend/validate.cljs
vendored
5
deps/db/src/logseq/db/frontend/validate.cljs
vendored
@@ -52,8 +52,9 @@
|
||||
[{:keys [db-after tx-data tx-meta] :as tx-report} {:keys [closed-schema?]}]
|
||||
(binding [db-malli-schema/*skip-strict-url-validate?* true]
|
||||
(let [changed-ids (->> tx-data (keep :e) distinct)
|
||||
datoms (d/datoms db-after :eavt)
|
||||
tx-datoms (mapcat (fn [id] (filter (fn [d] (= (:e d) id)) datoms)) changed-ids)
|
||||
tx-datoms (mapcat (fn [id]
|
||||
(d/datoms db-after :eavt id))
|
||||
changed-ids)
|
||||
ent-maps* (map (fn [[db-id m]]
|
||||
;; Add :db/id for debugging
|
||||
(assoc m :db/id db-id))
|
||||
|
||||
Reference in New Issue
Block a user