Slim Bouguerra created HIVE-22476: ------------------------------------- Summary: Hive datediff function provided inconsistent results when hive.fetch.task.conversion is set to none Key: HIVE-22476 URL: https://issues.apache.org/jira/browse/HIVE-22476 Project: Hive Issue Type: Bug Reporter: Slim Bouguerra Assignee: Slim Bouguerra
The actual issue stems to the different date parser used by various part of the engine. Fetch task uses udfdatediff via {code} org.apache.hadoop.hive.ql.udf.generic.GenericUDFToDate{code} while the vectorized llap execution uses {code}VectorUDFDateDiffScalarCol{code}. This fix is meant to be not very intrusive and will add more support to the GenericUDFToDate by enhancing the parser. For the longer term will be better to use one parser for all the operators. Thanks [~Rajkumar Singh] for the repro example {code} create external table testdatediff(datetimecol string) stored as orc; insert into testdatediff values ('2019-09-09T10:45:49+02:00'),('2019-07-24'); select datetimecol from testdatediff where datediff(cast(current_timestamp as string), datetimecol)<183; set hive.ferch.task.conversion=none; select datetimecol from testdatediff where datediff(cast(current_timestamp as string), datetimecol)<183; {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)