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

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

Github user wuchong commented on the issue:

    https://github.com/apache/flink/pull/2159
  
    Hi @fhueske,  that's a good idea to use CoGroup instead of Join.  I updated 
the PR according to your advice. Meanwhile, I updated the document too (correct 
me if I describe wrong). 
    
    NOTE:
    
    1. use CoGroup instead of Join,  no code gen.
    1. add INTERSECT related tests into UnionITCase, and rename it to 
`SetOperatorsITCase`
    2. remove INTERSECT Java API tests 
    3. add the `intersectAll` function to `Table`
    4. mark `testIntersectAll` as `@ignore` in `sql/SetOperatorsITCase`, 
because calcite sql parser doesn't support INTERSECT ALL, it will throw the 
following exception:
    
    ```
    java.lang.AssertionError: Internal error: set operator INTERSECT ALL not 
suported
    
      at org.apache.calcite.util.Util.newInternal(Util.java:777)
      at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertSetOp(SqlToRelConverter.java:2920)
      at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2885)
      at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:582)
      at 
org.apache.flink.api.table.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:114)
      at 
org.apache.flink.api.table.BatchTableEnvironment.sql(BatchTableEnvironment.scala:132)
      at 
org.apache.flink.api.scala.batch.sql.SetOperatorsITCase.testIntersectAll(SetOperatorsITCase.scala:169)
    ```
    



> Add support for INTERSECT
> -------------------------
>
>                 Key: FLINK-3942
>                 URL: https://issues.apache.org/jira/browse/FLINK-3942
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table API & SQL
>    Affects Versions: 1.1.0
>            Reporter: Fabian Hueske
>            Assignee: Jark Wu
>            Priority: Minor
>
> Currently, the Table API and SQL do not support INTERSECT.
> INTERSECT can be executed as join on all fields.
> In order to add support for INTERSECT to the Table API and SQL we need to:
> - Implement a {{DataSetIntersect}} class that translates an INTERSECT into a 
> DataSet API program using a join on all fields.
> - Implement a {{DataSetIntersectRule}} that translates a Calcite 
> {{LogicalIntersect}} into a {{DataSetIntersect}}.
> - Extend the Table API (and validation phase) to provide an intersect() 
> method.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to