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)