ZhangQiDong created HIVE-25135:
----------------------------------
Summary: Vectorization: Wrong Results issues in IF expressions
about Two-level nested UDF
Key: HIVE-25135
URL: https://issues.apache.org/jira/browse/HIVE-25135
Project: Hive
Issue Type: Bug
Components: Vectorization
Affects Versions: 3.1.0, 4.0.0
Reporter: ZhangQiDong
After set hive.vectorized.execution.enabled = true, if there are two levels
nested UDF conversion fields in the IF expression, the result will be incorrect.
Test case:
create table if_orc (col string, col2 string) stored as orc;
insert into table if_orc values('1', 'abc'),('1', 'abc'),('2', 'def'),( '2',
'def');
set hive.vectorized.execution.enabled = true;
select if(col='2', col2, reverse(upper(col2))) from if_orc;
Hivesql:
select if(col='2', col2, reverse(lupper (col2))) from if_orc;
set hive.vectorized.execution.enabled = false;
Right Result:
+------+
| _c0 |
+------+
| CBA |
| CBA |
| def |
| def |
+------+
set hive.vectorized.execution.enabled = true;
Wrong result:
+------+
| _c0 |
+------+
| CBA |
| CBA |
| ABC |
| ABC |
+------+
--
This message was sent by Atlassian Jira
(v8.3.4#803005)