如何在Babel分析器中添加“横向视图爆炸”之类的关键字

时间:2019-10-17 18:00:54

标签: sql apache-calcite

我想将SQL语句(ANSI SQL或HiveQL)解析为等效的AST。当我尝试使用其中的“横向视图爆炸”关键字解析语句时,这是一种有效的HiveQL语法,Babel失败,出现ParseException。将这些作为关键字添加到Babel的默认关键字列表中也无济于事。有人可以指出一个类似的例子吗?

1 个答案:

答案 0 :(得分:0)

方解石确实支持侧向关键字,但不支持“视图爆炸”关键字。 https://github.com/apache/calcite/blob/master/core/src/main/codegen/templates/Parser.jj#L2083

您可以扩展解析器,并且可以使用自由标记支持来跳过不受支持的关键字(我自己还没有尝试过): https://calcite.apache.org/docs/adapter.html#extending-the-parser

但是,如果您需要通过相应的SqlNode实现来访问它,则需要修改核心模块,因此需要贡献。

有关parser.jj的更多信息: https://stackoverflow.com/a/44467850/1332098