🐛 Database rollup calculation misses null values https://github.com/siyuan-note/siyuan/issues/10843

This commit is contained in:
Daniel 2024-04-03 09:37:42 +08:00
parent e7204ac10f
commit 2a3d236d8e
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 34 additions and 4 deletions

View file

@ -805,7 +805,12 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
for _, blockID := range relVal.Relation.BlockIDs {
destVal := destAv.GetValue(rollupKey.Rollup.KeyID, blockID)
if nil == destVal {
continue
if destAv.ExistBlock(blockID) { // 数据库中存在行但是列值不存在是数据未初始化,这里补一个默认值
destVal = GetAttributeViewDefaultValue(ast.NewNodeID(), rollupKey.Rollup.KeyID, blockID, destKey.Type)
}
if nil == destVal {
continue
}
}
if av.KeyTypeNumber == destKey.Type {
destVal.Number.Format = destKey.NumberFormat