From ae8c0a1e8f7202b5aa7dd0db1640b2791679ee6b Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 1 Jan 2024 14:43:23 +0800 Subject: [PATCH 1/5] :art: Add Rollup column to database table view https://github.com/siyuan-note/siyuan/issues/9958 --- kernel/model/attribute_view.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index a89c0c19f..e0938e169 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -49,7 +49,7 @@ func SearchAttributeViewNonRelationKey(avID, keyword string) (ret []*av.Key) { } for _, keyValues := range attrView.KeyValues { - if av.KeyTypeRelation != keyValues.Key.Type { + if av.KeyTypeRelation != keyValues.Key.Type && av.KeyTypeRollup != keyValues.Key.Type { if strings.Contains(strings.ToLower(keyValues.Key.Name), strings.ToLower(keyword)) { ret = append(ret, keyValues.Key) } From 246f08d7c276a5ee5ef3dadf4cc28cfd922bb812 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 1 Jan 2024 14:47:29 +0800 Subject: [PATCH 2/5] :art: Add Rollup column to database table view https://github.com/siyuan-note/siyuan/issues/9958 --- kernel/av/av.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/av/av.go b/kernel/av/av.go index 8e4f8d37d..968ff824e 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -275,6 +275,9 @@ func SaveAttributeView(av *AttributeView) (err error) { } for _, v := range kv.Values { + if "" == kv.Key.ID { + kv.Key.ID = ast.NewNodeID() + } if "" == v.KeyID { v.KeyID = kv.Key.ID } From d18eb01d153ca8d28a5f4eb37495caf052f9bb43 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 1 Jan 2024 14:49:00 +0800 Subject: [PATCH 3/5] :art: Add Rollup column to database table view https://github.com/siyuan-note/siyuan/issues/9958 --- kernel/av/av.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/av/av.go b/kernel/av/av.go index 968ff824e..beed8e93f 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -277,6 +277,9 @@ func SaveAttributeView(av *AttributeView) (err error) { for _, v := range kv.Values { if "" == kv.Key.ID { kv.Key.ID = ast.NewNodeID() + for _, v := range kv.Values { + v.KeyID = kv.Key.ID + } } if "" == v.KeyID { v.KeyID = kv.Key.ID From c4f2f3773332e0b9d128997afdf0d436b7c5d86d Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 1 Jan 2024 14:55:04 +0800 Subject: [PATCH 4/5] :art: Add Rollup column to database table view https://github.com/siyuan-note/siyuan/issues/9958 --- kernel/av/av.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/kernel/av/av.go b/kernel/av/av.go index beed8e93f..74adaf88b 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -277,12 +277,21 @@ func SaveAttributeView(av *AttributeView) (err error) { for _, v := range kv.Values { if "" == kv.Key.ID { kv.Key.ID = ast.NewNodeID() - for _, v := range kv.Values { + for _, val := range kv.Values { + val.KeyID = kv.Key.ID + } + if "" == v.KeyID { v.KeyID = kv.Key.ID } - } - if "" == v.KeyID { - v.KeyID = kv.Key.ID + + for _, view := range av.Views { + for _, column := range view.Table.Columns { + if "" == column.ID { + column.ID = kv.Key.ID + break + } + } + } } } } From a632f718dd06fbb6c6cfb2b329accbc99e63e619 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 1 Jan 2024 14:55:24 +0800 Subject: [PATCH 5/5] :art: Add Rollup column to database table view https://github.com/siyuan-note/siyuan/issues/9958 --- kernel/av/av.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/kernel/av/av.go b/kernel/av/av.go index 74adaf88b..1578718bc 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -285,10 +285,13 @@ func SaveAttributeView(av *AttributeView) (err error) { } for _, view := range av.Views { - for _, column := range view.Table.Columns { - if "" == column.ID { - column.ID = kv.Key.ID - break + switch view.LayoutType { + case LayoutTypeTable: + for _, column := range view.Table.Columns { + if "" == column.ID { + column.ID = kv.Key.ID + break + } } } }