drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aman Sinha" <asi...@maprtech.com>
Subject Re: Review Request 32945: DRILL-2715: Implement nested loop join operator
Date Thu, 09 Apr 2015 01:22:37 GMT

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



exec/java-exec/src/main/java/org/apache/drill/exec/physical/config/NestedLoopJoinPOP.java
<https://reviews.apache.org/r/32945/#comment128847>

    We could keep the join condition as a placeholder in the POP even though it will always
be TRUE based on current generated plans. In future we can enhance to handle equality/non-equality
etc.
    
    Also, keep the JoinType attribute to identify inner and outer joins..



exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/ExpandableHyperContainerContext.java
<https://reviews.apache.org/r/32945/#comment128846>

    It would be preferable to avoid creating wrapper class unless really necessary; could
the recordCounts be maintained in the ExpandableHyperContainer ?



exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java
<https://reviews.apache.org/r/32945/#comment128848>

    This says left batch, should be 'right' batch



exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinTemplate.java
<https://reviews.apache.org/r/32945/#comment128858>

    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 */


- Aman Sinha


On April 8, 2015, 12:27 a.m., Mehant Baid wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/32945/
> -----------------------------------------------------------
> 
> (Updated April 8, 2015, 12:27 a.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/ExpandableHyperContainerContext.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 
>   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