You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2017/02/03 20:04:07 UTC
[42/51] [partial] hive git commit: HIVE-11394: Enhance EXPLAIN
display for vectorization (Matt McCline, reviewed by Gopal Vijayaraghavan)
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_interval_1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_interval_1.q b/ql/src/test/queries/clientpositive/vector_interval_1.q
index 8fefe41..f4f0024 100644
--- a/ql/src/test/queries/clientpositive/vector_interval_1.q
+++ b/ql/src/test/queries/clientpositive/vector_interval_1.q
@@ -1,8 +1,7 @@
set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
-
set hive.vectorized.execution.enabled=true;
-set hive.fetch.task.conversion=minimal;
+set hive.fetch.task.conversion=none;
drop table if exists vector_interval_1;
create table vector_interval_1 (ts timestamp, dt date, str1 string, str2 string) stored as orc;
@@ -13,7 +12,7 @@ insert into vector_interval_1
select null, null, null, null from src limit 1;
-- constants/cast from string
-explain
+explain vectorization expression
select
str1,
interval '1-2' year to month, interval_year_month(str1),
@@ -28,7 +27,7 @@ from vector_interval_1 order by str1;
-- interval arithmetic
-explain
+explain vectorization expression
select
dt,
interval '1-2' year to month + interval '1-2' year to month,
@@ -49,7 +48,7 @@ select
interval '1-2' year to month - interval_year_month(str1)
from vector_interval_1 order by dt;
-explain
+explain vectorization expression
select
dt,
interval '1 2:3:4' day to second + interval '1 2:3:4' day to second,
@@ -72,7 +71,7 @@ from vector_interval_1 order by dt;
-- date-interval arithmetic
-explain
+explain vectorization expression
select
dt,
dt + interval '1-2' year to month,
@@ -107,7 +106,7 @@ from vector_interval_1 order by dt;
-- timestamp-interval arithmetic
-explain
+explain vectorization expression
select
ts,
ts + interval '1-2' year to month,
@@ -142,7 +141,7 @@ from vector_interval_1 order by ts;
-- timestamp-timestamp arithmetic
-explain
+explain vectorization expression
select
ts,
ts - ts,
@@ -159,7 +158,7 @@ from vector_interval_1 order by ts;
-- date-date arithmetic
-explain
+explain vectorization expression
select
dt,
dt - dt,
@@ -176,7 +175,7 @@ from vector_interval_1 order by dt;
-- date-timestamp arithmetic
-explain
+explain vectorization expression
select
dt,
ts - dt,
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_interval_2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_interval_2.q b/ql/src/test/queries/clientpositive/vector_interval_2.q
index 5afb511..0b78a4b 100644
--- a/ql/src/test/queries/clientpositive/vector_interval_2.q
+++ b/ql/src/test/queries/clientpositive/vector_interval_2.q
@@ -1,7 +1,7 @@
set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
set hive.vectorized.execution.enabled=true;
-set hive.fetch.task.conversion=minimal;
+set hive.fetch.task.conversion=none;
drop table if exists vector_interval_2;
create table vector_interval_2 (ts timestamp, dt date, str1 string, str2 string, str3 string, str4 string) stored as orc;
@@ -14,7 +14,7 @@ insert into vector_interval_2
-- interval comparisons in select clause
-explain
+explain vectorization expression
select
str1,
-- Should all be true
@@ -77,7 +77,7 @@ select
interval '1-2' year to month != interval_year_month(str2)
from vector_interval_2 order by str1;
-explain
+explain vectorization expression
select
str1,
-- Should all be false
@@ -128,7 +128,7 @@ select
interval '1-2' year to month != interval_year_month(str1)
from vector_interval_2 order by str1;
-explain
+explain vectorization expression
select
str3,
-- Should all be true
@@ -191,7 +191,7 @@ select
interval '1 2:3:4' day to second != interval_day_time(str4)
from vector_interval_2 order by str3;
-explain
+explain vectorization expression
select
str3,
-- Should all be false
@@ -244,7 +244,7 @@ from vector_interval_2 order by str3;
-- interval expressions in predicates
-explain
+explain vectorization expression
select ts from vector_interval_2
where
interval_year_month(str1) = interval_year_month(str1)
@@ -293,7 +293,7 @@ where
and interval '1-3' year to month > interval_year_month(str1)
order by ts;
-explain
+explain vectorization expression
select ts from vector_interval_2
where
interval_day_time(str3) = interval_day_time(str3)
@@ -342,7 +342,7 @@ where
and interval '1 2:3:5' day to second > interval_day_time(str3)
order by ts;
-explain
+explain vectorization expression
select ts from vector_interval_2
where
date '2002-03-01' = dt + interval_year_month(str1)
@@ -381,7 +381,7 @@ where
and dt != dt + interval '1-2' year to month
order by ts;
-explain
+explain vectorization expression
select ts from vector_interval_2
where
timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month
@@ -431,7 +431,7 @@ where
order by ts;
-- day to second expressions in predicate
-explain
+explain vectorization expression
select ts from vector_interval_2
where
timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second
@@ -480,7 +480,7 @@ where
and ts > dt - interval '0 1:2:4' day to second
order by ts;
-explain
+explain vectorization expression
select ts from vector_interval_2
where
timestamp '2001-01-01 01:02:03' = ts + interval '0' day
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q b/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q
index 40c4c03..9a551e8 100644
--- a/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q
+++ b/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q
@@ -13,7 +13,7 @@ insert overwrite table interval_arithmetic_1
SET hive.vectorized.execution.enabled=true;
-- interval year-month arithmetic
-explain
+explain vectorization expression
select
dateval,
dateval - interval '2-2' year to month,
@@ -36,7 +36,7 @@ select
from interval_arithmetic_1
order by dateval;
-explain
+explain vectorization expression
select
dateval,
dateval - date '1999-06-07',
@@ -53,7 +53,7 @@ select
from interval_arithmetic_1
order by dateval;
-explain
+explain vectorization expression
select
tsval,
tsval - interval '2-2' year to month,
@@ -76,7 +76,7 @@ select
from interval_arithmetic_1
order by tsval;
-explain
+explain vectorization expression
select
interval '2-2' year to month + interval '3-3' year to month,
interval '2-2' year to month - interval '3-3' year to month
@@ -93,7 +93,7 @@ limit 2;
-- interval day-time arithmetic
-explain
+explain vectorization expression
select
dateval,
dateval - interval '99 11:22:33.123456789' day to second,
@@ -116,7 +116,7 @@ select
from interval_arithmetic_1
order by dateval;
-explain
+explain vectorization expression
select
dateval,
tsval,
@@ -135,7 +135,7 @@ select
from interval_arithmetic_1
order by dateval;
-explain
+explain vectorization expression
select
tsval,
tsval - interval '99 11:22:33.123456789' day to second,
@@ -158,7 +158,7 @@ select
from interval_arithmetic_1
order by tsval;
-explain
+explain vectorization expression
select
interval '99 11:22:33.123456789' day to second + interval '10 9:8:7.123456789' day to second,
interval '99 11:22:33.123456789' day to second - interval '10 9:8:7.123456789' day to second
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q b/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q
index 36ccd35..d27e67b 100644
--- a/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q
+++ b/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q
@@ -2,6 +2,7 @@ set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
+set hive.fetch.task.conversion=none;
create table vectortab_a_1k(
t tinyint,
@@ -45,7 +46,7 @@ LOAD DATA LOCAL INPATH '../../data/files/vectortab_b_1k' OVERWRITE INTO TABLE ve
CREATE TABLE vectortab_b_1korc STORED AS ORC AS SELECT * FROM vectortab_b_1k;
-explain
+explain vectorization expression
select
v1.s,
v2.s,
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_join.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_join.q b/ql/src/test/queries/clientpositive/vector_join.q
index 9238a6e..b086a13 100644
--- a/ql/src/test/queries/clientpositive/vector_join.q
+++ b/ql/src/test/queries/clientpositive/vector_join.q
@@ -32,6 +32,7 @@ TBLPROPERTIES (
set hive.auto.convert.join=false;
set hive.vectorized.execution.enabled = true;
set hive.mapred.mode=nonstrict;
+set hive.fetch.task.conversion=none;
SELECT cr.id1 ,
cr.id2
FROM
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_join30.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_join30.q b/ql/src/test/queries/clientpositive/vector_join30.q
index 1467cd3..6557a71 100644
--- a/ql/src/test/queries/clientpositive/vector_join30.q
+++ b/ql/src/test/queries/clientpositive/vector_join30.q
@@ -10,7 +10,7 @@ SET hive.auto.convert.join.noconditionaltask.size=1000000000;
CREATE TABLE orcsrc STORED AS ORC AS SELECT * FROM src;
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
JOIN
@@ -25,7 +25,7 @@ JOIN
ON (x.key = Y.key)
select sum(hash(Y.key,Y.value));
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
LEFT OUTER JOIN
@@ -40,7 +40,7 @@ LEFT OUTER JOIN
ON (x.key = Y.key)
select sum(hash(Y.key,Y.value));
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
RIGHT OUTER JOIN
@@ -55,7 +55,7 @@ RIGHT OUTER JOIN
ON (x.key = Y.key)
select sum(hash(Y.key,Y.value));
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
JOIN
@@ -76,7 +76,7 @@ JOIN
ON (x.key = Z.key)
select sum(hash(Y.key,Y.value));
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
JOIN
@@ -97,7 +97,7 @@ LEFT OUTER JOIN
ON (x.key = Z.key)
select sum(hash(Y.key,Y.value));
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
LEFT OUTER JOIN
@@ -118,7 +118,7 @@ LEFT OUTER JOIN
ON (x.key = Z.key)
select sum(hash(Y.key,Y.value));
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
LEFT OUTER JOIN
@@ -139,7 +139,7 @@ RIGHT OUTER JOIN
ON (x.key = Z.key)
select sum(hash(Y.key,Y.value));
-explain
+explain vectorization expression
FROM
(SELECT orcsrc.* FROM orcsrc sort by key) x
RIGHT OUTER JOIN
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_join_part_col_char.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_join_part_col_char.q b/ql/src/test/queries/clientpositive/vector_join_part_col_char.q
index 5cfce37..e625a64 100644
--- a/ql/src/test/queries/clientpositive/vector_join_part_col_char.q
+++ b/ql/src/test/queries/clientpositive/vector_join_part_col_char.q
@@ -4,6 +4,7 @@ set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
set hive.vectorized.execution.enabled=true;
set hive.explain.user=true;
set hive.metastore.fastpath=false;
+set hive.fetch.task.conversion=none;
drop table if exists char_part_tbl1 ;
drop table if exists char_part_tbl2;
@@ -22,7 +23,7 @@ insert into table char_tbl2 partition(gpa='3') select name, age from studenttab
show partitions char_tbl1;
show partitions char_tbl2;
-explain select c1.name, c1.age, c1.gpa, c2.name, c2.age, c2.gpa from char_tbl1 c1 join char_tbl2 c2 on (c1.gpa = c2.gpa);
+explain vectorization select c1.name, c1.age, c1.gpa, c2.name, c2.age, c2.gpa from char_tbl1 c1 join char_tbl2 c2 on (c1.gpa = c2.gpa);
select c1.name, c1.age, c1.gpa, c2.name, c2.age, c2.gpa from char_tbl1 c1 join char_tbl2 c2 on (c1.gpa = c2.gpa);
set hive.vectorized.execution.enabled=false;
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_left_outer_join.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_left_outer_join.q b/ql/src/test/queries/clientpositive/vector_left_outer_join.q
index ddf2660..0684f12 100644
--- a/ql/src/test/queries/clientpositive/vector_left_outer_join.q
+++ b/ql/src/test/queries/clientpositive/vector_left_outer_join.q
@@ -3,7 +3,9 @@ set hive.explain.user=false;
set hive.vectorized.execution.enabled=true;
set hive.auto.convert.join=true;
set hive.mapjoin.hybridgrace.hashtable=false;
-explain
+set hive.fetch.task.conversion=none;
+
+explain vectorization
select count(*) from (select c.ctinyint
from alltypesorc c
left outer join alltypesorc cd
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_left_outer_join2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_left_outer_join2.q b/ql/src/test/queries/clientpositive/vector_left_outer_join2.q
index 5da5d50..ccceb36 100644
--- a/ql/src/test/queries/clientpositive/vector_left_outer_join2.q
+++ b/ql/src/test/queries/clientpositive/vector_left_outer_join2.q
@@ -20,14 +20,14 @@ INSERT INTO TABLE TJOIN2 SELECT * from TJOIN2STAGE;
set hive.vectorized.execution.enabled=false;
set hive.mapjoin.hybridgrace.hashtable=false;
-explain
+explain vectorization expression
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
set hive.vectorized.execution.enabled=false;
set hive.mapjoin.hybridgrace.hashtable=true;
-explain
+explain vectorization expression
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
@@ -36,7 +36,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=false;
SET hive.vectorized.execution.mapjoin.native.enabled=false;
-explain
+explain vectorization expression
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
@@ -44,7 +44,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=true;
SET hive.vectorized.execution.mapjoin.native.enabled=false;
-explain
+explain vectorization expression
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
@@ -52,7 +52,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=false;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
-explain
+explain vectorization expression
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
@@ -60,7 +60,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=true;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
-explain
+explain vectorization expression
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 );
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q b/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q
index dfb8405..8469a06 100644
--- a/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q
+++ b/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q
@@ -26,381 +26,502 @@ select * from t4;
set hive.vectorized.execution.enabled=false;
set hive.mapjoin.hybridgrace.hashtable=false;
-explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
+explain vectorization only summary
+
+select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
-explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
+explain vectorization only summary
+select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
-explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
+explain vectorization only summary
+select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
-explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
+explain vectorization only summary
+select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
-explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
+explain vectorization only summary
+select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
-explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
+explain vectorization only summary
+select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
-explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
+explain vectorization only summary
+select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
-explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
+explain vectorization only summary
+select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
-explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
+explain vectorization only summary
+select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
-explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
+explain vectorization only summary
+select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
-explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
+explain vectorization only summary
+select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
-explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
+explain vectorization only summary
+select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
-explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
+explain vectorization only summary
+select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization only summary
+select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization only summary
+select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization only summary
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization only summary
+select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
+explain vectorization only summary
+select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
+explain vectorization only summary
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
+explain vectorization only summary
+select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
set hive.vectorized.execution.enabled=false;
set hive.mapjoin.hybridgrace.hashtable=true;
-explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
+explain vectorization summary
+select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
-explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
+explain vectorization summary
+select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
-explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
+explain vectorization summary
+select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
-explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
+explain vectorization summary
+select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
-explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
+explain vectorization summary
+select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
-explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
+explain vectorization summary
+select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
-explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
+explain vectorization summary
+select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
-explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
+explain vectorization summary
+select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
-explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
+explain vectorization summary
+select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
-explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
+explain vectorization summary
+select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
-explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
+explain vectorization summary
+select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
-explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
+explain vectorization summary
+select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
-explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
+explain vectorization summary
+select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization summary
+select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization summary
+select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization summary
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization summary
+select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
+explain vectorization summary
+select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
+explain vectorization summary
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
+explain vectorization summary
+select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=false;
SET hive.vectorized.execution.mapjoin.native.enabled=false;
-explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
+explain vectorization only operator
+select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
-explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
+explain vectorization only operator
+select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
-explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
+explain vectorization only operator
+select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
-explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
+explain vectorization only operator
+select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
-explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
+explain vectorization only operator
+select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
-explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
+explain vectorization only operator
+select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
-explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
+explain vectorization only operator
+select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
-explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
+explain vectorization only operator
+select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
-explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
+explain vectorization only operator
+select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
-explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
+explain vectorization only operator
+select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
-explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
+explain vectorization only operator
+select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
-explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
+explain vectorization only operator
+select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
-explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
+explain vectorization only operator
+select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization only operator
+select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization only operator
+select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization only operator
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization only operator
+select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
+explain vectorization only operator
+select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
+explain vectorization only operator
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
+explain vectorization only operator
+select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=true;
SET hive.vectorized.execution.mapjoin.native.enabled=false;
-explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
-explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
+explain vectorization detail
+select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
-explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
-explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
+explain vectorization detail
+select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
-explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
-explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
+explain vectorization detail
+select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
-explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
+explain vectorization detail
+select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
-explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
-explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
+explain vectorization detail
+select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
-explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
-explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
-explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
+explain vectorization detail
+select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
-explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=false;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
-explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
-explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
+explain vectorization detail
+select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
-explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
-explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
+explain vectorization detail
+select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
-explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
-explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
+explain vectorization detail
+select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
-explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
+explain vectorization detail
+select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
-explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
-explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
+explain vectorization detail
+select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
-explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
-explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
-explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
+explain vectorization detail
+select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
-explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
set hive.vectorized.execution.enabled=true;
set hive.mapjoin.hybridgrace.hashtable=true;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
-explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value;
-explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
+explain vectorization detail
+select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value;
-explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value;
-explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
+explain vectorization detail
+select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value;
-explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value;
-explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
+explain vectorization detail
+select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value;
-explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
+explain vectorization detail
+select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ;
-explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value;
-explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
+explain vectorization detail
+select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key;
-explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value;
-explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
+explain vectorization detail
+select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value;
-explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
+explain vectorization detail
+select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value;
-explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key;
-explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
+explain vectorization detail
+select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100;
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q b/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q
index c9e9e48..d960559 100644
--- a/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q
+++ b/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q
@@ -2,6 +2,7 @@ set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
+set hive.fetch.task.conversion=none;
-- SORT_QUERY_RESULTS
@@ -9,7 +10,7 @@ SET hive.auto.convert.join=true;
-- Query copied from subquery_in.q
-- non agg, non corr, with join in Parent Query
-explain
+explain vectorization expression
select p.p_partkey, li.l_suppkey
from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey
where li.l_linenumber = 1 and
@@ -23,7 +24,7 @@ where li.l_linenumber = 1 and
;
-- non agg, corr, with join in Parent Query
-explain
+explain vectorization expression
select p.p_partkey, li.l_suppkey
from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey
where li.l_linenumber = 1 and
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q b/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q
index 1f17669..22830a5 100644
--- a/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q
+++ b/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q
@@ -1,6 +1,7 @@
set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
+set hive.fetch.task.conversion=none;
create table date_dim
(
@@ -104,7 +105,7 @@ stored as orc;
-- For MR, we are verifying this query DOES NOT vectorize the Map vertex with
-- the 2 TableScanOperators that have different schema.
-explain select
+explain vectorization select
s_state, count(1)
from store_sales,
store,
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_multi_insert.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_multi_insert.q b/ql/src/test/queries/clientpositive/vector_multi_insert.q
index 374a0da..c56ee1c 100644
--- a/ql/src/test/queries/clientpositive/vector_multi_insert.q
+++ b/ql/src/test/queries/clientpositive/vector_multi_insert.q
@@ -1,6 +1,6 @@
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
-set hive.fetch.task.conversion=minimal;
+set hive.fetch.task.conversion=none;
create table orc1
stored as orc
@@ -22,7 +22,7 @@ create table orc_rn3 (rn int);
analyze table orc1 compute statistics;
-explain from orc1 a
+explain vectorization from orc1 a
insert overwrite table orc_rn1 select a.* where a.rn < 100
insert overwrite table orc_rn2 select a.* where a.rn >= 100 and a.rn < 1000
insert overwrite table orc_rn3 select a.* where a.rn >= 1000;
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q b/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q
index 69142bf..113ea7f 100644
--- a/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q
+++ b/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q
@@ -1,4 +1,4 @@
SET hive.vectorized.execution.enabled=true;
set hive.fetch.task.conversion=none;
-explain SELECT * FROM alltypesorc WHERE cint in (ctinyint, cbigint);
\ No newline at end of file
+explain vectorization SELECT * FROM alltypesorc WHERE cint in (ctinyint, cbigint);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_non_string_partition.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_non_string_partition.q b/ql/src/test/queries/clientpositive/vector_non_string_partition.q
index bffc93e..cf3e765 100644
--- a/ql/src/test/queries/clientpositive/vector_non_string_partition.q
+++ b/ql/src/test/queries/clientpositive/vector_non_string_partition.q
@@ -4,16 +4,17 @@ SET hive.vectorized.execution.enabled=true;
CREATE TABLE non_string_part(cint INT, cstring1 STRING, cdouble DOUBLE, ctimestamp1 TIMESTAMP) PARTITIONED BY (ctinyint tinyint) STORED AS ORC;
SET hive.exec.dynamic.partition.mode=nonstrict;
SET hive.exec.dynamic.partition=true;
+set hive.fetch.task.conversion=none;
INSERT OVERWRITE TABLE non_string_part PARTITION(ctinyint) SELECT cint, cstring1, cdouble, ctimestamp1, ctinyint fROM alltypesorc
WHERE ctinyint IS NULL AND cdouble IS NOT NULL ORDER BY cdouble;
SHOW PARTITIONS non_string_part;
-EXPLAIN SELECT cint, ctinyint FROM non_string_part WHERE cint > 0 ORDER BY cint LIMIT 10;
+EXPLAIN VECTORIZATION EXPRESSION SELECT cint, ctinyint FROM non_string_part WHERE cint > 0 ORDER BY cint LIMIT 10;
SELECT cint, ctinyint FROM non_string_part WHERE cint > 0 ORDER BY cint LIMIT 10;
-EXPLAIN SELECT cint, cstring1 FROM non_string_part WHERE cint > 0 ORDER BY cint, cstring1 LIMIT 10;
+EXPLAIN VECTORIZATION EXPRESSION SELECT cint, cstring1 FROM non_string_part WHERE cint > 0 ORDER BY cint, cstring1 LIMIT 10;
SELECT cint, cstring1 FROM non_string_part WHERE cint > 0 ORDER BY cint, cstring1 LIMIT 10;
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_null_projection.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_null_projection.q b/ql/src/test/queries/clientpositive/vector_null_projection.q
index 66c0838..711b8e7 100644
--- a/ql/src/test/queries/clientpositive/vector_null_projection.q
+++ b/ql/src/test/queries/clientpositive/vector_null_projection.q
@@ -10,12 +10,12 @@ insert into table a values('aaa');
insert into table b values('aaa');
-- We expect no vectorization due to NULL (void) projection type.
-explain
+explain vectorization expression
select NULL from a;
select NULL from a;
-explain
+explain vectorization expression
select NULL as x from a union distinct select NULL as x from b;
select NULL as x from a union distinct select NULL as x from b;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_nullsafe_join.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_nullsafe_join.q b/ql/src/test/queries/clientpositive/vector_nullsafe_join.q
index b316a54..6a7ff72 100644
--- a/ql/src/test/queries/clientpositive/vector_nullsafe_join.q
+++ b/ql/src/test/queries/clientpositive/vector_nullsafe_join.q
@@ -1,6 +1,7 @@
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
+set hive.fetch.task.conversion=none;
-- SORT_QUERY_RESULTS
--
@@ -20,19 +21,19 @@ CREATE TABLE myinput1 STORED AS ORC AS SELECT * FROM myinput1_txt;
SET hive.vectorized.execution.mapjoin.native.enabled=false;
-- merging
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value;
select * from myinput1 a join myinput1 b on a.key<=>b.value;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key;
select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key;
select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value;
select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value;
select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value;
-- outer joins
@@ -47,19 +48,19 @@ SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
-- merging
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value;
select * from myinput1 a join myinput1 b on a.key<=>b.value;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key;
select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key;
select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value;
select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value;
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value;
+explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value;
select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value;
-- outer joins
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_number_compare_projection.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_number_compare_projection.q b/ql/src/test/queries/clientpositive/vector_number_compare_projection.q
index feb5e98..3f4f5aa 100644
--- a/ql/src/test/queries/clientpositive/vector_number_compare_projection.q
+++ b/ql/src/test/queries/clientpositive/vector_number_compare_projection.q
@@ -35,7 +35,7 @@ SET hive.vectorized.execution.enabled=true;
--
-- Projection LongCol<Compare>LongScalar
--
-EXPLAIN
+EXPLAIN VECTORIZATION EXPRESSION
SELECT sum(hash(*)) FROM
(SELECT t, si, i, (t < 0) as compare1, (si <= 0) as compare2, (i = 0) as compare3 from vectortab2k_orc
order by t, si, i) as q;
@@ -44,7 +44,7 @@ SELECT sum(hash(*)) FROM
(SELECT t, si, i, (t < 0) as compare1, (si <= 0) as compare2, (i = 0) as compare3 from vectortab2k_orc
order by t, si, i) as q;
-EXPLAIN
+EXPLAIN VECTORIZATION EXPRESSION
SELECT sum(hash(*)) FROM
(SELECT t, si, i, b, (t > 0) as compare1, (si >= 0) as compare2, (i != 0) as compare3, (b > 0) as compare4 from vectortab2k_orc
order by t, si, i, b) as q;
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_nvl.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_nvl.q b/ql/src/test/queries/clientpositive/vector_nvl.q
index 742bf52..e00e82f 100644
--- a/ql/src/test/queries/clientpositive/vector_nvl.q
+++ b/ql/src/test/queries/clientpositive/vector_nvl.q
@@ -1,7 +1,8 @@
SET hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
+set hive.fetch.task.conversion=none;
-EXPLAIN SELECT cdouble, nvl(cdouble, 100) as n
+EXPLAIN VECTORIZATION EXPRESSION SELECT cdouble, nvl(cdouble, 100) as n
FROM alltypesorc
WHERE (cdouble IS NULL)
LIMIT 10;
@@ -11,7 +12,7 @@ FROM alltypesorc
WHERE (cdouble IS NULL)
LIMIT 10;
-EXPLAIN SELECT cfloat, nvl(cfloat, 1) as n
+EXPLAIN VECTORIZATION EXPRESSION SELECT cfloat, nvl(cfloat, 1) as n
FROM alltypesorc
LIMIT 10;
@@ -19,7 +20,7 @@ SELECT cfloat, nvl(cfloat, 1) as n
FROM alltypesorc
LIMIT 10;
-EXPLAIN SELECT nvl(null, 10) as n
+EXPLAIN VECTORIZATION EXPRESSION SELECT nvl(null, 10) as n
FROM alltypesorc
LIMIT 10;
@@ -27,7 +28,7 @@ SELECT nvl(null, 10) as n
FROM alltypesorc
LIMIT 10;
-EXPLAIN SELECT nvl(null, null) as n
+EXPLAIN VECTORIZATION EXPRESSION SELECT nvl(null, null) as n
FROM alltypesorc
LIMIT 10;
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_orderby_5.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_orderby_5.q b/ql/src/test/queries/clientpositive/vector_orderby_5.q
index 30bcaef..17ccf82 100644
--- a/ql/src/test/queries/clientpositive/vector_orderby_5.q
+++ b/ql/src/test/queries/clientpositive/vector_orderby_5.q
@@ -1,6 +1,7 @@
set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
+set hive.fetch.task.conversion=none;
create table vectortab2k(
t tinyint,
@@ -39,7 +40,7 @@ STORED AS ORC;
INSERT INTO TABLE vectortab2korc SELECT * FROM vectortab2k;
-explain
+explain vectorization expression
select bo, max(b) from vectortab2korc group by bo order by bo desc;
select bo, max(b) from vectortab2korc group by bo order by bo desc;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_outer_join0.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_outer_join0.q b/ql/src/test/queries/clientpositive/vector_outer_join0.q
index dce3a1b..d7586c7 100644
--- a/ql/src/test/queries/clientpositive/vector_outer_join0.q
+++ b/ql/src/test/queries/clientpositive/vector_outer_join0.q
@@ -2,6 +2,7 @@ set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
+set hive.fetch.task.conversion=none;
CREATE TABLE orc_table_1(v1 STRING, a INT) STORED AS ORC;
CREATE TABLE orc_table_2(c INT, v2 STRING) STORED AS ORC;
@@ -12,14 +13,14 @@ insert into table orc_table_2 values (0, "ZERO"),(2, "TWO"), (3, "THREE"),(null,
select * from orc_table_1;
select * from orc_table_2;
-explain
+explain vectorization detail
select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c;
-- SORT_QUERY_RESULTS
select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c;
-explain
+explain vectorization detail
select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 right outer join orc_table_2 t2 on t1.a = t2.c;
-- SORT_QUERY_RESULTS
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_outer_join1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_outer_join1.q b/ql/src/test/queries/clientpositive/vector_outer_join1.q
index 4a36452..6cb2e45 100644
--- a/ql/src/test/queries/clientpositive/vector_outer_join1.q
+++ b/ql/src/test/queries/clientpositive/vector_outer_join1.q
@@ -2,6 +2,7 @@ set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
+set hive.fetch.task.conversion=none;
-- Using cint and ctinyint in test queries
create table small_alltypesorc1a as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5;
@@ -28,7 +29,7 @@ ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS;
select * from small_alltypesorc_a;
-explain
+explain vectorization detail
select *
from small_alltypesorc_a c
left outer join small_alltypesorc_a cd
@@ -41,7 +42,7 @@ from small_alltypesorc_a c
left outer join small_alltypesorc_a cd
on cd.cint = c.cint;
-explain
+explain vectorization detail
select c.ctinyint
from small_alltypesorc_a c
left outer join small_alltypesorc_a hd
@@ -54,7 +55,7 @@ from small_alltypesorc_a c
left outer join small_alltypesorc_a hd
on hd.ctinyint = c.ctinyint;
-explain
+explain vectorization detail
select count(*), sum(t1.c_ctinyint) from (select c.ctinyint as c_ctinyint
from small_alltypesorc_a c
left outer join small_alltypesorc_a cd
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_outer_join2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_outer_join2.q b/ql/src/test/queries/clientpositive/vector_outer_join2.q
index d3b5805..da17806 100644
--- a/ql/src/test/queries/clientpositive/vector_outer_join2.q
+++ b/ql/src/test/queries/clientpositive/vector_outer_join2.q
@@ -2,6 +2,7 @@ set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
+set hive.fetch.task.conversion=none;
-- Using cint and cbigint in test queries
create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cbigint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5;
@@ -28,7 +29,7 @@ ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS;
select * from small_alltypesorc_a;
-explain
+explain vectorization detail
select count(*), sum(t1.c_cbigint) from (select c.cbigint as c_cbigint
from small_alltypesorc_a c
left outer join small_alltypesorc_a cd
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_outer_join3.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_outer_join3.q b/ql/src/test/queries/clientpositive/vector_outer_join3.q
index e5fc0a9..3f28251 100644
--- a/ql/src/test/queries/clientpositive/vector_outer_join3.q
+++ b/ql/src/test/queries/clientpositive/vector_outer_join3.q
@@ -2,6 +2,7 @@ set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
+set hive.fetch.task.conversion=none;
-- Using cint and cstring1 in test queries
create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cstring1 is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5;
@@ -27,7 +28,7 @@ ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS;
ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS;
select * from small_alltypesorc_a;
-explain
+explain vectorization detail formatted
select count(*) from (select c.cstring1
from small_alltypesorc_a c
left outer join small_alltypesorc_a cd
@@ -47,7 +48,7 @@ left outer join small_alltypesorc_a hd
on hd.cstring1 = c.cstring1
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select c.cstring1
from small_alltypesorc_a c
left outer join small_alltypesorc_a cd
@@ -67,7 +68,7 @@ left outer join small_alltypesorc_a hd
on hd.cstring1 = c.cstring1
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select c.cstring1
from small_alltypesorc_a c
left outer join small_alltypesorc_a cd
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_outer_join4.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_outer_join4.q b/ql/src/test/queries/clientpositive/vector_outer_join4.q
index 45461b5..d024687 100644
--- a/ql/src/test/queries/clientpositive/vector_outer_join4.q
+++ b/ql/src/test/queries/clientpositive/vector_outer_join4.q
@@ -2,6 +2,7 @@ set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.auto.convert.join=true;
SET hive.vectorized.execution.mapjoin.native.enabled=true;
+set hive.fetch.task.conversion=none;
-- Using cint and ctinyint in test queries
create table small_alltypesorc1b as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10;
@@ -28,7 +29,7 @@ ANALYZE TABLE small_alltypesorc_b COMPUTE STATISTICS FOR COLUMNS;
select * from small_alltypesorc_b;
-explain
+explain vectorization detail formatted
select *
from small_alltypesorc_b c
left outer join small_alltypesorc_b cd
@@ -41,7 +42,7 @@ from small_alltypesorc_b c
left outer join small_alltypesorc_b cd
on cd.cint = c.cint;
-explain
+explain vectorization detail formatted
select c.ctinyint
from small_alltypesorc_b c
left outer join small_alltypesorc_b hd
@@ -54,7 +55,7 @@ from small_alltypesorc_b c
left outer join small_alltypesorc_b hd
on hd.ctinyint = c.ctinyint;
-explain
+explain vectorization detail formatted
select count(*) from (select c.ctinyint
from small_alltypesorc_b c
left outer join small_alltypesorc_b cd
http://git-wip-us.apache.org/repos/asf/hive/blob/fcb57100/ql/src/test/queries/clientpositive/vector_outer_join5.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_outer_join5.q b/ql/src/test/queries/clientpositive/vector_outer_join5.q
index 18b9ab4..b8e788a 100644
--- a/ql/src/test/queries/clientpositive/vector_outer_join5.q
+++ b/ql/src/test/queries/clientpositive/vector_outer_join5.q
@@ -5,6 +5,7 @@ SET hive.vectorized.execution.mapjoin.native.enabled=true;
set hive.auto.convert.join=true;
set hive.auto.convert.join.noconditionaltask=true;
set hive.auto.convert.join.noconditionaltask.size=10000;
+set hive.fetch.task.conversion=none;
-- SORT_QUERY_RESULTS
@@ -22,7 +23,7 @@ as orc as select ctinyint, cbigint from alltypesorc limit 100;
ANALYZE TABLE small_table COMPUTE STATISTICS;
ANALYZE TABLE small_table COMPUTE STATISTICS FOR COLUMNS;
-explain
+explain vectorization detail formatted
select count(*) from (select s.*, st.*
from sorted_mod_4 s
left outer join small_table st
@@ -35,7 +36,7 @@ left outer join small_table st
on s.ctinyint = st.ctinyint
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint
from sorted_mod_4 s
left outer join small_table sm
@@ -48,7 +49,7 @@ left outer join small_table sm
on s.ctinyint = sm.ctinyint and s.cmodint = 2
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint
from sorted_mod_4 s
left outer join small_table sm
@@ -61,7 +62,7 @@ left outer join small_table sm
on s.ctinyint = sm.ctinyint and pmod(s.ctinyint, 4) = s.cmodint
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint
from sorted_mod_4 s
left outer join small_table sm
@@ -74,7 +75,7 @@ left outer join small_table sm
on s.ctinyint = sm.ctinyint and s.ctinyint < 100
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.*, sm.*, s2.*
from sorted_mod_4 s
left outer join small_table sm
@@ -105,7 +106,7 @@ as orc as select pmod(ctinyint, 16) as cmodtinyint, cbigint from alltypesorc lim
ANALYZE TABLE small_table2 COMPUTE STATISTICS;
ANALYZE TABLE small_table2 COMPUTE STATISTICS FOR COLUMNS;
-explain
+explain vectorization detail formatted
select count(*) from (select s.*, st.*
from mod_8_mod_4 s
left outer join small_table2 st
@@ -118,7 +119,7 @@ left outer join small_table2 st
on s.cmodtinyint = st.cmodtinyint
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint
from mod_8_mod_4 s
left outer join small_table2 sm
@@ -131,7 +132,7 @@ left outer join small_table2 sm
on s.cmodtinyint = sm.cmodtinyint and s.cmodint = 2
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint
from mod_8_mod_4 s
left outer join small_table2 sm
@@ -144,7 +145,7 @@ left outer join small_table2 sm
on s.cmodtinyint = sm.cmodtinyint and pmod(s.cmodtinyint, 4) = s.cmodint
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint
from mod_8_mod_4 s
left outer join small_table2 sm
@@ -157,7 +158,7 @@ left outer join small_table2 sm
on s.cmodtinyint = sm.cmodtinyint and s.cmodtinyint < 3
) t1;
-explain
+explain vectorization detail formatted
select count(*) from (select s.*, sm.*, s2.*
from mod_8_mod_4 s
left outer join small_table2 sm