[ https://issues.apache.org/jira/browse/FLINK-3943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15356188#comment-15356188 ]
ASF GitHub Bot commented on FLINK-3943: --------------------------------------- Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/2169#discussion_r69047875 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/table.scala --- @@ -426,6 +426,49 @@ class Table( } /** + * Set minus between two [[Table]]s. Similar to an SQL EXCEPT ALL. + * The fields of the two minus operands must fully overlap. + * + * Note: Both tables must be bound to the same [[TableEnvironment]]. + * + * Example: + * + * {{{ + * left.minusAll(right) + * }}} + */ + def minusAll(right: Table): Table = { + // check that right table belongs to the same TableEnvironment + if (right.tableEnv != this.tableEnv) { + throw new ValidationException("Only tables from the same TableEnvironment can be unioned.") + } + new Table(tableEnv, SetMinus(logicalPlan, right.logicalPlan, true).validate(tableEnv)) + } + + /** + * Perform set minus between [[Table]]s with duplicate records removed. --- End diff -- Please describe the semantics of minus all in more detail: - records of the first table are returned - how many identical records are returned > Add support for EXCEPT (set minus) > ---------------------------------- > > Key: FLINK-3943 > URL: https://issues.apache.org/jira/browse/FLINK-3943 > Project: Flink > Issue Type: New Feature > Components: Table API & SQL > Affects Versions: 1.1.0 > Reporter: Fabian Hueske > Assignee: Ivan Mushketyk > Priority: Minor > > Currently, the Table API and SQL do not support EXCEPT. > EXCEPT can be executed as a coGroup on all fields that forwards records of > the first input if the second input is empty. > In order to add support for EXCEPT to the Table API and SQL we need to: > - Implement a {{DataSetMinus}} class that translates an EXCEPT into a DataSet > API program using a coGroup on all fields. > - Implement a {{DataSetMinusRule}} that translates a Calcite {{LogicalMinus}} > into a {{DataSetMinus}}. > - Extend the Table API (and validation phase) to provide an except() method. -- This message was sent by Atlassian JIRA (v6.3.4#6332)