[ https://issues.apache.org/jira/browse/HIVE-15291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15702274#comment-15702274 ]
Peter Vary edited comment on HIVE-15291 at 11/28/16 3:50 PM: ------------------------------------------------------------- Thanks for catching this issue! [~dhiraj.kumar]: Do you mind adding a unit test for this case as well, so it will not cause any problems later on? Thanks, Peter was (Author: pvary): [~dhiraj.kumar]: Do you mind adding a unit test for this case as well? Thanks, Peter > Comparison of timestamp fails if only date part is provided. > ------------------------------------------------------------- > > Key: HIVE-15291 > URL: https://issues.apache.org/jira/browse/HIVE-15291 > Project: Hive > Issue Type: Bug > Components: Hive, UDF > Affects Versions: 2.1.0 > Reporter: Dhiraj Kumar > Attachments: HIVE-15291.1.patch > > > Summary : If a query needs to compare two timestamp with one timestamp > provided in "YYYY-MM-DD" format and skipping the time part, it returns > incorrect result. > Steps to reproduce : > 1. Start a hive-cli. > 2. Fire up the query -> select cast("2016-12-31 12:00:00" as timestamp) > > "2016-12-30"; > 3. Expected result : true > 4. Actual result : NULL > Detailed description : > If two primitives of different type needs to compared, a common comparator > type is chosen. Prior to 2.1, Common type Text was chosen to compare > Timestamp type and Text type. > In version 2.1, Common type Timestamp is chosen to compare Timestamp type and > Text type. This leads to converting Text type (YYYY-MM-DD) to be converted > into java.sql.Timestamp which throws Exception saying the input is not in > proper format. The exception is suppressed and a null is returned. > Code below from org.apache.hadoop.hive.ql.exec.FunctionRegistry > {code:java} > if (pgA == PrimitiveGrouping.STRING_GROUP && pgB == > PrimitiveGrouping.DATE_GROUP) { > return b; > } > // date/timestamp is higher precedence than String_GROUP > if (pgB == PrimitiveGrouping.STRING_GROUP && pgA == > PrimitiveGrouping.DATE_GROUP) { > return a; > } > {code} > The bug was introduced in > [HIVE-13381|https://issues.apache.org/jira/browse/HIVE-13381] -- This message was sent by Atlassian JIRA (v6.3.4#6332)