mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-09 18:40:26 +08:00
This commit is contained in:
parent
5a09669d3a
commit
9474f558ad
@ -1253,10 +1253,9 @@ func autoFixIndex() {
|
||||
})
|
||||
|
||||
size := len(paths)
|
||||
for i, p := range paths {
|
||||
if nil == treenode.GetBlockTreeRootByPath(box.ID, p) {
|
||||
reindexTreeByPath(box.ID, p, i, size)
|
||||
}
|
||||
missingPaths := treenode.GetNotExistPaths(box.ID, paths)
|
||||
for i, p := range missingPaths {
|
||||
reindexTreeByPath(box.ID, p, i, size)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,6 +116,27 @@ func CeilBlockCount(count int) int {
|
||||
return 10000*100 + 1
|
||||
}
|
||||
|
||||
func GetNotExistPaths(boxID string, paths []string) (ret []string) {
|
||||
blockTreesLock.Lock()
|
||||
defer blockTreesLock.Unlock()
|
||||
|
||||
pathsMap := map[string]bool{}
|
||||
for _, path := range paths {
|
||||
pathsMap[path] = true
|
||||
}
|
||||
|
||||
for _, blockTree := range blockTrees {
|
||||
if blockTree.BoxID != boxID {
|
||||
continue
|
||||
}
|
||||
|
||||
if !pathsMap[blockTree.Path] {
|
||||
ret = append(ret, blockTree.Path)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func GetBlockTreeRootByPath(boxID, path string) *BlockTree {
|
||||
blockTreesLock.Lock()
|
||||
defer blockTreesLock.Unlock()
|
||||
|
Loading…
Reference in New Issue
Block a user