[ 
https://issues.apache.org/jira/browse/HIVE-20204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16548324#comment-16548324
 ] 

Jason Dere commented on HIVE-20204:
-----------------------------------

Looks like the following can be removed from ReturnObjectInspectorResolver, 
since HIVE-13380 has addressed this.
{code}
  protected static TypeInfo updateCommonTypeForDecimal(
      TypeInfo commonTypeInfo, TypeInfo ti, TypeInfo returnType) {
    /**
     * TODO: Hack fix until HIVE-5848 is addressed. non-exact type shouldn't be 
promoted
     * to exact type, as FunctionRegistry.getCommonClass() might do. This 
corrects
     * that.
     */
{code}

> Type conversion during IN () comparisons is using different rules from other 
> comparison operations
> --------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-20204
>                 URL: https://issues.apache.org/jira/browse/HIVE-20204
>             Project: Hive
>          Issue Type: Bug
>          Components: Types
>            Reporter: Jason Dere
>            Assignee: Jason Dere
>            Priority: Major
>
> Noticed this while looking at HIVE-20082.
> The type conversion done during GenericUDFIn (via 
> ReturnObjectInspectorResolver) uses FunctionRegistry.getCommonClass(), 
> whereas the other comparison operators (=, <, >, <=, >=) use 
> FunctionRegistry.getCommonClassForComparison(). As a result, dec_column IN 
> ('1.1', '2.2') compares the values as strings, whereas dec_column = '1.1' 
> would compare the values as doubles. This makes a difference for HIVE-20082 
> since it is related to changing the 0-padding during decimal-to-string 
> conversions.
> cc [~ashutoshc]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to