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