[
https://issues.apache.org/jira/browse/HIVE-8930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14220185#comment-14220185
]
Gopal V commented on HIVE-8930:
-------------------------------
Running
{code}
SELECT
ROUND(sum(COALESCE(cast(call_duration as int), 0))/60, 2) as SwitchMOU
from xx
GROUP BY call_type;
{code}
produces the expected result, since the COALESCE() is between 2 integers now.
> Vector coalesce operators should push down casts
> ------------------------------------------------
>
> Key: HIVE-8930
> URL: https://issues.apache.org/jira/browse/HIVE-8930
> Project: Hive
> Issue Type: Bug
> Components: Vectorization
> Affects Versions: 0.14.0, 0.13.1
> Reporter: Gopal V
> Assignee: Jitendra Nath Pandey
>
> {code}
> set hive.vectorized.execution.enabled=true;
> create temporary table xx (call_duration string, call_type string) stored as
> orc;
> insert into table xx values (null, "X"), ("0", "X"), ("1", "X"), (null, "y");
> SELECT
> ROUND(sum(cast(COALESCE(call_duration, 0) as int))/60, 2) as SwitchMOU
> from xx
> GROUP BY call_type;
> {code}
> triggers the wrong cast, which results in a NULL, since the coalesce() has no
> resolved return type - it is either a STRING or an INT.
> {code}
> 0.02
> NULL
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)