[ https://issues.apache.org/jira/browse/FLINK-19076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leonard Xu closed FLINK-19076. ------------------------------ Resolution: Resolved master: cd65bbb7cc2ec2099d70375cc009215cf57afe13 > 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 > Components: Table SQL / Planner > 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)