mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-28 11:16:09 +01:00
🎨 The backlink panel no longer displays child-block references https://github.com/siyuan-note/siyuan/issues/12861
This commit is contained in:
parent
ae32c69bdd
commit
e2b2d46a47
4 changed files with 12 additions and 21 deletions
|
|
@ -240,7 +240,7 @@ func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode
|
|||
rootID := sqlBlock.RootID
|
||||
boxID = sqlBlock.Box
|
||||
|
||||
refs := sql.QueryRefsByDefID(id, true)
|
||||
refs := sql.QueryRefsByDefID(id, false)
|
||||
refs = removeDuplicatedRefs(refs)
|
||||
|
||||
linkRefs, linkRefsCount, excludeBacklinkIDs := buildLinkRefs(rootID, refs, keyword)
|
||||
|
|
@ -339,7 +339,7 @@ func GetBacklink(id, keyword, mentionKeyword string, beforeLen int) (boxID strin
|
|||
boxID = sqlBlock.Box
|
||||
|
||||
var links []*Block
|
||||
refs := sql.QueryRefsByDefID(id, true)
|
||||
refs := sql.QueryRefsByDefID(id, false)
|
||||
refs = removeDuplicatedRefs(refs)
|
||||
|
||||
// 为了减少查询,组装好 IDs 后一次查出
|
||||
|
|
|
|||
|
|
@ -389,26 +389,17 @@ func QueryRefsRecent(onlyDoc bool, typeFilter string, ignoreLines []string) (ret
|
|||
}
|
||||
|
||||
func QueryRefsByDefID(defBlockID string, containChildren bool) (ret []*Ref) {
|
||||
sqlBlock := GetBlock(defBlockID)
|
||||
if nil == sqlBlock {
|
||||
return
|
||||
}
|
||||
|
||||
var rows *sql.Rows
|
||||
var err error
|
||||
if "d" == sqlBlock.Type {
|
||||
rows, err = query("SELECT * FROM refs WHERE def_block_root_id = ?", defBlockID)
|
||||
} else {
|
||||
if containChildren {
|
||||
blockIDs := queryBlockChildrenIDs(defBlockID)
|
||||
var params []string
|
||||
for _, id := range blockIDs {
|
||||
params = append(params, "\""+id+"\"")
|
||||
}
|
||||
rows, err = query("SELECT * FROM refs WHERE def_block_id IN (" + strings.Join(params, ",") + ")")
|
||||
} else {
|
||||
rows, err = query("SELECT * FROM refs WHERE def_block_id = ?", defBlockID)
|
||||
if containChildren {
|
||||
blockIDs := queryBlockChildrenIDs(defBlockID)
|
||||
var params []string
|
||||
for _, id := range blockIDs {
|
||||
params = append(params, "\""+id+"\"")
|
||||
}
|
||||
rows, err = query("SELECT * FROM refs WHERE def_block_id IN (" + strings.Join(params, ",") + ")")
|
||||
} else {
|
||||
rows, err = query("SELECT * FROM refs WHERE def_block_id = ?", defBlockID)
|
||||
}
|
||||
if err != nil {
|
||||
logging.LogErrorf("sql query failed: %s", err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue