mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 23:20:13 +01:00
🎨 Improve check index
This commit is contained in:
parent
671333ff91
commit
49464fab28
1 changed files with 8 additions and 23 deletions
|
|
@ -49,38 +49,32 @@ func checkIndex() {
|
||||||
checkIndexOnce.Do(func() {
|
checkIndexOnce.Do(func() {
|
||||||
logging.LogInfof("start checking index...")
|
logging.LogInfof("start checking index...")
|
||||||
|
|
||||||
task.AppendTask(task.DatabaseIndexFix, removeDuplicateDatabaseIndex)
|
removeDuplicateDatabaseIndex()
|
||||||
sql.FlushQueue()
|
sql.FlushQueue()
|
||||||
|
|
||||||
task.AppendTask(task.DatabaseIndexFix, resetDuplicateBlocksOnFileSys)
|
resetDuplicateBlocksOnFileSys()
|
||||||
|
|
||||||
task.AppendTask(task.DatabaseIndexFix, fixBlockTreeByFileSys)
|
|
||||||
sql.FlushQueue()
|
sql.FlushQueue()
|
||||||
|
|
||||||
task.AppendTask(task.DatabaseIndexFix, fixDatabaseIndexByBlockTree)
|
fixBlockTreeByFileSys()
|
||||||
sql.FlushQueue()
|
sql.FlushQueue()
|
||||||
|
|
||||||
task.AppendTask(task.DatabaseIndexFix, removeDuplicateDatabaseRefs)
|
fixDatabaseIndexByBlockTree()
|
||||||
|
sql.FlushQueue()
|
||||||
|
|
||||||
|
removeDuplicateDatabaseRefs()
|
||||||
|
|
||||||
// 后面要加任务的话记得修改推送任务栏的进度 util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 1, 5))
|
// 后面要加任务的话记得修改推送任务栏的进度 util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 1, 5))
|
||||||
|
|
||||||
task.AppendTask(task.DatabaseIndexFix, func() {
|
|
||||||
util.PushStatusBar(Conf.Language(185))
|
|
||||||
})
|
|
||||||
debug.FreeOSMemory()
|
debug.FreeOSMemory()
|
||||||
|
util.PushStatusBar(Conf.Language(185))
|
||||||
logging.LogInfof("finish checking index")
|
logging.LogInfof("finish checking index")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
var autoFixLock = sync.Mutex{}
|
|
||||||
|
|
||||||
// removeDuplicateDatabaseRefs 删除重复的数据库引用关系。
|
// removeDuplicateDatabaseRefs 删除重复的数据库引用关系。
|
||||||
func removeDuplicateDatabaseRefs() {
|
func removeDuplicateDatabaseRefs() {
|
||||||
defer logging.Recover()
|
defer logging.Recover()
|
||||||
|
|
||||||
autoFixLock.Lock()
|
|
||||||
defer autoFixLock.Unlock()
|
|
||||||
|
|
||||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 5, 5))
|
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 5, 5))
|
||||||
duplicatedRootIDs := sql.GetRefDuplicatedDefRootIDs()
|
duplicatedRootIDs := sql.GetRefDuplicatedDefRootIDs()
|
||||||
for _, rootID := range duplicatedRootIDs {
|
for _, rootID := range duplicatedRootIDs {
|
||||||
|
|
@ -96,9 +90,6 @@ func removeDuplicateDatabaseRefs() {
|
||||||
func removeDuplicateDatabaseIndex() {
|
func removeDuplicateDatabaseIndex() {
|
||||||
defer logging.Recover()
|
defer logging.Recover()
|
||||||
|
|
||||||
autoFixLock.Lock()
|
|
||||||
defer autoFixLock.Unlock()
|
|
||||||
|
|
||||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 1, 5))
|
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 1, 5))
|
||||||
duplicatedRootIDs := sql.GetDuplicatedRootIDs("blocks")
|
duplicatedRootIDs := sql.GetDuplicatedRootIDs("blocks")
|
||||||
if 1 > len(duplicatedRootIDs) {
|
if 1 > len(duplicatedRootIDs) {
|
||||||
|
|
@ -142,9 +133,6 @@ func removeDuplicateDatabaseIndex() {
|
||||||
func resetDuplicateBlocksOnFileSys() {
|
func resetDuplicateBlocksOnFileSys() {
|
||||||
defer logging.Recover()
|
defer logging.Recover()
|
||||||
|
|
||||||
autoFixLock.Lock()
|
|
||||||
defer autoFixLock.Unlock()
|
|
||||||
|
|
||||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 2, 5))
|
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 2, 5))
|
||||||
boxes := Conf.GetBoxes()
|
boxes := Conf.GetBoxes()
|
||||||
luteEngine := lute.New()
|
luteEngine := lute.New()
|
||||||
|
|
@ -291,9 +279,6 @@ func recreateTree(tree *parse.Tree, absPath string) {
|
||||||
func fixBlockTreeByFileSys() {
|
func fixBlockTreeByFileSys() {
|
||||||
defer logging.Recover()
|
defer logging.Recover()
|
||||||
|
|
||||||
autoFixLock.Lock()
|
|
||||||
defer autoFixLock.Unlock()
|
|
||||||
|
|
||||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 3, 5))
|
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 3, 5))
|
||||||
boxes := Conf.GetOpenedBoxes()
|
boxes := Conf.GetOpenedBoxes()
|
||||||
luteEngine := lute.New()
|
luteEngine := lute.New()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue