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

(Updated Sept. 22, 2014, 6:26 p.m.)


Review request for drill and Steven Phillips.


Changes
-------

Revise code based on code reivew comments:

1.  Remove the new method (getType) added to ValueHolder. Use a utility method 
to get type for a ValueHolder.
2.  In interpreter, the interpreter for a function will be created once per 
record batch, not per each row. However, the doSetup() method will still be 
called for each row. This is partially due to the fact that some function 
templates references a non-constant parameter in setup() method. We need fix 
the existing function templates first, and add logic to enforce such check when 
doing convertion for function template. 
3.  Modify class name typo. 


Repository: drill-git


Description
-------

This patch provides the interpreted model to evaluate a Drill expression, 
consists of constants, DrillSimpleFunction, Case Expression, Boolean operator. 

It does not switch the existing Drill's execution framework to this new model. 
As the next step of work, we will modify the existing ProjectRecordBatch / 
FilterRecordBatch, such that the projected expression, or filter expression 
would use this interpreted model, when necessary.

In this patch, the only way to use this new interpreted model is to through 
unit test ( see ExpressionInterpreterTest.java for example).

We add a new mvn module under drill_root/exec. The new module is the place 
where all the static function interpreters will be generated into, and 
compiled, during maven build process. 


Diffs (updated)
-----

  exec/interpreter/pom.xml PRE-CREATION 
  
exec/interpreter/src/test/java/org/apache/drill/exec/expr/ExpressionInterpreterTest.java
 PRE-CREATION 
  exec/java-exec/src/main/codegen/templates/TypeHelper.java 9bb2507 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillBooleanOPHolder.java
 9032d37 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFuncHolder.java 
1852731 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java
 4731200 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java
 402a6fc 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/DrillFuncInterpreter.java
 PRE-CREATION 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/DrillSimpleFuncInterpreter.java
 PRE-CREATION 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterBuilder.java
 PRE-CREATION 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterEvalator.java
 PRE-CREATION 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterGenerator.java
 PRE-CREATION 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/ComplexHolder.java
 e1025df 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/RepeatedListHolder.java
 09746da 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/RepeatedMapHolder.java
 247f75e 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/ValueHolder.java
 5c2adc6 
  
exec/java-exec/src/main/java/org/apache/drill/exec/vector/ValueHolderHelper.java
 31afb6f 
  exec/pom.xml fe2a75e 

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


Testing
-------

1. Run existing JUnit test suite.

2. Add a new ExpressionInterpreterTest.java.


Thanks,

Jinfeng Ni

Reply via email to