From 46a01d99b5d15120ada95754c9effbdcb576d31e Mon Sep 17 00:00:00 2001
From: ai_xiaopei <xiaopei@aisim.cn>
Date: Sun, 26 Jul 2026 08:19:23 +0800
Subject: [PATCH] Task 4: add CLI flags for with-content and with-links
---
internal/index/sqlite.go | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/internal/index/sqlite.go b/internal/index/sqlite.go
index e1086df..6b7839a 100644
--- a/internal/index/sqlite.go
+++ b/internal/index/sqlite.go
@@ -147,3 +147,33 @@
err := s.db.QueryRow("SELECT COUNT(*) FROM edges").Scan(&count)
return count, err
}
+
+// GetNodeLinks 获取节点的关联链接(wikilink 目标)
+func (s *Store) GetNodeLinks(nodeID int64) ([]string, error) {
+ query := `
+ SELECT n.path
+ FROM edges e
+ JOIN nodes n ON n.id = e.to_node
+ WHERE e.from_node = ? AND e.relation = 'wikilink'
+ `
+ rows, err := s.db.Query(query, nodeID)
+ if err != nil {
+ return nil, fmt.Errorf("查询链接失败: %w", err)
+ }
+ defer rows.Close()
+
+ var links []string
+ for rows.Next() {
+ var path string
+ if err := rows.Scan(&path); err != nil {
+ return nil, fmt.Errorf("扫描链接失败: %w", err)
+ }
+ links = append(links, path)
+ }
+
+ if err := rows.Err(); err != nil {
+ return nil, fmt.Errorf("遍历链接失败: %w", err)
+ }
+
+ return links, nil
+}
--
Gitblit v1.9.1