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, 10 Mar 2015 23:21:03 GMT

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

(Updated March 10, 2015, 11:21 p.m.)


Review request for drill and Jacques Nadeau.


Changes
-------

Addresses all review comments except the refactoring to make drill track determinism instead
of randomness.


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/DrillFunctionRegistry.java 00aaec6

  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 e413921 
  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