mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
🎨 Reduce the probability of tree not found when deleting/renaming tags https://github.com/siyuan-note/siyuan/issues/14591
This commit is contained in:
parent
b66558059d
commit
6c60a3726f
2 changed files with 6 additions and 7 deletions
|
|
@ -53,7 +53,7 @@ func RemoveTag(label string) (err error) {
|
||||||
updateNodes := map[string]*ast.Node{}
|
updateNodes := map[string]*ast.Node{}
|
||||||
for treeID, blocks := range treeBlocks {
|
for treeID, blocks := range treeBlocks {
|
||||||
util.PushEndlessProgress("[" + treeID + "]")
|
util.PushEndlessProgress("[" + treeID + "]")
|
||||||
tree, e := LoadTreeByBlockID(treeID)
|
tree, e := LoadTreeByBlockIDWithReindex(treeID)
|
||||||
if nil != e {
|
if nil != e {
|
||||||
util.ClearPushProgress(100)
|
util.ClearPushProgress(100)
|
||||||
return e
|
return e
|
||||||
|
|
@ -154,7 +154,7 @@ func RenameTag(oldLabel, newLabel string) (err error) {
|
||||||
|
|
||||||
for treeID, blocks := range treeBlocks {
|
for treeID, blocks := range treeBlocks {
|
||||||
util.PushEndlessProgress("[" + treeID + "]")
|
util.PushEndlessProgress("[" + treeID + "]")
|
||||||
tree, e := LoadTreeByBlockID(treeID)
|
tree, e := LoadTreeByBlockIDWithReindex(treeID)
|
||||||
if nil != e {
|
if nil != e {
|
||||||
util.ClearPushProgress(100)
|
util.ClearPushProgress(100)
|
||||||
return e
|
return e
|
||||||
|
|
|
||||||
|
|
@ -178,8 +178,6 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func LoadTreeByBlockIDWithReindex(id string) (ret *parse.Tree, err error) {
|
func LoadTreeByBlockIDWithReindex(id string) (ret *parse.Tree, err error) {
|
||||||
// 仅提供给 getBlockInfo 接口使用
|
|
||||||
|
|
||||||
if "" == id {
|
if "" == id {
|
||||||
logging.LogWarnf("block id is empty")
|
logging.LogWarnf("block id is empty")
|
||||||
return nil, ErrTreeNotFound
|
return nil, ErrTreeNotFound
|
||||||
|
|
@ -192,8 +190,9 @@ func LoadTreeByBlockIDWithReindex(id string) (ret *parse.Tree, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 尝试从文件系统加载
|
// 尝试从文件系统加载并建立索引
|
||||||
searchTreeInFilesystem(id)
|
indexTreeInFilesystem(id)
|
||||||
|
|
||||||
bt = treenode.GetBlockTree(id)
|
bt = treenode.GetBlockTree(id)
|
||||||
if nil == bt {
|
if nil == bt {
|
||||||
if "dev" == util.Mode {
|
if "dev" == util.Mode {
|
||||||
|
|
@ -243,7 +242,7 @@ func loadTreeByBlockTree(bt *treenode.BlockTree) (ret *parse.Tree, err error) {
|
||||||
|
|
||||||
var searchTreeLimiter = rate.NewLimiter(rate.Every(3*time.Second), 1)
|
var searchTreeLimiter = rate.NewLimiter(rate.Every(3*time.Second), 1)
|
||||||
|
|
||||||
func searchTreeInFilesystem(rootID string) {
|
func indexTreeInFilesystem(rootID string) {
|
||||||
if !searchTreeLimiter.Allow() {
|
if !searchTreeLimiter.Allow() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue