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