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

ASF GitHub Bot commented on FLINK-6094:
---------------------------------------

Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4471#discussion_r132230387
  
    --- Diff: 
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/util/UpdatingPlanChecker.scala
 ---
    @@ -56,17 +59,20 @@ object UpdatingPlanChecker {
       }
     
       /** Identifies unique key fields in the output of a RelNode. */
    -  private class UniqueKeyExtractor extends RelVisitor {
    -
    -    var keys: Option[Array[String]] = None
    +  private class UniqueKeyExtractor {
     
    -    override def visit(node: RelNode, ordinal: Int, parent: RelNode): Unit 
= {
    +    // visit() function will return a tuple, the first element of tuple is 
the key, the second is
    +    // the key's corresponding ancestor. Ancestors are used to identify 
same keys, for example:
    +    // select('pk as pk1, 'pk as pk2), both pk1 and pk2 have the same 
ancestor, i.e., pk.
    +    // A node having keys means: 1.it generates keys by itself 2.all 
ancestors from it's upstream
    +    // nodes have been preserved even though the ancestors have been 
duplicated.
    +    def visit(node: RelNode): Option[List[(String, String)]] = {
           node match {
             case c: DataStreamCalc =>
    -          super.visit(node, ordinal, parent)
    -          // check if input has keys
    -          if (keys.isDefined) {
    -            // track keys forward
    +          val keyAncestors = visit(node.getInput(0))
    --- End diff --
    
    `keyAncestors` -> `inputKeys`?


> Implement stream-stream proctime non-window  inner join
> -------------------------------------------------------
>
>                 Key: FLINK-6094
>                 URL: https://issues.apache.org/jira/browse/FLINK-6094
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table API & SQL
>            Reporter: Shaoxuan Wang
>            Assignee: Hequn Cheng
>
> This includes:
> 1.Implement stream-stream proctime non-window  inner join
> 2.Implement the retract process logic for join



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to