Class TAttributeResolver

Object
gudusoft.gsqlparser.nodes.TParseTreeVisitor
gudusoft.gsqlparser.resolver.TAttributeResolver

TAttributeResolver 的核心职责是为SQL语句中出现的每一个列找到其所属的表。 工作原理: 1. 遍历SQL语句中的所有列引用(TObjectName) 2. 对每个列,在其可见范围内搜索可能的源表 3. 建立列和表之间的对应关系 列查找规则: 1. 无表限定列(column): - 在当前SELECT的FROM子句中所有表中查找 - 如果多个表都有这个列,标记为不明确 2. 带表限定列(table.column): - 在FROM子句中查找指定的表 - 检查该表是否包含指定的列 3. 子查询中的列: - 先在子查询的FROM子句中查找 - 如果未找到,根据子查询类型决定是否查找外层查询 查找结果存储: - 在TObjectName.sourceTable中存储找到的表 - 在TObjectName.candidateTables中存储所有可能的表