enhance: rebuild search index when prepare failed

pull/9222/head
Tienson Qin 2023-04-26 15:39:08 +08:00
parent 44b373159e
commit 245008dc26
2 changed files with 10 additions and 1 deletions

View File

@ -6,7 +6,8 @@
[clojure.string :as string]
["electron" :refer [app]]
[electron.logger :as logger]
[medley.core :as medley]))
[medley.core :as medley]
[electron.utils :as utils]))
(defonce databases (atom nil))
@ -36,8 +37,10 @@
(try
(.prepare db sql)
(catch :default e
(logger/error (str "SQLite prepare failed: " e ": " db-name))
;; case 1: vtable constructor failed: blocks_fts https://github.com/logseq/logseq/issues/7467
(delete-db! db-name)
(utils/send-to-renderer "rebuildSearchIndice" {})
(throw e)))))
(defn add-blocks-fts-triggers!

View File

@ -17,6 +17,7 @@
[frontend.handler.route :as route-handler]
[frontend.handler.ui :as ui-handler]
[frontend.handler.user :as user]
[frontend.handler.search :as search-handler]
[frontend.state :as state]
[frontend.ui :as ui]
[logseq.common.path :as path]
@ -76,6 +77,11 @@
(let [repo (bean/->clj data)]
(repo-handler/remove-repo! repo))))
(safe-api-call "rebuildSearchIndice"
(fn [_data]
(prn "Rebuild search indices")
(search-handler/rebuild-indices!)))
(safe-api-call "setGitUsernameAndEmail"
(fn []
(state/pub-event! [:modal/set-git-username-and-email])))