This commit is contained in:
Liang Ding 2023-02-21 13:48:02 +08:00
parent ce50681a29
commit 7a7e9d5af2
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 6 additions and 3 deletions

View file

@ -18,6 +18,7 @@ package sql
import ( import (
"bytes" "bytes"
"crypto/sha256"
"database/sql" "database/sql"
"errors" "errors"
"fmt" "fmt"
@ -1093,7 +1094,7 @@ func batchDeleteByPathPrefix(tx *sql.Tx, boxID, pathPrefix string) (err error) {
return 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 = ?" stmt := "UPDATE blocks SET hpath = ? WHERE box = ? AND root_id = ?"
if err = execStmtTx(tx, stmt, newHPath, boxID, rootID); nil != err { if err = execStmtTx(tx, stmt, newHPath, boxID, rootID); nil != err {
return return
@ -1109,6 +1110,8 @@ func batchUpdateHPath(tx *sql.Tx, boxID, rootID, newHPath string) (err error) {
} }
} }
ClearCache() ClearCache()
evtHash := fmt.Sprintf("%x", sha256.Sum256([]byte(rootID)))[:7]
eventbus.Publish(eventbus.EvtSQLInsertBlocksFTS, context, 1, evtHash)
return return
} }

View file

@ -167,13 +167,13 @@ func execOp(op *dbQueueOperation, tx *sql.Tx, context map[string]interface{}) (e
case "delete_ids": case "delete_ids":
err = batchDeleteByRootIDs(tx, op.removeTreeIDs, context) err = batchDeleteByRootIDs(tx, op.removeTreeIDs, context)
case "rename": 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 { if nil != err {
break break
} }
err = updateRootContent(tx, path.Base(op.renameTree.HPath), op.renameTree.Root.IALAttr("updated"), op.renameTree.ID) err = updateRootContent(tx, path.Base(op.renameTree.HPath), op.renameTree.Root.IALAttr("updated"), op.renameTree.ID)
case "rename_sub_tree": 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": case "delete_box":
err = deleteByBoxTx(tx, op.box) err = deleteByBoxTx(tx, op.box)
case "delete_box_refs": case "delete_box_refs":