PREHOOK: query: -- SORT_QUERY_RESULTS
--
-- FILE VARIATION: ORC, Vectorized, MapWork, Partitioned
--
------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE ADD COLUMNS
--
--
-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
--
--
CREATE TABLE part_add_int_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_add_int_permute_select
POSTHOOK: query: -- SORT_QUERY_RESULTS
--
-- FILE VARIATION: ORC, Vectorized, MapWork, Partitioned
--
------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE ADD COLUMNS
--
--
-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
--
--
CREATE TABLE part_add_int_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_add_int_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__1
PREHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__1
POSTHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2
PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_permute_select add columns(c int)
PREHOOK: type: ALTERTABLE_ADDCOLS
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Output: default@part_add_int_permute_select
POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_permute_select add columns(c int)
POSTHOOK: type: ALTERTABLE_ADDCOLS
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Output: default@part_add_int_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
c                   	int                 	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_permute_select partition(part=2)
    values (5, 1, 'new', 10),
           (6, 2, 'new', 20),
           (7, 3, 'new', 30),
           (8, 4, 'new', 40)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__2
PREHOOK: Output: default@part_add_int_permute_select@part=2
POSTHOOK: query: insert into table part_add_int_permute_select partition(part=2)
    values (5, 1, 'new', 10),
           (6, 2, 'new', 20),
           (7, 3, 'new', 30),
           (8, 4, 'new', 40)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__2
POSTHOOK: Output: default@part_add_int_permute_select@part=2
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (9, 5, 'new', 100),
           (10, 6, 'new', 200)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__3
PREHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_permute_select partition(part=1)
    values (9, 5, 'new', 100),
           (10, 6, 'new', 200)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__3
POSTHOOK: Output: default@part_add_int_permute_select@part=1
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: explain
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=99)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=99)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=99)
                default@part_add_int_permute_select,part_add_int_permute_select,Tbl:COMPLETE,Col:NONE,Output:["insert_num","a","b"]

PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Input: default@part_add_int_permute_select@part=1
PREHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Input: default@part_add_int_permute_select@part=1
POSTHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b
1	1	1	original
10	1	6	new
2	1	2	original
3	1	3	original
4	1	4	original
5	2	1	new
6	2	2	new
7	2	3	new
8	2	4	new
9	1	5	new
PREHOOK: query: select insert_num,part,a,b,c from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Input: default@part_add_int_permute_select@part=1
PREHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,b,c from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Input: default@part_add_int_permute_select@part=1
POSTHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b	c
1	1	1	original	NULL
10	1	6	new	200
2	1	2	original	NULL
3	1	3	original	NULL
4	1	4	original	NULL
5	2	1	new	10
6	2	2	new	20
7	2	3	new	30
8	2	4	new	40
9	1	5	new	100
PREHOOK: query: select insert_num,part,c from part_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Input: default@part_add_int_permute_select@part=1
PREHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c from part_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Input: default@part_add_int_permute_select@part=1
POSTHOOK: Input: default@part_add_int_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	c
1	1	NULL
10	1	200
2	1	NULL
3	1	NULL
4	1	NULL
5	2	10
6	2	20
7	2	30
8	2	40
9	1	100
PREHOOK: query: drop table part_add_int_permute_select
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_add_int_permute_select
PREHOOK: Output: default@part_add_int_permute_select
POSTHOOK: query: drop table part_add_int_permute_select
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_add_int_permute_select
POSTHOOK: Output: default@part_add_int_permute_select
PREHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
--
--
CREATE TABLE part_add_int_string_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_add_int_string_permute_select
POSTHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
--
--
CREATE TABLE part_add_int_string_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_add_int_string_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_string_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__4
PREHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (1, 1, 'original'),
           (2, 2, 'original'),
           (3, 3, 'original'),
           (4, 4, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__4
POSTHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2
PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_string_permute_select add columns(c int, d string)
PREHOOK: type: ALTERTABLE_ADDCOLS
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Output: default@part_add_int_string_permute_select
POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table part_add_int_string_permute_select add columns(c int, d string)
POSTHOOK: type: ALTERTABLE_ADDCOLS
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Output: default@part_add_int_string_permute_select
PREHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@part_add_int_string_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
c                   	int                 	                    
d                   	string              	                    
	 	 
# Partition Information	 	 
# col_name            	data_type           	comment             
	 	 
part                	int                 	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
#### A masked pattern was here ####
	 	 
# Storage Information	 	 
SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
Compressed:         	No                  	 
Num Buckets:        	-1                  	 
Bucket Columns:     	[]                  	 
Sort Columns:       	[]                  	 
Storage Desc Params:	 	 
	serialization.format	1                   
PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=2)
    values (5, 1, 'new', 10, 'ten'),
           (6, 2, 'new', 20, 'twenty'),
           (7, 3, 'new', 30, 'thirty'),
           (8, 4, 'new', 40, 'forty')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__5
PREHOOK: Output: default@part_add_int_string_permute_select@part=2
POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=2)
    values (5, 1, 'new', 10, 'ten'),
           (6, 2, 'new', 20, 'twenty'),
           (7, 3, 'new', 30, 'thirty'),
           (8, 4, 'new', 40, 'forty')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__5
POSTHOOK: Output: default@part_add_int_string_permute_select@part=2
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).c EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).d SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (9, 5, 'new', 100, 'hundred'),
           (10, 6, 'new', 200, 'two hundred')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__6
PREHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
    values (9, 5, 'new', 100, 'hundred'),
           (10, 6, 'new', 200, 'two hundred')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__6
POSTHOOK: Output: default@part_add_int_string_permute_select@part=1
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).c EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).d SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=153)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=153)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=153)
                default@part_add_int_string_permute_select,part_add_int_string_permute_select,Tbl:COMPLETE,Col:NONE,Output:["insert_num","a","b"]

PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b
1	1	1	original
10	1	6	new
2	1	2	original
3	1	3	original
4	1	4	original
5	2	1	new
6	2	2	new
7	2	3	new
8	2	4	new
9	1	5	new
PREHOOK: query: select insert_num,part,a,b,c from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,b,c from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b	c
1	1	1	original	NULL
10	1	6	new	200
2	1	2	original	NULL
3	1	3	original	NULL
4	1	4	original	NULL
5	2	1	new	10
6	2	2	new	20
7	2	3	new	30
8	2	4	new	40
9	1	5	new	100
PREHOOK: query: select insert_num,part,a,b,c,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,b,c,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	b	c	d
1	1	1	original	NULL	NULL
10	1	6	new	200	two hundred
2	1	2	original	NULL	NULL
3	1	3	original	NULL	NULL
4	1	4	original	NULL	NULL
5	2	1	new	10	ten
6	2	2	new	20	twenty
7	2	3	new	30	thirty
8	2	4	new	40	forty
9	1	5	new	100	hundred
PREHOOK: query: select insert_num,part,a,c,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,c,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	c	d
1	1	1	NULL	NULL
10	1	6	200	two hundred
2	1	2	NULL	NULL
3	1	3	NULL	NULL
4	1	4	NULL	NULL
5	2	1	10	ten
6	2	2	20	twenty
7	2	3	30	thirty
8	2	4	40	forty
9	1	5	100	hundred
PREHOOK: query: select insert_num,part,a,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,a,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	a	d
1	1	1	NULL
10	1	6	two hundred
2	1	2	NULL
3	1	3	NULL
4	1	4	NULL
5	2	1	ten
6	2	2	twenty
7	2	3	thirty
8	2	4	forty
9	1	5	hundred
PREHOOK: query: select insert_num,part,c from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	c
1	1	NULL
10	1	200
2	1	NULL
3	1	NULL
4	1	NULL
5	2	10
6	2	20
7	2	30
8	2	40
9	1	100
PREHOOK: query: select insert_num,part,d from part_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Input: default@part_add_int_string_permute_select@part=1
PREHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,d from part_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
#### A masked pattern was here ####
insert_num	part	d
1	1	NULL
10	1	two hundred
2	1	NULL
3	1	NULL
4	1	NULL
5	2	ten
6	2	twenty
7	2	thirty
8	2	forty
9	1	hundred
PREHOOK: query: drop table part_add_int_string_permute_select
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_add_int_string_permute_select
PREHOOK: Output: default@part_add_int_string_permute_select
POSTHOOK: query: drop table part_add_int_string_permute_select
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_add_int_string_permute_select
POSTHOOK: Output: default@part_add_int_string_permute_select
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE: (STRING, CHAR, VARCHAR)
--
CREATE TABLE part_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_double
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE: (STRING, CHAR, VARCHAR)
--
CREATE TABLE part_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_double
PREHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (1, '753.7028', '753.7028', '753.7028', 'original'),
           (2, '-3651.672121', '-3651.672121', '-3651.672121', 'original'),
           (3, '-29.0764', '-29.0764', '-29.0764', 'original'),
           (4, '-10.3', '-10.3', '-10.3', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__7
PREHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (1, '753.7028', '753.7028', '753.7028', 'original'),
           (2, '-3651.672121', '-3651.672121', '-3651.672121', 'original'),
           (3, '-29.0764', '-29.0764', '-29.0764', 'original'),
           (4, '-10.3', '-10.3', '-10.3', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__7
POSTHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).b SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c1 SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_double
PREHOOK: Output: default@part_change_string_group_double
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_double
POSTHOOK: Output: default@part_change_string_group_double
PREHOOK: query: insert into table part_change_string_group_double partition(part=2)
    values (5, 30.774, 30.774, 30.774, 'new'),
           (6, 20.31, 20.31, 20.31, 'new'),
           (7, 46114.284799488, 46114.284799488, 46114.284799488, 'new'),
           (8, -66475.561431, -66475.561431, -66475.561431, 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__8
PREHOOK: Output: default@part_change_string_group_double@part=2
POSTHOOK: query: insert into table part_change_string_group_double partition(part=2)
    values (5, 30.774, 30.774, 30.774, 'new'),
           (6, 20.31, 20.31, 20.31, 'new'),
           (7, 46114.284799488, 46114.284799488, 46114.284799488, 'new'),
           (8, -66475.561431, -66475.561431, -66475.561431, 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__8
POSTHOOK: Output: default@part_change_string_group_double@part=2
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (9, 17808.963785, 17808.963785, 17808.963785, 'new'),
           (10, 9250340.75 , 9250340.75 , 9250340.75 , 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__9
PREHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: query: insert into table part_change_string_group_double partition(part=1)
    values (9, 17808.963785, 17808.963785, 17808.963785, 'new'),
           (10, 9250340.75 , 9250340.75 , 9250340.75 , 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__9
POSTHOOK: Output: default@part_change_string_group_double@part=1
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).b SIMPLE [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=234)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=234)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=234)
                default@part_change_string_group_double,part_change_string_group_double,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_double
PREHOOK: Input: default@part_change_string_group_double@part=1
PREHOOK: Input: default@part_change_string_group_double@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_double
POSTHOOK: Input: default@part_change_string_group_double@part=1
POSTHOOK: Input: default@part_change_string_group_double@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	753.7028	753.7028	753.7028	original
10	1	9250340.75	9250340.75	9250340.75	new
2	1	-3651.672121	-3651.672121	-3651.672121	original
3	1	-29.0764	-29.0764	-29.0764	original
4	1	-10.3	-10.3	-10.3	original
5	2	30.774	30.774	30.774	new
6	2	20.31	20.31	20.31	new
7	2	46114.284799488	46114.284799488	46114.284799488	new
8	2	-66475.561431	-66475.561431	-66475.561431	new
9	1	17808.963785	17808.963785	17808.963785	new
PREHOOK: query: drop table part_change_string_group_double
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_double
PREHOOK: Output: default@part_change_string_group_double
POSTHOOK: query: drop table part_change_string_group_double
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_double
POSTHOOK: Output: default@part_change_string_group_double
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: TIMESTAMP, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_date_group_string_group_timestamp
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: TIMESTAMP, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (1, '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', 'original'),
           (2, '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', 'original'),
           (3, '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__10
PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (1, '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', 'original'),
           (2, '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', 'original'),
           (3, '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__10
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_timestamp replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_date_group_string_group_timestamp
PREHOOK: Output: default@part_change_date_group_string_group_timestamp
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_timestamp replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=2)
    values (4, '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', 'new'),
           (5, '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', 'new'),
           (6, '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', 'new'),
           (7, '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__11
PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=2
POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=2)
    values (4, '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', 'new'),
           (5, '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', 'new'),
           (6, '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', 'new'),
           (7, '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__11
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=2
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).b SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c1 SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (8, '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', 'new'),
           (9, '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', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__12
PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
    values (8, '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', 'new'),
           (9, '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', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__12
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).b SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c1 SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=9 width=530)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=9 width=530)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
              TableScan [TS_0] (rows=9 width=530)
                default@part_change_date_group_string_group_timestamp,part_change_date_group_string_group_timestamp,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_date_group_string_group_timestamp
PREHOOK: Input: default@part_change_date_group_string_group_timestamp@part=1
PREHOOK: Input: default@part_change_date_group_string_group_timestamp@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp@part=1
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2000-12-18 08:42:30.000595596	2000-12-18 08:42:30.000595596                     	2000-12-18 08:4	2000-12-18 08:42:30.000595596	2000-12-18 08:4	original
2	1	2024-11-11 16:42:41.101	2024-11-11 16:42:41.101                           	2024-11-11 16:4	2024-11-11 16:42:41.101	2024-11-11 16:4	original
3	1	2021-09-24 03:18:32.413655165	2021-09-24 03:18:32.413655165                     	2021-09-24 03:1	2021-09-24 03:18:32.413655165	2021-09-24 03:1	original
4	2	0004-09-22 18:26:29.519542222	0004-09-22 18:26:29.519542222                     	0004-09-22 18:2	0004-09-22 18:26:29.519542222	0004-09-22 18:2	new
5	2	1815-05-06 00:12:37.543584705	1815-05-06 00:12:37.543584705                     	1815-05-06 00:1	1815-05-06 00:12:37.543584705	1815-05-06 00:1	new
6	2	2007-02-09 05:17:29.368756876	2007-02-09 05:17:29.368756876                     	2007-02-09 05:1	2007-02-09 05:17:29.368756876	2007-02-09 05:1	new
7	2	2002-05-10 05:29:48.990818073	2002-05-10 05:29:48.990818073                     	2002-05-10 05:2	2002-05-10 05:29:48.990818073	2002-05-10 05:2	new
8	1	6229-06-28 02:54:28.970117179	6229-06-28 02:54:28.970117179                     	6229-06-28 02:5	6229-06-28 02:54:28.970117179	6229-06-28 02:5	new
9	1	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597                           	5966-07-09 03:3	5966-07-09 03:30:50.597	5966-07-09 03:3	new
PREHOOK: query: drop table part_change_date_group_string_group_timestamp
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_date_group_string_group_timestamp
PREHOOK: Output: default@part_change_date_group_string_group_timestamp
POSTHOOK: query: drop table part_change_date_group_string_group_timestamp
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: DATE, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_date_group_string_group_date
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: DATE, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_date_group_string_group_date
PREHOOK: query: insert into table part_change_date_group_string_group_date partition(part=1)
    values (1, '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', 'original'),
           (2, '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', 'original'),
           (3, '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__13
PREHOOK: Output: default@part_change_date_group_string_group_date@part=1
POSTHOOK: query: insert into table part_change_date_group_string_group_date partition(part=1)
    values (1, '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', 'original'),
           (2, '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', 'original'),
           (3, '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__13
POSTHOOK: Output: default@part_change_date_group_string_group_date@part=1
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).b SIMPLE [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_date replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_date_group_string_group_date
PREHOOK: Output: default@part_change_date_group_string_group_date
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_date_group_string_group_date replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_date_group_string_group_date
POSTHOOK: Output: default@part_change_date_group_string_group_date
PREHOOK: query: insert into table part_change_date_group_string_group_date partition(part=2)
    values (4, '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', 'new'),
           (5, '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', 'new'),
           (6, '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', 'new'),
           (7, '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', 'new'),
           (8, '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', 'new'),
           (9, '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__14
PREHOOK: Output: default@part_change_date_group_string_group_date@part=2
POSTHOOK: query: insert into table part_change_date_group_string_group_date partition(part=2)
    values (4, '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', 'new'),
           (5, '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', 'new'),
           (6, '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', 'new'),
           (7, '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', 'new'),
           (8, '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', 'new'),
           (9, '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__14
POSTHOOK: Output: default@part_change_date_group_string_group_date@part=2
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).b SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c1 SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=9 width=529)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=9 width=529)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
              TableScan [TS_0] (rows=9 width=529)
                default@part_change_date_group_string_group_date,part_change_date_group_string_group_date,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_date_group_string_group_date
PREHOOK: Input: default@part_change_date_group_string_group_date@part=1
PREHOOK: Input: default@part_change_date_group_string_group_date@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_date_group_string_group_date
POSTHOOK: Input: default@part_change_date_group_string_group_date@part=1
POSTHOOK: Input: default@part_change_date_group_string_group_date@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2000-12-18	2000-12-18                                        	2000-12-18     	2000-12-18	2000-12-18	original
2	1	2024-11-11	2024-11-11                                        	2024-11-11     	2024-11-11	2024-11-11	original
3	1	2021-09-24	2021-09-24                                        	2021-09-24     	2021-09-24	2021-09-24	original
4	2	0004-09-22	0004-09-22                                        	0004-09-22     	0004-09-22	0004-09-22	new
5	2	1815-05-06	1815-05-06                                        	1815-05-06     	1815-05-06	1815-05-06	new
6	2	2007-02-09	2007-02-09                                        	2007-02-09     	2007-02-09	2007-02-09	new
7	2	2002-05-10	2002-05-10                                        	2002-05-10     	2002-05-10	2002-05-10	new
8	2	6229-06-28	6229-06-28                                        	6229-06-28     	6229-06-28	6229-06-28	new
9	2	5966-07-09	5966-07-09                                        	5966-07-09     	5966-07-09	5966-07-09	new
PREHOOK: query: drop table part_change_date_group_string_group_date
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_date_group_string_group_date
PREHOOK: Output: default@part_change_date_group_string_group_date
POSTHOOK: query: drop table part_change_date_group_string_group_date
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_date_group_string_group_date
POSTHOOK: Output: default@part_change_date_group_string_group_date
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), STRING
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_string(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), STRING
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_string(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__15
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__15
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).b SIMPLE [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, c4 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, c4 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__16
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_string partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__16
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).b SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c1 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c2 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c3 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).c4 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).b SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c1 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c2 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c3 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).c4 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_string PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=313)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=313)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=313)
                default@part_change_numeric_group_string_group_multi_ints_string,part_change_numeric_group_string_group_multi_ints_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
10	1	17	90000	754072151	3289094	new
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
5	2	2000	72909	3244222	-93222	new
6	2	1	200	2323322	5430907	new
7	2	256	32768	31889	470614135	new
8	2	5555	40000	-719017797	810662019	new
9	1	100	5000	5443	0	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__17
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__17
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).b SIMPLE [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), c4 CHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), c4 CHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__18
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__18
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).b SIMPLE [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).b SIMPLE [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=422)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=422)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=422)
                default@part_change_numeric_group_string_group_multi_ints_char,part_change_numeric_group_string_group_multi_ints_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45                                                	1000                                              	483777                                            	-23866739993                                      	original
10	1	17                                                	90000                                             	754072151                                         	3289094                                           	new
2	1	-2                                                	-6737                                             	56                                                	28899333                                          	original
3	1	NULL	4957                                              	832222222                                         	9000000000                                        	original
4	1	0                                                 	20435                                             	847492223                                         	-999999999999                                     	original
5	2	2000                                              	72909                                             	3244222                                           	-93222                                            	new
6	2	1                                                 	200                                               	2323322                                           	5430907                                           	new
7	2	256                                               	32768                                             	31889                                             	470614135                                         	new
8	2	5555                                              	40000                                             	-719017797                                        	810662019                                         	new
9	1	100                                               	5000                                              	5443                                              	0                                                 	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_char_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__19
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__19
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char_trunc replace columns (insert_num int, c1 CHAR(5), c2 CHAR(5), c3 CHAR(5), c4 CHAR(5), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_char_trunc replace columns (insert_num int, c1 CHAR(5), c2 CHAR(5), c3 CHAR(5), c4 CHAR(5), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__20
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_char_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__20
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_char_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=314)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=314)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=314)
                default@part_change_numeric_group_string_group_multi_ints_char_trunc,part_change_numeric_group_string_group_multi_ints_char_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45   	1000 	48377	-2386	original
10	1	17   	90000	75407	32890	new
2	1	-2   	-6737	56   	28899	original
3	1	NULL	4957 	83222	90000	original
4	1	0    	20435	84749	-9999	original
5	2	2000 	72909	32442	-9322	new
6	2	1    	200  	23233	54309	new
7	2	256  	32768	31889	47061	new
8	2	5555 	40000	-7190	81066	new
9	1	100  	5000 	5443 	0    	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__21
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__21
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), c4 VARCHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), c4 VARCHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__22
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__22
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).b SIMPLE [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=313)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=313)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=313)
                default@part_change_numeric_group_string_group_multi_ints_varchar,part_change_numeric_group_string_group_multi_ints_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
10	1	17	90000	754072151	3289094	new
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
5	2	2000	72909	3244222	-93222	new
6	2	1	200	2323322	5430907	new
7	2	256	32768	31889	470614135	new
8	2	5555	40000	-719017797	810662019	new
9	1	100	5000	5443	0	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_multi_ints_varchar_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__23
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part=1)
    values (1, 45, 1000, 483777, -23866739993, 'original'),
           (2, -2, -6737, 56, 28899333, 'original'),
           (3, -255, 4957, 832222222, 9000000000, 'original'),
           (4, 0, 20435, 847492223, -999999999999, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__23
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	483777	-23866739993	original
2	1	-2	-6737	56	28899333	original
3	1	NULL	4957	832222222	9000000000	original
4	1	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar_trunc replace columns (insert_num int, c1 VARCHAR(5), c2 VARCHAR(5), c3 VARCHAR(5), c4 VARCHAR(5), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_multi_ints_varchar_trunc replace columns (insert_num int, c1 VARCHAR(5), c2 VARCHAR(5), c3 VARCHAR(5), c4 VARCHAR(5), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__24
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_multi_ints_varchar_trunc partition(part)
    values (5, '2000', '72909', '3244222', '-93222', 'new', 2),
           (6, '1', '200', '2323322', '5430907', 'new', 2),
           (7, '256', '32768', '31889', '470614135', 'new', 2),
           (8, '5555', '40000', '-719017797', '810662019', 'new', 2),
           (9, '100', '5000', '5443', '0', 'new', 1),
           (10, '17', '90000', '754072151', '3289094', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__24
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_multi_ints_varchar_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=311)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=311)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=311)
                default@part_change_numeric_group_string_group_multi_ints_varchar_trunc,part_change_numeric_group_string_group_multi_ints_varchar_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	45	1000	48377	-2386	original
10	1	17	90000	75407	32890	new
2	1	-2	-6737	56	28899	original
3	1	NULL	4957	83222	90000	original
4	1	0	20435	84749	-9999	original
5	2	2000	72909	32442	-9322	new
6	2	1	200	23233	54309	new
7	2	256	32768	31889	47061	new
8	2	5555	40000	-7190	81066	new
9	1	100	5000	5443	0	new
PREHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), STRING
--
CREATE TABLE part_change_numeric_group_string_group_floating_string(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), STRING
--
CREATE TABLE part_change_numeric_group_string_group_floating_string(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, - 832222222, 255, 4957,'original'),
           (4, 847492223, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__25
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, - 832222222, 255, 4957,'original'),
           (4, 847492223, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__25
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).b SIMPLE [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	-832222222.000000000000000000	255.0	4957.0	original
4	1	847492223.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_string replace columns (insert_num int, c1 STRING, c2 STRING, c3 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__26
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_string partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__26
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).b SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c1 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c2 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).c3 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).b SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).c1 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).c2 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).c3 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_string PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=304)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=304)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=304)
                default@part_change_numeric_group_string_group_floating_string,part_change_numeric_group_string_group_floating_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993	753.7028	-3651.672121	original
10	1	17	90000	754072151	new
2	1	-10.3	-2.0	-29.0764	original
3	1	-832222222	255.0	4957.0	original
4	1	847492223	0.0	20435.0	original
5	2	30.774	20.31	46114.284799488	new
6	2	-66475.561431	52927714	7203778961	new
7	2	256	32768	31889	new
8	2	5555	40000	-719017797	new
9	1	100	5000	5443	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_string
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_string
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_string
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_char(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_char(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3,  9000000000, -255, 4957,'original'),
           (4, -999999999999, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__27
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3,  9000000000, -255, 4957,'original'),
           (4, -999999999999, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__27
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).b SIMPLE [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	9000000000.000000000000000000	-255.0	4957.0	original
4	1	-999999999999.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char replace columns (insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__28
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__28
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).b SIMPLE [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).b SIMPLE [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=383)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=383)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=383)
                default@part_change_numeric_group_string_group_floating_char,part_change_numeric_group_string_group_floating_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993                                      	753.7028                                          	-3651.672121                                      	original
10	1	17                                                	90000                                             	754072151                                         	new
2	1	-10.3                                             	-2.0                                              	-29.0764                                          	original
3	1	9000000000                                        	-255.0                                            	4957.0                                            	original
4	1	-999999999999                                     	0.0                                               	20435.0                                           	original
5	2	30.774                                            	20.31                                             	46114.284799488                                   	new
6	2	-66475.561431                                     	52927714                                          	7203778961                                        	new
7	2	256                                               	32768                                             	31889                                             	new
8	2	5555                                              	40000                                             	-719017797                                        	new
9	1	100                                               	5000                                              	5443                                              	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_char_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), CHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_char_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 832222222, -255, 4957, 'original'),
           (4, 847492223, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__29
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 832222222, -255, 4957, 'original'),
           (4, 847492223, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__29
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	832222222.000000000000000000	-255.0	4957.0	original
4	1	847492223.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char_trunc replace columns (insert_num int, c1 CHAR(7), c2 CHAR(7), c3 CHAR(7), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_char_trunc replace columns (insert_num int, c1 CHAR(7), c2 CHAR(7), c3 CHAR(7), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__30
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_char_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__30
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_char_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=306)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=306)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=306)
                default@part_change_numeric_group_string_group_floating_char_trunc,part_change_numeric_group_string_group_floating_char_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-238667	753.702	-3651.6	original
10	1	17     	90000  	7540721	new
2	1	-10.3  	-2.0   	-29.076	original
3	1	8322222	-255.0 	4957.0 	original
4	1	8474922	0.0    	20435.0	original
5	2	30.774 	20.31  	46114.2	new
6	2	-66475.	5292771	7203778	new
7	2	256    	32768  	31889  	new
8	2	5555   	40000  	-719017	new
9	1	100    	5000   	5443   	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar(insert_num int, c1 float, c2 double, c3 decimal(38,18), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar(insert_num int, c1 float, c2 double, c3 decimal(38,18), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__31
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__31
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-2.38667407E10	753.7028	-3651.672121000000000000	original
2	1	-10.3	-2.0	-29.076400000000000000	original
3	1	8.9999995E9	-255.0	4957.000000000000000000	original
4	1	-1.0E12	0.0	20435.000000000000000000	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__32
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__32
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).b SIMPLE [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=304)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=304)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=304)
                default@part_change_numeric_group_string_group_floating_varchar,part_change_numeric_group_string_group_floating_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-2.38667407E10	753.7028	-3651.672121	original
10	1	17	90000	754072151	new
2	1	-10.3	-2.0	-29.0764	original
3	1	8.9999995E9	-255.0	4957	original
4	1	-1.0E12	0.0	20435	original
5	2	30.774	20.31	46114.284799488	new
6	2	-66475.561431	52927714	7203778961	new
7	2	256	32768	31889	new
8	2	5555	40000	-719017797	new
9	1	100	5000	5443	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (DECIMAL, FLOAT, DOUBLE), VARCHAR truncation
--
CREATE TABLE part_change_numeric_group_string_group_floating_varchar_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__33
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part=1)
    values (1, -23866739993, 753.7028, -3651.672121, 'original'),
           (2, -10.3, -2, -29.0764, 'original'),
           (3, 9000000000, -255, 4957, 'original'),
           (4, -999999999999, 0, 20435, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__33
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	1	-10.300000000000000000	-2.0	-29.0764	original
3	1	9000000000.000000000000000000	-255.0	4957.0	original
4	1	-999999999999.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar_trunc replace columns (insert_num int, c1 VARCHAR(7), c2 VARCHAR(7), c3 VARCHAR(7), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_numeric_group_string_group_floating_varchar_trunc replace columns (insert_num int, c1 VARCHAR(7), c2 VARCHAR(7), c3 VARCHAR(7), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__34
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: insert into table part_change_numeric_group_string_group_floating_varchar_trunc partition(part)
    values (5, '30.774', '20.31', '46114.284799488', 'new', 2),
           (6, '-66475.561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__34
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=2
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).b SIMPLE [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).b SIMPLE [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_numeric_group_string_group_floating_varchar_trunc PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=302)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=302)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=302)
                default@part_change_numeric_group_string_group_floating_varchar_trunc,part_change_numeric_group_string_group_floating_varchar_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=1
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	-238667	753.702	-3651.6	original
10	1	17	90000	7540721	new
2	1	-10.3	-2.0	-29.076	original
3	1	9000000	-255.0	4957.0	original
4	1	-999999	0.0	20435.0	original
5	2	30.774	20.31	46114.2	new
6	2	-66475.	5292771	7203778	new
7	2	256	32768	31889	new
8	2	5555	40000	-719017	new
9	1	100	5000	5443	new
PREHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: drop table part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Output: default@part_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: STRING, (CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_string_group_string_group_string(insert_num int, c1 string, c2 string, c3 string, c4 string, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: STRING, (CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
--
CREATE TABLE part_change_string_group_string_group_string(insert_num int, c1 string, c2 string, c3 string, c4 string, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_string_group_string
PREHOOK: query: insert into table part_change_string_group_string_group_string partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__35
PREHOOK: Output: default@part_change_string_group_string_group_string@part=1
POSTHOOK: query: insert into table part_change_string_group_string_group_string partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__35
POSTHOOK: Output: default@part_change_string_group_string_group_string@part=1
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).b SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c1 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c2 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c3 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c4 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Input: default@part_change_string_group_string_group_string@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Input: default@part_change_string_group_string_group_string@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	escapist	escapist	escapist	escapist	original
2	1	heartbeat	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile	dynamic reptile	dynamic reptile	dynamic reptile	original
4	1	blank pads   	blank pads   	blank pads   	blank pads   	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_string replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_string replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Output: default@part_change_string_group_string_group_string
PREHOOK: query: insert into table part_change_string_group_string_group_string partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__36
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: insert into table part_change_string_group_string_group_string partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__36
POSTHOOK: Output: default@part_change_string_group_string_group_string@part=1
POSTHOOK: Output: default@part_change_string_group_string_group_string@part=2
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).b SIMPLE [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).b SIMPLE [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_string PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=496)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=496)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=496)
                default@part_change_string_group_string_group_string,part_change_string_group_string_group_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Input: default@part_change_string_group_string_group_string@part=1
PREHOOK: Input: default@part_change_string_group_string_group_string@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Input: default@part_change_string_group_string_group_string@part=1
POSTHOOK: Input: default@part_change_string_group_string_group_string@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	escapist                                          	escapist 	escapist	escapist 	original
10	1	bottom                                            	bottom   	bottom  	bottom   	new
2	1	heartbeat                                         	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile                                   	dynamic r	dynamic reptile	dynamic r	original
4	1	blank pads                                        	blank pad	blank pads   	blank pad	original
5	2	junkyard                                          	junkyard 	junkyard	junkyard 	new
6	2	  baffling                                        	  bafflin	  baffling    	  bafflin	new
7	2	           featherweight                          	         	           featherweight  	         	new
8	2	  against                                         	  against	  against	  against	new
9	1	hangar paralysed companion                        	hangar pa	hangar paralysed companion 	hangar pa	new
PREHOOK: query: drop table part_change_string_group_string_group_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_string_group_string
PREHOOK: Output: default@part_change_string_group_string_group_string
POSTHOOK: query: drop table part_change_string_group_string_group_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_string_group_string
POSTHOOK: Output: default@part_change_string_group_string_group_string
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: CHAR, (VARCHAR, VARCHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_char(insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: CHAR, (VARCHAR, VARCHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_char(insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_string_group_char
PREHOOK: query: insert into table part_change_string_group_string_group_char partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__37
PREHOOK: Output: default@part_change_string_group_string_group_char@part=1
POSTHOOK: query: insert into table part_change_string_group_string_group_char partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__37
POSTHOOK: Output: default@part_change_string_group_string_group_char@part=1
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).b SIMPLE [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Input: default@part_change_string_group_string_group_char@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Input: default@part_change_string_group_string_group_char@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist                                          	escapist                                          	escapist                                          	original
2	1	heartbeat                                         	heartbeat                                         	heartbeat                                         	original
3	1	dynamic reptile                                   	dynamic reptile                                   	dynamic reptile                                   	original
4	1	blank pads                                        	blank pads                                        	blank pads                                        	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_char replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(9), c3 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_char replace columns (insert_num int, c1 VARCHAR(50), c2 VARCHAR(9), c3 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Output: default@part_change_string_group_string_group_char
PREHOOK: query: insert into table part_change_string_group_string_group_char partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__38
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: insert into table part_change_string_group_string_group_char partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__38
POSTHOOK: Output: default@part_change_string_group_string_group_char@part=1
POSTHOOK: Output: default@part_change_string_group_string_group_char@part=2
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).b SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).c3 SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).b SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).c3 SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_char PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=427)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=427)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=427)
                default@part_change_string_group_string_group_char,part_change_string_group_string_group_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Input: default@part_change_string_group_string_group_char@part=1
PREHOOK: Input: default@part_change_string_group_string_group_char@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Input: default@part_change_string_group_string_group_char@part=1
POSTHOOK: Input: default@part_change_string_group_string_group_char@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist	escapist	escapist	original
10	1	bottom  	bottom  	bottom  	new
2	1	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile	dynamic r	dynamic reptile	original
4	1	blank pads	blank pad	blank pads	original
5	2	junkyard	junkyard	junkyard	new
6	2	  baffling    	  bafflin	  baffling    	new
7	2	           featherweight  	         	           featherweight  	new
8	2	  against	  against	  against	new
9	1	hangar paralysed companion 	hangar pa	hangar paralysed companion 	new
PREHOOK: query: drop table part_change_string_group_string_group_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_string_group_char
PREHOOK: Output: default@part_change_string_group_string_group_char
POSTHOOK: query: drop table part_change_string_group_string_group_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_string_group_char
POSTHOOK: Output: default@part_change_string_group_string_group_char
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: VARCHAR, (CHAR, CHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_varchar(insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> STRING_GROUP: VARCHAR, (CHAR, CHAR trunc, STRING)
--
CREATE TABLE part_change_string_group_string_group_varchar(insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_string_group_string_group_varchar
PREHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__39
PREHOOK: Output: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part=1)
    values (1, 'escapist', 'escapist', 'escapist', 'original'),
           (2, 'heartbeat', 'heartbeat', 'heartbeat', 'original'),
           (3, 'dynamic reptile', 'dynamic reptile', 'dynamic reptile', 'original'),
           (4, 'blank pads   ', 'blank pads   ', 'blank pads   ', 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__39
POSTHOOK: Output: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist	escapist	escapist	original
2	1	heartbeat	heartbeat	heartbeat	original
3	1	dynamic reptile	dynamic reptile	dynamic reptile	original
4	1	blank pads   	blank pads   	blank pads   	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_varchar replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 STRING, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_string_group_string_group_varchar replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 STRING, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Output: default@part_change_string_group_string_group_varchar
PREHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__40
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: insert into table part_change_string_group_string_group_varchar partition(part)
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new', 2),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new', 2),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new', 2),
           (8, '  against', '  against', '  against', 'new', 2),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new', 1),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__40
POSTHOOK: Output: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: Output: default@part_change_string_group_string_group_varchar@part=2
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).b SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).c3 SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).b SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).c3 SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_string_group_string_group_varchar PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=402)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=402)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=402)
                default@part_change_string_group_string_group_varchar,part_change_string_group_string_group_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
PREHOOK: Input: default@part_change_string_group_string_group_varchar@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Input: default@part_change_string_group_string_group_varchar@part=1
POSTHOOK: Input: default@part_change_string_group_string_group_varchar@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	escapist                                          	escapist 	escapist	original
10	1	bottom                                            	bottom   	bottom  	new
2	1	heartbeat                                         	heartbeat	heartbeat	original
3	1	dynamic reptile                                   	dynamic r	dynamic reptile	original
4	1	blank pads                                        	blank pad	blank pads   	original
5	2	junkyard                                          	junkyard 	junkyard	new
6	2	  baffling                                        	  bafflin	  baffling    	new
7	2	           featherweight                          	         	           featherweight  	new
8	2	  against                                         	  against	  against	new
9	1	hangar paralysed companion                        	hangar pa	hangar paralysed companion 	new
PREHOOK: query: drop table part_change_string_group_string_group_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_string_group_string_group_varchar
PREHOOK: Output: default@part_change_string_group_string_group_varchar
POSTHOOK: query: drop table part_change_string_group_string_group_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_string_group_string_group_varchar
POSTHOOK: Output: default@part_change_string_group_string_group_varchar
PREHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: TINYINT, (SMALLINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_tinyint(insert_num int, c1 tinyint, c2 tinyint, c3 tinyint, c4 tinyint, c5 tinyint, c6 tinyint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: ------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP
--
--
--
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: TINYINT, (SMALLINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_tinyint(insert_num int, c1 tinyint, c2 tinyint, c3 tinyint, c4 tinyint, c5 tinyint, c6 tinyint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part=1)
    values (1, 45, 45, 45, 45, 45, 45, 'original'),
           (2, -2, -2, -2, -2, -2, -2, 'original'),
           (3, -255, -255, -255, -255, -255, -255, 'original'),
           (4, 100, 100, 100, 100, 100, 100, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__41
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part=1)
    values (1, 45, 45, 45, 45, 45, 45, 'original'),
           (2, -2, -2, -2, -2, -2, -2, 'original'),
           (3, -255, -255, -255, -255, -255, -255, 'original'),
           (4, 100, 100, 100, 100, 100, 100, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__41
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).b SIMPLE [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c6 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	c6	b
1	1	45	45	45	45	45	45	original
2	1	-2	-2	-2	-2	-2	-2	original
3	1	NULL	NULL	NULL	NULL	NULL	NULL	original
4	1	100	100	100	100	100	100	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_tinyint replace columns (insert_num int, c1 SMALLINT, c2 INT, c3 BIGINT, c4 decimal(38,18), c5 FLOAT, c6 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_tinyint replace columns (insert_num int, c1 SMALLINT, c2 INT, c3 BIGINT, c4 decimal(38,18), c5 FLOAT, c6 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part)
    values (5, '774', '2031', '200', '12', '99', '0', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', '6', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', '506', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', '65', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', '-2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', '18', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__42
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_tinyint partition(part)
    values (5, '774', '2031', '200', '12', '99', '0', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', '6', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', '506', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', '65', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', '-2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', '18', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__42
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).b SIMPLE [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).c6 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).b SIMPLE [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).c6 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_tinyint PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7	_col8
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=183)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=183)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
              TableScan [TS_0] (rows=10 width=183)
                default@part_change_lower_to_higher_numeric_group_tinyint,part_change_lower_to_higher_numeric_group_tinyint,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","c6","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	c6	b
1	1	45	45	45	45.000000000000000000	45.0	45.0	original
10	1	17	90000	754072151	95.000000000000000000	20.0	18.0	new
2	1	-2	-2	-2	-2.000000000000000000	-2.0	-2.0	original
3	1	NULL	NULL	NULL	NULL	NULL	NULL	original
4	1	100	100	100	100.000000000000000000	100.0	100.0	original
5	2	774	2031	200	12.000000000000000000	99.0	0.0	new
6	2	NULL	52927714	7203778961	8.000000000000000000	7.0	6.0	new
7	2	256	32768	31889	300.000000000000000000	444.0	506.0	new
8	2	5555	40000	-719017797	45.000000000000000000	55.0	65.0	new
9	1	100	5000	5443	22.000000000000000000	2.0	-2.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: SMALLINT, (INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_smallint(insert_num int, c1 smallint, c2 smallint, c3 smallint, c4 smallint, c5 smallint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: SMALLINT, (INT, BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_smallint(insert_num int, c1 smallint, c2 smallint, c3 smallint, c4 smallint, c5 smallint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, -5000, 'original'),
           (4, 100, 100, 100, 100, 100, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__43
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, -5000, 'original'),
           (4, 100, 100, 100, 100, 100, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__43
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).b SIMPLE [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2031	2031	2031	2031	2031	original
2	1	-2	-2	-2	-2	-2	original
3	1	-5000	-5000	-5000	-5000	-5000	original
4	1	100	100	100	100	100	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_smallint replace columns (insert_num int, c1 INT, c2 BIGINT, c3 decimal(38,18), c4 FLOAT, c5 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_smallint replace columns (insert_num int, c1 INT, c2 BIGINT, c3 decimal(38,18), c4 FLOAT, c5 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part)
    values (5, '774', '2031', '200', '12', '99', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__44
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_smallint partition(part)
    values (5, '774', '2031', '200', '12', '99', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', '7', 'new', 2),
           (7, '256', '32768', '31889', '300', '444', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', '55', 'new', 2),
           (9, '100', '5000', '5443', '22', '2', 'new', 1),
           (10, '17', '90000', '754072151', '95', '20', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__44
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).b SIMPLE [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).b SIMPLE [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_smallint PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6	_col7
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=182)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=182)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
              TableScan [TS_0] (rows=10 width=182)
                default@part_change_lower_to_higher_numeric_group_smallint,part_change_lower_to_higher_numeric_group_smallint,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	c5	b
1	1	2031	2031	2031.000000000000000000	2031.0	2031.0	original
10	1	17	90000	754072151.000000000000000000	95.0	20.0	new
2	1	-2	-2	-2.000000000000000000	-2.0	-2.0	original
3	1	-5000	-5000	-5000.000000000000000000	-5000.0	-5000.0	original
4	1	100	100	100.000000000000000000	100.0	100.0	original
5	2	774	2031	200.000000000000000000	12.0	99.0	new
6	2	561431	52927714	7203778961.000000000000000000	8.0	7.0	new
7	2	256	32768	31889.000000000000000000	300.0	444.0	new
8	2	5555	40000	-719017797.000000000000000000	45.0	55.0	new
9	1	100	5000	5443.000000000000000000	22.0	2.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_smallint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: INT, (BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_int(insert_num int, c1 int, c2 int, c3 int, c4 int, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: INT, (BIGINT, DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_int(insert_num int, c1 int, c2 int, c3 int, c4 int, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__45
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part=1)
    values (1, 2031, 2031, 2031, 2031, 'original'),
           (2, -2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__45
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).b SIMPLE [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	2031	2031	2031	2031	original
2	1	-2	-2	-2	-2	original
3	1	-5000	-5000	-5000	-5000	original
4	1	52927714	52927714	52927714	52927714	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_int replace columns (insert_num int, c1 BIGINT, c2 decimal(38,18), c3 FLOAT, c4 DOUBLE,  b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_int replace columns (insert_num int, c1 BIGINT, c2 decimal(38,18), c3 FLOAT, c4 DOUBLE,  b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part)
    values (5, '774', '2031', '200', '12', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', 'new', 2),
           (7, '256', '32768', '31889', '300', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', 'new', 2),
           (9, '100', '5000', '5443', '22', 'new', 1),
           (10, '17', '90000', '754072151', '95', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__46
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_int partition(part)
    values (5, '774', '2031', '200', '12', 'new', 2),
           (6, '561431', '52927714', '7203778961',  '8', 'new', 2),
           (7, '256', '32768', '31889', '300', 'new', 2),
           (8, '5555', '40000', '-719017797', '45', 'new', 2),
           (9, '100', '5000', '5443', '22', 'new', 1),
           (10, '17', '90000', '754072151', '95', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__46
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).b SIMPLE [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).b SIMPLE [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_int PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5	_col6
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=178)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=178)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=10 width=178)
                default@part_change_lower_to_higher_numeric_group_int,part_change_lower_to_higher_numeric_group_int,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,b from part_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	c4	b
1	1	2031	2031.000000000000000000	2031.0	2031.0	original
10	1	17	90000.000000000000000000	7.5407213E8	95.0	new
2	1	-2	-2.000000000000000000	-2.0	-2.0	original
3	1	-5000	-5000.000000000000000000	-5000.0	-5000.0	original
4	1	52927714	52927714.000000000000000000	5.2927712E7	5.2927714E7	original
5	2	774	2031.000000000000000000	200.0	12.0	new
6	2	561431	52927714.000000000000000000	7.2037791E9	8.0	new
7	2	256	32768.000000000000000000	31889.0	300.0	new
8	2	5555	40000.000000000000000000	-7.1901779E8	45.0	new
9	1	100	5000.000000000000000000	5443.0	22.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_int
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_int
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_int
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_int
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: BIGINT, (DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_bigint(insert_num int, c1 bigint, c2 bigint, c3 bigint, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: BIGINT, (DECIMAL, FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_bigint(insert_num int, c1 bigint, c2 bigint, c3 bigint, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part=1)
    values (1, 7203778961, 7203778961, 7203778961, 'original'),
           (2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__47
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part=1)
    values (1, 7203778961, 7203778961, 7203778961, 'original'),
           (2, -2, -2, -2, 'original'),
           (3, -5000, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__47
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).b SIMPLE [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	7203778961	7203778961	7203778961	original
2	1	-2	-2	-2	original
3	1	-5000	-5000	-5000	original
4	1	52927714	52927714	52927714	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_bigint replace columns (insert_num int, c1 decimal(38,18), c2 FLOAT, c3 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_bigint replace columns (insert_num int, c1 decimal(38,18), c2 FLOAT, c3 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part)
    values (5, '774', '2031', '200', 'new', 2),
           (6, '561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__48
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_bigint partition(part)
    values (5, '774', '2031', '200', 'new', 2),
           (6, '561431', '52927714', '7203778961', 'new', 2),
           (7, '256', '32768', '31889', 'new', 2),
           (8, '5555', '40000', '-719017797', 'new', 2),
           (9, '100', '5000', '5443', 'new', 1),
           (10, '17', '90000', '754072151', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__48
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).b SIMPLE [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).b SIMPLE [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_bigint PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4	_col5
PREHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=177)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=177)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=10 width=177)
                default@part_change_lower_to_higher_numeric_group_bigint,part_change_lower_to_higher_numeric_group_bigint,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint@part=2
#### A masked pattern was here ####
insert_num	part	c1	c2	c3	b
1	1	7203778961.000000000000000000	7.2037791E9	7.203778961E9	original
10	1	17.000000000000000000	90000.0	7.54072151E8	new
2	1	-2.000000000000000000	-2.0	-2.0	original
3	1	-5000.000000000000000000	-5000.0	-5000.0	original
4	1	52927714.000000000000000000	5.2927712E7	5.2927714E7	original
5	2	774.000000000000000000	2031.0	200.0	new
6	2	561431.000000000000000000	5.2927712E7	7.203778961E9	new
7	2	256.000000000000000000	32768.0	31889.0	new
8	2	5555.000000000000000000	40000.0	-7.19017797E8	new
9	1	100.000000000000000000	5000.0	5443.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_bigint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: DECIMAL, (FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_decimal(insert_num int, c1 decimal(38,18), c2 decimal(38,18), b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: DECIMAL, (FLOAT, DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_decimal(insert_num int, c1 decimal(38,18), c2 decimal(38,18), b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part=1)
    values (1, -29.0764, -29.0764, 'original'),
           (2, 753.7028, 753.7028, 'original'),
           (3, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__49
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part=1)
    values (1, -29.0764, -29.0764, 'original'),
           (2, 753.7028, 753.7028, 'original'),
           (3, -5000, -5000, 'original'),
           (4, 52927714, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__49
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).b SIMPLE [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.076400000000000000	original
2	1	753.702800000000000000	original
3	1	-5000.000000000000000000	original
4	1	52927714.000000000000000000	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_decimal replace columns (insert_num int, c1 float, c2 double, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_decimal replace columns (insert_num int, c1 float, c2 double, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part)
    values (5, '7.74', '22.3', 'new', 2),
           (6, '56.1431', '90.9', 'new', 2),
           (7, '2.56', '25.6', 'new', 2),
           (8, '555.5', '55.55', 'new', 2),
           (9, '10.0', '0.100', 'new', 1),
           (10, '1.7', '17.8888', 'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__50
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_decimal partition(part)
    values (5, '7.74', '22.3', 'new', 2),
           (6, '56.1431', '90.9', 'new', 2),
           (7, '2.56', '25.6', 'new', 2),
           (8, '555.5', '55.55', 'new', 2),
           (9, '10.0', '0.100', 'new', 1),
           (10, '1.7', '17.8888', 'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__50
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).b SIMPLE [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).b SIMPLE [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_decimal PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=189)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=189)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=189)
                default@part_change_lower_to_higher_numeric_group_decimal,part_change_lower_to_higher_numeric_group_decimal,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","b"]

PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal@part=2
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.0764	original
10	1	1.7	new
2	1	753.7028	original
3	1	-5000.0	original
4	1	5.2927712E7	original
5	2	7.74	new
6	2	56.1431	new
7	2	2.56	new
8	2	555.5	new
9	1	10.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_decimal
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: FLOAT, (DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_float(insert_num int, c1 float, b STRING) PARTITIONED BY(part INT)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for "lower" type to "higher" NUMERIC_GROUP: FLOAT, (DOUBLE)
--
CREATE TABLE part_change_lower_to_higher_numeric_group_float(insert_num int, c1 float, b STRING) PARTITIONED BY(part INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part=1)
    values (1, -29.0764, 'original'),
           (2, 753.7028, 'original'),
           (3, -5000, 'original'),
           (4, 52927714, 'original')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__51
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part=1)
    values (1, -29.0764, 'original'),
           (2, 753.7028, 'original'),
           (3, -5000, 'original'),
           (4, 52927714, 'original')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__51
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).b SIMPLE [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2
PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.0764	original
2	1	753.7028	original
3	1	-5000.0	original
4	1	5.2927712E7	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_float replace columns (insert_num int, c1 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table part_change_lower_to_higher_numeric_group_float replace columns (insert_num int, c1 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part)
    values (5, '774', 'new', 2),
           (6, '561431', 'new', 2),
           (7, '256', 'new', 2),
           (8, '5555', 'new', 2),
           (9, '100', 'new', 1),
           (10, '17',  'new', 1)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__52
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: insert into table part_change_lower_to_higher_numeric_group_float partition(part)
    values (5, '774', 'new', 2),
           (6, '561431', 'new', 2),
           (7, '256', 'new', 2),
           (8, '5555', 'new', 2),
           (9, '100', 'new', 1),
           (10, '17',  'new', 1)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__52
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float@part=2
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).b SIMPLE [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=2).b SIMPLE [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: part_change_lower_to_higher_numeric_group_float PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
POSTHOOK: type: QUERY
Explain
Plan optimized by CBO.

Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE)

Stage-0
  Fetch Operator
    limit:-1
    Stage-1
      Reducer 2 vectorized, llap
      File Output Operator [FS_8]
        Select Operator [SEL_7] (rows=10 width=99)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] vectorized, llap
          SHUFFLE [RS_6]
            Select Operator [SEL_5] (rows=10 width=99)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=10 width=99)
                default@part_change_lower_to_higher_numeric_group_float,part_change_lower_to_higher_numeric_group_float,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","b"]

PREHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,part,c1,b from part_change_lower_to_higher_numeric_group_float order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num	part	c1	b
1	1	-29.0764	original
10	1	17.0	new
2	1	753.7028	original
3	1	-5000.0	original
4	1	5.2927712E7	original
5	2	774.0	new
6	2	561431.0	new
7	2	256.0	new
8	2	5555.0	new
9	1	100.0	new
PREHOOK: query: drop table part_change_lower_to_higher_numeric_group_float
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
PREHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: query: drop table part_change_lower_to_higher_numeric_group_float
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float
POSTHOOK: Output: default@part_change_lower_to_higher_numeric_group_float
