From a452015dedcd5283304c5bfc1239ef43e5d98ab2 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Mon, 23 Jan 2023 18:44:19 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E5=86=85=E6=A0=B8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=B0=83=E5=BA=A6=E6=9C=BA=E5=88=B6=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E7=A8=B3=E5=AE=9A=E6=80=A7=20https://github.com/siyua?= =?UTF-8?q?n-note/siyuan/issues/7113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/import.go | 2 +- kernel/model/index.go | 6 ++++-- kernel/treenode/blocktree.go | 22 ---------------------- 3 files changed, 5 insertions(+), 25 deletions(-) diff --git a/kernel/model/import.go b/kernel/model/import.go index 2edcd3be4..ddafbb75f 100644 --- a/kernel/model/import.go +++ b/kernel/model/import.go @@ -393,7 +393,7 @@ func ImportSY(zipPath, boxID, toPath string) (err error) { continue } - treenode.IndexBlockTree(tree) + treenode.ReindexBlockTree(tree) sql.UpsertTreeQueue(tree) } diff --git a/kernel/model/index.go b/kernel/model/index.go index 1d8a14bdd..db13ac337 100644 --- a/kernel/model/index.go +++ b/kernel/model/index.go @@ -86,11 +86,13 @@ func index(boxID string) { updated := util.TimeFromID(tree.Root.ID) tree.Root.SetIALAttr("updated", updated) docIAL["updated"] = updated - writeJSONQueue(tree) + if writeErr := filesys.WriteTree(tree); nil != writeErr { + logging.LogErrorf("write tree [%s] failed: %s", tree.Path, writeErr) + } } cache.PutDocIAL(file.path, docIAL) - treenode.IndexBlockTree(tree) + treenode.ReindexBlockTree(tree) sql.UpsertTreeQueue(tree) util.IncBootProgress(bootProgressPart, fmt.Sprintf(Conf.Language(92), util.ShortPathForBootingDisplay(tree.Path))) diff --git a/kernel/treenode/blocktree.go b/kernel/treenode/blocktree.go index 0f0f69787..67df96687 100644 --- a/kernel/treenode/blocktree.go +++ b/kernel/treenode/blocktree.go @@ -320,28 +320,6 @@ func ReindexBlockTree(tree *parse.Tree) { blockTreesChanged = true } -func IndexBlockTree(tree *parse.Tree) { - blockTreesLock.Lock() - defer blockTreesLock.Unlock() - - ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus { - if !entering || !n.IsBlock() { - return ast.WalkContinue - } - var parentID string - if nil != n.Parent { - parentID = n.Parent.ID - } - if "" == n.ID { - return ast.WalkContinue - } - blockTrees[n.ID] = &BlockTree{ID: n.ID, ParentID: parentID, RootID: tree.ID, BoxID: tree.Box, Path: tree.Path, HPath: tree.HPath, Updated: tree.Root.IALAttr("updated")} - return ast.WalkContinue - }) - - // 新建索引不变更持久化文件,调用处会负责调用 SaveBlockTree() -} - func AutoFlushBlockTree() { for { SaveBlockTree(false)