mirror of
https://github.com/logseq/logseq.git
synced 2026-05-25 21:24:21 +00:00
fix(perf): don't refresh kv and custom queries when loading blocks
Both kv and custom queries should be refreshed only if there're new db transactions.
This commit is contained in:
@@ -143,7 +143,7 @@
|
||||
(remove empty?))]
|
||||
(when (seq tx-data) (d/transact! conn tx-data))
|
||||
(when-not skip-refresh?
|
||||
(react/refresh-affected-queries! graph affected-keys))))
|
||||
(react/refresh-affected-queries! graph affected-keys {:skip-kv-custom-keys? true}))))
|
||||
|
||||
(if children-only? children block))
|
||||
(p/catch (fn [error]
|
||||
|
||||
@@ -173,7 +173,8 @@
|
||||
(set-new-result! k result'))))
|
||||
|
||||
(defn refresh-affected-queries!
|
||||
[repo-url affected-keys]
|
||||
[repo-url affected-keys & {:keys [skip-kv-custom-keys?]
|
||||
:or {skip-kv-custom-keys? false}}]
|
||||
(util/profile
|
||||
"refresh!"
|
||||
(let [db (conn/get-db repo-url)
|
||||
@@ -186,7 +187,8 @@
|
||||
[k' cache]))) @query-state)
|
||||
(into {}))
|
||||
all-keys (concat (distinct affected-keys)
|
||||
(filter #(contains? #{:custom :kv} (first %)) (keys state)))]
|
||||
(when-not skip-kv-custom-keys?
|
||||
(filter #(contains? #{:custom :kv} (first %)) (keys state))))]
|
||||
(doseq [k all-keys]
|
||||
(when-let [cache (get state k)]
|
||||
(let [{:keys [query query-fn]} cache
|
||||
|
||||
Reference in New Issue
Block a user