开发者社区> 问答> 正文

解析Join with Temporal Table语法,会自动加上LATERAL关键字是为什么?

  在用FlinkSqlParserImpl.FACTORY解析Flink DML SQL时,发现解析Join with Temporal Table语法,会自动加上LATERAL关键字,如下所示   LEFT JOIN         side_room FOR SYSTEM_TIME AS OF a1.proctime as a2     ON         a1.rowkey_room = a2.rowkey   解析后变成如下:   LEFT JOIN LATERAL side_room FOR SYSTEM_TIME AS OF a1.proctime AS a2 ON a1.rowkey_room = a2.rowkey      此SQL语法在Flink SQL中执行会报错如下:   Caused by: org.apache.flink.table.api.SqlParserException: SQL parse failed. Encountered "side_room" at line 7, column 19.   Was expecting one*来自志愿者整理的flink邮件归档 of:     "TABLE" ...     "(" ...     我的SqlParser.Config类定义如下:  private final SqlParser.Config config = SqlParser.configBuilder()             .setParserFactory(FlinkSqlParserImpl.FACTORY)             .setQuoting(Quoting.BACK_TICK)             .setUnquotedCasing(Casing.UNCHANGED)             .setQuotedCasing(Casing.UNCHANGED)             .setCaseSensitive(true)             .build();      不知道这个地方为什么会出现这种情况,或者是我这边使用方法不对?*来自志愿者整理的FLINK邮件归档

展开
收起
毛毛虫雨 2021-12-05 06:22:49 710 0
1 条回答
写回答
取消 提交回答
  • https://issues.apache.org/jira/browse/CALCITE-3603 这个是 Calcite 修复的链接,在 Calcite-1.22 版本中修复了。 Flink 是在1.11 版本中升级到了 Calcite-1.22: https://issues.apache.org/jira/browse/FLINK-14338

    所以可能你需要等待下 Flink 1.11, 或者可以拿 release-1.11 分支自己先编译一个。

    来自志愿者整理的flink邮件归档来自志愿者整理的FLINK邮件归档

    2021-12-05 10:48:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像