[alibaba/druid]获取最外层字段和其对应的表

2025-11-10 285 views
8

visitor能否提供获取最外层select所有字段与其对应的表。。。。。 我们需要解析presto、dorisdb、clickhouse、mysql等等。。。好烦啊。 现在的版本除了自己遍历语法树之外有没有简单点的方式? 还有一个问题,SQLUtils.parseStatements(sql, DbType.of(dbType));目前跑了一下dbtype=clickhouse、presto,好多sql里的关键字不支持,无法生成语法树,大佬们不维护了吗?

回答

3

druid项目的目标不是创建一个可复用的sql parser,你i可以考虑找一个专门的开源项目,或者自己用antlr,javacc之类的来搞起。

4

visitor能否提供获取最外层select所有字段与其对应的表。。。。。 我们需要解析presto、dorisdb、clickhouse、mysql等等。。。好烦啊。 现在的版本除了自己遍历语法树之外有没有简单点的方式? 还有一个问题,SQLUtils.parseStatements(sql, DbType.of(dbType));目前跑了一下dbtype=clickhouse、presto,好多sql里的关键字不支持,无法生成语法树,大佬们不维护了吗?

试试 #2910

8

哪怕加一个能区分出来是否是子查询的 的查询字段也好。