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 30697: Drill-2060 - part 2 - constant expression folding during planning
Date Wed, 25 Mar 2015 00:55:30 GMT

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



exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceExpressionsRule.java
<https://reviews.apache.org/r/30697/#comment125873>

    You could have a single function createEmptyRelOrEquivalent(cluster, traitset, child...)
that could be invoked for both FilterRel and CalcRel.



exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/easy/EasyGroupScan.java
<https://reviews.apache.org/r/30697/#comment125884>

    I feel that the estRowCount should use a formula that is consistent - in this case the
formula is data/<row size>.  This will reduce chances of introducing unintended side
effects.  So, instead of using the number of chunks, could we scale down the denominator until
we get a non-zero estRowCount ? 
    
    Also, I would be in favor of treating this as a separate jira since it was exposed by
partition pruning.


- Aman Sinha


On March 24, 2015, 4:53 p.m., Jason Altekruse wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30697/
> -----------------------------------------------------------
> 
> (Updated March 24, 2015, 4:53 p.m.)
> 
> 
> Review request for drill, Aditya Kishore, Aman Sinha, Jacques Nadeau, Jinfeng Ni, Mehant
Baid, and Parth Chandra.
> 
> 
> Bugs: DRILL-2060
>     https://issues.apache.org/jira/browse/DRILL-2060
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> THIS REQUEST HAS BEEN BROKEN INTO TWO REVIEWS:
> - I had to make a fairly substandial change to the interpreteed expression evaluation
to make the tests work.
> 
> Use a small modification of a rule in optiq and hook up the interpreted expression evaluator
to fold constant expressions (including those with Drill UDFs) into literals. Fragment memory
limits have been disabled, a more complete refactoring of memory management is planned, the
changes made here were to allow the creation of a childAllocator without access to a fragment
context. I have added two comments next to the modifiations I made to the optiq rule for our
use case.
> 
> 
> Diffs
> -----
> 
>   contrib/storage-hive/core/src/main/java/org/apache/drill/exec/planner/sql/HiveUDFOperator.java
7524690 
>   exec/java-exec/src/main/java/io/netty/buffer/DrillBuf.java d87fb76 
>   exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java
32cf362 
>   exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/StringFunctionHelpers.java
3b1d7ef 
>   exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterEvaluator.java
35c35ec 
>   exec/java-exec/src/main/java/org/apache/drill/exec/ops/BufferManager.java 536f6fd 
>   exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillConstExecutor.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceExpressionsRule.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java
b1a7189 
>   exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PlannerSettings.java
f320157 
>   exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java
710418b 
>   exec/java-exec/src/main/java/org/apache/drill/exec/server/options/SystemOptionManager.java
608fac7 
>   exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/easy/EasyGroupScan.java
54cad56 
>   exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java e673230 
>   exec/java-exec/src/test/java/org/apache/drill/TestProjectPushDown.java cbb5c6e 
>   exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java
72ad31a 
>   exec/java-exec/src/test/java/org/apache/drill/exec/fn/interp/TestConstantFolding.java
PRE-CREATION 
>   exec/java-exec/src/test/resources/parquet/alltypes.json PRE-CREATION 
>   pom.xml 05573a1 
> 
> Diff: https://reviews.apache.org/r/30697/diff/
> 
> 
> Testing
> -------
> 
> This is a work in progress, some testing has been done, no full unit test run yet
> 
> 
> Thanks,
> 
> Jason Altekruse
> 
>


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