blob: d68a8ef9cdb5d37dbe1c082ed7f14f168686af97 [file] [log] [blame]
--! qt:dataset:alltypesorc
set hive.explain.user=false;
set hive.fetch.task.conversion=none;
set hive.vectorized.execution.enabled = true;
explain vectorization detail
select
csmallint,
case
when csmallint = 418 then "a"
when csmallint = 12205 then "b"
else "c"
end,
case csmallint
when 418 then "a"
when 12205 then "b"
else "c"
end
from alltypesorc
where csmallint = 418
or csmallint = 12205
or csmallint = 10583
;
select
csmallint,
case
when csmallint = 418 then "a"
when csmallint = 12205 then "b"
else "c"
end,
case csmallint
when 418 then "a"
when 12205 then "b"
else "c"
end
from alltypesorc
where csmallint = 418
or csmallint = 12205
or csmallint = 10583
;
explain vectorization detail
select
csmallint,
case
when csmallint = 418 then "a"
when csmallint = 12205 then "b"
else null
end,
case csmallint
when 418 then "a"
when 12205 then null
else "c"
end
from alltypesorc
where csmallint = 418
or csmallint = 12205
or csmallint = 10583
;
explain vectorization detail
select
sum(case when cint % 2 = 0 then 1 else 0 end) as ceven,
sum(case when cint % 2 = 1 then 1 else 0 end) as codd
from alltypesorc;
select
sum(case when cint % 2 = 0 then 1 else 0 end) as ceven,
sum(case when cint % 2 = 1 then 1 else 0 end) as codd
from alltypesorc;
explain vectorization detail
select
sum(case when cint % 2 = 0 then cint else 0 end) as ceven,
sum(case when cint % 2 = 1 then cint else 0 end) as codd
from alltypesorc;
select
sum(case when cint % 2 = 0 then cint else 0 end) as ceven,
sum(case when cint % 2 = 1 then cint else 0 end) as codd
from alltypesorc;
-- add test for VectorUDFAdaptor call IfExprConditionalFilter
CREATE TABLE test_1_n3 (member DECIMAL , attr DECIMAL) STORED AS ORC;
INSERT INTO test_1_n3 VALUES (3.0,1.0),(2.0,2.0),(1.0,3.0);
--for length=3
EXPLAIN VECTORIZATION DETAIL
SELECT CASE WHEN member =1.0 THEN attr+1.0 ELSE attr+2.0 END FROM test_1_n3;
SELECT CASE WHEN member =1.0 THEN attr+1.0 ELSE attr+2.0 END FROM test_1_n3;
--for length=2 and the expr2 is null
EXPLAIN VECTORIZATION DETAIL
SELECT CASE WHEN member =1.0 THEN 1.0 ELSE attr+2.0 END FROM test_1_n3;
SELECT CASE WHEN member =1.0 THEN 1.0 ELSE attr+2.0 END FROM test_1_n3;
--for length=2 and the expr3 is null
EXPLAIN VECTORIZATION DETAIL
SELECT CASE WHEN member =1.0 THEN attr+1.0 ELSE 2.0 END FROM test_1_n3;
SELECT CASE WHEN member =1.0 THEN attr+1.0 ELSE 2.0 END FROM test_1_n3;
-- add test for IF**.java call IfExprConditionalFilter
CREATE TABLE test_2_n3 (member BIGINT, attr BIGINT) STORED AS ORC;
INSERT INTO test_2_n3 VALUES (3,1),(2,2),(1,3);
--for length=3
EXPLAIN VECTORIZATION DETAIL
SELECT CASE WHEN member=1 THEN attr+1 else attr+2 END FROM test_2_n3;
SELECT CASE WHEN member=1 THEN attr+1 else attr+2 END FROM test_2_n3;
--for length=2 and the detail2 is null
EXPLAIN VECTORIZATION DETAIL
SELECT CASE WHEN member=1 THEN null else attr+2 END FROM test_2_n3;
SELECT CASE WHEN member=1 THEN null else attr+2 END FROM test_2_n3;
--for length=2 and the detail3 is null
EXPLAIN VECTORIZATION DETAIL
SELECT CASE WHEN member=1 THEN attr+1 else null END FROM test_2_n3;
SELECT CASE WHEN member=1 THEN attr+1 else null END FROM test_2_n3;
select count(*), sum(a.ceven)
from (
select
case when cint % 2 = 0 then 1 else 0 end as ceven
from alltypesorc) a;
select count(*)
from (
select
(case when cint % 2 = 0 then 1 else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then 1 else 0 end) = 0) a;
select count(*)
from (
select
(case when cint % 2 = 0 then 1 else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then 1 else 0 end) = 0 AND cint is NOT NULL) a;
select count(*)
from (
select
(case when cint % 2 = 0 then 1 else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then 1 else 0 end) = 1) a;
select count(*)
from (
select
(case when cint % 2 = 0 then 1 else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then 1 else 0 end) = 1 AND cint is NOT NULL) a;
select count(*)
from (
select
(case when cint % 2 = 0 then 1 else 0 end) as ceven
from alltypesorc
where cint is null) a;
select count(*), sum(a.ceven)
from (
select
case when cint % 2 = 0 then cint else 0 end as ceven
from alltypesorc) a;
select count(*)
from (
select
(case when cint % 2 = 0 then cint else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then cint else 0 end) = 0) a;
select count(*)
from (
select
(case when cint % 2 = 0 then cint else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then cint else 0 end) = 0 AND cint is NOT NULL) a;
select count(*)
from (
select
(case when cint % 2 = 0 then cint else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then cint else 0 end) = cint) a;
select count(*)
from (
select
(case when cint % 2 = 0 then cint else 0 end) as ceven
from alltypesorc
where (case when cint % 2 = 0 then cint else 0 end) = cint AND cint is NOT NULL) a;
select count(*)
from (
select
(case when cint % 2 = 0 then cint else 0 end) as ceven
from alltypesorc
where cint is null) a;