Matt Traynham created HIVE-10366:
------------------------------------
Summary: Multiple Date Functions inside Named Struct return the
wrong values
Key: HIVE-10366
URL: https://issues.apache.org/jira/browse/HIVE-10366
Project: Hive
Issue Type: Bug
Components: Hive
Affects Versions: 0.14.0
Reporter: Matt Traynham
Using multiple date functions inside a named struct results in incorrect
values. The first date function is correct. All subsequent date functions
receive the value of the first date function, unless the function has a
different valued argument.
As shown below, the 3rd query returns an incorrect value for `month(datetime)`.
A not so pleasant workaround is to substr datetime resulting in a different
value (4th query).
> DESCRIBE my_datamart;
OK
datetime string
> SELECT datetime FROM my_datamart LIMIT 1;
OK
2015-04-14T00:00:00
> SELECT named_struct('dayofmonth', day(datetime), 'monthofyear',
> month(datetime)), day(datetime), month(datetime) FROM my_datamart LIMIT 1;
OK
{"dayofmonth":14,"monthofyear":14} 14 4
> SELECT named_struct('dayofmonth', day(datetime), 'monthofyear',
> month(substr(datetime, 0, 10))), day(datetime), month(datetime) FROM
> my_datamart LIMIT 1;
OK
{"dayofmonth":14,"monthofyear":4} 14 4
I havn't tried all the other date functions, but this is happens with
weekofyear as well. Looks like a caching issue...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)