> On April 10, 2016, 10:12 p.m., Jason Dere wrote:
> > ql/src/test/org/apache/hadoop/hive/ql/exec/TestFunctionRegistry.java, line 
> > 92
> > <https://reviews.apache.org/r/45697/diff/2/?file=1325411#file1325411line92>
> >
> >     Since constant floating point values are in double, are there any big 
> > behavior changes here?
> >     
> >     - Comparisons (for example decimal_col = 12.5): I guess this means the 
> > comparison is done as double. I suspect this will affect ORC PPD because 
> > the column would need to be converted to double. Unless the constant value 
> > is converted to decimal constant (12.5BD). This could also be fixed by 
> > changing the Hive constant rules so that floating point constants are 
> > treated as Decimal types rather than double.
> >     
> >     - Does this affect IN clauses? I guess it's similar to comparison in 
> > that the comparison will now be done as doubles.
> >     
> >     - Table inserts from double into a decimal column will have an 
> > explicity cast to decimal, so that is ok.
> >     
> >     - I guess if there is an old-style UDF that only has a Decimal 
> > implementation, we would probably want to have a double version as well. I 
> > don't know if any such UDFs actually exist, if there was only one version 
> > of the UDF they usually have Double args.
> >     
> >     - Are there any other cases to think about that get affected by this 
> > change?

* yeah you are right since comparison will happen in double, casts need to be 
placed on decimal_col. However, for expression like double_col = 12.5BD after 
the patch there will be no implicit cast on column, so we will enable those 
patterns without cast.
* Yeah for IN also if both double & decimal are present, than comparison will 
happen in double. However, I noticed that In uses getCommonClass() instead of 
getCommonClassForComparison(). That needs to be corrected. Also 
GenericUDFUtils::update() has a hack involving decimal/double type which should 
no longer be necessary adter this change.
* Correct, inserts into decimal from double will need explicit cast.
* One such I came across was UDFSign, there might be more.
* This is all I can think of.


- Ashutosh


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


On April 5, 2016, 1:23 a.m., Ashutosh Chauhan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45697/
> -----------------------------------------------------------
> 
> (Updated April 5, 2016, 1:23 a.m.)
> 
> 
> Review request for hive and Jason Dere.
> 
> 
> Bugs: HIVE-13380
>     https://issues.apache.org/jira/browse/HIVE-13380
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> Additionally, string should not be allowed to implictly cast to decimal since 
> there can be loss of precision there.
> 
> 
> Diffs
> -----
> 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSign.java 022b130 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/TestFunctionRegistry.java 
> 8488c21 
>   
> ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPMinus.java 
> 771a6c7 
>   
> ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPMultiply.java
>  696682f 
>   ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFOPPlus.java 
> eba4894 
>   ql/src/test/queries/clientpositive/alter_partition_change_col.q 6861ca2 
>   ql/src/test/queries/clientpositive/alter_table_cascade.q 479fda4 
>   ql/src/test/results/clientpositive/perf/query32.q.out f9cfd69 
>   ql/src/test/results/clientpositive/perf/query65.q.out 37bb1b3 
>   ql/src/test/results/clientpositive/perf/query75.q.out 25a8776 
>   ql/src/test/results/clientpositive/perf/query89.q.out 0cda449 
>   ql/src/test/results/clientpositive/tez/vector_decimal_expressions.q.out 
> 2976cb5 
>   ql/src/test/results/clientpositive/udf_greatest.q.out 47cfb3f 
>   ql/src/test/results/clientpositive/udf_least.q.out 2363abe 
>   ql/src/test/results/clientpositive/vector_decimal_expressions.q.out 3ca326d 
>   serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java 
> d3bb4e4 
> 
> Diff: https://reviews.apache.org/r/45697/diff/
> 
> 
> Testing
> -------
> 
> Regression suite
> 
> 
> Thanks,
> 
> Ashutosh Chauhan
> 
>

Reply via email to