mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-03 05:21:10 +08:00
🐛 编辑器中输入 #
后标签搜索提示不全 Fix https://github.com/siyuan-note/siyuan/issues/7391
This commit is contained in:
parent
8196052c0d
commit
e08d621da7
@ -205,7 +205,7 @@ func BuildGraph(query string) (boxID string, nodes []*GraphNode, links []*GraphL
|
||||
}
|
||||
|
||||
func linkTagBlocks(blocks *[]*Block, nodes *[]*GraphNode, links *[]*GraphLink, p string, style map[string]string) {
|
||||
tagSpans := sql.QueryTagSpans(p, 1024)
|
||||
tagSpans := sql.QueryTagSpans(p)
|
||||
if 1 > len(tagSpans) {
|
||||
return
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ func RemoveTag(label string) (err error) {
|
||||
util.PushEndlessProgress(Conf.Language(116))
|
||||
util.RandomSleep(1000, 2000)
|
||||
|
||||
tags := sql.QueryTagSpansByKeyword(label, 102400)
|
||||
tags := sql.QueryTagSpansByLabel(label)
|
||||
treeBlocks := map[string][]string{}
|
||||
for _, tag := range tags {
|
||||
if blocks, ok := treeBlocks[tag.RootID]; !ok {
|
||||
@ -126,7 +126,7 @@ func RenameTag(oldLabel, newLabel string) (err error) {
|
||||
util.PushEndlessProgress(Conf.Language(110))
|
||||
util.RandomSleep(500, 1000)
|
||||
|
||||
tags := sql.QueryTagSpansByKeyword(oldLabel, 102400)
|
||||
tags := sql.QueryTagSpansByLabel(oldLabel)
|
||||
treeBlocks := map[string][]string{}
|
||||
for _, tag := range tags {
|
||||
if blocks, ok := treeBlocks[tag.RootID]; !ok {
|
||||
@ -310,7 +310,7 @@ func labelBlocksByKeyword(keyword string) (ret map[string]TagBlocks) {
|
||||
func labelTags() (ret map[string]Tags) {
|
||||
ret = map[string]Tags{}
|
||||
|
||||
tagSpans := sql.QueryTagSpans("", 10240)
|
||||
tagSpans := sql.QueryTagSpans("")
|
||||
for _, tagSpan := range tagSpans {
|
||||
label := tagSpan.Content
|
||||
if _, ok := ret[label]; ok {
|
||||
|
@ -80,8 +80,23 @@ func SelectSpansRawStmt(stmt string, limit int) (ret []*Span) {
|
||||
return
|
||||
}
|
||||
|
||||
func QueryTagSpansByLabel(label string) (ret []*Span) {
|
||||
stmt := "SELECT * FROM spans WHERE type LIKE '%tag%' AND content LIKE '%" + label + "%' GROUP BY block_id"
|
||||
rows, err := query(stmt)
|
||||
if nil != err {
|
||||
logging.LogErrorf("sql query failed: %s", err)
|
||||
return
|
||||
}
|
||||
defer rows.Close()
|
||||
for rows.Next() {
|
||||
span := scanSpanRows(rows)
|
||||
ret = append(ret, span)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func QueryTagSpansByKeyword(keyword string, limit int) (ret []*Span) {
|
||||
stmt := "SELECT * FROM spans WHERE type LIKE '%tag%' AND content LIKE '%" + keyword + "%'"
|
||||
stmt := "SELECT * FROM spans WHERE type LIKE '%tag%' AND content LIKE '%" + keyword + "%' GROUP BY markdown"
|
||||
stmt += " LIMIT " + strconv.Itoa(limit)
|
||||
rows, err := query(stmt)
|
||||
if nil != err {
|
||||
@ -96,12 +111,11 @@ func QueryTagSpansByKeyword(keyword string, limit int) (ret []*Span) {
|
||||
return
|
||||
}
|
||||
|
||||
func QueryTagSpans(p string, limit int) (ret []*Span) {
|
||||
func QueryTagSpans(p string) (ret []*Span) {
|
||||
stmt := "SELECT * FROM spans WHERE type LIKE '%tag%'"
|
||||
if "" != p {
|
||||
stmt += " AND path = '" + p + "'"
|
||||
}
|
||||
stmt += " LIMIT " + strconv.Itoa(limit)
|
||||
rows, err := query(stmt)
|
||||
if nil != err {
|
||||
logging.LogErrorf("sql query failed: %s", err)
|
||||
|
Loading…
Reference in New Issue
Block a user