[ 
https://issues.apache.org/jira/browse/FLINK-22063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timo Walther updated FLINK-22063:
---------------------------------
    Issue Type: Bug  (was: New Feature)

> Lookup Join outputs wrong results for some scenario
> ---------------------------------------------------
>
>                 Key: FLINK-22063
>                 URL: https://issues.apache.org/jira/browse/FLINK-22063
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>    Affects Versions: 1.12.2
>            Reporter: Shuo Cheng
>            Priority: Major
>
> Reproduce the bug as following:
> In LookupJoinITCase, given the sql 
> {code:sql}
> SELECT 
>       T.id, T.len, D.id, T.content, D.name 
> FROM src AS T JOIN user_table for system_time as of T.proctime AS D 
> ON T.id = D.id and cast(T.len as bigint) = D.id
> {code}
> the following execution plan is generated:
> {code:java}
> LegacySink(name=[DataStreamTableSink], fields=[id, len, id0, content, name])
> +- Calc(select=[id, len, id0, content, name])
>    +- LookupJoin(table=[**], joinType=[InnerJoin], async=[false], 
> lookup=[id=len0], select=[id, len, content, len0, id, name])
>       +- Calc(select=[id, len, content, CAST(len) AS len0])
>          +- TableSourceScan(table=[[**]], fields=[id, len, content])
> {code}
> As we can see, the condition `T.id = D.id` is lost, so a wrong result may be 
> produced.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to