🎨 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() {
|
||||
logging.LogInfof("start checking index...")
|
||||
|
||||
task.AppendTask(task.DatabaseIndexFix, removeDuplicateDatabaseIndex)
|
||||
removeDuplicateDatabaseIndex()
|
||||
sql.FlushQueue()
|
||||
|
||||
task.AppendTask(task.DatabaseIndexFix, resetDuplicateBlocksOnFileSys)
|
||||
|
||||
task.AppendTask(task.DatabaseIndexFix, fixBlockTreeByFileSys)
|
||||
resetDuplicateBlocksOnFileSys()
|
||||
sql.FlushQueue()
|
||||
|
||||
task.AppendTask(task.DatabaseIndexFix, fixDatabaseIndexByBlockTree)
|
||||
fixBlockTreeByFileSys()
|
||||
sql.FlushQueue()
|
||||
|
||||
task.AppendTask(task.DatabaseIndexFix, removeDuplicateDatabaseRefs)
|
||||
fixDatabaseIndexByBlockTree()
|
||||
sql.FlushQueue()
|
||||
|
||||
removeDuplicateDatabaseRefs()
|
||||
|
||||
// 后面要加任务的话记得修改推送任务栏的进度 util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 1, 5))
|
||||
|
||||
task.AppendTask(task.DatabaseIndexFix, func() {
|
||||
util.PushStatusBar(Conf.Language(185))
|
||||
})
|
||||
debug.FreeOSMemory()
|
||||
util.PushStatusBar(Conf.Language(185))
|
||||
logging.LogInfof("finish checking index")
|
||||
})
|
||||
}
|
||||
|
||||
var autoFixLock = sync.Mutex{}
|
||||
|
||||
// removeDuplicateDatabaseRefs 删除重复的数据库引用关系。
|
||||
func removeDuplicateDatabaseRefs() {
|
||||
defer logging.Recover()
|
||||
|
||||
autoFixLock.Lock()
|
||||
defer autoFixLock.Unlock()
|
||||
|
||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 5, 5))
|
||||
duplicatedRootIDs := sql.GetRefDuplicatedDefRootIDs()
|
||||
for _, rootID := range duplicatedRootIDs {
|
||||
|
@ -96,9 +90,6 @@ func removeDuplicateDatabaseRefs() {
|
|||
func removeDuplicateDatabaseIndex() {
|
||||
defer logging.Recover()
|
||||
|
||||
autoFixLock.Lock()
|
||||
defer autoFixLock.Unlock()
|
||||
|
||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 1, 5))
|
||||
duplicatedRootIDs := sql.GetDuplicatedRootIDs("blocks")
|
||||
if 1 > len(duplicatedRootIDs) {
|
||||
|
@ -142,9 +133,6 @@ func removeDuplicateDatabaseIndex() {
|
|||
func resetDuplicateBlocksOnFileSys() {
|
||||
defer logging.Recover()
|
||||
|
||||
autoFixLock.Lock()
|
||||
defer autoFixLock.Unlock()
|
||||
|
||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 2, 5))
|
||||
boxes := Conf.GetBoxes()
|
||||
luteEngine := lute.New()
|
||||
|
@ -291,9 +279,6 @@ func recreateTree(tree *parse.Tree, absPath string) {
|
|||
func fixBlockTreeByFileSys() {
|
||||
defer logging.Recover()
|
||||
|
||||
autoFixLock.Lock()
|
||||
defer autoFixLock.Unlock()
|
||||
|
||||
util.PushStatusBar(fmt.Sprintf(Conf.Language(58), 3, 5))
|
||||
boxes := Conf.GetOpenedBoxes()
|
||||
luteEngine := lute.New()
|
||||
|
|
Loading…
Add table
Reference in a new issue