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

(Updated Feb. 9, 2014, 11:48 p.m.)


Review request for drill.


Changes
-------

Fixed import problem, added back previously commented out logic in the function 
resolver.


Repository: drill-git


Description
-------

Added custom null handling for hash functions, to override the privies 
NULL_IF_NULL handling. Added Integer and Float literals to the logical 
expression package and corresponding methods in the various visitor 
implementations. Also added new Hash functions for double and float values 
based on the doubleToLongBits and floatToIntBits methods in the corresponding 
boxed primitive classes together with the previously used murmur3_128 hash 
algorithm used for plain Ints and Longs.

To enable the correct function resolution the cost calculation in the 
DefaultFunctionResolver was modified slightly. It now gives a higher cost to 
functions that take a nullable value, and have internal null handling, when a 
non-nullable is provided as an argument. As these functions will have to make a 
null check on each value, we want to avoid the null check and choose an 
implementation of the function designed specifically for non-null values if 
available.


Diffs (updated)
-----

  
common/src/main/java/org/apache/drill/common/expression/ExpressionValidator.java
 11d97e8 
  common/src/main/java/org/apache/drill/common/expression/ValueExpressions.java 
9137356 
  
common/src/main/java/org/apache/drill/common/expression/visitors/AbstractExprVisitor.java
 711bdb8 
  
common/src/main/java/org/apache/drill/common/expression/visitors/AggregateChecker.java
 128f284 
  
common/src/main/java/org/apache/drill/common/expression/visitors/ConstantChecker.java
 02ce231 
  
common/src/main/java/org/apache/drill/common/expression/visitors/ExprVisitor.java
 db34ab7 
  
common/src/main/java/org/apache/drill/common/expression/visitors/SimpleExprVisitor.java
 65a939b 
  
exec/java-exec/src/main/java/org/apache/drill/exec/compile/sig/ConstantExpressionIdentifier.java
 46dbbe9 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/ExpressionTreeMaterializer.java
 36433ad 
  
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/HashFunctions.java
 76683f3 
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/IsNull.java 
a042a5a 
  
exec/java-exec/src/main/java/org/apache/drill/exec/resolver/ResolverTypePrecedence.java
 26ac961 
  
exec/java-exec/src/main/java/org/apache/drill/exec/resolver/TypeCastRules.java 
b16d1ff 
  
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFunctions.java
 25daa7a 
  
exec/ref/src/main/java/org/apache/drill/exec/ref/eval/SimpleEvaluationVisitor.java
 1b04880 

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


Testing
-------


Thanks,

Jason Altekruse

Reply via email to