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

Jingsong Lee reassigned FLINK-19076:
------------------------------------

    Assignee: Leonard Xu

> Import rule to deal Temporal Join condition
> -------------------------------------------
>
>                 Key: FLINK-19076
>                 URL: https://issues.apache.org/jira/browse/FLINK-19076
>             Project: Flink
>          Issue Type: Sub-task
>            Reporter: Leonard Xu
>            Assignee: Leonard Xu
>            Priority: Major
>
> Temporal join is a correlate, the right of correlate is a *Snapshot*, the 
> *period* of *snapshot* comes from left table's time attribute column. 
> the time attribute column may be pruned if the downstream `RelNode` did not 
> reference it any more, so I need to keep the necessary  condition(e.g., left 
> time attribute, right primary key) for temporal join node in join condition.
> Given an example:
> {code:java}
> SELECT o.order_id, o.currency, o.amount, r.rate,r.rowtime 
>  FROM orders_proctime AS o JOIN 
>  versioned_currency 
>  FOR SYSTEM_TIME AS OF o.rowtime as r 
>  ON o.currency = r.currency{code}
> The select clause did not use `o.rowtime` and thus the column `o.rowtime` 
> will be removed later, but we need the `o.rowtime` in temporal join node, so 
> I keep the `o.rowtime` in temporal join condition just like[1].
> [1] 
> [https://github.com/apache/flink/blob/c601cfd662c2839f8ebc81b80879ecce55a8cbaf/flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/utils/TemporalJoinUtil.scala]
>  
>  



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

Reply via email to