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



exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinUtils.java
<https://reviews.apache.org/r/30503/#comment116027>

    Is it better to use "equal", instead of "startsWith"? If someone put any 
string starts with "=" in the physical plan, will the code treat it as an 
EQUALS?



exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinUtils.java
<https://reviews.apache.org/r/30503/#comment116028>

    Same as the startsWith("=").



exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPrel.java
<https://reviews.apache.org/r/30503/#comment116031>

    In stead of convert the condition into string first, the call split(), can 
we check the condition is a SqlBinaryOperator and it's SqlKind is 
IS_NOT_DISTINCT_FROM?   Using string comparison sometimes could cause issue, 
when the sql parser/planner uses a different string for that operator.



exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPrel.java
<https://reviews.apache.org/r/30503/#comment116032>

    Same comment as in line 125.



exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java
<https://reviews.apache.org/r/30503/#comment116033>

    Because of this transformation of join, Drill will not be able to handle 
case without "group by", because it will convert into cartesian join.
    
    select a1, count(distinct a1), sum(b1) from t1;
    
    Maybe we should log a new issue for this particular case?


- Jinfeng Ni


On Feb. 2, 2015, 10:15 a.m., Aman Sinha wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30503/
> -----------------------------------------------------------
> 
> (Updated Feb. 2, 2015, 10:15 a.m.)
> 
> 
> Review request for drill, Jinfeng Ni and Mehant Baid.
> 
> 
> Bugs: DRILL-2092
>     https://issues.apache.org/jira/browse/DRILL-2092
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> For queries of the form SELECT a, COUNT(DISTINCT b), SUM(b) FROM T GROUP BY 
> a,  Calcite generates a plan where there are 2 subqueries each of which 
> corresponds to an aggregate function with group-by and the 2 subqeuries are 
> joined in the outer query block on the group-by columns.  This join-back uses 
> 'IS NOT DISTINCT FROM' rather than equality..e.g here's an extract from the 
> Explain: 
>       DrillJoinRel(condition=[AND(IS NOT DISTINCT FROM($0, $5), IS NOT 
> DISTINCT FROM($1, $6))], joinType=[inner])
> 
> The IS NOT DISTINCT FROM differs from '=' in terms of null handling.  null == 
> null is FALSE, whereas null IS NOT DISTINCT FROM null is TRUE.  This patch 
> handles the nulls for this comparator both during planning and execution 
> operations.
> 
> 
> Diffs
> -----
> 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/common/ChainedHashTable.java
>  fd6a3e2 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatch.java
>  4af0292 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinUtils.java
>  PRE-CREATION 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java
>  14bc094 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashJoinPrel.java
>  d9a7277 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/JoinPrel.java
>  d5473f2 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/MergeJoinPrel.java
>  f6b7ef6 
>   
> exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java
>  2b3ff50 
> 
> Diff: https://reviews.apache.org/r/30503/diff/
> 
> 
> Testing
> -------
> 
> Added new unit tests.  Ran unit tests, functional suite and tpch 100.
> 
> 
> Thanks,
> 
> Aman Sinha
> 
>

Reply via email to