http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out 
b/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
index 39ee51c..6fb0c34 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
@@ -38,40 +38,42 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH 
'../../data/files/over1k' OVERWRITE INTO
 POSTHOOK: type: LOAD
 #### A masked pattern was here ####
 POSTHOOK: Output: default@over1k
-PREHOOK: query: CREATE TABLE t1(`dec` decimal(22,2)) STORED AS ORC
+PREHOOK: query: CREATE TABLE t1(`dec` decimal(22,2), value_dec decimal(22,2)) 
STORED AS ORC
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
 PREHOOK: Output: default@t1
-POSTHOOK: query: CREATE TABLE t1(`dec` decimal(22,2)) STORED AS ORC
+POSTHOOK: query: CREATE TABLE t1(`dec` decimal(22,2), value_dec decimal(22,2)) 
STORED AS ORC
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t1
-PREHOOK: query: INSERT INTO TABLE t1 select `dec` from over1k
+PREHOOK: query: INSERT INTO TABLE t1 select `dec`, cast(d as decimal(22,2)) 
from over1k
 PREHOOK: type: QUERY
 PREHOOK: Input: default@over1k
 PREHOOK: Output: default@t1
-POSTHOOK: query: INSERT INTO TABLE t1 select `dec` from over1k
+POSTHOOK: query: INSERT INTO TABLE t1 select `dec`, cast(d as decimal(22,2)) 
from over1k
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@over1k
 POSTHOOK: Output: default@t1
 POSTHOOK: Lineage: t1.dec EXPRESSION [(over1k)over1k.FieldSchema(name:dec, 
type:decimal(20,2), comment:null), ]
-PREHOOK: query: CREATE TABLE t2(`dec` decimal(24,0)) STORED AS ORC
+POSTHOOK: Lineage: t1.value_dec EXPRESSION [(over1k)over1k.FieldSchema(name:d, 
type:double, comment:null), ]
+PREHOOK: query: CREATE TABLE t2(`dec` decimal(24,0), value_dec decimal(24,0)) 
STORED AS ORC
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
 PREHOOK: Output: default@t2
-POSTHOOK: query: CREATE TABLE t2(`dec` decimal(24,0)) STORED AS ORC
+POSTHOOK: query: CREATE TABLE t2(`dec` decimal(24,0), value_dec decimal(24,0)) 
STORED AS ORC
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t2
-PREHOOK: query: INSERT INTO TABLE t2 select `dec` from over1k
+PREHOOK: query: INSERT INTO TABLE t2 select `dec`, cast(d as decimal(24,0)) 
from over1k
 PREHOOK: type: QUERY
 PREHOOK: Input: default@over1k
 PREHOOK: Output: default@t2
-POSTHOOK: query: INSERT INTO TABLE t2 select `dec` from over1k
+POSTHOOK: query: INSERT INTO TABLE t2 select `dec`, cast(d as decimal(24,0)) 
from over1k
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@over1k
 POSTHOOK: Output: default@t2
 POSTHOOK: Lineage: t2.dec EXPRESSION [(over1k)over1k.FieldSchema(name:dec, 
type:decimal(20,2), comment:null), ]
+POSTHOOK: Lineage: t2.value_dec EXPRESSION [(over1k)over1k.FieldSchema(name:d, 
type:double, comment:null), ]
 PREHOOK: query: explain vectorization detail
 select t1.`dec`, t2.`dec` from t1 join t2 on (t1.`dec`=t2.`dec`)
 PREHOOK: type: QUERY
@@ -98,14 +100,14 @@ STAGE PLANS:
         $hdt$_1:t2 
           TableScan
             alias: t2
-            Statistics: Num rows: 1049 Data size: 117488 Basic stats: COMPLETE 
Column stats: NONE
+            Statistics: Num rows: 1049 Data size: 234976 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1049 Data size: 117488 Basic stats: 
COMPLETE Column stats: NONE
+              Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
               Select Operator
                 expressions: dec (type: decimal(24,0))
                 outputColumnNames: _col0
-                Statistics: Num rows: 1049 Data size: 117488 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: decimal(26,2))
@@ -116,17 +118,17 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
-            Statistics: Num rows: 1049 Data size: 117488 Basic stats: COMPLETE 
Column stats: NONE
+            Statistics: Num rows: 1049 Data size: 234976 Basic stats: COMPLETE 
Column stats: NONE
             TableScan Vectorization:
                 native: true
-                vectorizationSchemaColumns: [0:dec:decimal(22,2), 
1:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+                vectorizationSchemaColumns: [0:dec:decimal(22,2), 
1:value_dec:decimal(22,2), 
2:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
             Filter Operator
               Filter Vectorization:
                   className: VectorFilterOperator
                   native: true
                   predicateExpression: SelectColumnIsNotNull(col 
0:decimal(22,2))
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1049 Data size: 117488 Basic stats: 
COMPLETE Column stats: NONE
+              Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
               Select Operator
                 expressions: dec (type: decimal(22,2))
                 outputColumnNames: _col0
@@ -134,7 +136,7 @@ STAGE PLANS:
                     className: VectorSelectOperator
                     native: true
                     projectedOutputColumnNums: [0]
-                Statistics: Num rows: 1049 Data size: 117488 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
@@ -142,19 +144,21 @@ STAGE PLANS:
                     0 _col0 (type: decimal(26,2))
                     1 _col0 (type: decimal(26,2))
                   Map Join Vectorization:
+                      bigTableKeyExpressions: col 0:decimal(26,2)
+                      bigTableValueExpressions: col 0:decimal(26,2)
                       className: VectorMapJoinOperator
                       native: false
                       nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true
                       nativeConditionsNotMet: hive.execution.engine mr IN 
[tez, spark] IS false, Optimized Table and Supports Key Types IS false
                       nativeNotSupportedKeyTypes: DECIMAL
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1153 Data size: 129236 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1153 Data size: 258473 Basic stats: 
COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false
                     File Sink Vectorization:
                         className: VectorFileSinkOperator
                         native: false
-                    Statistics: Num rows: 1153 Data size: 129236 Basic stats: 
COMPLETE Column stats: NONE
+                    Statistics: Num rows: 1153 Data size: 258473 Basic stats: 
COMPLETE Column stats: NONE
                     table:
                         input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -170,9 +174,9 @@ STAGE PLANS:
           usesVectorUDFAdaptor: false
           vectorized: true
           rowBatchContext:
-              dataColumnCount: 1
+              dataColumnCount: 2
               includeColumns: [0]
-              dataColumns: dec:decimal(22,2)
+              dataColumns: dec:decimal(22,2), value_dec:decimal(22,2)
               partitionColumnCount: 0
               scratchColumnTypeNames: []
       Local Work:
@@ -300,6 +304,236 @@ POSTHOOK: Input: default@t2
 9.00   9
 9.00   9
 9.00   9
+PREHOOK: query: explain vectorization detail
+select t1.`dec`, t1.value_dec, t2.`dec`, t2.value_dec from t1 join t2 on 
(t1.`dec`=t2.`dec`)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select t1.`dec`, t1.value_dec, t2.`dec`, t2.value_dec from t1 join t2 on 
(t1.`dec`=t2.`dec`)
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-4 is a root stage
+  Stage-3 depends on stages: Stage-4
+  Stage-0 depends on stages: Stage-3
+
+STAGE PLANS:
+  Stage: Stage-4
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        $hdt$_1:t2 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        $hdt$_1:t2 
+          TableScan
+            alias: t2
+            Statistics: Num rows: 1049 Data size: 234976 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(24,0)), value_dec (type: 
decimal(24,0))
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col0 (type: decimal(26,2))
+                    1 _col0 (type: decimal(26,2))
+
+  Stage: Stage-3
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: t1
+            Statistics: Num rows: 1049 Data size: 234976 Basic stats: COMPLETE 
Column stats: NONE
+            TableScan Vectorization:
+                native: true
+                vectorizationSchemaColumns: [0:dec:decimal(22,2), 
1:value_dec:decimal(22,2), 
2:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+            Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: SelectColumnIsNotNull(col 
0:decimal(22,2))
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(22,2)), value_dec (type: 
decimal(22,2))
+                outputColumnNames: _col0, _col1
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 1]
+                Statistics: Num rows: 1049 Data size: 234976 Basic stats: 
COMPLETE Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: decimal(26,2))
+                    1 _col0 (type: decimal(26,2))
+                  Map Join Vectorization:
+                      bigTableKeyExpressions: col 0:decimal(26,2)
+                      bigTableValueExpressions: col 0:decimal(26,2), col 
1:decimal(22,2)
+                      className: VectorMapJoinOperator
+                      native: false
+                      nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                      nativeConditionsNotMet: hive.execution.engine mr IN 
[tez, spark] IS false, Optimized Table and Supports Key Types IS false
+                      nativeNotSupportedKeyTypes: DECIMAL
+                  outputColumnNames: _col0, _col1, _col2, _col3
+                  Statistics: Num rows: 1153 Data size: 258473 Basic stats: 
COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    File Sink Vectorization:
+                        className: VectorFileSinkOperator
+                        native: false
+                    Statistics: Num rows: 1153 Data size: 258473 Basic stats: 
COMPLETE Column stats: NONE
+                    table:
+                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS 
true
+          inputFormatFeatureSupport: []
+          featureSupportInUse: []
+          inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+          rowBatchContext:
+              dataColumnCount: 2
+              includeColumns: [0, 1]
+              dataColumns: dec:decimal(22,2), value_dec:decimal(22,2)
+              partitionColumnCount: 0
+              scratchColumnTypeNames: [decimal(24,0)]
+      Local Work:
+        Map Reduce Local Work
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select t1.`dec`, t1.value_dec, t2.`dec`, t2.value_dec from t1 
join t2 on (t1.`dec`=t2.`dec`)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1
+PREHOOK: Input: default@t2
+#### A masked pattern was here ####
+POSTHOOK: query: select t1.`dec`, t1.value_dec, t2.`dec`, t2.value_dec from t1 
join t2 on (t1.`dec`=t2.`dec`)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1
+POSTHOOK: Input: default@t2
+#### A masked pattern was here ####
+14.00  33.66   14      10
+14.00  33.66   14      22
+14.00  33.66   14      34
+14.00  33.66   14      39
+14.00  33.66   14      42
+14.00  33.66   14      45
+14.00  33.66   14      46
+14.00  33.66   14      49
+14.00  33.66   14      5
+17.00  14.26   17      1
+17.00  14.26   17      14
+17.00  14.26   17      16
+17.00  14.26   17      19
+17.00  14.26   17      2
+17.00  14.26   17      22
+17.00  14.26   17      29
+17.00  14.26   17      3
+17.00  14.26   17      4
+17.00  14.26   17      44
+45.00  23.55   45      1
+45.00  23.55   45      2
+45.00  23.55   45      22
+45.00  23.55   45      24
+45.00  23.55   45      42
+6.00   29.78   6       16
+6.00   29.78   6       28
+6.00   29.78   6       30
+6.00   29.78   6       34
+6.00   29.78   6       36
+6.00   29.78   6       44
+62.00  21.02   62      15
+62.00  21.02   62      15
+62.00  21.02   62      21
+62.00  21.02   62      21
+62.00  21.02   62      22
+62.00  21.02   62      25
+62.00  21.02   62      29
+62.00  21.02   62      3
+62.00  21.02   62      34
+62.00  21.02   62      47
+62.00  21.02   62      47
+62.00  21.02   62      49
+64.00  37.76   64      0
+64.00  37.76   64      10
+64.00  37.76   64      10
+64.00  37.76   64      13
+64.00  37.76   64      23
+64.00  37.76   64      25
+64.00  37.76   64      26
+64.00  37.76   64      27
+64.00  37.76   64      27
+64.00  37.76   64      30
+64.00  37.76   64      32
+64.00  37.76   64      34
+64.00  37.76   64      35
+64.00  37.76   64      38
+64.00  37.76   64      40
+64.00  37.76   64      43
+64.00  37.76   64      5
+64.00  37.76   64      50
+70.00  24.59   70      2
+70.00  24.59   70      25
+70.00  24.59   70      27
+70.00  24.59   70      28
+70.00  24.59   70      3
+70.00  24.59   70      32
+70.00  24.59   70      44
+79.00  15.12   79      1
+79.00  15.12   79      15
+79.00  15.12   79      25
+79.00  15.12   79      30
+79.00  15.12   79      35
+79.00  15.12   79      35
+89.00  15.09   89      1
+89.00  15.09   89      15
+89.00  15.09   89      23
+89.00  15.09   89      27
+89.00  15.09   89      28
+89.00  15.09   89      29
+89.00  15.09   89      30
+89.00  15.09   89      32
+89.00  15.09   89      39
+89.00  15.09   89      40
+89.00  15.09   89      45
+89.00  15.09   89      7
+9.00   48.96   9       12
+9.00   48.96   9       15
+9.00   48.96   9       2
+9.00   48.96   9       2
+9.00   48.96   9       2
+9.00   48.96   9       20
+9.00   48.96   9       20
+9.00   48.96   9       21
+9.00   48.96   9       21
+9.00   48.96   9       26
+9.00   48.96   9       27
+9.00   48.96   9       34
+9.00   48.96   9       38
+9.00   48.96   9       41
+9.00   48.96   9       42
+9.00   48.96   9       45
+9.00   48.96   9       48
+9.00   48.96   9       49
+9.00   48.96   9       5
+9.00   48.96   9       7
+9.00   48.96   9       7
 PREHOOK: query: CREATE TABLE over1k_small(t tinyint,
            si smallint,
            i int,
@@ -309,7 +543,7 @@ PREHOOK: query: CREATE TABLE over1k_small(t tinyint,
            bo boolean,
            s string,
            ts timestamp,
-           `dec` decimal(4,2),
+           `dec` decimal(14,2),
            bin binary)
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
 STORED AS TEXTFILE
@@ -325,7 +559,7 @@ POSTHOOK: query: CREATE TABLE over1k_small(t tinyint,
            bo boolean,
            s string,
            ts timestamp,
-           `dec` decimal(4,2),
+           `dec` decimal(14,2),
            bin binary)
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
 STORED AS TEXTFILE
@@ -340,40 +574,42 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH 
'../../data/files/over1k' OVERWRITE INTO
 POSTHOOK: type: LOAD
 #### A masked pattern was here ####
 POSTHOOK: Output: default@over1k_small
-PREHOOK: query: CREATE TABLE t1_small(`dec` decimal(4,2)) STORED AS ORC
+PREHOOK: query: CREATE TABLE t1_small(`dec` decimal(14,2), value_dec 
decimal(14,2)) STORED AS TEXTFILE
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
 PREHOOK: Output: default@t1_small
-POSTHOOK: query: CREATE TABLE t1_small(`dec` decimal(4,2)) STORED AS ORC
+POSTHOOK: query: CREATE TABLE t1_small(`dec` decimal(14,2), value_dec 
decimal(14,2)) STORED AS TEXTFILE
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t1_small
-PREHOOK: query: INSERT INTO TABLE t1 select `dec` from over1k_small
+PREHOOK: query: INSERT INTO TABLE t1_small select `dec`, cast(d as 
decimal(14,2)) from over1k_small
 PREHOOK: type: QUERY
 PREHOOK: Input: default@over1k_small
-PREHOOK: Output: default@t1
-POSTHOOK: query: INSERT INTO TABLE t1 select `dec` from over1k_small
+PREHOOK: Output: default@t1_small
+POSTHOOK: query: INSERT INTO TABLE t1_small select `dec`, cast(d as 
decimal(14,2)) from over1k_small
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@over1k_small
-POSTHOOK: Output: default@t1
-POSTHOOK: Lineage: t1.dec EXPRESSION 
[(over1k_small)over1k_small.FieldSchema(name:dec, type:decimal(4,2), 
comment:null), ]
-PREHOOK: query: CREATE TABLE t2_small(`dec` decimal(4,0)) STORED AS ORC
+POSTHOOK: Output: default@t1_small
+POSTHOOK: Lineage: t1_small.dec SIMPLE 
[(over1k_small)over1k_small.FieldSchema(name:dec, type:decimal(14,2), 
comment:null), ]
+POSTHOOK: Lineage: t1_small.value_dec EXPRESSION 
[(over1k_small)over1k_small.FieldSchema(name:d, type:double, comment:null), ]
+PREHOOK: query: CREATE TABLE t2_small(`dec` decimal(14,0), value_dec 
decimal(14,0)) STORED AS TEXTFILE
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
 PREHOOK: Output: default@t2_small
-POSTHOOK: query: CREATE TABLE t2_small(`dec` decimal(4,0)) STORED AS ORC
+POSTHOOK: query: CREATE TABLE t2_small(`dec` decimal(14,0), value_dec 
decimal(14,0)) STORED AS TEXTFILE
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
 POSTHOOK: Output: default@t2_small
-PREHOOK: query: INSERT INTO TABLE t2 select `dec` from over1k_small
+PREHOOK: query: INSERT INTO TABLE t2_small select `dec`, cast(d as 
decimal(14,0)) from over1k_small
 PREHOOK: type: QUERY
 PREHOOK: Input: default@over1k_small
-PREHOOK: Output: default@t2
-POSTHOOK: query: INSERT INTO TABLE t2 select `dec` from over1k_small
+PREHOOK: Output: default@t2_small
+POSTHOOK: query: INSERT INTO TABLE t2_small select `dec`, cast(d as 
decimal(14,0)) from over1k_small
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@over1k_small
-POSTHOOK: Output: default@t2
-POSTHOOK: Lineage: t2.dec EXPRESSION 
[(over1k_small)over1k_small.FieldSchema(name:dec, type:decimal(4,2), 
comment:null), ]
+POSTHOOK: Output: default@t2_small
+POSTHOOK: Lineage: t2_small.dec EXPRESSION 
[(over1k_small)over1k_small.FieldSchema(name:dec, type:decimal(14,2), 
comment:null), ]
+POSTHOOK: Lineage: t2_small.value_dec EXPRESSION 
[(over1k_small)over1k_small.FieldSchema(name:d, type:double, comment:null), ]
 PREHOOK: query: explain vectorization detail
 select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on 
(t1_small.`dec`=t2_small.`dec`)
 PREHOOK: type: QUERY
@@ -393,70 +629,322 @@ STAGE PLANS:
   Stage: Stage-4
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        $hdt$_0:t1_small 
+        $hdt$_1:t2_small 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        $hdt$_0:t1_small 
+        $hdt$_1:t2_small 
+          TableScan
+            alias: t2_small
+            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(14,0))
+                outputColumnNames: _col0
+                Statistics: Num rows: 1049 Data size: 7044 Basic stats: 
COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
+
+  Stage: Stage-3
+    Map Reduce
+      Map Operator Tree:
           TableScan
             alias: t1_small
-            Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+            Statistics: Num rows: 1049 Data size: 11234 Basic stats: COMPLETE 
Column stats: NONE
+            TableScan Vectorization:
+                native: true
+                vectorizationSchemaColumns: [0:dec:decimal(14,2)/DECIMAL_64, 
1:value_dec:decimal(14,2)/DECIMAL_64, 
2:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
             Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: SelectColumnIsNotNull(col 
3:decimal(14,2))(children: ConvertDecimal64ToDecimal(col 
0:decimal(14,2)/DECIMAL_64) -> 3:decimal(14,2))
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+              Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
               Select Operator
-                expressions: dec (type: decimal(4,2))
+                expressions: dec (type: decimal(14,2))
                 outputColumnNames: _col0
-                Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0]
+                Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
+                  Map Join Vectorization:
+                      bigTableKeyExpressions: ConvertDecimal64ToDecimal(col 
0:decimal(16,2)/DECIMAL_64) -> 4:decimal(16,2)
+                      bigTableValueExpressions: ConvertDecimal64ToDecimal(col 
0:decimal(16,2)/DECIMAL_64) -> 5:decimal(16,2)
+                      className: VectorMapJoinOperator
+                      native: false
+                      nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                      nativeConditionsNotMet: hive.execution.engine mr IN 
[tez, spark] IS false, Optimized Table and Supports Key Types IS false
+                      nativeNotSupportedKeyTypes: DECIMAL
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    File Sink Vectorization:
+                        className: VectorFileSinkOperator
+                        native: false
+                    Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
+                    table:
+                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize 
IS true
+          inputFormatFeatureSupport: [DECIMAL_64]
+          featureSupportInUse: [DECIMAL_64]
+          inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+          rowBatchContext:
+              dataColumnCount: 2
+              includeColumns: [0]
+              dataColumns: dec:decimal(14,2)/DECIMAL_64, 
value_dec:decimal(14,2)/DECIMAL_64
+              partitionColumnCount: 0
+              scratchColumnTypeNames: [decimal(14,2), decimal(16,2), 
decimal(16,2)]
+      Local Work:
+        Map Reduce Local Work
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select t1_small.`dec`, t2_small.`dec` from t1_small join 
t2_small on (t1_small.`dec`=t2_small.`dec`)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1_small
+PREHOOK: Input: default@t2_small
+#### A masked pattern was here ####
+POSTHOOK: query: select t1_small.`dec`, t2_small.`dec` from t1_small join 
t2_small on (t1_small.`dec`=t2_small.`dec`)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1_small
+POSTHOOK: Input: default@t2_small
+#### A masked pattern was here ####
+89.00  89
+PREHOOK: query: explain vectorization detail
+select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec 
from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec 
from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-4 is a root stage
+  Stage-3 depends on stages: Stage-4
+  Stage-0 depends on stages: Stage-3
+
+STAGE PLANS:
+  Stage: Stage-4
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        $hdt$_1:t2_small 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        $hdt$_1:t2_small 
+          TableScan
+            alias: t2_small
+            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(14,0)), value_dec (type: 
decimal(14,0))
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1049 Data size: 7044 Basic stats: 
COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
-                    0 _col0 (type: decimal(6,2))
-                    1 _col0 (type: decimal(6,2))
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
 
   Stage: Stage-3
     Map Reduce
       Map Operator Tree:
           TableScan
+            alias: t1_small
+            Statistics: Num rows: 1049 Data size: 11234 Basic stats: COMPLETE 
Column stats: NONE
+            TableScan Vectorization:
+                native: true
+                vectorizationSchemaColumns: [0:dec:decimal(14,2)/DECIMAL_64, 
1:value_dec:decimal(14,2)/DECIMAL_64, 
2:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+            Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: SelectColumnIsNotNull(col 
3:decimal(14,2))(children: ConvertDecimal64ToDecimal(col 
0:decimal(14,2)/DECIMAL_64) -> 3:decimal(14,2))
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(14,2)), value_dec (type: 
decimal(14,2))
+                outputColumnNames: _col0, _col1
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 1]
+                Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
+                  Map Join Vectorization:
+                      bigTableKeyExpressions: ConvertDecimal64ToDecimal(col 
0:decimal(16,2)/DECIMAL_64) -> 4:decimal(16,2)
+                      bigTableValueExpressions: ConvertDecimal64ToDecimal(col 
0:decimal(16,2)/DECIMAL_64) -> 5:decimal(16,2), ConvertDecimal64ToDecimal(col 
1:decimal(14,2)/DECIMAL_64) -> 3:decimal(14,2)
+                      className: VectorMapJoinOperator
+                      native: false
+                      nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                      nativeConditionsNotMet: hive.execution.engine mr IN 
[tez, spark] IS false, Optimized Table and Supports Key Types IS false
+                      nativeNotSupportedKeyTypes: DECIMAL
+                  outputColumnNames: _col0, _col1, _col2, _col3
+                  Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    File Sink Vectorization:
+                        className: VectorFileSinkOperator
+                        native: false
+                    Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
+                    table:
+                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize 
IS true
+          inputFormatFeatureSupport: [DECIMAL_64]
+          featureSupportInUse: [DECIMAL_64]
+          inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+          rowBatchContext:
+              dataColumnCount: 2
+              includeColumns: [0, 1]
+              dataColumns: dec:decimal(14,2)/DECIMAL_64, 
value_dec:decimal(14,2)/DECIMAL_64
+              partitionColumnCount: 0
+              scratchColumnTypeNames: [decimal(14,2), decimal(16,2), 
decimal(16,2), decimal(14,0)]
+      Local Work:
+        Map Reduce Local Work
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, 
t2_small.value_dec from t1_small join t2_small on 
(t1_small.`dec`=t2_small.`dec`)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1_small
+PREHOOK: Input: default@t2_small
+#### A masked pattern was here ####
+POSTHOOK: query: select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, 
t2_small.value_dec from t1_small join t2_small on 
(t1_small.`dec`=t2_small.`dec`)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1_small
+POSTHOOK: Input: default@t2_small
+#### A masked pattern was here ####
+89.00  15.09   89      15
+PREHOOK: query: explain vectorization detail
+select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on 
(t1_small.`dec`=t2_small.`dec`)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select t1_small.`dec`, t2_small.`dec` from t1_small join t2_small on 
(t1_small.`dec`=t2_small.`dec`)
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-4 is a root stage
+  Stage-3 depends on stages: Stage-4
+  Stage-0 depends on stages: Stage-3
+
+STAGE PLANS:
+  Stage: Stage-4
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        $hdt$_1:t2_small 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        $hdt$_1:t2_small 
+          TableScan
             alias: t2_small
-            Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(14,0))
+                outputColumnNames: _col0
+                Statistics: Num rows: 1049 Data size: 7044 Basic stats: 
COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
+
+  Stage: Stage-3
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: t1_small
+            Statistics: Num rows: 1049 Data size: 11234 Basic stats: COMPLETE 
Column stats: NONE
             TableScan Vectorization:
                 native: true
-                vectorizationSchemaColumns: [0:dec:decimal(4,0), 
1:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+                vectorizationSchemaColumns: [0:dec:decimal(14,2), 
1:value_dec:decimal(14,2), 
2:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
             Filter Operator
               Filter Vectorization:
                   className: VectorFilterOperator
                   native: true
-                  predicateExpression: SelectColumnIsNotNull(col 
0:decimal(4,0))
+                  predicateExpression: SelectColumnIsNotNull(col 
0:decimal(14,2))
               predicate: dec is not null (type: boolean)
-              Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+              Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
               Select Operator
-                expressions: dec (type: decimal(4,0))
+                expressions: dec (type: decimal(14,2))
                 outputColumnNames: _col0
                 Select Vectorization:
                     className: VectorSelectOperator
                     native: true
                     projectedOutputColumnNums: [0]
-                Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
+                Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
                   keys:
-                    0 _col0 (type: decimal(6,2))
-                    1 _col0 (type: decimal(6,2))
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
                   Map Join Vectorization:
+                      bigTableKeyExpressions: col 0:decimal(16,2)
+                      bigTableValueExpressions: col 0:decimal(16,2)
                       className: VectorMapJoinOperator
                       native: false
                       nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true
                       nativeConditionsNotMet: hive.execution.engine mr IN 
[tez, spark] IS false, Optimized Table and Supports Key Types IS false
                       nativeNotSupportedKeyTypes: DECIMAL
                   outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
+                  Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false
                     File Sink Vectorization:
                         className: VectorFileSinkOperator
                         native: false
-                    Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
+                    Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
                     table:
                         input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -464,17 +952,18 @@ STAGE PLANS:
       Execution mode: vectorized
       Map Vectorization:
           enabled: true
-          enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS 
true
-          inputFormatFeatureSupport: []
+          enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize 
IS true
+          inputFormatFeatureSupport: [DECIMAL_64]
+          vectorizationSupportRemovedReasons: [[] is disabled because it is 
not in hive.vectorized.input.format.supports.enabled []]
           featureSupportInUse: []
-          inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+          inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
           allNative: false
           usesVectorUDFAdaptor: false
           vectorized: true
           rowBatchContext:
-              dataColumnCount: 1
+              dataColumnCount: 2
               includeColumns: [0]
-              dataColumns: dec:decimal(4,0)
+              dataColumns: dec:decimal(14,2), value_dec:decimal(14,2)
               partitionColumnCount: 0
               scratchColumnTypeNames: []
       Local Work:
@@ -496,3 +985,130 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t1_small
 POSTHOOK: Input: default@t2_small
 #### A masked pattern was here ####
+89.00  89
+PREHOOK: query: explain vectorization detail
+select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec 
from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, t2_small.value_dec 
from t1_small join t2_small on (t1_small.`dec`=t2_small.`dec`)
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-4 is a root stage
+  Stage-3 depends on stages: Stage-4
+  Stage-0 depends on stages: Stage-3
+
+STAGE PLANS:
+  Stage: Stage-4
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        $hdt$_1:t2_small 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        $hdt$_1:t2_small 
+          TableScan
+            alias: t2_small
+            Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 7044 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(14,0)), value_dec (type: 
decimal(14,0))
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1049 Data size: 7044 Basic stats: 
COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
+
+  Stage: Stage-3
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: t1_small
+            Statistics: Num rows: 1049 Data size: 11234 Basic stats: COMPLETE 
Column stats: NONE
+            TableScan Vectorization:
+                native: true
+                vectorizationSchemaColumns: [0:dec:decimal(14,2), 
1:value_dec:decimal(14,2), 
2:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+            Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: SelectColumnIsNotNull(col 
0:decimal(14,2))
+              predicate: dec is not null (type: boolean)
+              Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
+              Select Operator
+                expressions: dec (type: decimal(14,2)), value_dec (type: 
decimal(14,2))
+                outputColumnNames: _col0, _col1
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 1]
+                Statistics: Num rows: 1049 Data size: 11234 Basic stats: 
COMPLETE Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: decimal(16,2))
+                    1 _col0 (type: decimal(16,2))
+                  Map Join Vectorization:
+                      bigTableKeyExpressions: col 0:decimal(16,2)
+                      bigTableValueExpressions: col 0:decimal(16,2), col 
1:decimal(14,2)
+                      className: VectorMapJoinOperator
+                      native: false
+                      nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true
+                      nativeConditionsNotMet: hive.execution.engine mr IN 
[tez, spark] IS false, Optimized Table and Supports Key Types IS false
+                      nativeNotSupportedKeyTypes: DECIMAL
+                  outputColumnNames: _col0, _col1, _col2, _col3
+                  Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    File Sink Vectorization:
+                        className: VectorFileSinkOperator
+                        native: false
+                    Statistics: Num rows: 1153 Data size: 12357 Basic stats: 
COMPLETE Column stats: NONE
+                    table:
+                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize 
IS true
+          inputFormatFeatureSupport: [DECIMAL_64]
+          vectorizationSupportRemovedReasons: [[] is disabled because it is 
not in hive.vectorized.input.format.supports.enabled []]
+          featureSupportInUse: []
+          inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+          rowBatchContext:
+              dataColumnCount: 2
+              includeColumns: [0, 1]
+              dataColumns: dec:decimal(14,2), value_dec:decimal(14,2)
+              partitionColumnCount: 0
+              scratchColumnTypeNames: [decimal(14,0)]
+      Local Work:
+        Map Reduce Local Work
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, 
t2_small.value_dec from t1_small join t2_small on 
(t1_small.`dec`=t2_small.`dec`)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1_small
+PREHOOK: Input: default@t2_small
+#### A masked pattern was here ####
+POSTHOOK: query: select t1_small.`dec`, t1_small.value_dec, t2_small.`dec`, 
t2_small.value_dec from t1_small join t2_small on 
(t1_small.`dec`=t2_small.`dec`)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1_small
+POSTHOOK: Input: default@t2_small
+#### A masked pattern was here ####
+89.00  15.09   89      15

http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out 
b/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out
index 553c6f4..bfe2d80 100644
--- a/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out
@@ -127,6 +127,7 @@ STAGE PLANS:
                 0 
                 1 
               Map Join Vectorization:
+                  bigTableValueExpressions: col 0:bigint, col 1:bigint
                   className: VectorMapJoinOperator
                   native: false
                   nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true
@@ -185,6 +186,8 @@ STAGE PLANS:
                 0 _col0 (type: string)
                 1 _col0 (type: string)
               Map Join Vectorization:
+                  bigTableKeyExpressions: col 0:string
+                  bigTableValueExpressions: col 0:string, col 1:string, col 
2:bigint, col 3:bigint
                   className: VectorMapJoinOperator
                   native: false
                   nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true

http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_include_no_sel.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_include_no_sel.q.out 
b/ql/src/test/results/clientpositive/vector_include_no_sel.q.out
index 7efcfd9..848823f 100644
--- a/ql/src/test/results/clientpositive/vector_include_no_sel.q.out
+++ b/ql/src/test/results/clientpositive/vector_include_no_sel.q.out
@@ -214,6 +214,7 @@ STAGE PLANS:
                 0 
                 1 
               Map Join Vectorization:
+                  bigTableValueExpressions: col 4:int
                   className: VectorMapJoinOperator
                   native: false
                   nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true

http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out 
b/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
index 18b324c..1654bd9 100644
--- a/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
@@ -244,6 +244,8 @@ STAGE PLANS:
                     0 _col0 (type: string), _col1 (type: interval_day_time)
                     1 _col0 (type: string), _col1 (type: interval_day_time)
                   Map Join Vectorization:
+                      bigTableKeyExpressions: col 8:string, col 
15:interval_day_time
+                      bigTableValueExpressions: col 8:string, col 
15:interval_day_time
                       className: VectorMapJoinOperator
                       native: false
                       nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true

http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_left_outer_join2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_left_outer_join2.q.out 
b/ql/src/test/results/clientpositive/vector_left_outer_join2.q.out
index d73e9ac..979477b 100644
--- a/ql/src/test/results/clientpositive/vector_left_outer_join2.q.out
+++ b/ql/src/test/results/clientpositive/vector_left_outer_join2.q.out
@@ -327,6 +327,8 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 1:int
+                    bigTableValueExpressions: col 0:int, col 1:int, col 2:int
                     className: VectorMapJoinOuterFilteredOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, One MapJoin Condition IS true, No nullsafe IS true, Small table 
vectorizes IS true, Optimized Table and Supports Key Types IS true
@@ -448,6 +450,8 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 1:int
+                    bigTableValueExpressions: col 0:int, col 1:int, col 2:int
                     className: VectorMapJoinOuterFilteredOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, One MapJoin Condition IS true, No nullsafe IS true, Small table 
vectorizes IS true, Optimized Table and Supports Key Types IS true
@@ -569,6 +573,8 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 1:int
+                    bigTableValueExpressions: col 0:int, col 1:int, col 2:int
                     className: VectorMapJoinOuterFilteredOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true
@@ -690,6 +696,8 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 1:int
+                    bigTableValueExpressions: col 0:int, col 1:int, col 2:int
                     className: VectorMapJoinOuterFilteredOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true

http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_outer_join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_outer_join0.q.out 
b/ql/src/test/results/clientpositive/vector_outer_join0.q.out
index 11a534d..603571d 100644
--- a/ql/src/test/results/clientpositive/vector_outer_join0.q.out
+++ b/ql/src/test/results/clientpositive/vector_outer_join0.q.out
@@ -118,6 +118,8 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 1:int
+                    bigTableValueExpressions: col 0:string, col 1:int
                     className: VectorMapJoinOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true
@@ -235,6 +237,8 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 0:int
+                    bigTableValueExpressions: col 0:int, col 1:string
                     className: VectorMapJoinOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true

http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_outer_join1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_outer_join1.q.out 
b/ql/src/test/results/clientpositive/vector_outer_join1.q.out
index 6dadcc6..9143fc8 100644
--- a/ql/src/test/results/clientpositive/vector_outer_join1.q.out
+++ b/ql/src/test/results/clientpositive/vector_outer_join1.q.out
@@ -282,6 +282,8 @@ STAGE PLANS:
                   0 _col2 (type: int)
                   1 _col2 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 2:int
+                    bigTableValueExpressions: col 0:tinyint, col 1:smallint, 
col 2:int, col 3:bigint, col 4:float, col 5:double, col 6:string, col 7:string, 
col 8:timestamp, col 9:timestamp, col 10:boolean, col 11:boolean
                     className: VectorMapJoinOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true
@@ -422,6 +424,8 @@ STAGE PLANS:
                   0 _col0 (type: tinyint)
                   1 _col0 (type: tinyint)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 0:tinyint
+                    bigTableValueExpressions: col 0:tinyint
                     className: VectorMapJoinOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true
@@ -669,6 +673,8 @@ STAGE PLANS:
                   0 _col1 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 2:int
+                    bigTableValueExpressions: col 0:tinyint
                     className: VectorMapJoinOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true
@@ -682,6 +688,8 @@ STAGE PLANS:
                     0 _col0 (type: tinyint)
                     1 _col0 (type: tinyint)
                   Map Join Vectorization:
+                      bigTableKeyExpressions: col 0:tinyint
+                      bigTableValueExpressions: col 0:tinyint
                       className: VectorMapJoinOperator
                       native: false
                       nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true

http://git-wip-us.apache.org/repos/asf/hive/blob/65cd866e/ql/src/test/results/clientpositive/vector_outer_join2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_outer_join2.q.out 
b/ql/src/test/results/clientpositive/vector_outer_join2.q.out
index bffc709..2fe0de3 100644
--- a/ql/src/test/results/clientpositive/vector_outer_join2.q.out
+++ b/ql/src/test/results/clientpositive/vector_outer_join2.q.out
@@ -313,6 +313,8 @@ STAGE PLANS:
                   0 _col0 (type: int)
                   1 _col0 (type: int)
                 Map Join Vectorization:
+                    bigTableKeyExpressions: col 2:int
+                    bigTableValueExpressions: col 3:bigint
                     className: VectorMapJoinOperator
                     native: false
                     nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true
@@ -326,6 +328,8 @@ STAGE PLANS:
                     0 _col1 (type: bigint)
                     1 _col0 (type: bigint)
                   Map Join Vectorization:
+                      bigTableKeyExpressions: col 0:bigint
+                      bigTableValueExpressions: col 0:bigint
                       className: VectorMapJoinOperator
                       native: false
                       nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin 
Condition IS true, No nullsafe IS true, Small table vectorizes IS true, 
Optimized Table and Supports Key Types IS true

Reply via email to