【发布时间】:2017-08-16 08:44:45
【问题描述】:
Select a,b,c from d where d.id in (select id from (select id from e))
以上是我想使用方解石解析的示例查询。
【问题讨论】:
标签: apache-calcite
Select a,b,c from d where d.id in (select id from (select id from e))
以上是我想使用方解石解析的示例查询。
【问题讨论】:
标签: apache-calcite
String query = "Select a,b,c from d where d.id in (select id from (select id from e))";
try {
SqlParser parser = SqlParser.create(query);
SqlNode sqlNode = parser.parseQuery();
sqlNode.accept(new SqlAnalyzer());
} catch (SqlParseException e) {
e.printStackTrace();
}
通过上面的代码,您可以使用 Calcite 来解析 SQL 查询,您将获得解析树。为了真正使用树,您需要通过实现org.apache.calcite.sql.util.SqlVisitor 接口来使用访问者模式。
【讨论】: