From 7a7e9d5af2c74937550b4e455665f583da90da23 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Tue, 21 Feb 2023 13:48:02 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=80=A7=E8=83=BD=20https://github.com/siyua?= =?UTF-8?q?n-note/siyuan/issues/7422?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/sql/database.go | 5 ++++- kernel/sql/queue.go | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel/sql/database.go b/kernel/sql/database.go index 1933582bd..39b4d6e42 100644 --- a/kernel/sql/database.go +++ b/kernel/sql/database.go @@ -18,6 +18,7 @@ package sql import ( "bytes" + "crypto/sha256" "database/sql" "errors" "fmt" @@ -1093,7 +1094,7 @@ func batchDeleteByPathPrefix(tx *sql.Tx, boxID, pathPrefix string) (err error) { return } -func batchUpdateHPath(tx *sql.Tx, boxID, rootID, newHPath string) (err error) { +func batchUpdateHPath(tx *sql.Tx, boxID, rootID, newHPath string, context map[string]interface{}) (err error) { stmt := "UPDATE blocks SET hpath = ? WHERE box = ? AND root_id = ?" if err = execStmtTx(tx, stmt, newHPath, boxID, rootID); nil != err { return @@ -1109,6 +1110,8 @@ func batchUpdateHPath(tx *sql.Tx, boxID, rootID, newHPath string) (err error) { } } ClearCache() + evtHash := fmt.Sprintf("%x", sha256.Sum256([]byte(rootID)))[:7] + eventbus.Publish(eventbus.EvtSQLInsertBlocksFTS, context, 1, evtHash) return } diff --git a/kernel/sql/queue.go b/kernel/sql/queue.go index 75844d06d..2c9d04f78 100644 --- a/kernel/sql/queue.go +++ b/kernel/sql/queue.go @@ -167,13 +167,13 @@ func execOp(op *dbQueueOperation, tx *sql.Tx, context map[string]interface{}) (e case "delete_ids": err = batchDeleteByRootIDs(tx, op.removeTreeIDs, context) case "rename": - err = batchUpdateHPath(tx, op.renameTree.Box, op.renameTree.ID, op.renameTree.HPath) + err = batchUpdateHPath(tx, op.renameTree.Box, op.renameTree.ID, op.renameTree.HPath, context) if nil != err { break } err = updateRootContent(tx, path.Base(op.renameTree.HPath), op.renameTree.Root.IALAttr("updated"), op.renameTree.ID) case "rename_sub_tree": - err = batchUpdateHPath(tx, op.renameTree.Box, op.renameTree.ID, op.renameTree.HPath) + err = batchUpdateHPath(tx, op.renameTree.Box, op.renameTree.ID, op.renameTree.HPath, context) case "delete_box": err = deleteByBoxTx(tx, op.box) case "delete_box_refs":