From 4d5071c31d8f0412d4c934be1fb2b8b0328988ac Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Fri, 1 Dec 2023 10:33:38 +0800 Subject: [PATCH] :art: Supports multiple views for the database https://github.com/siyuan-note/siyuan/issues/9751 --- kernel/model/attribute_view.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 34839a0b1..d482436a3 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -643,6 +643,10 @@ func (tx *Transaction) doRemoveAttrViewView(operation *Operation) (ret *TxErr) { return &TxErr{code: TxErrCodeBlockNotFound, id: avID} } + if 1 >= len(attrView.Views) { + return + } + viewID := operation.ID for i, view := range attrView.Views { if viewID == view.ID { @@ -651,6 +655,7 @@ func (tx *Transaction) doRemoveAttrViewView(operation *Operation) (ret *TxErr) { } } + attrView.ViewID = attrView.Views[0].ID if err = av.SaveAttributeView(attrView); nil != err { logging.LogErrorf("save attribute view [%s] failed: %s", avID, err) return &TxErr{code: TxErrCodeWriteTree, msg: err.Error(), id: avID}