Zoltan Haindrich created HIVE-22210:
---------------------------------------
Summary: Incorrect results in some cases with vectorization
Key: HIVE-22210
URL: https://issues.apache.org/jira/browse/HIVE-22210
Project: Hive
Issue Type: Bug
Reporter: Zoltan Haindrich
Assignee: Zoltan Haindrich
running the following test with TestMiniLlapLocalCliDriver leads to an
unexpected results; the coalesce calculated inside the subquery has a value of
1 instead of the correct(922) value.
{code}
drop table if exists u_table_4;
create table u_table_4(smallint_col_22 smallint, int_col_5 int);
insert into u_table_4 values(238,922);
drop table u_table_7;
create table u_table_7 ( bigint_col_3 bigint, int_col_10 int);
insert into u_table_7 values (571,198);
drop table u_table_19;
create table u_table_19 (bigint_col_18 bigint ,int_col_19 int, STRING_COL_7
string);
insert into u_table_19 values (922,5,'500');
set hive.mapjoin.full.outer=true;
set hive.auto.convert.join=true;
set hive.query.results.cache.enabled=false;
set hive.merge.nway.joins=true;
set hive.vectorized.execution.enabled=true;
--explain analyze
SELECT
a5.int_col,
922 as expected,
COALESCE(a5.int_col, a5.aa) as expected2,
a5.int_col_3 as reality
FROM u_table_19 a1
FULL OUTER JOIN
(
SELECT a2.int_col_5 AS int_col,
a2.smallint_col_22 as aa,
COALESCE(a2.int_col_5, a2.smallint_col_22) AS
int_col_3
FROM u_table_4 a2
) a5
ON (
a1.bigint_col_18) = (a5.int_col_3)
INNER JOIN
(
SELECT a3.bigint_col_3
AS int_col,
Cast (COALESCE(a3.bigint_col_3,
a3.bigint_col_3, a3.int_col_10) AS BIGINT) * Cast (a3.bigint_col_3 AS BIGINT)
AS int_col_3
FROM u_table_7 a3
WHERE bigint_col_3=571
) a4
ON (a1.int_col_19=5)
OR ((a5.int_col_3) IN (a4.int_col, 10))
where
a1.STRING_COL_7='500'
ORDER BY int_col DESC nulls last limit 100
;
{code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)