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

Leonard Xu updated FLINK-19830:
-------------------------------
    Description: 
The exsiting TemporalProcessTimeJoinOperator has already supported temporal 
table join.
 However, the semantic of this implementation is problematic, because the join 
processing for left stream doesn't wait for the complete snapshot of temporal 
table, this may mislead users in production environment.

Under the processing time temporal join semantics, to get the complete snapshot 
of temporal table may need introduce new mechanism in FLINK SQL in the future.

**Background** : 
 * The reason why we turn off the switch[1] for `FOR SYSTEM_TIME AS OF` syntax 
for *temporal table join* is only the semantic consideration as above.
 * The reason why we turn on *temporal table function*  is that it has been 
alive for a long time, thus although it exists same semantic problem, but we 
still support it from the perspective of compatibility.

[1] 
[https://github.com/apache/flink/blob/4fe9f525a92319acc1e3434bebed601306f7a16f/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/stream/StreamExecTemporalJoin.java#L257]

  was:
The exsiting TemporalProcessTimeJoinOperator has already supported temporal 
table join.
However, the semantic of this implementation is problematic, because the join 
processing for left stream doesn't wait for the complete snapshot of temporal 
table, this may mislead users in production environment.

Under the processing time temporal join semantics, to get the complete snapshot 
of temporal table may need introduce new mechanism in FLINK SQL in the future.

Why we didn't open the 开关
[1] 
https://github.com/apache/flink/blob/4fe9f525a92319acc1e3434bebed601306f7a16f/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/stream/StreamExecTemporalJoin.java#L257




> Properly implements processing-time temporal table join
> -------------------------------------------------------
>
>                 Key: FLINK-19830
>                 URL: https://issues.apache.org/jira/browse/FLINK-19830
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / Runtime
>            Reporter: Leonard Xu
>            Priority: Major
>             Fix For: 1.15.0
>
>
> The exsiting TemporalProcessTimeJoinOperator has already supported temporal 
> table join.
>  However, the semantic of this implementation is problematic, because the 
> join processing for left stream doesn't wait for the complete snapshot of 
> temporal table, this may mislead users in production environment.
> Under the processing time temporal join semantics, to get the complete 
> snapshot of temporal table may need introduce new mechanism in FLINK SQL in 
> the future.
> **Background** : 
>  * The reason why we turn off the switch[1] for `FOR SYSTEM_TIME AS OF` 
> syntax for *temporal table join* is only the semantic consideration as above.
>  * The reason why we turn on *temporal table function*  is that it has been 
> alive for a long time, thus although it exists same semantic problem, but we 
> still support it from the perspective of compatibility.
> [1] 
> [https://github.com/apache/flink/blob/4fe9f525a92319acc1e3434bebed601306f7a16f/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/stream/StreamExecTemporalJoin.java#L257]



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

Reply via email to