PREHOOK: query: CREATE TABLE part_change_various_various_struct1_n4(insert_num int, s1 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>, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_various_various_struct1_n4
POSTHOOK: query: CREATE TABLE part_change_various_various_struct1_n4(insert_num int, s1 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>, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_various_various_struct1_n4
PREHOOK: query: CREATE TABLE complex_struct1_a_txt_n4(insert_num int, s1 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>, 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_a_txt_n4
POSTHOOK: query: CREATE TABLE complex_struct1_a_txt_n4(insert_num int, s1 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>, 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_a_txt_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_a.txt' overwrite into table complex_struct1_a_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct1_a_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_a.txt' overwrite into table complex_struct1_a_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct1_a_txt_n4
PREHOOK: query: insert into table part_change_various_various_struct1_n4 partition(part=1) select * from complex_struct1_a_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct1_a_txt_n4
PREHOOK: Output: default@part_change_various_various_struct1_n4@part=1
POSTHOOK: query: insert into table part_change_various_various_struct1_n4 partition(part=1) select * from complex_struct1_a_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct1_a_txt_n4
POSTHOOK: Output: default@part_change_various_various_struct1_n4@part=1
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=1).b SIMPLE [(complex_struct1_a_txt_n4)complex_struct1_a_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=1).insert_num SIMPLE [(complex_struct1_a_txt_n4)complex_struct1_a_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=1).s1 SIMPLE [(complex_struct1_a_txt_n4)complex_struct1_a_txt_n4.FieldSchema(name:s1, 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_struct1_a_txt_n4.insert_num	complex_struct1_a_txt_n4.s1	complex_struct1_a_txt_n4.b
PREHOOK: query: select insert_num,part,s1,b from part_change_various_various_struct1_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_various_various_struct1_n4
PREHOOK: Input: default@part_change_various_various_struct1_n4@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,s1,b from part_change_various_various_struct1_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_various_various_struct1_n4
POSTHOOK: Input: default@part_change_various_various_struct1_n4@part=1
#### 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
PREHOOK: query: alter table part_change_various_various_struct1_n4 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_n4
PREHOOK: Output: default@part_change_various_various_struct1_n4
POSTHOOK: query: alter table part_change_various_various_struct1_n4 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_n4
POSTHOOK: Output: default@part_change_various_various_struct1_n4
PREHOOK: query: CREATE TABLE complex_struct1_b_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct1_b_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_b.txt' overwrite into table complex_struct1_b_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct1_b_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_b.txt' overwrite into table complex_struct1_b_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct1_b_txt_n4
PREHOOK: query: insert into table part_change_various_various_struct1_n4 partition(part=2) select * from complex_struct1_b_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct1_b_txt_n4
PREHOOK: Output: default@part_change_various_various_struct1_n4@part=2
POSTHOOK: query: insert into table part_change_various_various_struct1_n4 partition(part=2) select * from complex_struct1_b_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct1_b_txt_n4
POSTHOOK: Output: default@part_change_various_various_struct1_n4@part=2
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=2).b SIMPLE [(complex_struct1_b_txt_n4)complex_struct1_b_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=2).insert_num SIMPLE [(complex_struct1_b_txt_n4)complex_struct1_b_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=2).s1 SIMPLE [(complex_struct1_b_txt_n4)complex_struct1_b_txt_n4.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_n4.insert_num	complex_struct1_b_txt_n4.s1	complex_struct1_b_txt_n4.b
PREHOOK: query: CREATE TABLE complex_struct1_c_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct1_c_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_c.txt' overwrite into table complex_struct1_c_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct1_c_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct1_c.txt' overwrite into table complex_struct1_c_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct1_c_txt_n4
PREHOOK: query: insert into table part_change_various_various_struct1_n4 partition(part=1) select * from complex_struct1_c_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct1_c_txt_n4
PREHOOK: Output: default@part_change_various_various_struct1_n4@part=1
POSTHOOK: query: insert into table part_change_various_various_struct1_n4 partition(part=1) select * from complex_struct1_c_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct1_c_txt_n4
POSTHOOK: Output: default@part_change_various_various_struct1_n4@part=1
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=1).b SIMPLE [(complex_struct1_c_txt_n4)complex_struct1_c_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=1).insert_num SIMPLE [(complex_struct1_c_txt_n4)complex_struct1_c_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_change_various_various_struct1_n4 PARTITION(part=1).s1 SIMPLE [(complex_struct1_c_txt_n4)complex_struct1_c_txt_n4.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_n4.insert_num	complex_struct1_c_txt_n4.s1	complex_struct1_c_txt_n4.b
PREHOOK: query: explain vectorization detail
select insert_num,part,s1,b from part_change_various_various_struct1_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_various_various_struct1_n4
PREHOOK: Input: default@part_change_various_various_struct1_n4@part=1
PREHOOK: Input: default@part_change_various_various_struct1_n4@part=2
#### A masked pattern was here ####
POSTHOOK: query: explain vectorization detail
select insert_num,part,s1,b from part_change_various_various_struct1_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_various_various_struct1_n4
POSTHOOK: Input: default@part_change_various_various_struct1_n4@part=1
POSTHOOK: Input: default@part_change_various_various_struct1_n4@part=2
#### A masked pattern was here ####
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_n4
                  Statistics: Num rows: 6 Data size: 16320 Basic stats: COMPLETE Column stats: PARTIAL
                  TableScan Vectorization:
                      native: true
                      vectorizationSchemaColumns: [0:insert_num:int, 1: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>, 2:b:string, 3:part:int, 4:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
                  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
                    Select Vectorization:
                        className: VectorSelectOperator
                        native: true
                        projectedOutputColumnNums: [0, 3, 1, 2]
                    Statistics: Num rows: 6 Data size: 16320 Basic stats: COMPLETE Column stats: PARTIAL
                    File Output Operator
                      compressed: false
                      File Sink Vectorization:
                          className: VectorFileSinkOperator
                          native: 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: vectorized, llap
            Map Vectorization:
                enabled: true
                enabledConditionsMet: hive.vectorized.use.row.serde.deserialize IS true
                inputFormatFeatureSupport: []
                featureSupportInUse: []
                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
                allNative: false
                usesVectorUDFAdaptor: false
                vectorized: true
                rowBatchContext:
                    dataColumnCount: 3
                    includeColumns: [0, 1, 2]
                    dataColumns: 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
                    partitionColumnCount: 1
                    partitionColumns: part:int
                    scratchColumnTypeNames: []

  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        ListSink

PREHOOK: query: select insert_num,part,s1,b from part_change_various_various_struct1_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_various_various_struct1_n4
PREHOOK: Input: default@part_change_various_various_struct1_n4@part=1
PREHOOK: Input: default@part_change_various_various_struct1_n4@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,s1,b from part_change_various_various_struct1_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_various_various_struct1_n4
POSTHOOK: Input: default@part_change_various_various_struct1_n4@part=1
POSTHOOK: Input: default@part_change_various_various_struct1_n4@part=2
#### 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.000000000000000000","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.284799488000000000","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.561431000000000000","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.750000000000000000","c9":"junkyard","c10":"junkyard","c11":"2002-05-10 05:29:48.990818073","c12":"1815-05-06","c13":"n)گ"}	original
5	2	{"c1":"true","c2":"400","c3":"44388","c4":"-100","c5":"953967041.","c6":"62.079153","c7":"718.78","c8":"1","c9":"verdict","c10":"verdict","c11":"timestamp","c12":"date","c13":"binary"}	new
6	1	{"c1":"FALSE","c2":"-67","c3":"833","c4":"63993","c5":"1255178165","c6":"905071.0","c7":"-4314.7918","c8":"-1240033819.000000000000000000","c9":"trial","c10":"trial","c11":null,"c12":"2016-03-07","c13":"n)گ"}	new
PREHOOK: query: drop table part_change_various_various_struct1_n4
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_various_various_struct1_n4
PREHOOK: Output: default@part_change_various_various_struct1_n4
POSTHOOK: query: drop table part_change_various_various_struct1_n4
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_various_various_struct1_n4
POSTHOOK: Output: default@part_change_various_various_struct1_n4
PREHOOK: query: CREATE TABLE part_add_various_various_struct2_n4(insert_num int, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_add_various_various_struct2_n4
POSTHOOK: query: CREATE TABLE part_add_various_various_struct2_n4(insert_num int, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_add_various_various_struct2_n4
PREHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=1)
    values(1, 'original'),
          (2, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: _dummy_database@_dummy_table
PREHOOK: Output: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=1)
    values(1, 'original'),
          (2, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: _dummy_database@_dummy_table
POSTHOOK: Output: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).b SCRIPT []
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).insert_num SCRIPT []
col1	col2
PREHOOK: query: select insert_num,part,b from part_add_various_various_struct2_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_various_various_struct2_n4
PREHOOK: Input: default@part_add_various_various_struct2_n4@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,b from part_add_various_various_struct2_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_various_various_struct2_n4
POSTHOOK: Input: default@part_add_various_various_struct2_n4@part=1
#### A masked pattern was here ####
insert_num	part	b
1	1	original
2	1	original
PREHOOK: query: alter table part_add_various_various_struct2_n4 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_n4
PREHOOK: Output: default@part_add_various_various_struct2_n4
POSTHOOK: query: alter table part_add_various_various_struct2_n4 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_n4
POSTHOOK: Output: default@part_add_various_various_struct2_n4
PREHOOK: query: CREATE TABLE complex_struct2_a_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct2_a_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_a.txt' overwrite into table complex_struct2_a_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct2_a_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_a.txt' overwrite into table complex_struct2_a_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct2_a_txt_n4
PREHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=1) select * from complex_struct2_a_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct2_a_txt_n4
PREHOOK: Output: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=1) select * from complex_struct2_a_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct2_a_txt_n4
POSTHOOK: Output: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).b SIMPLE [(complex_struct2_a_txt_n4)complex_struct2_a_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).insert_num SIMPLE [(complex_struct2_a_txt_n4)complex_struct2_a_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).s2 SIMPLE [(complex_struct2_a_txt_n4)complex_struct2_a_txt_n4.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_n4.insert_num	complex_struct2_a_txt_n4.b	complex_struct2_a_txt_n4.s2
PREHOOK: query: CREATE TABLE complex_struct2_b_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct2_b_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_b.txt' overwrite into table complex_struct2_b_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct2_b_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_b.txt' overwrite into table complex_struct2_b_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct2_b_txt_n4
PREHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=2) select * from complex_struct2_b_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct2_b_txt_n4
PREHOOK: Output: default@part_add_various_various_struct2_n4@part=2
POSTHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=2) select * from complex_struct2_b_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct2_b_txt_n4
POSTHOOK: Output: default@part_add_various_various_struct2_n4@part=2
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=2).b SIMPLE [(complex_struct2_b_txt_n4)complex_struct2_b_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=2).insert_num SIMPLE [(complex_struct2_b_txt_n4)complex_struct2_b_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=2).s2 SIMPLE [(complex_struct2_b_txt_n4)complex_struct2_b_txt_n4.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_n4.insert_num	complex_struct2_b_txt_n4.b	complex_struct2_b_txt_n4.s2
PREHOOK: query: select insert_num,part,b,s2 from part_add_various_various_struct2_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_various_various_struct2_n4
PREHOOK: Input: default@part_add_various_various_struct2_n4@part=1
PREHOOK: Input: default@part_add_various_various_struct2_n4@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,b,s2 from part_add_various_various_struct2_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_various_various_struct2_n4
POSTHOOK: Input: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: Input: default@part_add_various_various_struct2_n4@part=2
#### A masked pattern was here ####
insert_num	part	b	s2
1	1	original	NULL
2	1	original	NULL
3	1	new	NULL
4	1	new	NULL
5	2	new	{"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)گ}
6	2	new	{"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)گ}
PREHOOK: query: alter table part_add_various_various_struct2_n4 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_n4
PREHOOK: Output: default@part_add_various_various_struct2_n4
POSTHOOK: query: alter table part_add_various_various_struct2_n4 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_n4
POSTHOOK: Output: default@part_add_various_various_struct2_n4
PREHOOK: query: CREATE TABLE complex_struct2_c_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct2_c_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_c.txt' overwrite into table complex_struct2_c_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct2_c_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_c.txt' overwrite into table complex_struct2_c_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct2_c_txt_n4
PREHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=2) select * from complex_struct2_c_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct2_c_txt_n4
PREHOOK: Output: default@part_add_various_various_struct2_n4@part=2
POSTHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=2) select * from complex_struct2_c_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct2_c_txt_n4
POSTHOOK: Output: default@part_add_various_various_struct2_n4@part=2
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=2).b SIMPLE [(complex_struct2_c_txt_n4)complex_struct2_c_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=2).insert_num SIMPLE [(complex_struct2_c_txt_n4)complex_struct2_c_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=2).s2 SIMPLE [(complex_struct2_c_txt_n4)complex_struct2_c_txt_n4.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_n4.insert_num	complex_struct2_c_txt_n4.b	complex_struct2_c_txt_n4.s2
PREHOOK: query: CREATE TABLE complex_struct2_d_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct2_d_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_d.txt' overwrite into table complex_struct2_d_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct2_d_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct2_d.txt' overwrite into table complex_struct2_d_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct2_d_txt_n4
PREHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=1) select * from complex_struct2_d_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct2_d_txt_n4
PREHOOK: Output: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: query: insert into table part_add_various_various_struct2_n4 partition(part=1) select * from complex_struct2_d_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct2_d_txt_n4
POSTHOOK: Output: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).b SIMPLE [(complex_struct2_d_txt_n4)complex_struct2_d_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).insert_num SIMPLE [(complex_struct2_d_txt_n4)complex_struct2_d_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_add_various_various_struct2_n4 PARTITION(part=1).s2 SIMPLE [(complex_struct2_d_txt_n4)complex_struct2_d_txt_n4.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_n4.insert_num	complex_struct2_d_txt_n4.b	complex_struct2_d_txt_n4.s2
PREHOOK: query: explain vectorization detail
select insert_num,part,b,s2 from part_add_various_various_struct2_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_various_various_struct2_n4
PREHOOK: Input: default@part_add_various_various_struct2_n4@part=1
PREHOOK: Input: default@part_add_various_various_struct2_n4@part=2
#### A masked pattern was here ####
POSTHOOK: query: explain vectorization detail
select insert_num,part,b,s2 from part_add_various_various_struct2_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_various_various_struct2_n4
POSTHOOK: Input: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: Input: default@part_add_various_various_struct2_n4@part=2
#### A masked pattern was here ####
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_n4
                  Statistics: Num rows: 8 Data size: 800 Basic stats: COMPLETE Column stats: PARTIAL
                  TableScan Vectorization:
                      native: true
                      vectorizationSchemaColumns: [0:insert_num:int, 1:b:string, 2: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>, 3:part:int, 4:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
                  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
                    Select Vectorization:
                        className: VectorSelectOperator
                        native: true
                        projectedOutputColumnNums: [0, 3, 1, 2]
                    Statistics: Num rows: 8 Data size: 800 Basic stats: COMPLETE Column stats: PARTIAL
                    File Output Operator
                      compressed: false
                      File Sink Vectorization:
                          className: VectorFileSinkOperator
                          native: 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: vectorized, llap
            Map Vectorization:
                enabled: true
                enabledConditionsMet: hive.vectorized.use.row.serde.deserialize IS true
                inputFormatFeatureSupport: []
                featureSupportInUse: []
                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
                allNative: false
                usesVectorUDFAdaptor: false
                vectorized: true
                rowBatchContext:
                    dataColumnCount: 3
                    includeColumns: [0, 1, 2]
                    dataColumns: 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>
                    partitionColumnCount: 1
                    partitionColumns: part:int
                    scratchColumnTypeNames: []

  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        ListSink

PREHOOK: query: select insert_num,part,b,s2 from part_add_various_various_struct2_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_various_various_struct2_n4
PREHOOK: Input: default@part_add_various_various_struct2_n4@part=1
PREHOOK: Input: default@part_add_various_various_struct2_n4@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,b,s2 from part_add_various_various_struct2_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_various_various_struct2_n4
POSTHOOK: Input: default@part_add_various_various_struct2_n4@part=1
POSTHOOK: Input: default@part_add_various_various_struct2_n4@part=2
#### A masked pattern was here ####
insert_num	part	b	s2
1	1	original	NULL
2	1	original	NULL
3	1	new	NULL
4	1	new	NULL
5	2	new	{"c1":"FALSE","c2":"72","c3":null,"c4":"-93222","c5":"30","c6":"-66475.56","c7":"-66475.561431","c8":"0.561431000000000000","c9":"1","c10":"1","c11":"6229-06-28 02:54:28.970117179","c12":"5966-07-09","c13":"n)گ"}
6	2	new	{"c1":null,"c2":"-90","c3":null,"c4":"3289094","c5":"46114","c6":"9250341.0","c7":"9250340.75","c8":"9250340.750000000000000000","c9":"junkyard","c10":"junkyard","c11":"2002-05-10 05:29:48.990818073","c12":"1815-05-06","c13":"n)گ"}
7	2	new	{"c1":"TRUE","c2":null,"c3":null,"c4":"-100","c5":"953967041","c6":"62.07915","c7":"718.78","c8":"1.000000000000000000","c9":"verdict","c10":"verdict","c11":null,"c12":null,"c13":"n)گ"}
8	1	new	NULL
PREHOOK: query: drop table part_add_various_various_struct2_n4
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_add_various_various_struct2_n4
PREHOOK: Output: default@part_add_various_various_struct2_n4
POSTHOOK: query: drop table part_add_various_various_struct2_n4
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_add_various_various_struct2_n4
POSTHOOK: Output: default@part_add_various_various_struct2_n4
PREHOOK: query: CREATE TABLE part_add_to_various_various_struct4_n4(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT>) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_add_to_various_various_struct4_n4
POSTHOOK: query: CREATE TABLE part_add_to_various_various_struct4_n4(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT>) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_add_to_various_various_struct4_n4
PREHOOK: query: CREATE TABLE complex_struct4_a_txt_n4(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT>)
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_a_txt_n4
POSTHOOK: query: CREATE TABLE complex_struct4_a_txt_n4(insert_num int, b STRING, s3 STRUCT<c1:BOOLEAN, c2:TINYINT, c3:SMALLINT, c4:INT, c5:BIGINT>)
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_a_txt_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_a.txt' overwrite into table complex_struct4_a_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct4_a_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_a.txt' overwrite into table complex_struct4_a_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct4_a_txt_n4
PREHOOK: query: insert into table part_add_to_various_various_struct4_n4 partition(part=1) select * from complex_struct4_a_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct4_a_txt_n4
PREHOOK: Output: default@part_add_to_various_various_struct4_n4@part=1
POSTHOOK: query: insert into table part_add_to_various_various_struct4_n4 partition(part=1) select * from complex_struct4_a_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct4_a_txt_n4
POSTHOOK: Output: default@part_add_to_various_various_struct4_n4@part=1
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=1).b SIMPLE [(complex_struct4_a_txt_n4)complex_struct4_a_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=1).insert_num SIMPLE [(complex_struct4_a_txt_n4)complex_struct4_a_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=1).s3 SIMPLE [(complex_struct4_a_txt_n4)complex_struct4_a_txt_n4.FieldSchema(name:s3, type:struct<c1:boolean,c2:tinyint,c3:smallint,c4:int,c5:bigint>, comment:null), ]
complex_struct4_a_txt_n4.insert_num	complex_struct4_a_txt_n4.b	complex_struct4_a_txt_n4.s3
PREHOOK: query: select insert_num,part,b,s3 from part_add_to_various_various_struct4_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_to_various_various_struct4_n4
PREHOOK: Input: default@part_add_to_various_various_struct4_n4@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,b,s3 from part_add_to_various_various_struct4_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4@part=1
#### 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}
PREHOOK: query: alter table part_add_to_various_various_struct4_n4 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_n4
PREHOOK: Output: default@part_add_to_various_various_struct4_n4
POSTHOOK: query: alter table part_add_to_various_various_struct4_n4 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_n4
POSTHOOK: Output: default@part_add_to_various_various_struct4_n4
PREHOOK: query: CREATE TABLE complex_struct4_b_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct4_b_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_b.txt' overwrite into table complex_struct4_b_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct4_b_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_b.txt' overwrite into table complex_struct4_b_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct4_b_txt_n4
PREHOOK: query: insert into table part_add_to_various_various_struct4_n4 partition(part=2) select * from complex_struct4_b_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct4_b_txt_n4
PREHOOK: Output: default@part_add_to_various_various_struct4_n4@part=2
POSTHOOK: query: insert into table part_add_to_various_various_struct4_n4 partition(part=2) select * from complex_struct4_b_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct4_b_txt_n4
POSTHOOK: Output: default@part_add_to_various_various_struct4_n4@part=2
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=2).b SIMPLE [(complex_struct4_b_txt_n4)complex_struct4_b_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=2).insert_num SIMPLE [(complex_struct4_b_txt_n4)complex_struct4_b_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=2).s3 SIMPLE [(complex_struct4_b_txt_n4)complex_struct4_b_txt_n4.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_n4.insert_num	complex_struct4_b_txt_n4.b	complex_struct4_b_txt_n4.s3
PREHOOK: query: CREATE TABLE complex_struct4_c_txt_n4(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_n4
POSTHOOK: query: CREATE TABLE complex_struct4_c_txt_n4(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_n4
PREHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_c.txt' overwrite into table complex_struct4_c_txt_n4
PREHOOK: type: LOAD
#### A masked pattern was here ####
PREHOOK: Output: default@complex_struct4_c_txt_n4
POSTHOOK: query: load data local inpath '../../data/files/schema_evolution/complex_struct4_c.txt' overwrite into table complex_struct4_c_txt_n4
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@complex_struct4_c_txt_n4
PREHOOK: query: insert into table part_add_to_various_various_struct4_n4 partition(part=1) select * from complex_struct4_c_txt_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@complex_struct4_c_txt_n4
PREHOOK: Output: default@part_add_to_various_various_struct4_n4@part=1
POSTHOOK: query: insert into table part_add_to_various_various_struct4_n4 partition(part=1) select * from complex_struct4_c_txt_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@complex_struct4_c_txt_n4
POSTHOOK: Output: default@part_add_to_various_various_struct4_n4@part=1
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=1).b SIMPLE [(complex_struct4_c_txt_n4)complex_struct4_c_txt_n4.FieldSchema(name:b, type:string, comment:null), ]
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=1).insert_num SIMPLE [(complex_struct4_c_txt_n4)complex_struct4_c_txt_n4.FieldSchema(name:insert_num, type:int, comment:null), ]
POSTHOOK: Lineage: part_add_to_various_various_struct4_n4 PARTITION(part=1).s3 SIMPLE [(complex_struct4_c_txt_n4)complex_struct4_c_txt_n4.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_n4.insert_num	complex_struct4_c_txt_n4.b	complex_struct4_c_txt_n4.s3
PREHOOK: query: explain vectorization detail
select insert_num,part,b,s3 from part_add_to_various_various_struct4_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_to_various_various_struct4_n4
PREHOOK: Input: default@part_add_to_various_various_struct4_n4@part=1
PREHOOK: Input: default@part_add_to_various_various_struct4_n4@part=2
#### A masked pattern was here ####
POSTHOOK: query: explain vectorization detail
select insert_num,part,b,s3 from part_add_to_various_various_struct4_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4@part=1
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4@part=2
#### A masked pattern was here ####
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_to_various_various_struct4_n4
                  Statistics: Num rows: 4 Data size: 3736 Basic stats: COMPLETE Column stats: PARTIAL
                  TableScan Vectorization:
                      native: true
                      vectorizationSchemaColumns: [0:insert_num:int, 1:b:string, 2: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>, 3:part:int, 4:ROW__ID:struct<writeid:bigint,bucketid:int,rowid:bigint>]
                  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
                    Select Vectorization:
                        className: VectorSelectOperator
                        native: true
                        projectedOutputColumnNums: [0, 3, 1, 2]
                    Statistics: Num rows: 4 Data size: 3736 Basic stats: COMPLETE Column stats: PARTIAL
                    File Output Operator
                      compressed: false
                      File Sink Vectorization:
                          className: VectorFileSinkOperator
                          native: 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: vectorized, llap
            Map Vectorization:
                enabled: true
                enabledConditionsMet: hive.vectorized.use.row.serde.deserialize IS true
                inputFormatFeatureSupport: []
                featureSupportInUse: []
                inputFileFormats: org.apache.hadoop.mapred.TextInputFormat
                allNative: false
                usesVectorUDFAdaptor: false
                vectorized: true
                rowBatchContext:
                    dataColumnCount: 3
                    includeColumns: [0, 1, 2]
                    dataColumns: 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>
                    partitionColumnCount: 1
                    partitionColumns: part:int
                    scratchColumnTypeNames: []

  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        ListSink

PREHOOK: query: select insert_num,part,b,s3 from part_add_to_various_various_struct4_n4
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_to_various_various_struct4_n4
PREHOOK: Input: default@part_add_to_various_various_struct4_n4@part=1
PREHOOK: Input: default@part_add_to_various_various_struct4_n4@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,b,s3 from part_add_to_various_various_struct4_n4
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4@part=1
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4@part=2
#### A masked pattern was here ####
insert_num	part	b	s3
1	1	original	{"c1":true,"c2":null,"c3":null,"c4":3244222,"c5":-99999999999,"c6":null,"c7":null,"c8":null,"c9":null,"c10":null,"c11":null,"c12":null,"c13":null}
2	1	original	{"c1":null,"c2":100,"c3":null,"c4":14,"c5":-23866739993,"c6":null,"c7":null,"c8":null,"c9":null,"c10":null,"c11":null,"c12":null,"c13":null}
3	2	new	{"c1":true,"c2":null,"c3":null,"c4":-100,"c5":953967041,"c6":62.07915,"c7":718.78,"c8":1,"c9":"verdict                  ","c10":"verdict","c11":null,"c12":null,"c13":n)گ}
4	1	new	{"c1":false,"c2":-67,"c3":833,"c4":63993,"c5":1255178165,"c6":null,"c7":null,"c8":null,"c9":null,"c10":null,"c11":null,"c12":null,"c13":null}
PREHOOK: query: drop table part_add_to_various_various_struct4_n4
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_add_to_various_various_struct4_n4
PREHOOK: Output: default@part_add_to_various_various_struct4_n4
POSTHOOK: query: drop table part_add_to_various_various_struct4_n4
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_add_to_various_various_struct4_n4
POSTHOOK: Output: default@part_add_to_various_various_struct4_n4
