关联
背景
AAS 项目中 PAR_INST_XML_MODEL 这类配置表驱动的动态 SQL 是核心业务模式(parse.log 中 3,280 条 DYNAMIC_SQL 类警告大多源于此)。codeweb 的 value-set 分析对这种"SQL 模板存在数据库表中、运行时拼接"的模式无能为力——这是静态分析的天花板,不是 bug。
建议:通用外部关系标注扩展点
与现有 codeweb mark(用于 WDR SQL detail CSV 标注)的机制对齐,提供动态 SQL 模板表标注入口:
// dynamic-sql-hints.json
[
{
"template_table": "par_inst_xml_model",
"target_tables": ["dat_inst_base_info", "dat_inst_status_info"],
"source_procedures": ["pkg_xml_parser.prc_render"]
}
]
codeweb analyze --dynamic-sql-hints ./dynamic-sql-hints.json
# 或复用 mark 子命令
codeweb mark --type dynamic-sql --hints ./hints.json
标注后在图中以 Edge::CustomEdge { custom_type: "dynamic_sql_hint", ... } 形式落地,参与 detail / lineage / partition 计算并显式标记为 [hint] 来源。
辅助:codeweb dynamic-sql 报告子命令
列出所有 EXECUTE IMMEDIATE 位置 + 变量来源 + 是否被 hints 覆盖,方便人工补全 hints 文件。
范围说明
这是行业共性难题,建议作为可插拔扩展点而非完整解决方案。优先级可放 P2/P3。
关联
format!("{:?}", expr)Debug 依赖)5a340c5"value-set analysis for EXECUTE IMMEDIATE variable resolution" 已做变量值集传播背景
AAS 项目中
PAR_INST_XML_MODEL这类配置表驱动的动态 SQL 是核心业务模式(parse.log 中 3,280 条 DYNAMIC_SQL 类警告大多源于此)。codeweb 的 value-set 分析对这种"SQL 模板存在数据库表中、运行时拼接"的模式无能为力——这是静态分析的天花板,不是 bug。建议:通用外部关系标注扩展点
与现有
codeweb mark(用于 WDR SQL detail CSV 标注)的机制对齐,提供动态 SQL 模板表标注入口:codeweb analyze --dynamic-sql-hints ./dynamic-sql-hints.json # 或复用 mark 子命令 codeweb mark --type dynamic-sql --hints ./hints.json标注后在图中以
Edge::CustomEdge { custom_type: "dynamic_sql_hint", ... }形式落地,参与detail/lineage/partition计算并显式标记为[hint]来源。辅助:
codeweb dynamic-sql报告子命令列出所有 EXECUTE IMMEDIATE 位置 + 变量来源 + 是否被 hints 覆盖,方便人工补全 hints 文件。
范围说明
这是行业共性难题,建议作为可插拔扩展点而非完整解决方案。优先级可放 P2/P3。