[ 
https://issues.apache.org/jira/browse/FLINK-16578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17058390#comment-17058390
 ] 

Shuo Cheng commented on FLINK-16578:
------------------------------------

cc [~jark], [~danny0405]

> 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)

Reply via email to