Browse Source

enhance: address suggestions from gabriel and zhiyuan

Tienson Qin 6 months ago
parent
commit
06d7ed9b40

+ 4 - 1
deps/db/src/logseq/db/frontend/kv_entity.cljs

@@ -25,4 +25,7 @@ RTC won't start when major-schema-versions don't match"
   :logseq.kv/graph-backup-folder          {:doc "Backup folder for automated backup feature"
                                            :rtc {:rtc/ignore-entity-when-init-upload true
                                                  :rtc/ignore-entity-when-init-download true}}
-  :logseq.kv/graph-initial-schema-version {:doc "Graph's schema version when created"})
+  :logseq.kv/graph-initial-schema-version {:doc "Graph's schema version when created"}
+  :logseq.kv/graph-last-gc-at             {:doc "Last time graph gc at"
+                                           :rtc {:rtc/ignore-entity-when-init-upload true
+                                                 :rtc/ignore-entity-when-init-download true}})

+ 1 - 1
deps/db/src/logseq/db/sqlite/debug.cljs

@@ -34,4 +34,4 @@
                             [addr (bean/->clj (js/JSON.parse addresses))])))
         used-addresses (set (concat (mapcat second result)
                                     [0 1 (:eavt schema) (:avet schema) (:aevt schema)]))]
-    (clojure.set/difference used-addresses (set (map first result)))))
+    (clojure.set/difference used-addresses  (set (map first result)))))

+ 1 - 1
src/main/frontend/modules/shortcut/config.cljs

@@ -600,7 +600,7 @@
                           :fn #(repo-handler/fix-broken-graph! (state/get-current-repo))}
 
    :dev/gc-graph {:binding []
-                  :db-graph? true
+                  :inactive (not (state/developer-mode?))
                   :fn #(repo-handler/gc-graph! (state/get-current-repo))}
 
    :dev/replace-graph-with-db-file {:binding []

+ 5 - 4
src/main/frontend/worker/db_worker.cljs

@@ -251,10 +251,10 @@
               (not (number? last-gc-at))
               (> (- (common-util/time-ms) last-gc-at) (* 7 24 3600 1000))) ; 1 week ago
       (prn :debug "gc current graph")
-      (sqlite-gc/gc-kvs-table! sqlite-db)
+      (doseq [db [sqlite-db client-ops-db]]
+        (sqlite-gc/gc-kvs-table! db))
       (d/transact! datascript-conn [{:db/ident :logseq.kv/graph-last-gc-at
-                                     :kv/value (common-util/time-ms)}])))
-  (sqlite-gc/gc-kvs-table! client-ops-db))
+                                     :kv/value (common-util/time-ms)}]))))
 
 (defn- create-or-open-db!
   [repo {:keys [config import-type datoms] :as opts}]
@@ -734,7 +734,8 @@
   (let [{:keys [db client-ops]} (get @*sqlite-conns repo)
         conn (get @*datascript-conns repo)]
     (when (and db conn)
-      (gc-sqlite-dbs! db client-ops conn {:from-user? true}))))
+      (gc-sqlite-dbs! db client-ops conn {:from-user? true})
+      nil)))
 
 (comment
   (def-thread-api :general/dangerousRemoveAllDbs

+ 1 - 1
src/resources/dicts/en.edn

@@ -788,7 +788,7 @@
   :dev/replace-graph-with-db-file "(Dev) Replace graph with its db.sqlite file"
   :dev/validate-db "(Dev) Validate current graph"
   :dev/fix-broken-graph "Fix current broken graph"
-  :dev/gc-graph "Garbage collect graph (remove unused data in SQLite)"
+  :dev/gc-graph "(Dev) Garbage collect graph (remove unused data in SQLite)"
   :dev/rtc-stop "(Dev) RTC Stop"
   :dev/rtc-start "(Dev) RTC Start"
   :window/close "Close window"}}