Merge pull request #65 from SuLea-IT/codex/field-lineage

[codex] Add field lineage viewer and review fixes
This commit is contained in:
skyler
2026-05-03 11:18:36 +08:00
committed by GitHub
30 changed files with 1252 additions and 97 deletions
+37
View File
@@ -187,6 +187,41 @@ export default {
emptySql: "No SQL to explain",
unsafe: "This first version only explains SELECT / WITH / TABLE / VALUES statements",
},
lineage: {
title: "Field Lineage",
open: "View Field Lineage",
loading: "Reading metadata {done}/{total}",
empty: "No related lineage found",
noFiltered: "No results match the current filters",
targetField: "Current Field",
searchPlaceholder: "Search tables, fields, views, or SQL snippets...",
showing: "Showing {shown}/{total} results",
all: "All",
certain: "Certain",
likely: "Likely",
possible: "Possible",
queryHistory: "Query History",
openTable: "Open table",
copy: "Copy name",
copied: "Copied",
kind: {
foreignKey: "Foreign Key",
viewReference: "View",
historyReference: "SQL History",
sameName: "Same Name",
},
description: {
foreignKeyIncoming: "{target} points to the current field through a foreign key. This is a verified dependency.",
foreignKeyOutgoing: "The current field references {target} through a foreign key. This is a verified dependency.",
viewLikely: "The view definition mentions both the target table and field, usually indicating query dependency.",
viewPossible: "The view definition mentions a same-name field but not the target table, so it needs confirmation.",
historyLikely: "A historical SQL statement mentions both the target table and field. Use it as impact-analysis context.",
historyPossible: "A historical SQL statement mentions a same-name field. It may be related but needs context.",
sameName: "Another table has a same-name field. This may share business meaning but is not a verified database dependency.",
},
cancel: "Cancel",
refresh: "Analyze Again",
},
ai: {
placeholder: "Describe your query in natural language...",
settings: "AI Settings",
@@ -354,6 +389,8 @@ export default {
restore: "Restore to editor",
copy: "Copy SQL",
delete: "Delete",
confirmDelete: "Delete this query history entry?",
confirmClear: "Clear all query history?",
},
dangerDialog: {
title: "Dangerous Operation",
+37
View File
@@ -187,6 +187,41 @@ export default {
emptySql: "当前没有可分析的 SQL",
unsafe: "第一版执行计划仅支持 SELECT / WITH / TABLE / VALUES",
},
lineage: {
title: "字段血缘",
open: "查看字段血缘",
loading: "正在读取元数据 {done}/{total}",
empty: "没有找到相关血缘",
noFiltered: "当前筛选条件下没有结果",
targetField: "当前字段",
searchPlaceholder: "搜索表、字段、视图或 SQL 片段...",
showing: "显示 {shown}/{total} 条结果",
all: "全部",
certain: "确定",
likely: "高置信",
possible: "可能相关",
queryHistory: "查询历史",
openTable: "打开对应表",
copy: "复制名称",
copied: "已复制",
kind: {
foreignKey: "外键",
viewReference: "视图",
historyReference: "历史 SQL",
sameName: "同名字段",
},
description: {
foreignKeyIncoming: "{target} 通过外键指向当前字段,这是已确认的依赖。",
foreignKeyOutgoing: "当前字段通过外键引用 {target},这是已确认的依赖。",
viewLikely: "视图定义同时提到目标表和字段,通常表示查询依赖。",
viewPossible: "视图定义提到了同名字段,但没有同时命中目标表,需要人工确认。",
historyLikely: "历史 SQL 同时提到目标表和字段,可作为排查影响面的参考。",
historyPossible: "历史 SQL 提到了同名字段,可能相关但需要确认上下文。",
sameName: "其他表存在同名字段,可能代表相同业务含义,但不是已验证的数据库依赖。",
},
cancel: "取消读取",
refresh: "重新分析",
},
ai: {
placeholder: "描述你想查什么...",
settings: "AI 设置",
@@ -354,6 +389,8 @@ export default {
restore: "恢复到编辑器",
copy: "复制 SQL",
delete: "删除",
confirmDelete: "确认删除这条查询历史吗?",
confirmClear: "确认清空所有查询历史吗?",
},
dangerDialog: {
title: "危险操作",