[
https://issues.apache.org/jira/browse/FLINK-16578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17058395#comment-17058395
]
Jark Wu commented on FLINK-16578:
---------------------------------
Do we have to wait Calcite 1.23? Is that possible to fix in Flink side
temporary?
> join lateral table function with condition fails with exception
> ---------------------------------------------------------------
>
> Key: FLINK-16578
> URL: https://issues.apache.org/jira/browse/FLINK-16578
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Affects Versions: 1.10.0
> Reporter: Shuo Cheng
> Priority: Major
>
> Reproducing:
>
> {code:java}
> // CorrelateITCase.scala
> @Test
> def testJoinTableFunction(): Unit = {
> registerFunction("func", new TableFunc2)
> val sql =
> """
> | select
> | c, s, l
> | from inputT JOIN LATERAL TABLE(func(c)) as T(s, l)
> | on s = c
> |""".stripMargin
> checkResult(sql, Seq())
> }
> {code}
> The it case will be failed with exception: "Cannot generate a valid execution
> plan for the given query".
> Firstly, for the given sql, the logical plan produced by SqlToRelConvert is
> already wrong, which is a bug introduced by CALCITE-2004, and fixed in
> CALCITE-3847 (fixed versions 1.23).
> Secondly, even after the fix, we may fail in
> `FlinkCorrelateVariablesValidationProgram`, because after decorrelating,
> there exists correlate variable in a `LogicalFilter`. we should fix the
> validation problem.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)