hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hari Sankar Sivarama Subramaniyan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-11493) Predicate with integer column equals double evaluates to false
Date Fri, 07 Aug 2015 00:01:09 GMT

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

Hari Sankar Sivarama Subramaniyan commented on HIVE-11493:
----------------------------------------------------------

Looks like this is happening because of  https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java#L1036

The TypeCheckProcFactory thinks the type of double doesnt match with Column type int, hence
this predicate = false.
Incase of -10.0, we have a intermediate GenericUDFOPNegative node between the equals node
and the value node. This prevents us from even entering the above code path all together.

One possible fix might be to cast the value in case the columnType does not correspond to
the the value type using the correct object inspector converter.

Thanks
Hari

> Predicate with integer column equals double evaluates to false
> --------------------------------------------------------------
>
>                 Key: HIVE-11493
>                 URL: https://issues.apache.org/jira/browse/HIVE-11493
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: Prasanth Jayachandran
>            Assignee: Pengcheng Xiong
>            Priority: Blocker
>
> Filters with integer column equals double constant evaluates to false everytime. Negative
double constant works fine.
> {code:title=explain select * from orc_ppd where t = 10.0;}
> OK
> Stage-0
>    Fetch Operator
>       limit:-1
>       Select Operator [SEL_2]
>          outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
>          Filter Operator [FIL_1]
>             predicate:false (type: boolean)
>             TableScan [TS_0]
>                alias:orc_ppd
> {code}
> {code:title=explain select * from orc_ppd where t = -10.0;}
> OK
> Stage-0
>    Fetch Operator
>       limit:-1
>       Select Operator [SEL_2]
>          outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
>          Filter Operator [FIL_1]
>             predicate:(t = (- 10.0)) (type: boolean)
>             TableScan [TS_0]
>                alias:orc_ppd
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message