drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Altekruse" <altekruseja...@gmail.com>
Subject Re: Review Request 31871: 2406 - part 2 - (subset of 2060 part 2) enable interpreted expression evaluation at planning time
Date Tue, 17 Mar 2015 22:04:08 GMT

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

(Updated March 17, 2015, 10:04 p.m.)


Review request for drill and Jacques Nadeau.


Changes
-------

Added isDeterministic() to funtion holder, marked isRandom() as deprecated.


Bugs: DRILL-2406
    https://issues.apache.org/jira/browse/DRILL-2406


Repository: drill-git


Description
-------

To enable planning rules to take advantage of constant expressions in queries, or to allow
them to run queries against small datasets, such as partition information we need to e able
to evaluate expressions at planning time. Expression evaluation in the regular expecuation
path is relatively expensive, as it invovles java code generation, compilation and JITing
expression trees. An interpreted expression system was added recently to allow evaluating
an expression without generating java code at runtime. This patch exposes that work (after
some refactorings in 2143 and the first part of 2406) to the planning context for use in optimizer
rules.


Diffs (updated)
-----

  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFuncHolder.java 279c428

  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java fafc286

  exec/java-exec/src/main/java/org/apache/drill/exec/memory/BufferAllocator.java 30b905f 
  exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java 2a28bcb

  exec/java-exec/src/main/java/org/apache/drill/exec/ops/BufferManager.java PRE-CREATION 
  exec/java-exec/src/main/java/org/apache/drill/exec/ops/FragmentContext.java 108f5bb 
  exec/java-exec/src/main/java/org/apache/drill/exec/ops/QueryContext.java c881432 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java
f8d1803 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java
93fff35 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/InsertLocalExchangeVisitor.java
907fcb1 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlOperator.java 6b54c43

  exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java 409450f 
  exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java 4ab3cc0

  exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestLocalExchange.java
fc1c6b9 
  exec/java-exec/src/test/java/org/apache/drill/exec/pop/TestFragmentChecker.java 07d310a


Diff: https://reviews.apache.org/r/31871/diff/


Testing
-------

Cluster tests completed, waiting on unit tests.


Thanks,

Jason Altekruse


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