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 2018/04/16 15:03:25 UTC

[4/9] hive git commit: HIVE-19200: Vectorization: Disable vectorization for LLAP I/O when a non-VECTORIZED_INPUT_FILE_FORMAT mode is needed (i.e. rows) and data type conversion is needed (Matt McCline, reviewed by Jason Dere)

http://git-wip-us.apache.org/repos/asf/hive/blob/c46c4c90/ql/src/test/results/clientpositive/llap/schema_evol_text_vec_table_llap_io.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/schema_evol_text_vec_table_llap_io.q.out b/ql/src/test/results/clientpositive/llap/schema_evol_text_vec_table_llap_io.q.out
index 0285ecc..97d8047 100644
--- a/ql/src/test/results/clientpositive/llap/schema_evol_text_vec_table_llap_io.q.out
+++ b/ql/src/test/results/clientpositive/llap/schema_evol_text_vec_table_llap_io.q.out
@@ -121,6 +121,98 @@ insert_num	a	b
 103	NULL	original
 104	203332	original
 105	-999992	original
+PREHOOK: query: alter table table_add_int_permute_select add columns(c int)
+PREHOOK: type: ALTERTABLE_ADDCOLS
+PREHOOK: Input: default@table_add_int_permute_select
+PREHOOK: Output: default@table_add_int_permute_select
+POSTHOOK: query: alter table table_add_int_permute_select add columns(c int)
+POSTHOOK: type: ALTERTABLE_ADDCOLS
+POSTHOOK: Input: default@table_add_int_permute_select
+POSTHOOK: Output: default@table_add_int_permute_select
+PREHOOK: query: insert into table table_add_int_permute_select VALUES (111, 80000, 'new', 80000)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_add_int_permute_select
+POSTHOOK: query: insert into table table_add_int_permute_select VALUES (111, 80000, 'new', 80000)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_add_int_permute_select
+POSTHOOK: Lineage: table_add_int_permute_select.a SCRIPT []
+POSTHOOK: Lineage: table_add_int_permute_select.b SCRIPT []
+POSTHOOK: Lineage: table_add_int_permute_select.c SCRIPT []
+POSTHOOK: Lineage: table_add_int_permute_select.insert_num SCRIPT []
+col1	col2	col3	col4
+PREHOOK: query: explain vectorization detail
+select insert_num,a,b from table_add_int_permute_select
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,a,b from table_add_int_permute_select
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: table_add_int_permute_select
+                  Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:insert_num:int, 1:a:int, 2:b:string, 3:c:int, 4:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Select Operator
+                    expressions: insert_num (type: int), a (type: int), b (type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumnNums: [0, 1, 2]
+                    Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                    File Output Operator
+                      compressed: false
+                      File Sink Vectorization:
+                          className: VectorFileSinkOperator
+                          native: false
+                      Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                      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, llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                vectorizationSupportRemovedReasons: [DECIMAL_64 disabled because LLAP is enabled]
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 4
+                    includeColumns: [0, 1, 2]
+                    dataColumns: insert_num:int, a:int, b:string, c:int
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table table_add_int_permute_select
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_add_int_permute_select
@@ -234,6 +326,99 @@ insert_num	a	b
 103	NULL	original
 104	203332	original
 105	-999992	original
+PREHOOK: query: alter table table_add_int_string_permute_select add columns(c int, d string)
+PREHOOK: type: ALTERTABLE_ADDCOLS
+PREHOOK: Input: default@table_add_int_string_permute_select
+PREHOOK: Output: default@table_add_int_string_permute_select
+POSTHOOK: query: alter table table_add_int_string_permute_select add columns(c int, d string)
+POSTHOOK: type: ALTERTABLE_ADDCOLS
+POSTHOOK: Input: default@table_add_int_string_permute_select
+POSTHOOK: Output: default@table_add_int_string_permute_select
+PREHOOK: query: insert into table table_add_int_string_permute_select VALUES (111, 80000, 'new', 80000, 'filler')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_add_int_string_permute_select
+POSTHOOK: query: insert into table table_add_int_string_permute_select VALUES (111, 80000, 'new', 80000, 'filler')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_add_int_string_permute_select
+POSTHOOK: Lineage: table_add_int_string_permute_select.a SCRIPT []
+POSTHOOK: Lineage: table_add_int_string_permute_select.b SCRIPT []
+POSTHOOK: Lineage: table_add_int_string_permute_select.c SCRIPT []
+POSTHOOK: Lineage: table_add_int_string_permute_select.d SCRIPT []
+POSTHOOK: Lineage: table_add_int_string_permute_select.insert_num SCRIPT []
+col1	col2	col3	col4	col5
+PREHOOK: query: explain vectorization detail
+select insert_num,a,b from table_add_int_string_permute_select
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,a,b from table_add_int_string_permute_select
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: table_add_int_string_permute_select
+                  Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:insert_num:int, 1:a:int, 2:b:string, 3:c:int, 4:d:string, 5:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Select Operator
+                    expressions: insert_num (type: int), a (type: int), b (type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumnNums: [0, 1, 2]
+                    Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                    File Output Operator
+                      compressed: false
+                      File Sink Vectorization:
+                          className: VectorFileSinkOperator
+                          native: false
+                      Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
+                      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, llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                vectorizationSupportRemovedReasons: [DECIMAL_64 disabled because LLAP is enabled]
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 5
+                    includeColumns: [0, 1, 2]
+                    dataColumns: insert_num:int, a:int, b:string, c:int, d:string
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table table_add_int_string_permute_select
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_add_int_string_permute_select
@@ -349,6 +534,99 @@ insert_num	c1	c2	c3	b
 103		                                                  		original
 104	30.774	30.774                                            	30.774	original
 105	46114.28	46114.28                                          	46114.28	original
+PREHOOK: query: alter table table_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@table_change_string_group_double
+PREHOOK: Output: default@table_change_string_group_double
+POSTHOOK: query: alter table table_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@table_change_string_group_double
+POSTHOOK: Output: default@table_change_string_group_double
+PREHOOK: query: insert into table table_change_string_group_double VALUES (111, 789.321, 789.321, 789.321, 'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_change_string_group_double
+POSTHOOK: query: insert into table table_change_string_group_double VALUES (111, 789.321, 789.321, 789.321, 'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_change_string_group_double
+POSTHOOK: Lineage: table_change_string_group_double.b SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_double.c1 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_double.c2 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_double.c3 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_double.insert_num SCRIPT []
+_col0	_col1	_col2	_col3	_col4
+PREHOOK: query: explain vectorization detail
+select insert_num,c1,c2,c3,b from table_change_string_group_double
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,c1,c2,c3,b from table_change_string_group_double
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: table_change_string_group_double
+                  Statistics: Num rows: 6 Data size: 720 Basic stats: COMPLETE Column stats: PARTIAL
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:insert_num:int, 1:c1:double, 2:c2:double, 3:c3:double, 4:b:string, 5:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Select Operator
+                    expressions: insert_num (type: int), c1 (type: double), c2 (type: double), c3 (type: double), b (type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumnNums: [0, 1, 2, 3, 4]
+                    Statistics: Num rows: 6 Data size: 720 Basic stats: COMPLETE Column stats: PARTIAL
+                    File Output Operator
+                      compressed: false
+                      File Sink Vectorization:
+                          className: VectorFileSinkOperator
+                          native: false
+                      Statistics: Num rows: 6 Data size: 720 Basic stats: COMPLETE Column stats: PARTIAL
+                      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, llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                vectorizationSupportRemovedReasons: [DECIMAL_64 disabled because LLAP is enabled]
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 5
+                    includeColumns: [0, 1, 2, 3, 4]
+                    dataColumns: insert_num:int, c1:double, c2:double, c3:double, b:string
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table table_change_string_group_double
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_change_string_group_double
@@ -457,20 +735,35 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,b from table_change_date_group_string_group_date_group
-PREHOOK: type: QUERY
+PREHOOK: query: alter table table_change_date_group_string_group_date_group replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), c6 STRING, c7 CHAR(50), c8 CHAR(15), c9 VARCHAR(50), c10 VARCHAR(15), b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@table_change_date_group_string_group_date_group
-#### A masked pattern was here ####
-POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,b from table_change_date_group_string_group_date_group
-POSTHOOK: type: QUERY
+PREHOOK: Output: default@table_change_date_group_string_group_date_group
+POSTHOOK: query: alter table table_change_date_group_string_group_date_group replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), c6 STRING, c7 CHAR(50), c8 CHAR(15), c9 VARCHAR(50), c10 VARCHAR(15), b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
 POSTHOOK: Input: default@table_change_date_group_string_group_date_group
-#### A masked pattern was here ####
-insert_num	c1	c2	c3	c4	c5	c6	c7	c8	c9	c10	b
-101	1950-12-18	1950-12-18	1950-12-18	1950-12-18	1950-12-18	6229-06-28 02:54:28.970117179	6229-06-28 02:54:28.970117179	6229-06-28 02:54:28.970117179	6229-06-28 02:54:28.970117179	6229-06-28 02:54:28.970117179	original
-102	2049-12-18	2049-12-18	2049-12-18	2049-12-18	2049-12-18	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597	original
-103	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	original
-104	2021-09-24	2021-09-24	2021-09-24	2021-09-24	2021-09-24	1978-08-02 06:34:14	1978-08-02 06:34:14	1978-08-02 06:34:14	1978-08-02 06:34:14	1978-08-02 06:34:14	original
-105	2024-11-11	2024-11-11	2024-11-11	2024-11-11	2024-11-11	1991-01-06 16:20:39.72036854	1991-01-06 16:20:39.72036854	1991-01-06 16:20:39.72036854	1991-01-06 16:20:39.72036854	1991-01-06 16:20:39.72036854	original
+POSTHOOK: Output: default@table_change_date_group_string_group_date_group
+PREHOOK: query: insert into table table_change_date_group_string_group_date_group VALUES (111, 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_change_date_group_string_group_date_group
+POSTHOOK: query: insert into table table_change_date_group_string_group_date_group VALUES (111, 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_change_date_group_string_group_date_group
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.b SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c1 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c10 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c2 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c3 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c4 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c5 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c6 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c7 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c8 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.c9 SCRIPT []
+POSTHOOK: Lineage: table_change_date_group_string_group_date_group.insert_num SCRIPT []
+_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7	_col8	_col9	_col10	_col11
 PREHOOK: query: drop table table_change_date_group_string_group_date_group
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_change_date_group_string_group_date_group
@@ -605,20 +898,132 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,b from table_change_numeric_group_string_group_multi_ints_string_group
-PREHOOK: type: QUERY
+PREHOOK: query: alter table table_change_numeric_group_string_group_multi_ints_string_group replace columns (insert_num int,
+             c1 STRING, c2 STRING, c3 STRING, c4 STRING,
+             c5 CHAR(50), c6 CHAR(50), c7 CHAR(50), c8 CHAR(50), c9 CHAR(5), c10 CHAR(5), c11 CHAR(5), c12 CHAR(5),
+             c13 VARCHAR(50), c14 VARCHAR(50), c15 VARCHAR(50), c16 VARCHAR(50), c17 VARCHAR(5), c18 VARCHAR(5), c19 VARCHAR(5), c20 VARCHAR(5),
+             b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string_group
-#### A masked pattern was here ####
-POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,b from table_change_numeric_group_string_group_multi_ints_string_group
-POSTHOOK: type: QUERY
+PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string_group
+POSTHOOK: query: alter table table_change_numeric_group_string_group_multi_ints_string_group replace columns (insert_num int,
+             c1 STRING, c2 STRING, c3 STRING, c4 STRING,
+             c5 CHAR(50), c6 CHAR(50), c7 CHAR(50), c8 CHAR(50), c9 CHAR(5), c10 CHAR(5), c11 CHAR(5), c12 CHAR(5),
+             c13 VARCHAR(50), c14 VARCHAR(50), c15 VARCHAR(50), c16 VARCHAR(50), c17 VARCHAR(5), c18 VARCHAR(5), c19 VARCHAR(5), c20 VARCHAR(5),
+             b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
 POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string_group
+POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string_group
+PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_string_group VALUES (111,
+            'filler', 'filler', 'filler', 'filler',
+            'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+            'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+            'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string_group
+POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_string_group VALUES (111,
+            'filler', 'filler', 'filler', 'filler',
+            'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+            'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+            'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string_group
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.b SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c1 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c10 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c11 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c12 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c13 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c14 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c15 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c16 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c17 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c18 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c19 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c2 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c20 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c3 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c4 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c5 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c6 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c7 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c8 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.c9 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string_group.insert_num SCRIPT []
+_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7	_col8	_col9	_col10	_col11	_col12	_col13	_col14	_col15	_col16	_col17	_col18	_col19	_col20	_col21
+PREHOOK: query: explain vectorization detail
+select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,b from table_change_numeric_group_string_group_multi_ints_string_group
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,b from table_change_numeric_group_string_group_multi_ints_string_group
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
 #### A masked pattern was here ####
-insert_num	c1	c2	c3	c4	c5	c6	c7	c8	c9	c10	c11	c12	c13	c14	c15	c16	c17	c18	c19	c20	b
-101	-128	NULL	-2147483648	NULL	-128	NULL	-2147483648	NULL	-128	NULL	-2147483648	NULL	-128	NULL	-2147483648	NULL	-128	NULL	-2147483648	NULL	original
-102	127	32767	2147483647	9223372036854775807	127	32767	2147483647	9223372036854775807	127	32767	2147483647	9223372036854775807	127	32767	2147483647	9223372036854775807	127	32767	2147483647	9223372036854775807	original
-103	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	original
-104	23	834	203332	888888857923222	23	834	203332	888888857923222	23	834	203332	888888857923222	23	834	203332	888888857923222	23	834	203332	888888857923222	original
-105	-99	-28300	-999992	-222282153733	-99	-28300	-999992	-222282153733	-99	-28300	-999992	-222282153733	-99	-28300	-999992	-222282153733	-99	-28300	-999992	-222282153733	original
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: table_change_numeric_group_string_group_multi_ints_string_group
+                  Statistics: Num rows: 6 Data size: 15696 Basic stats: COMPLETE Column stats: PARTIAL
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:insert_num:int, 1:c1:string, 2:c2:string, 3:c3:string, 4:c4:string, 5:c5:char(50), 6:c6:char(50), 7:c7:char(50), 8:c8:char(50), 9:c9:char(5), 10:c10:char(5), 11:c11:char(5), 12:c12:char(5), 13:c13:varchar(50), 14:c14:varchar(50), 15:c15:varchar(50), 16:c16:varchar(50), 17:c17:varchar(5), 18:c18:varchar(5), 19:c19:varchar(5), 20:c20:varchar(5), 21:b:string, 22:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Select Operator
+                    expressions: insert_num (type: int), c1 (type: string), c2 (type: string), c3 (type: string), c4 (type: string), c5 (type: char(50)), c6 (type: char(50)), c7 (type: char(50)), c8 (type: char(50)), c9 (type: char(5)), c10 (type: char(5)), c11 (type: char(5)), c12 (type: char(5)), c13 (type: varchar(50)), c14 (type: varchar(50)), c15 (type: varchar(50)), c16 (type: varchar(50)), c17 (type: varchar(5)), c18 (type: varchar(5)), c19 (type: varchar(5)), c20 (type: varchar(5)), b (type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
+                    Statistics: Num rows: 6 Data size: 15696 Basic stats: COMPLETE Column stats: PARTIAL
+                    File Output Operator
+                      compressed: false
+                      File Sink Vectorization:
+                          className: VectorFileSinkOperator
+                          native: false
+                      Statistics: Num rows: 6 Data size: 15696 Basic stats: COMPLETE Column stats: PARTIAL
+                      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, llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                vectorizationSupportRemovedReasons: [DECIMAL_64 disabled because LLAP is enabled]
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 22
+                    includeColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
+                    dataColumns: insert_num:int, c1:string, c2:string, c3:string, c4:string, c5:char(50), c6:char(50), c7:char(50), c8:char(50), c9:char(5), c10:char(5), c11:char(5), c12:char(5), c13:varchar(50), c14:varchar(50), c15:varchar(50), c16:varchar(50), c17:varchar(5), c18:varchar(5), c19:varchar(5), c20:varchar(5), b:string
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_string_group
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string_group
@@ -748,20 +1153,127 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,b from table_change_numeric_group_string_group_floating_string_group
-PREHOOK: type: QUERY
+PREHOOK: query: alter table table_change_numeric_group_string_group_floating_string_group replace columns (insert_num int,
+              c1 STRING, c2 STRING, c3 STRING,
+              c4 CHAR(50), c5 CHAR(50), c6 CHAR(50), c7 CHAR(7), c8 CHAR(7), c9 CHAR(7),
+              c10 VARCHAR(50), c11 VARCHAR(50), c12 VARCHAR(50), c13 VARCHAR(7), c14 VARCHAR(7), c15 VARCHAR(7),
+              b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group
-#### A masked pattern was here ####
-POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,b from table_change_numeric_group_string_group_floating_string_group
-POSTHOOK: type: QUERY
+PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group
+POSTHOOK: query: alter table table_change_numeric_group_string_group_floating_string_group replace columns (insert_num int,
+              c1 STRING, c2 STRING, c3 STRING,
+              c4 CHAR(50), c5 CHAR(50), c6 CHAR(50), c7 CHAR(7), c8 CHAR(7), c9 CHAR(7),
+              c10 VARCHAR(50), c11 VARCHAR(50), c12 VARCHAR(50), c13 VARCHAR(7), c14 VARCHAR(7), c15 VARCHAR(7),
+              b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
 POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group
+POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group
+PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_string_group VALUES (111,
+             'filler', 'filler', 'filler',
+             'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+             'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+             'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group
+POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_string_group VALUES (111,
+             'filler', 'filler', 'filler',
+             'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+             'filler', 'filler', 'filler', 'filler', 'filler', 'filler',
+             'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string_group
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.b SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c1 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c10 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c11 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c12 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c13 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c14 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c15 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c2 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c3 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c4 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c5 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c6 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c7 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c8 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.c9 SCRIPT []
+POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string_group.insert_num SCRIPT []
+_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7	_col8	_col9	_col10	_col11	_col12	_col13	_col14	_col15	_col16
+PREHOOK: query: explain vectorization detail
+select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,b from table_change_numeric_group_string_group_floating_string_group
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,b from table_change_numeric_group_string_group_floating_string_group
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
 #### A masked pattern was here ####
-insert_num	c1	c2	c3	c4	c5	c6	c7	c8	c9	c10	c11	c12	c13	c14	c15	b
-101	99999999999999999999.999999999999999999	Infinity	1.7976931348623157E308	99999999999999999999.999999999999999999	Infinity	1.7976931348623157E308	99999999999999999999.999999999999999999	Infinity	1.7976931348623157E308	99999999999999999999.999999999999999999	Infinity	1.7976931348623157E308	99999999999999999999.999999999999999999	Infinity	1.7976931348623157E308	original
-102	-99999999999999999999.999999999999999999	-Infinity	-1.7976931348623157E308	-99999999999999999999.999999999999999999	-Infinity	-1.7976931348623157E308	-99999999999999999999.999999999999999999	-Infinity	-1.7976931348623157E308	-99999999999999999999.999999999999999999	-Infinity	-1.7976931348623157E308	-99999999999999999999.999999999999999999	-Infinity	-1.7976931348623157E308	original
-103	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	original
-104	66475.561431000000000000	-100.35978	30.774	66475.561431000000000000	-100.35978	30.774	66475.561431000000000000	-100.35978	30.774	66475.561431000000000000	-100.35978	30.774	66475.561431000000000000	-100.35978	30.774	original
-105	9250340.750000000000000000	NULL	46114.28	9250340.750000000000000000	NULL	46114.28	9250340.750000000000000000	NULL	46114.28	9250340.750000000000000000	NULL	46114.28	9250340.750000000000000000	NULL	46114.28	original
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: table_change_numeric_group_string_group_floating_string_group
+                  Statistics: Num rows: 6 Data size: 10884 Basic stats: COMPLETE Column stats: PARTIAL
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:insert_num:int, 1:c1:string, 2:c2:string, 3:c3:string, 4:c4:char(50), 5:c5:char(50), 6:c6:char(50), 7:c7:char(7), 8:c8:char(7), 9:c9:char(7), 10:c10:varchar(50), 11:c11:varchar(50), 12:c12:varchar(50), 13:c13:varchar(7), 14:c14:varchar(7), 15:c15:varchar(7), 16:b:string, 17:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
+                  Select Operator
+                    expressions: insert_num (type: int), c1 (type: string), c2 (type: string), c3 (type: string), c4 (type: char(50)), c5 (type: char(50)), c6 (type: char(50)), c7 (type: char(7)), c8 (type: char(7)), c9 (type: char(7)), c10 (type: varchar(50)), c11 (type: varchar(50)), c12 (type: varchar(50)), c13 (type: varchar(7)), c14 (type: varchar(7)), c15 (type: varchar(7)), b (type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
+                    Statistics: Num rows: 6 Data size: 10884 Basic stats: COMPLETE Column stats: PARTIAL
+                    File Output Operator
+                      compressed: false
+                      File Sink Vectorization:
+                          className: VectorFileSinkOperator
+                          native: false
+                      Statistics: Num rows: 6 Data size: 10884 Basic stats: COMPLETE Column stats: PARTIAL
+                      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, llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vector.serde.deserialize IS true
+                inputFormatFeatureSupport: [DECIMAL_64]
+                vectorizationSupportRemovedReasons: [DECIMAL_64 disabled because LLAP is enabled]
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 17
+                    includeColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
+                    dataColumns: insert_num:int, c1:string, c2:string, c3:string, c4:char(50), c5:char(50), c6:char(50), c7:char(7), c8:char(7), c9:char(7), c10:varchar(50), c11:varchar(50), c12:varchar(50), c13:varchar(7), c14:varchar(7), c15:varchar(7), b:string
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table table_change_numeric_group_string_group_floating_string_group
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string_group
@@ -884,20 +1396,49 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_string_group_string_group_string
-PREHOOK: type: QUERY
+PREHOOK: query: alter table table_change_string_group_string_group_string replace columns (insert_num int,
+           c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9),
+           c5 VARCHAR(50), c6 VARCHAR(9), c7 STRING,
+           c8 CHAR(50), c9 CHAR(9), c10 STRING, b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@table_change_string_group_string_group_string
-#### A masked pattern was here ####
-POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_string_group_string_group_string
-POSTHOOK: type: QUERY
+PREHOOK: Output: default@table_change_string_group_string_group_string
+POSTHOOK: query: alter table table_change_string_group_string_group_string replace columns (insert_num int,
+           c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9),
+           c5 VARCHAR(50), c6 VARCHAR(9), c7 STRING,
+           c8 CHAR(50), c9 CHAR(9), c10 STRING, b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
 POSTHOOK: Input: default@table_change_string_group_string_group_string
-#### A masked pattern was here ####
-insert_num	c1	c2	c3	c4	b
-101	freckled	freckled	freckled	freckled	original
-102	ox	ox	ox	ox	original
-103					original
-104	I cooked	I cooked	I cooked	I cooked	original
-105	200	200	200	200	original
+POSTHOOK: Output: default@table_change_string_group_string_group_string
+PREHOOK: query: insert into table table_change_string_group_string_group_string VALUES (111,
+          'filler', 'filler', 'filler', 'filler',
+          'filler', 'filler', 'filler',
+          'filler', 'filler', 'filler',
+          'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_change_string_group_string_group_string
+POSTHOOK: query: insert into table table_change_string_group_string_group_string VALUES (111,
+          'filler', 'filler', 'filler', 'filler',
+          'filler', 'filler', 'filler',
+          'filler', 'filler', 'filler',
+          'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_change_string_group_string_group_string
+POSTHOOK: Lineage: table_change_string_group_string_group_string.b SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c1 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c10 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c2 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c3 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c4 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c5 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c6 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c7 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c8 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.c9 SCRIPT []
+POSTHOOK: Lineage: table_change_string_group_string_group_string.insert_num SCRIPT []
+_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7	_col8	_col9	_col10	_col11
 PREHOOK: query: drop table table_change_string_group_string_group_string
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_change_string_group_string_group_string
@@ -1034,20 +1575,63 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,b from table_change_lower_to_higher_numeric_group_tinyint_to_bigint
-PREHOOK: type: QUERY
+PREHOOK: query: alter table table_change_lower_to_higher_numeric_group_tinyint_to_bigint replace columns (insert_num int,
+             c1 SMALLINT, c2 INT, c3 BIGINT, c4 decimal(38,18), c5 FLOAT, c6 DOUBLE,
+             c7 INT, c8 BIGINT, c9 decimal(38,18), c10 FLOAT, c11 DOUBLE,
+             c12 BIGINT, c13 decimal(38,18), c14 FLOAT, c15 DOUBLE,
+             c16 decimal(38,18), c17 FLOAT, c18 DOUBLE,
+             b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint_to_bigint
-#### A masked pattern was here ####
-POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,b from table_change_lower_to_higher_numeric_group_tinyint_to_bigint
-POSTHOOK: type: QUERY
+PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint_to_bigint
+POSTHOOK: query: alter table table_change_lower_to_higher_numeric_group_tinyint_to_bigint replace columns (insert_num int,
+             c1 SMALLINT, c2 INT, c3 BIGINT, c4 decimal(38,18), c5 FLOAT, c6 DOUBLE,
+             c7 INT, c8 BIGINT, c9 decimal(38,18), c10 FLOAT, c11 DOUBLE,
+             c12 BIGINT, c13 decimal(38,18), c14 FLOAT, c15 DOUBLE,
+             c16 decimal(38,18), c17 FLOAT, c18 DOUBLE,
+             b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
 POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint_to_bigint
-#### A masked pattern was here ####
-insert_num	c1	c2	c3	c4	c5	c6	c7	c8	c9	c10	c11	c12	c13	c14	c15	c16	c17	c18	b
-101	-128	-128	-128	-128	-128	-128	NULL	NULL	NULL	NULL	NULL	-2147483648	-2147483648	-2147483648	-2147483648	NULL	NULL	NULL	original
-102	127	127	127	127	127	127	32767	32767	32767	32767	32767	2147483647	2147483647	2147483647	2147483647	9223372036854775807	9223372036854775807	9223372036854775807	original
-103	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	original
-104	23	23	23	23	23	23	834	834	834	834	834	203332	203332	203332	203332	888888857923222	888888857923222	888888857923222	original
-105	-99	-99	-99	-99	-99	-99	-28300	-28300	-28300	-28300	-28300	-999992	-999992	-999992	-999992	-222282153733	-222282153733	-222282153733	original
+POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint_to_bigint
+PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_tinyint_to_bigint VALUES (111,
+            7000, 80000, 90000000, 1234.5678, 9876.543, 789.321,
+            80000, 90000000, 1234.5678, 9876.543, 789.321,
+            90000000, 1234.5678, 9876.543, 789.321,
+            1234.5678, 9876.543, 789.321,
+           'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint_to_bigint
+POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_tinyint_to_bigint VALUES (111,
+            7000, 80000, 90000000, 1234.5678, 9876.543, 789.321,
+            80000, 90000000, 1234.5678, 9876.543, 789.321,
+            90000000, 1234.5678, 9876.543, 789.321,
+            1234.5678, 9876.543, 789.321,
+           'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint_to_bigint
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.b SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c1 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c10 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c11 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c12 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c13 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c14 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c15 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c16 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c17 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c18 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c2 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c3 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c4 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c5 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c6 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c7 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c8 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.c9 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint_to_bigint.insert_num SCRIPT []
+_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7	_col8	_col9	_col10	_col11	_col12	_col13	_col14	_col15	_col16	_col17	_col18	_col19
 PREHOOK: query: drop table table_change_lower_to_higher_numeric_group_tinyint_to_bigint
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint_to_bigint
@@ -1161,20 +1745,28 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_lower_to_higher_numeric_group_decimal_to_float
-PREHOOK: type: QUERY
+PREHOOK: query: alter table table_change_lower_to_higher_numeric_group_decimal_to_float replace columns (insert_num int, c1 float, c2 double, c3 DOUBLE, b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal_to_float
-#### A masked pattern was here ####
-POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_lower_to_higher_numeric_group_decimal_to_float
-POSTHOOK: type: QUERY
+PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal_to_float
+POSTHOOK: query: alter table table_change_lower_to_higher_numeric_group_decimal_to_float replace columns (insert_num int, c1 float, c2 double, c3 DOUBLE, b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
 POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal_to_float
-#### A masked pattern was here ####
-insert_num	c1	c2	c3	b
-101	99999999999999999999.999999999999999999	99999999999999999999.999999999999999999	Infinity	original
-102	-99999999999999999999.999999999999999999	-99999999999999999999.999999999999999999	-Infinity	original
-103	NULL	NULL	NULL	original
-104	66475.561431000000000000	66475.561431000000000000	-100.35978	original
-105	9250340.750000000000000000	9250340.750000000000000000	NULL	original
+POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal_to_float
+PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_decimal_to_float VALUES (111, 1234.5678, 9876.543, 1234.5678, 'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal_to_float
+POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_decimal_to_float VALUES (111, 1234.5678, 9876.543, 1234.5678, 'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal_to_float
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal_to_float.b SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal_to_float.c1 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal_to_float.c2 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal_to_float.c3 SCRIPT []
+POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal_to_float.insert_num SCRIPT []
+_col0	_col1	_col2	_col3	_col4
 PREHOOK: query: drop table table_change_lower_to_higher_numeric_group_decimal_to_float
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal_to_float

http://git-wip-us.apache.org/repos/asf/hive/blob/c46c4c90/ql/src/test/results/clientpositive/llap/schema_evol_text_vecrow_part_all_complex_llap_io.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/schema_evol_text_vecrow_part_all_complex_llap_io.q.out b/ql/src/test/results/clientpositive/llap/schema_evol_text_vecrow_part_all_complex_llap_io.q.out
index 3b51819..1ed0873 100644
--- a/ql/src/test/results/clientpositive/llap/schema_evol_text_vecrow_part_all_complex_llap_io.q.out
+++ b/ql/src/test/results/clientpositive/llap/schema_evol_text_vecrow_part_all_complex_llap_io.q.out
@@ -111,21 +111,132 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,part,s1,b from part_change_various_various_struct1
-PREHOOK: type: QUERY
+PREHOOK: query: alter table part_change_various_various_struct1 replace columns (insert_num int, s1 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>, b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@part_change_various_various_struct1
-PREHOOK: Input: default@part_change_various_various_struct1@part=1
+PREHOOK: Output: default@part_change_various_various_struct1
+POSTHOOK: query: alter table part_change_various_various_struct1 replace columns (insert_num int, s1 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>, b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@part_change_various_various_struct1
+POSTHOOK: Output: default@part_change_various_various_struct1
+PREHOOK: query: CREATE TABLE complex_struct1_b_txt(insert_num int, s1 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>, b STRING)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct1_b_txt
+POSTHOOK: query: CREATE TABLE complex_struct1_b_txt(insert_num int, s1 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>, b STRING)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct1_b_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_b.txt' overwrite into table complex_struct1_b_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@complex_struct1_b_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_b.txt' overwrite into table complex_struct1_b_txt
+POSTHOOK: type: LOAD
 #### A masked pattern was here ####
-POSTHOOK: query: select insert_num,part,s1,b from part_change_various_various_struct1
+POSTHOOK: Output: default@complex_struct1_b_txt
+PREHOOK: query: insert into table part_change_various_various_struct1 partition(part=2) select * from complex_struct1_b_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct1_b_txt
+PREHOOK: Output: default@part_change_various_various_struct1@part=2
+POSTHOOK: query: insert into table part_change_various_various_struct1 partition(part=2) select * from complex_struct1_b_txt
 POSTHOOK: type: QUERY
-POSTHOOK: Input: default@part_change_various_various_struct1
-POSTHOOK: Input: default@part_change_various_various_struct1@part=1
+POSTHOOK: Input: default@complex_struct1_b_txt
+POSTHOOK: Output: default@part_change_various_various_struct1@part=2
+POSTHOOK: Lineage: part_change_various_various_struct1 PARTITION(part=2).b SIMPLE [(complex_struct1_b_txt)complex_struct1_b_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_various_various_struct1 PARTITION(part=2).insert_num SIMPLE [(complex_struct1_b_txt)complex_struct1_b_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_change_various_various_struct1 PARTITION(part=2).s1 SIMPLE [(complex_struct1_b_txt)complex_struct1_b_txt.FieldSchema(name:s1, type:struct<c1:string,c2:string,c3:string,c4:string,c5:string,c6:string,c7:string,c8:string,c9:string,c10:string,c11:string,c12:string,c13:string>, comment:null), ]
+complex_struct1_b_txt.insert_num	complex_struct1_b_txt.s1	complex_struct1_b_txt.b
+PREHOOK: query: CREATE TABLE complex_struct1_c_txt(insert_num int, s1 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>, b STRING)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct1_c_txt
+POSTHOOK: query: CREATE TABLE complex_struct1_c_txt(insert_num int, s1 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>, b STRING)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct1_c_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_c.txt' overwrite into table complex_struct1_c_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@complex_struct1_c_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_c.txt' overwrite into table complex_struct1_c_txt
+POSTHOOK: type: LOAD
 #### A masked pattern was here ####
-insert_num	part	s1	b
-1	1	{"c1":true,"c2":null,"c3":null,"c4":3244222,"c5":-99999999999,"c6":-29.0764,"c7":4.70614135E8,"c8":470614135,"c9":"dynamic reptile          ","c10":"dynamic reptile  ","c11":"0004-09-22 18:26:29.519542222","c12":"2007-02-09","c13":n)گ}	original
-2	1	{"c1":null,"c2":100,"c3":null,"c4":14,"c5":-23866739993,"c6":-3651.672,"c7":46114.284799488,"c8":46114.284799488,"c9":"  baffling               ","c10":"  baffling    ","c11":"2007-02-09 05:17:29.368756876","c12":"0004-09-22","c13":n)گ}	original
-3	1	{"c1":false,"c2":72,"c3":null,"c4":-93222,"c5":30,"c6":-66475.56,"c7":-66475.561431,"c8":0.561431,"c9":"1                        ","c10":"1","c11":"6229-06-28 02:54:28.970117179","c12":"5966-07-09","c13":n)گ}	original
-4	1	{"c1":null,"c2":-90,"c3":null,"c4":3289094,"c5":46114,"c6":9250341.0,"c7":9250340.75,"c8":9250340.75,"c9":"junkyard                 ","c10":"junkyard","c11":"2002-05-10 05:29:48.990818073","c12":"1815-05-06","c13":n)گ}	original
+POSTHOOK: Output: default@complex_struct1_c_txt
+PREHOOK: query: insert into table part_change_various_various_struct1 partition(part=1) select * from complex_struct1_c_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct1_c_txt
+PREHOOK: Output: default@part_change_various_various_struct1@part=1
+POSTHOOK: query: insert into table part_change_various_various_struct1 partition(part=1) select * from complex_struct1_c_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@complex_struct1_c_txt
+POSTHOOK: Output: default@part_change_various_various_struct1@part=1
+POSTHOOK: Lineage: part_change_various_various_struct1 PARTITION(part=1).b SIMPLE [(complex_struct1_c_txt)complex_struct1_c_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_various_various_struct1 PARTITION(part=1).insert_num SIMPLE [(complex_struct1_c_txt)complex_struct1_c_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_change_various_various_struct1 PARTITION(part=1).s1 SIMPLE [(complex_struct1_c_txt)complex_struct1_c_txt.FieldSchema(name:s1, type:struct<c1:string,c2:string,c3:string,c4:string,c5:string,c6:string,c7:string,c8:string,c9:string,c10:string,c11:string,c12:string,c13:string>, comment:null), ]
+complex_struct1_c_txt.insert_num	complex_struct1_c_txt.s1	complex_struct1_c_txt.b
+PREHOOK: query: explain vectorization detail
+select insert_num,part,s1,b from part_change_various_various_struct1
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,part,s1,b from part_change_various_various_struct1
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: part_change_various_various_struct1
+                  Statistics: Num rows: 6 Data size: 17227 Basic stats: COMPLETE Column stats: PARTIAL
+                  Select Operator
+                    expressions: insert_num (type: int), part (type: int), s1 (type: struct<c1:string,c2:string,c3:string,c4:string,c5:string,c6:string,c7:string,c8:string,c9:string,c10:string,c11:string,c12:string,c13:string>), b (type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3
+                    Statistics: Num rows: 6 Data size: 16320 Basic stats: COMPLETE Column stats: PARTIAL
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 6 Data size: 16320 Basic stats: COMPLETE Column stats: PARTIAL
+                      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: llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: false
+                enabledConditionsMet: hive.vectorized.use.row.serde.deserialize IS true
+                enabledConditionsNotMet: Could not enable vectorization. LLAP I/O is enabled wbich automatically deserializes into VECTORIZED_INPUT_FILE_FORMAT. A partition requires data type conversion and that is not supported IS false
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table part_change_various_various_struct1
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@part_change_various_various_struct1
@@ -228,19 +339,208 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,part,b from part_add_various_various_struct2
-PREHOOK: type: QUERY
+PREHOOK: query: alter table part_add_various_various_struct2 ADD columns (s2 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+PREHOOK: type: ALTERTABLE_ADDCOLS
 PREHOOK: Input: default@part_add_various_various_struct2
-PREHOOK: Input: default@part_add_various_various_struct2@part=1
+PREHOOK: Output: default@part_add_various_various_struct2
+POSTHOOK: query: alter table part_add_various_various_struct2 ADD columns (s2 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+POSTHOOK: type: ALTERTABLE_ADDCOLS
+POSTHOOK: Input: default@part_add_various_various_struct2
+POSTHOOK: Output: default@part_add_various_various_struct2
+PREHOOK: query: CREATE TABLE complex_struct2_a_txt(insert_num int, b STRING, s2 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct2_a_txt
+POSTHOOK: query: CREATE TABLE complex_struct2_a_txt(insert_num int, b STRING, s2 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct2_a_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_a.txt' overwrite into table complex_struct2_a_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@complex_struct2_a_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_a.txt' overwrite into table complex_struct2_a_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@complex_struct2_a_txt
+PREHOOK: query: insert into table part_add_various_various_struct2 partition(part=1) select * from complex_struct2_a_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct2_a_txt
+PREHOOK: Output: default@part_add_various_various_struct2@part=1
+POSTHOOK: query: insert into table part_add_various_various_struct2 partition(part=1) select * from complex_struct2_a_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@complex_struct2_a_txt
+POSTHOOK: Output: default@part_add_various_various_struct2@part=1
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=1).b SIMPLE [(complex_struct2_a_txt)complex_struct2_a_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=1).insert_num SIMPLE [(complex_struct2_a_txt)complex_struct2_a_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=1).s2 SIMPLE [(complex_struct2_a_txt)complex_struct2_a_txt.FieldSchema(name:s2, type:struct<c1:boolean,c2:tinyint,c3:smallint,c4:int,c5:bigint,c6:float,c7:double,c8:decimal(38,18),c9:char(25),c10:varchar(25),c11:timestamp,c12:date,c13:binary>, comment:null), ]
+complex_struct2_a_txt.insert_num	complex_struct2_a_txt.b	complex_struct2_a_txt.s2
+PREHOOK: query: CREATE TABLE complex_struct2_b_txt(insert_num int, b STRING, s2 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct2_b_txt
+POSTHOOK: query: CREATE TABLE complex_struct2_b_txt(insert_num int, b STRING, s2 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct2_b_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_b.txt' overwrite into table complex_struct2_b_txt
+PREHOOK: type: LOAD
 #### A masked pattern was here ####
-POSTHOOK: query: select insert_num,part,b from part_add_various_various_struct2
+PREHOOK: Output: default@complex_struct2_b_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_b.txt' overwrite into table complex_struct2_b_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@complex_struct2_b_txt
+PREHOOK: query: insert into table part_add_various_various_struct2 partition(part=2) select * from complex_struct2_b_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct2_b_txt
+PREHOOK: Output: default@part_add_various_various_struct2@part=2
+POSTHOOK: query: insert into table part_add_various_various_struct2 partition(part=2) select * from complex_struct2_b_txt
 POSTHOOK: type: QUERY
+POSTHOOK: Input: default@complex_struct2_b_txt
+POSTHOOK: Output: default@part_add_various_various_struct2@part=2
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=2).b SIMPLE [(complex_struct2_b_txt)complex_struct2_b_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=2).insert_num SIMPLE [(complex_struct2_b_txt)complex_struct2_b_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=2).s2 SIMPLE [(complex_struct2_b_txt)complex_struct2_b_txt.FieldSchema(name:s2, type:struct<c1:boolean,c2:tinyint,c3:smallint,c4:int,c5:bigint,c6:float,c7:double,c8:decimal(38,18),c9:char(25),c10:varchar(25),c11:timestamp,c12:date,c13:binary>, comment:null), ]
+complex_struct2_b_txt.insert_num	complex_struct2_b_txt.b	complex_struct2_b_txt.s2
+PREHOOK: query: alter table part_add_various_various_struct2 REPLACE columns (insert_num int, b STRING, s2 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@part_add_various_various_struct2
+PREHOOK: Output: default@part_add_various_various_struct2
+POSTHOOK: query: alter table part_add_various_various_struct2 REPLACE columns (insert_num int, b STRING, s2 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
 POSTHOOK: Input: default@part_add_various_various_struct2
-POSTHOOK: Input: default@part_add_various_various_struct2@part=1
+POSTHOOK: Output: default@part_add_various_various_struct2
+PREHOOK: query: CREATE TABLE complex_struct2_c_txt(insert_num int, b STRING, s2 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct2_c_txt
+POSTHOOK: query: CREATE TABLE complex_struct2_c_txt(insert_num int, b STRING, s2 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct2_c_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_c.txt' overwrite into table complex_struct2_c_txt
+PREHOOK: type: LOAD
 #### A masked pattern was here ####
-insert_num	part	b
-1	1	original
-2	1	original
+PREHOOK: Output: default@complex_struct2_c_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_c.txt' overwrite into table complex_struct2_c_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@complex_struct2_c_txt
+PREHOOK: query: insert into table part_add_various_various_struct2 partition(part=2) select * from complex_struct2_c_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct2_c_txt
+PREHOOK: Output: default@part_add_various_various_struct2@part=2
+POSTHOOK: query: insert into table part_add_various_various_struct2 partition(part=2) select * from complex_struct2_c_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@complex_struct2_c_txt
+POSTHOOK: Output: default@part_add_various_various_struct2@part=2
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=2).b SIMPLE [(complex_struct2_c_txt)complex_struct2_c_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=2).insert_num SIMPLE [(complex_struct2_c_txt)complex_struct2_c_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=2).s2 SIMPLE [(complex_struct2_c_txt)complex_struct2_c_txt.FieldSchema(name:s2, type:struct<c1:string,c2:string,c3:string,c4:string,c5:string,c6:string,c7:string,c8:string,c9:string,c10:string,c11:string,c12:string,c13:string>, comment:null), ]
+complex_struct2_c_txt.insert_num	complex_struct2_c_txt.b	complex_struct2_c_txt.s2
+PREHOOK: query: CREATE TABLE complex_struct2_d_txt(insert_num int, b STRING, s2 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct2_d_txt
+POSTHOOK: query: CREATE TABLE complex_struct2_d_txt(insert_num int, b STRING, s2 STRUCT<c1:STRING, c2:STRING, c3:STRING, c4:STRING, c5:STRING, c6:STRING, c7:STRING, c8:STRING, c9:STRING, c10:STRING, c11:STRING, c12:STRING, c13:STRING>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct2_d_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_d.txt' overwrite into table complex_struct2_d_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@complex_struct2_d_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_d.txt' overwrite into table complex_struct2_d_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@complex_struct2_d_txt
+PREHOOK: query: insert into table part_add_various_various_struct2 partition(part=1) select * from complex_struct2_d_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct2_d_txt
+PREHOOK: Output: default@part_add_various_various_struct2@part=1
+POSTHOOK: query: insert into table part_add_various_various_struct2 partition(part=1) select * from complex_struct2_d_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@complex_struct2_d_txt
+POSTHOOK: Output: default@part_add_various_various_struct2@part=1
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=1).b SIMPLE [(complex_struct2_d_txt)complex_struct2_d_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=1).insert_num SIMPLE [(complex_struct2_d_txt)complex_struct2_d_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_add_various_various_struct2 PARTITION(part=1).s2 SIMPLE [(complex_struct2_d_txt)complex_struct2_d_txt.FieldSchema(name:s2, type:struct<c1:string,c2:string,c3:string,c4:string,c5:string,c6:string,c7:string,c8:string,c9:string,c10:string,c11:string,c12:string,c13:string>, comment:null), ]
+complex_struct2_d_txt.insert_num	complex_struct2_d_txt.b	complex_struct2_d_txt.s2
+PREHOOK: query: explain vectorization detail
+select insert_num,part,b,s2 from part_add_various_various_struct2
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,part,b,s2 from part_add_various_various_struct2
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: part_add_various_various_struct2
+                  Statistics: Num rows: 8 Data size: 800 Basic stats: COMPLETE Column stats: PARTIAL
+                  Select Operator
+                    expressions: insert_num (type: int), part (type: int), b (type: string), s2 (type: struct<c1:string,c2:string,c3:string,c4:string,c5:string,c6:string,c7:string,c8:string,c9:string,c10:string,c11:string,c12:string,c13:string>)
+                    outputColumnNames: _col0, _col1, _col2, _col3
+                    Statistics: Num rows: 8 Data size: 800 Basic stats: COMPLETE Column stats: PARTIAL
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 8 Data size: 800 Basic stats: COMPLETE Column stats: PARTIAL
+                      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: llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: false
+                enabledConditionsMet: hive.vectorized.use.row.serde.deserialize IS true
+                enabledConditionsNotMet: Could not enable vectorization. LLAP I/O is enabled wbich automatically deserializes into VECTORIZED_INPUT_FILE_FORMAT. A partition requires data type conversion and that is not supported IS false
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table part_add_various_various_struct2
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@part_add_various_various_struct2
@@ -362,19 +662,132 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: select insert_num,part,b,s3 from part_add_to_various_various_struct4
-PREHOOK: type: QUERY
+PREHOOK: query: alter table part_add_to_various_various_struct4 replace columns (insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
 PREHOOK: Input: default@part_add_to_various_various_struct4
-PREHOOK: Input: default@part_add_to_various_various_struct4@part=1
+PREHOOK: Output: default@part_add_to_various_various_struct4
+POSTHOOK: query: alter table part_add_to_various_various_struct4 replace columns (insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@part_add_to_various_various_struct4
+POSTHOOK: Output: default@part_add_to_various_various_struct4
+PREHOOK: query: CREATE TABLE complex_struct4_b_txt(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct4_b_txt
+POSTHOOK: query: CREATE TABLE complex_struct4_b_txt(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct4_b_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_b.txt' overwrite into table complex_struct4_b_txt
+PREHOOK: type: LOAD
 #### A masked pattern was here ####
-POSTHOOK: query: select insert_num,part,b,s3 from part_add_to_various_various_struct4
+PREHOOK: Output: default@complex_struct4_b_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_b.txt' overwrite into table complex_struct4_b_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@complex_struct4_b_txt
+PREHOOK: query: insert into table part_add_to_various_various_struct4 partition(part=2) select * from complex_struct4_b_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct4_b_txt
+PREHOOK: Output: default@part_add_to_various_various_struct4@part=2
+POSTHOOK: query: insert into table part_add_to_various_various_struct4 partition(part=2) select * from complex_struct4_b_txt
 POSTHOOK: type: QUERY
-POSTHOOK: Input: default@part_add_to_various_various_struct4
-POSTHOOK: Input: default@part_add_to_various_various_struct4@part=1
+POSTHOOK: Input: default@complex_struct4_b_txt
+POSTHOOK: Output: default@part_add_to_various_various_struct4@part=2
+POSTHOOK: Lineage: part_add_to_various_various_struct4 PARTITION(part=2).b SIMPLE [(complex_struct4_b_txt)complex_struct4_b_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_add_to_various_various_struct4 PARTITION(part=2).insert_num SIMPLE [(complex_struct4_b_txt)complex_struct4_b_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_add_to_various_various_struct4 PARTITION(part=2).s3 SIMPLE [(complex_struct4_b_txt)complex_struct4_b_txt.FieldSchema(name:s3, type:struct<c1:boolean,c2:tinyint,c3:smallint,c4:int,c5:bigint,c6:float,c7:double,c8:decimal(38,18),c9:char(25),c10:varchar(25),c11:timestamp,c12:date,c13:binary>, comment:null), ]
+complex_struct4_b_txt.insert_num	complex_struct4_b_txt.b	complex_struct4_b_txt.s3
+PREHOOK: query: CREATE TABLE complex_struct4_c_txt(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@complex_struct4_c_txt
+POSTHOOK: query: CREATE TABLE complex_struct4_c_txt(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT, c6:FLOAT, c7:DOUBLE, c8:DECIMAL(38,18), c9:CHAR(25), c10:VARCHAR(25), c11:TIMESTAMP, c12:DATE, c13:BINARY>)
+row format delimited fields terminated by '|'
+collection items terminated by ','
+map keys terminated by ':' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@complex_struct4_c_txt
+PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_c.txt' overwrite into table complex_struct4_c_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@complex_struct4_c_txt
+POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_c.txt' overwrite into table complex_struct4_c_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@complex_struct4_c_txt
+PREHOOK: query: insert into table part_add_to_various_various_struct4 partition(part=1) select * from complex_struct4_c_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@complex_struct4_c_txt
+PREHOOK: Output: default@part_add_to_various_various_struct4@part=1
+POSTHOOK: query: insert into table part_add_to_various_various_struct4 partition(part=1) select * from complex_struct4_c_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@complex_struct4_c_txt
+POSTHOOK: Output: default@part_add_to_various_various_struct4@part=1
+POSTHOOK: Lineage: part_add_to_various_various_struct4 PARTITION(part=1).b SIMPLE [(complex_struct4_c_txt)complex_struct4_c_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_add_to_various_various_struct4 PARTITION(part=1).insert_num SIMPLE [(complex_struct4_c_txt)complex_struct4_c_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+POSTHOOK: Lineage: part_add_to_various_various_struct4 PARTITION(part=1).s3 SIMPLE [(complex_struct4_c_txt)complex_struct4_c_txt.FieldSchema(name:s3, type:struct<c1:boolean,c2:tinyint,c3:smallint,c4:int,c5:bigint,c6:float,c7:double,c8:decimal(38,18),c9:char(25),c10:varchar(25),c11:timestamp,c12:date,c13:binary>, comment:null), ]
+complex_struct4_c_txt.insert_num	complex_struct4_c_txt.b	complex_struct4_c_txt.s3
+PREHOOK: query: explain vectorization detail
+select insert_num,part,b,s3 from part_add_to_various_various_struct4
+PREHOOK: type: QUERY
+POSTHOOK: query: explain vectorization detail
+select insert_num,part,b,s3 from part_add_to_various_various_struct4
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
 #### A masked pattern was here ####
-insert_num	part	b	s3
-1	1	original	{"c1":true,"c2":null,"c3":null,"c4":3244222,"c5":-99999999999}
-2	1	original	{"c1":null,"c2":100,"c3":null,"c4":14,"c5":-23866739993}
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: part_add_to_various_various_struct4
+                  Statistics: Num rows: 4 Data size: 4073 Basic stats: COMPLETE Column stats: PARTIAL
+                  Select Operator
+                    expressions: insert_num (type: int), part (type: int), b (type: string), s3 (type: struct<c1:boolean,c2:tinyint,c3:smallint,c4:int,c5:bigint,c6:float,c7:double,c8:decimal(38,18),c9:char(25),c10:varchar(25),c11:timestamp,c12:date,c13:binary>)
+                    outputColumnNames: _col0, _col1, _col2, _col3
+                    Statistics: Num rows: 4 Data size: 3736 Basic stats: COMPLETE Column stats: PARTIAL
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 4 Data size: 3736 Basic stats: COMPLETE Column stats: PARTIAL
+                      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: llap
+            LLAP IO: no inputs
+            Map Vectorization:
+                enabled: false
+                enabledConditionsMet: hive.vectorized.use.row.serde.deserialize IS true
+                enabledConditionsNotMet: Could not enable vectorization. LLAP I/O is enabled wbich automatically deserializes into VECTORIZED_INPUT_FILE_FORMAT. A partition requires data type conversion and that is not supported IS false
+                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 PREHOOK: query: drop table part_add_to_various_various_struct4
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@part_add_to_various_various_struct4