drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mehant Baid" <baid.meh...@gmail.com>
Subject Re: Review Request 32945: DRILL-2715: Implement nested loop join operator
Date Thu, 09 Apr 2015 21:07:12 GMT


> On April 9, 2015, 1:22 a.m., Aman Sinha wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinTemplate.java,
lines 93-94
> > <https://reviews.apache.org/r/32945/diff/1/?file=920309#file920309line93>
> >
> >     Will this loop work for left outer join ?  Suppose the right input is empty,
we still want to produce all left rows.  e.g in the following example query: 
> >       SELECT * FROM t1 
> >        LEFT OUTER JOIN
> >       (SELECT * FROM t2 WHERE 1=0) 
> >       ON 1=1  /* for  cartesian join */

Yes, currently we will not output any rows. But like discussed, we wouldn't use NLJ for generic
outer joins anyways as the filter above would filter out the rows not conforming to the join
condition. For outer joins we will use NLJ only with scalar sub queries.


- Mehant


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/32945/#review79455
-----------------------------------------------------------


On April 9, 2015, 9:03 p.m., Mehant Baid wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/32945/
> -----------------------------------------------------------
> 
> (Updated April 9, 2015, 9:03 p.m.)
> 
> 
> Review request for drill and Aman Sinha.
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> This patch implements the nested loop join operator. The main changes are in the files
NestedLoopJoinBatch and NestedLoopJoinTemplate. This patch only contains the execution changes.
Planning patch will be posted in a separate review request by Aman.
> 
> 
> Diffs
> -----
> 
>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/AbstractPhysicalVisitor.java
27b0ecb 
>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/PhysicalVisitor.java
e6a89d0 
>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/NestedLoopJoinPOP.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoin.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatchCreator.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinTemplate.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/record/ExpandableHyperContainer.java
90310e2 
>   protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java 9a9d196 
>   protocol/src/main/protobuf/UserBitShared.proto 5e44655 
> 
> Diff: https://reviews.apache.org/r/32945/diff/
> 
> 
> Testing
> -------
> 
> The tests are dependent on the planning changes, hence not uploaded as part of this patch.
However https://github.com/mehant/drill/blob/notin_1/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/join/TestNestedLoopJoin.java
is a working branch that contains a bunch of tests (planning & execution) added for nested
loop join.
> 
> 
> Thanks,
> 
> Mehant Baid
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message