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

Ship it!


Ship It!

- Jinfeng Ni


On April 26, 2014, 12:40 a.m., Mehant Baid wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/20742/
> -----------------------------------------------------------
> 
> (Updated April 26, 2014, 12:40 a.m.)
> 
> 
> Review request for drill, Jacques Nadeau and Jinfeng Ni.
> 
> 
> Bugs: DRILL-577
>     https://issues.apache.org/jira/browse/DRILL-577
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> Currently implicit cast works as per the precedence rules. However based on 
> some functions it might be useful allow the implicit cast to work in the 
> opposite direction as specified by the precedence map.
> For example: As per the precedence rules, we can implicitly cast from VARCHAR 
> ---> BIGINT. However for some functions (eg: substr, concat) it might be 
> useful to implicitly cast from BIGINT ---> VARCHAR.
> 
> ResolverTypePrecedence.java:
> Added a new set of secondary rules that allow for implicit cast to work in 
> the other direction. Currently these secondary set of rules only allow to 
> cast to VARCHAR, so we don't have cost, if we add more rules here we can add 
> cost to determine which cast function to pick. 
> 
> ExpressionTreeMaterializer.java: 
> Fixed bug in visitFunctionCall() that does not add an argument(length) while 
> casting to variable width types
> 
> TypeCastRules.java
> Added logic to see if we can apply implicit cast based on the secondary rules 
> while matching a given call to a DrillFuncHolder.
> 
> 
> Diffs
> -----
> 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/ExpressionTreeMaterializer.java
>  a602d82 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/resolver/ResolverTypePrecedence.java
>  f6d83e2 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/resolver/TypeCastRules.java
>  3aab08f 
>   
> exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestReverseImplicitCast.java
>  PRE-CREATION 
>   exec/java-exec/src/test/resources/functions/cast/two_way_implicit_cast.json 
> PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/20742/diff/
> 
> 
> Testing
> -------
> 
> Added test to check that implicit cast works both ways.
> 
> 8 + '2'
> substr(10123, 1, 3)
> 
> 
> Thanks,
> 
> Mehant Baid
> 
>

Reply via email to