Improve performance for large-scale block deletion/insertion https://github.com/siyuan-note/siyuan/issues/16644

Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2025-12-21 15:42:02 +08:00
parent 80faba6c75
commit 89952fa8b4
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
6 changed files with 181 additions and 217 deletions

View file

@ -825,9 +825,7 @@ func (tx *Transaction) removeBlocksDeckAttr(blockIDs []string, deckID string) (e
node.SetIALAttr("custom-riff-decks", val)
}
if err = tx.writeTree(tree); err != nil {
return
}
tx.writeTree(tree)
cache.PutBlockIAL(blockID, parse.IAL2Map(node.KramdownIAL))
pushBroadcastAttrTransactions(oldAttrs, node)
@ -921,9 +919,7 @@ func (tx *Transaction) doAddFlashcards(operation *Operation) (ret *TxErr) {
val = strings.TrimSuffix(val, ",")
node.SetIALAttr("custom-riff-decks", val)
if err := tx.writeTree(tree); err != nil {
return &TxErr{code: TxErrCodeWriteTree, msg: err.Error(), id: deckID}
}
tx.writeTree(tree)
cache.PutBlockIAL(blockID, parse.IAL2Map(node.KramdownIAL))
pushBroadcastAttrTransactions(oldAttrs, node)