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

Hudson commented on PHOENIX-167:
--------------------------------

SUCCESS: Integrated in Phoenix | Master #402 (See 
[https://builds.apache.org/job/Phoenix-master/402/])
PHOENIX-167 Support semi/anti-joins (maryannxue: rev 
909d975960f4592e75fb3fdb6c2d0cecd2d51f1d)
* phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/UnsupportedAllParseNodeVisitor.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/SubqueryRewriter.java
* 
phoenix-core/src/test/java/org/apache/phoenix/compile/JoinQueryCompilerTest.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeVisitor.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/BooleanParseNodeVisitor.java
* phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
* phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/StatementNormalizer.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/QueryCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/exception/SQLExceptionCode.java
* phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeRewriter.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/WhereOptimizer.java
* phoenix-core/src/main/antlr3/PhoenixSQL.g
* phoenix-core/src/main/java/org/apache/phoenix/parse/ExistsParseNode.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/JoinTableNode.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/TraverseAllParseNodeVisitor.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/StatelessTraverseAllParseNodeVisitor.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/HashJoinRegionScanner.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/JoinCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/parse/TraverseNoParseNodeVisitor.java


> Support semi/anti-joins
> -----------------------
>
>                 Key: PHOENIX-167
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-167
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: Maryann Xue
>              Labels: enhancement
>         Attachments: 167-2.patch, 167.patch
>
>
> A semi-join between two tables returns rows from the first table where one or 
> more matches are found in the second table. The difference between a 
> semi-join and a conventional join is that rows in the first table will be 
> returned at most once. Even if the second table contains two matches for a 
> row in the first table, only one copy of the row will be returned. Semi-joins 
> are written using the EXISTS or IN constructs.
> An anti-join is the opposite of a semi-join and is written using the NOT 
> EXISTS or NOT IN constructs.
> There's a pretty good write-up [here] 
> (http://www.dbspecialists.com/files/presentations/semijoins.html) on 
> semi/anti joins.



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

Reply via email to