PREHOOK: query: -- SORT_QUERY_RESULTS
--
-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Table
--
------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE ADD COLUMNS
--
--
-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
--
--
CREATE TABLE table_add_int_permute_select(insert_num int, a INT, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_add_int_permute_select
POSTHOOK: query: -- SORT_QUERY_RESULTS
--
-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Table
--
------------------------------------------------------------------------------------------
-- SECTION: ALTER TABLE ADD COLUMNS
--
--
-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
--
--
CREATE TABLE table_add_int_permute_select(insert_num int, a INT, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_add_int_permute_select
PREHOOK: query: DESCRIBE FORMATTED table_add_int_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@table_add_int_permute_select
POSTHOOK: query: DESCRIBE FORMATTED table_add_int_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@table_add_int_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
	COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\"}
	numFiles            	0                   
	numRows             	0                   
	rawDataSize         	0                   
	totalSize           	0                   
#### 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 table_add_int_permute_select
    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@table_add_int_permute_select
POSTHOOK: query: insert into table table_add_int_permute_select
    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@table_add_int_permute_select
POSTHOOK: Lineage: table_add_int_permute_select.a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.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 table_add_int_permute_select add columns(c int)
PREHOOK: type: ALTERTABLE_ADDCOLS
PREHOOK: Input: default@table_add_int_permute_select
PREHOOK: Output: default@table_add_int_permute_select
POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table table_add_int_permute_select add columns(c int)
POSTHOOK: type: ALTERTABLE_ADDCOLS
POSTHOOK: Input: default@table_add_int_permute_select
POSTHOOK: Output: default@table_add_int_permute_select
PREHOOK: query: DESCRIBE FORMATTED table_add_int_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@table_add_int_permute_select
POSTHOOK: query: DESCRIBE FORMATTED table_add_int_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@table_add_int_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
c                   	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 ####
	numFiles            	1                   
	numRows             	4                   
	rawDataSize         	400                 
	totalSize           	363                 
#### 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 table_add_int_permute_select
    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@table_add_int_permute_select
POSTHOOK: query: insert into table table_add_int_permute_select
    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@table_add_int_permute_select
POSTHOOK: Lineage: table_add_int_permute_select.a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.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 table_add_int_permute_select
    values (9, 5, 'new', 100),
           (10, 6, 'new', 200)
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__3
PREHOOK: Output: default@table_add_int_permute_select
POSTHOOK: query: insert into table table_add_int_permute_select
    values (9, 5, 'new', 100),
           (10, 6, 'new', 200)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__3
POSTHOOK: Output: default@table_add_int_permute_select
POSTHOOK: Lineage: table_add_int_permute_select.a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_permute_select.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,a,b from table_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,a,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=100)
          Output:["_col0","_col1","_col2"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=100)
              Output:["_col0","_col1","_col2"]
              TableScan [TS_0] (rows=4 width=100)
                default@table_add_int_permute_select,table_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,a,b from table_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_permute_select
#### A masked pattern was here ####
POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,a,b from table_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_permute_select
#### A masked pattern was here ####
insert_num	a	b
1	1	original
10	6	new
2	2	original
3	3	original
4	4	original
5	1	new
6	2	new
7	3	new
8	4	new
9	5	new
PREHOOK: query: select insert_num,a,b,c from table_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,a,b,c from table_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_permute_select
#### A masked pattern was here ####
insert_num	a	b	c
1	1	original	NULL
10	6	new	200
2	2	original	NULL
3	3	original	NULL
4	4	original	NULL
5	1	new	10
6	2	new	20
7	3	new	30
8	4	new	40
9	5	new	100
PREHOOK: query: select insert_num,c from table_add_int_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c from table_add_int_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_permute_select
#### A masked pattern was here ####
insert_num	c
1	NULL
10	200
2	NULL
3	NULL
4	NULL
5	10
6	20
7	30
8	40
9	100
PREHOOK: query: drop table table_add_int_permute_select
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_add_int_permute_select
PREHOOK: Output: default@table_add_int_permute_select
POSTHOOK: query: drop table table_add_int_permute_select
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_add_int_permute_select
POSTHOOK: Output: default@table_add_int_permute_select
PREHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
--
--
CREATE TABLE table_add_int_string_permute_select(insert_num int, a INT, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_add_int_string_permute_select
POSTHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
--
--
CREATE TABLE table_add_int_string_permute_select(insert_num int, a INT, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_add_int_string_permute_select
PREHOOK: query: DESCRIBE FORMATTED table_add_int_string_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@table_add_int_string_permute_select
POSTHOOK: query: DESCRIBE FORMATTED table_add_int_string_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@table_add_int_string_permute_select
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
a                   	int                 	                    
b                   	string              	                    
	 	 
# Detailed Table Information	 	 
Database:           	default             	 
#### A masked pattern was here ####
Retention:          	0                   	 
#### A masked pattern was here ####
Table Type:         	MANAGED_TABLE       	 
Table Parameters:	 	 
	COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\"}
	numFiles            	0                   
	numRows             	0                   
	rawDataSize         	0                   
	totalSize           	0                   
#### 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 table_add_int_string_permute_select
    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@table_add_int_string_permute_select
POSTHOOK: query: insert into table table_add_int_string_permute_select
    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@table_add_int_string_permute_select
POSTHOOK: Lineage: table_add_int_string_permute_select.a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.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 table_add_int_string_permute_select add columns(c int, d string)
PREHOOK: type: ALTERTABLE_ADDCOLS
PREHOOK: Input: default@table_add_int_string_permute_select
PREHOOK: Output: default@table_add_int_string_permute_select
POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
alter table table_add_int_string_permute_select add columns(c int, d string)
POSTHOOK: type: ALTERTABLE_ADDCOLS
POSTHOOK: Input: default@table_add_int_string_permute_select
POSTHOOK: Output: default@table_add_int_string_permute_select
PREHOOK: query: DESCRIBE FORMATTED table_add_int_string_permute_select
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@table_add_int_string_permute_select
POSTHOOK: query: DESCRIBE FORMATTED table_add_int_string_permute_select
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@table_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              	                    
	 	 
# 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 ####
	numFiles            	1                   
	numRows             	4                   
	rawDataSize         	400                 
	totalSize           	363                 
#### 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 table_add_int_string_permute_select
    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@table_add_int_string_permute_select
POSTHOOK: query: insert into table table_add_int_string_permute_select
    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@table_add_int_string_permute_select
POSTHOOK: Lineage: table_add_int_string_permute_select.a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.c EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.d SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.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 table_add_int_string_permute_select
    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@table_add_int_string_permute_select
POSTHOOK: query: insert into table table_add_int_string_permute_select
    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@table_add_int_string_permute_select
POSTHOOK: Lineage: table_add_int_string_permute_select.a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.c EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.d SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_add_int_string_permute_select.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,a,b from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,a,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=100)
          Output:["_col0","_col1","_col2"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=100)
              Output:["_col0","_col1","_col2"]
              TableScan [TS_0] (rows=4 width=100)
                default@table_add_int_string_permute_select,table_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,a,b from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
select insert_num,a,b from table_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
insert_num	a	b
1	1	original
10	6	new
2	2	original
3	3	original
4	4	original
5	1	new
6	2	new
7	3	new
8	4	new
9	5	new
PREHOOK: query: select insert_num,a,b,c from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,a,b,c from table_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
insert_num	a	b	c
1	1	original	NULL
10	6	new	200
2	2	original	NULL
3	3	original	NULL
4	4	original	NULL
5	1	new	10
6	2	new	20
7	3	new	30
8	4	new	40
9	5	new	100
PREHOOK: query: select insert_num,a,b,c,d from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,a,b,c,d from table_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
insert_num	a	b	c	d
1	1	original	NULL	NULL
10	6	new	200	two hundred
2	2	original	NULL	NULL
3	3	original	NULL	NULL
4	4	original	NULL	NULL
5	1	new	10	ten
6	2	new	20	twenty
7	3	new	30	thirty
8	4	new	40	forty
9	5	new	100	hundred
PREHOOK: query: select insert_num,a,c,d from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,a,c,d from table_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
insert_num	a	c	d
1	1	NULL	NULL
10	6	200	two hundred
2	2	NULL	NULL
3	3	NULL	NULL
4	4	NULL	NULL
5	1	10	ten
6	2	20	twenty
7	3	30	thirty
8	4	40	forty
9	5	100	hundred
PREHOOK: query: select insert_num,a,d from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,a,d from table_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
insert_num	a	d
1	1	NULL
10	6	two hundred
2	2	NULL
3	3	NULL
4	4	NULL
5	1	ten
6	2	twenty
7	3	thirty
8	4	forty
9	5	hundred
PREHOOK: query: select insert_num,c from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c from table_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
insert_num	c
1	NULL
10	200
2	NULL
3	NULL
4	NULL
5	10
6	20
7	30
8	40
9	100
PREHOOK: query: select insert_num,d from table_add_int_string_permute_select order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,d from table_add_int_string_permute_select order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_add_int_string_permute_select
#### A masked pattern was here ####
insert_num	d
1	NULL
10	two hundred
2	NULL
3	NULL
4	NULL
5	ten
6	twenty
7	thirty
8	forty
9	hundred
PREHOOK: query: drop table table_add_int_string_permute_select
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_add_int_string_permute_select
PREHOOK: Output: default@table_add_int_string_permute_select
POSTHOOK: query: drop table table_add_int_string_permute_select
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_add_int_string_permute_select
POSTHOOK: Output: default@table_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 table_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_string_group_double
PREHOOK: query: insert into table table_change_string_group_double
    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@table_change_string_group_double
POSTHOOK: query: insert into table table_change_string_group_double
    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@table_change_string_group_double
POSTHOOK: Lineage: table_change_string_group_double.b SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c1 SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c2 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c3 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.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 table_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@table_change_string_group_double
PREHOOK: Output: default@table_change_string_group_double
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@table_change_string_group_double
POSTHOOK: Output: default@table_change_string_group_double
PREHOOK: query: insert into table table_change_string_group_double
    values (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@table_change_string_group_double
POSTHOOK: query: insert into table table_change_string_group_double
    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@table_change_string_group_double
POSTHOOK: Lineage: table_change_string_group_double.b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c1 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c2 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c3 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.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 table_change_string_group_double
    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@table_change_string_group_double
POSTHOOK: query: insert into table table_change_string_group_double
    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@table_change_string_group_double
POSTHOOK: Lineage: table_change_string_group_double.b SIMPLE [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c1 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c2 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.c3 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_double.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,c1,c2,c3,b from table_change_string_group_double order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=414)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=414)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=414)
                default@table_change_string_group_double,table_change_string_group_double,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_double order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_string_group_double
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_double order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_string_group_double
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	753.7028	753.7028	753.7028	original
10	9250340.75	9250340.75	9250340.75	new
2	-3651.672121	-3651.672121	-3651.672121	original
3	-29.0764	-29.0764	-29.0764	original
4	-10.3	-10.3	-10.3	original
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
9	17808.963785	17808.963785	17808.963785	new
PREHOOK: query: drop table table_change_string_group_double
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_string_group_double
PREHOOK: Output: default@table_change_string_group_double
POSTHOOK: query: drop table table_change_string_group_double
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_string_group_double
POSTHOOK: Output: default@table_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 table_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_date_group_string_group_timestamp
PREHOOK: query: insert into table table_change_date_group_string_group_timestamp
    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@table_change_date_group_string_group_timestamp
POSTHOOK: query: insert into table table_change_date_group_string_group_timestamp
    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@table_change_date_group_string_group_timestamp
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c1 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c2 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c3 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c4 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c5 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.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 table_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@table_change_date_group_string_group_timestamp
PREHOOK: Output: default@table_change_date_group_string_group_timestamp
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_date_group_string_group_timestamp
POSTHOOK: Output: default@table_change_date_group_string_group_timestamp
PREHOOK: query: insert into table table_change_date_group_string_group_timestamp
    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@table_change_date_group_string_group_timestamp
POSTHOOK: query: insert into table table_change_date_group_string_group_timestamp
    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@table_change_date_group_string_group_timestamp
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.b SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c1 SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c2 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c3 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c4 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c5 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.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 table_change_date_group_string_group_timestamp
    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@table_change_date_group_string_group_timestamp
POSTHOOK: query: insert into table table_change_date_group_string_group_timestamp
    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@table_change_date_group_string_group_timestamp
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.b SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c1 SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c2 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c3 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c4 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.c5 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_timestamp.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,c1,c2,c3,c4,c5,b from table_change_date_group_string_group_timestamp order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,c5,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=3 width=296)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=3 width=296)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=3 width=296)
                default@table_change_date_group_string_group_timestamp,table_change_date_group_string_group_timestamp,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,c1,c2,c3,c4,c5,b from table_change_date_group_string_group_timestamp order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_date_group_string_group_timestamp
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,b from table_change_date_group_string_group_timestamp order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_date_group_string_group_timestamp
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	c5	b
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	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	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	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	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	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	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	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	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 table_change_date_group_string_group_timestamp
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_date_group_string_group_timestamp
PREHOOK: Output: default@table_change_date_group_string_group_timestamp
POSTHOOK: query: drop table table_change_date_group_string_group_timestamp
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_date_group_string_group_timestamp
POSTHOOK: Output: default@table_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 table_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_date_group_string_group_date
PREHOOK: query: insert into table table_change_date_group_string_group_date
    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@table_change_date_group_string_group_date
POSTHOOK: query: insert into table table_change_date_group_string_group_date
    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@table_change_date_group_string_group_date
POSTHOOK: Lineage: table_change_date_group_string_group_date.b SIMPLE [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c1 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c2 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c3 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c4 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c5 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.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 table_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@table_change_date_group_string_group_date
PREHOOK: Output: default@table_change_date_group_string_group_date
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_date_group_string_group_date
POSTHOOK: Output: default@table_change_date_group_string_group_date
PREHOOK: query: DESCRIBE FORMATTED table_change_date_group_string_group_date
PREHOOK: type: DESCTABLE
PREHOOK: Input: default@table_change_date_group_string_group_date
POSTHOOK: query: DESCRIBE FORMATTED table_change_date_group_string_group_date
POSTHOOK: type: DESCTABLE
POSTHOOK: Input: default@table_change_date_group_string_group_date
col_name	data_type	comment
# col_name            	data_type           	comment             
	 	 
insert_num          	int                 	                    
c1                  	string              	                    
c2                  	char(50)            	                    
c3                  	char(15)            	                    
c4                  	varchar(50)         	                    
c5                  	varchar(15)         	                    
b                   	string              	                    
	 	 
# 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 ####
	numFiles            	1                   
	numRows             	3                   
	rawDataSize         	1128                
	totalSize           	587                 
#### 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 table_change_date_group_string_group_date
    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@table_change_date_group_string_group_date
POSTHOOK: query: insert into table table_change_date_group_string_group_date
    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@table_change_date_group_string_group_date
POSTHOOK: Lineage: table_change_date_group_string_group_date.b SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c1 SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c2 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c3 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c4 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.c5 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_date_group_string_group_date.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,c1,c2,c3,c4,c5,b from table_change_date_group_string_group_date order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,c5,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=3 width=376)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=3 width=376)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=3 width=376)
                default@table_change_date_group_string_group_date,table_change_date_group_string_group_date,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]

PREHOOK: query: select insert_num,c1,c2,c3,c4,c5,b from table_change_date_group_string_group_date order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_date_group_string_group_date
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,b from table_change_date_group_string_group_date order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_date_group_string_group_date
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	c5	b
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
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: query: drop table table_change_date_group_string_group_date
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_date_group_string_group_date
PREHOOK: Output: default@table_change_date_group_string_group_date
POSTHOOK: query: drop table table_change_date_group_string_group_date
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_date_group_string_group_date
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_string(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_string(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_string
    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@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_string
    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@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.b SIMPLE [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c1 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c2 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c3 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c4 EXPRESSION [(values__tmp__table__15)values__tmp__table__15.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	483777	-23866739993	original
2	-2	-6737	56	28899333	original
3	NULL	4957	832222222	9000000000	original
4	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_string
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_string
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__16
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_string
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__16
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.b SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c1 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c2 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c3 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.c4 SIMPLE [(values__tmp__table__16)values__tmp__table__16.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_string.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=115)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=115)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=4 width=115)
                default@table_change_numeric_group_string_group_multi_ints_string,table_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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	483777	-23866739993	original
10	17	90000	754072151	3289094	new
2	-2	-6737	56	28899333	original
3	NULL	4957	832222222	9000000000	original
4	0	20435	847492223	-999999999999	original
5	2000	72909	3244222	-93222	new
6	1	200	2323322	5430907	new
7	256	32768	31889	470614135	new
8	5555	40000	-719017797	810662019	new
9	100	5000	5443	0	new
PREHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_string
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_char(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_char(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char
    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@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char
    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@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.b SIMPLE [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c1 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c2 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c3 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c4 EXPRESSION [(values__tmp__table__17)values__tmp__table__17.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	483777	-23866739993	original
2	-2	-6737	56	28899333	original
3	NULL	4957	832222222	9000000000	original
4	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_char
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__18
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__18
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.b SIMPLE [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c1 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c2 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c3 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.c4 EXPRESSION [(values__tmp__table__18)values__tmp__table__18.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=115)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=115)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=4 width=115)
                default@table_change_numeric_group_string_group_multi_ints_char,table_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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45                                                	1000                                              	483777                                            	-23866739993                                      	original
10	17                                                	90000                                             	754072151                                         	3289094                                           	new
2	-2                                                	-6737                                             	56                                                	28899333                                          	original
3	NULL	4957                                              	832222222                                         	9000000000                                        	original
4	0                                                 	20435                                             	847492223                                         	-999999999999                                     	original
5	2000                                              	72909                                             	3244222                                           	-93222                                            	new
6	1                                                 	200                                               	2323322                                           	5430907                                           	new
7	256                                               	32768                                             	31889                                             	470614135                                         	new
8	5555                                              	40000                                             	-719017797                                        	810662019                                         	new
9	100                                               	5000                                              	5443                                              	0                                                 	new
PREHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_char_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_char_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char_trunc
    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@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char_trunc
    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@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.b SIMPLE [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c1 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c2 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c3 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c4 EXPRESSION [(values__tmp__table__19)values__tmp__table__19.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	483777	-23866739993	original
2	-2	-6737	56	28899333	original
3	NULL	4957	832222222	9000000000	original
4	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char_trunc
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__20
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_char_trunc
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__20
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.b SIMPLE [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c1 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c2 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c3 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.c4 EXPRESSION [(values__tmp__table__20)values__tmp__table__20.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_char_trunc.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=115)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=115)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=4 width=115)
                default@table_change_numeric_group_string_group_multi_ints_char_trunc,table_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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45   	1000 	48377	-2386	original
10	17   	90000	75407	32890	new
2	-2   	-6737	56   	28899	original
3	NULL	4957 	83222	90000	original
4	0    	20435	84749	-9999	original
5	2000 	72909	32442	-9322	new
6	1    	200  	23233	54309	new
7	256  	32768	31889	47061	new
8	5555 	40000	-7190	81066	new
9	100  	5000 	5443 	0    	new
PREHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_char_trunc
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_varchar(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_varchar(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar
    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@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar
    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@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.b SIMPLE [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c1 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c2 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c3 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c4 EXPRESSION [(values__tmp__table__21)values__tmp__table__21.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	483777	-23866739993	original
2	-2	-6737	56	28899333	original
3	NULL	4957	832222222	9000000000	original
4	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__22
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__22
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.b SIMPLE [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c1 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c2 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c3 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.c4 EXPRESSION [(values__tmp__table__22)values__tmp__table__22.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=115)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=115)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=4 width=115)
                default@table_change_numeric_group_string_group_multi_ints_varchar,table_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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	483777	-23866739993	original
10	17	90000	754072151	3289094	new
2	-2	-6737	56	28899333	original
3	NULL	4957	832222222	9000000000	original
4	0	20435	847492223	-999999999999	original
5	2000	72909	3244222	-93222	new
6	1	200	2323322	5430907	new
7	256	32768	31889	470614135	new
8	5555	40000	-719017797	810662019	new
9	100	5000	5443	0	new
PREHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_varchar_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_multi_ints_varchar_trunc(insert_num int, c1 tinyint, c2 smallint, c3 int, c4 bigint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar_trunc
    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@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar_trunc
    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@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.b SIMPLE [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c1 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c2 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c3 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c4 EXPRESSION [(values__tmp__table__23)values__tmp__table__23.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	483777	-23866739993	original
2	-2	-6737	56	28899333	original
3	NULL	4957	832222222	9000000000	original
4	0	20435	847492223	-999999999999	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar_trunc
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__24
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_multi_ints_varchar_trunc
    values (5, '2000', '72909', '3244222', '-93222', 'new'),
           (6, '1', '200', '2323322', '5430907', 'new'),
           (7, '256', '32768', '31889', '470614135', 'new'),
           (8, '5555', '40000', '-719017797', '810662019', 'new'),
           (9, '100', '5000', '5443', '0', 'new'),
           (10, '17', '90000', '754072151', '3289094', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__24
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.b SIMPLE [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c1 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c2 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c3 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.c4 EXPRESSION [(values__tmp__table__24)values__tmp__table__24.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_multi_ints_varchar_trunc.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=115)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=115)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=4 width=115)
                default@table_change_numeric_group_string_group_multi_ints_varchar_trunc,table_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,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_numeric_group_string_group_multi_ints_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	45	1000	48377	-2386	original
10	17	90000	75407	32890	new
2	-2	-6737	56	28899	original
3	NULL	4957	83222	90000	original
4	0	20435	84749	-9999	original
5	2000	72909	32442	-9322	new
6	1	200	23233	54309	new
7	256	32768	31889	47061	new
8	5555	40000	-7190	81066	new
9	100	5000	5443	0	new
PREHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: query: drop table table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
POSTHOOK: Output: default@table_change_numeric_group_string_group_multi_ints_varchar_trunc
PREHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (FLOAT, DOUBLE, DECIMAL), STRING
--
CREATE TABLE table_change_numeric_group_string_group_floating_string(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string
POSTHOOK: query: --
-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (FLOAT, DOUBLE, DECIMAL), STRING
--
CREATE TABLE table_change_numeric_group_string_group_floating_string(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_string
    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@table_change_numeric_group_string_group_floating_string
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_string
    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@table_change_numeric_group_string_group_floating_string
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.b SIMPLE [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.c1 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.c2 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.c3 EXPRESSION [(values__tmp__table__25)values__tmp__table__25.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.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,c1,c2,c3,b from table_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	-10.300000000000000000	-2.0	-29.0764	original
3	-832222222.000000000000000000	255.0	4957.0	original
4	847492223.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_string
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_string
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_string
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__26
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_string
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__26
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_string
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.b SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.c1 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.c2 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.c3 SIMPLE [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_string.insert_num EXPRESSION [(values__tmp__table__26)values__tmp__table__26.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=220)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=220)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=220)
                default@table_change_numeric_group_string_group_floating_string,table_change_numeric_group_string_group_floating_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-23866739993	753.7028	-3651.672121	original
10	17	90000	754072151	new
2	-10.3	-2.0	-29.0764	original
3	-832222222	255.0	4957.0	original
4	847492223	0.0	20435.0	original
5	30.774	20.31	46114.284799488	new
6	-66475.561431	52927714	7203778961	new
7	256	32768	31889	new
8	5555	40000	-719017797	new
9	100	5000	5443	new
PREHOOK: query: drop table table_change_numeric_group_string_group_floating_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_string
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_string
POSTHOOK: query: drop table table_change_numeric_group_string_group_floating_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_string
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_char(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_char(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_char
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_char
    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@table_change_numeric_group_string_group_floating_char
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_char
    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@table_change_numeric_group_string_group_floating_char
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.b SIMPLE [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.c1 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.c2 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.c3 EXPRESSION [(values__tmp__table__27)values__tmp__table__27.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.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,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_char
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_char
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	-10.300000000000000000	-2.0	-29.0764	original
3	9000000000.000000000000000000	-255.0	4957.0	original
4	-999999999999.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_char
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_char
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_char
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_char
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__28
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_char
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_char
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__28
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_char
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.b SIMPLE [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.c1 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.c2 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.c3 EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char.insert_num EXPRESSION [(values__tmp__table__28)values__tmp__table__28.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=220)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=220)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=220)
                default@table_change_numeric_group_string_group_floating_char,table_change_numeric_group_string_group_floating_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_char
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_char
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-23866739993                                      	753.7028                                          	-3651.672121                                      	original
10	17                                                	90000                                             	754072151                                         	new
2	-10.3                                             	-2.0                                              	-29.0764                                          	original
3	9000000000                                        	-255.0                                            	4957.0                                            	original
4	-999999999999                                     	0.0                                               	20435.0                                           	original
5	30.774                                            	20.31                                             	46114.284799488                                   	new
6	-66475.561431                                     	52927714                                          	7203778961                                        	new
7	256                                               	32768                                             	31889                                             	new
8	5555                                              	40000                                             	-719017797                                        	new
9	100                                               	5000                                              	5443                                              	new
PREHOOK: query: drop table table_change_numeric_group_string_group_floating_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_char
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_char
POSTHOOK: query: drop table table_change_numeric_group_string_group_floating_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_char
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_char_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_char_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_char_trunc
    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@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_char_trunc
    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@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.b SIMPLE [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.c1 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.c2 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.c3 EXPRESSION [(values__tmp__table__29)values__tmp__table__29.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.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,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_char_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_char_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	-10.300000000000000000	-2.0	-29.0764	original
3	832222222.000000000000000000	-255.0	4957.0	original
4	847492223.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_char_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_char_trunc
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__30
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_char_trunc
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__30
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.b SIMPLE [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.c1 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.c2 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.c3 EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_char_trunc.insert_num EXPRESSION [(values__tmp__table__30)values__tmp__table__30.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=220)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=220)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=220)
                default@table_change_numeric_group_string_group_floating_char_trunc,table_change_numeric_group_string_group_floating_char_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_char_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_char_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_char_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-238667	753.702	-3651.6	original
10	17     	90000  	7540721	new
2	-10.3  	-2.0   	-29.076	original
3	8322222	-255.0 	4957.0 	original
4	8474922	0.0    	20435.0	original
5	30.774 	20.31  	46114.2	new
6	-66475.	5292771	7203778	new
7	256    	32768  	31889  	new
8	5555   	40000  	-719017	new
9	100    	5000   	5443   	new
PREHOOK: query: drop table table_change_numeric_group_string_group_floating_char_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_char_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: query: drop table table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_char_trunc
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_varchar(insert_num int, c1 float, c2 double, c3 decimal(38,18), b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_varchar(insert_num int, c1 float, c2 double, c3 decimal(38,18), b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar
    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@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar
    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@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.b SIMPLE [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.c1 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.c2 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.c3 EXPRESSION [(values__tmp__table__31)values__tmp__table__31.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.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,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-2.38667407E10	753.7028	-3651.672121000000000000	original
2	-10.3	-2.0	-29.076400000000000000	original
3	8.9999995E9	-255.0	4957.000000000000000000	original
4	-1.0E12	0.0	20435.000000000000000000	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_varchar
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__32
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__32
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.b SIMPLE [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.c1 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.c2 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.c3 EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar.insert_num EXPRESSION [(values__tmp__table__32)values__tmp__table__32.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=220)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=220)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=220)
                default@table_change_numeric_group_string_group_floating_varchar,table_change_numeric_group_string_group_floating_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-2.38667407E10	753.7028	-3651.672121	original
10	17	90000	754072151	new
2	-10.3	-2.0	-29.0764	original
3	8.9999995E9	-255.0	4957	original
4	-1.0E12	0.0	20435	original
5	30.774	20.31	46114.284799488	new
6	-66475.561431	52927714	7203778961	new
7	256	32768	31889	new
8	5555	40000	-719017797	new
9	100	5000	5443	new
PREHOOK: query: drop table table_change_numeric_group_string_group_floating_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: query: drop table table_change_numeric_group_string_group_floating_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar
POSTHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_varchar_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_numeric_group_string_group_floating_varchar_trunc(insert_num int, c1 decimal(38,18), c2 float, c3 double, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar_trunc
    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@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar_trunc
    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@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.b SIMPLE [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.c1 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.c2 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.c3 EXPRESSION [(values__tmp__table__33)values__tmp__table__33.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.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,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-23866739993.000000000000000000	753.7028	-3651.672121	original
2	-10.300000000000000000	-2.0	-29.0764	original
3	9000000000.000000000000000000	-255.0	4957.0	original
4	-999999999999.000000000000000000	0.0	20435.0	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar_trunc
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__34
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: insert into table table_change_numeric_group_string_group_floating_varchar_trunc
    values (5, '30.774', '20.31', '46114.284799488', 'new'),
           (6, '-66475.561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__34
POSTHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.b SIMPLE [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.c1 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.c2 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.c3 EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_numeric_group_string_group_floating_varchar_trunc.insert_num EXPRESSION [(values__tmp__table__34)values__tmp__table__34.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=220)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=220)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=220)
                default@table_change_numeric_group_string_group_floating_varchar_trunc,table_change_numeric_group_string_group_floating_varchar_trunc,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar_trunc
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_numeric_group_string_group_floating_varchar_trunc order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar_trunc
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	-238667	753.702	-3651.6	original
10	17	90000	7540721	new
2	-10.3	-2.0	-29.076	original
3	9000000	-255.0	4957.0	original
4	-999999	0.0	20435.0	original
5	30.774	20.31	46114.2	new
6	-66475.	5292771	7203778	new
7	256	32768	31889	new
8	5555	40000	-719017	new
9	100	5000	5443	new
PREHOOK: query: drop table table_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar_trunc
PREHOOK: Output: default@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: query: drop table table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_numeric_group_string_group_floating_varchar_trunc
POSTHOOK: Output: default@table_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 table_change_string_group_string_group_string(insert_num int, c1 string, c2 string, c3 string, c4 string, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_string_group_string_group_string(insert_num int, c1 string, c2 string, c3 string, c4 string, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_string_group_string_group_string
PREHOOK: query: insert into table table_change_string_group_string_group_string
    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@table_change_string_group_string_group_string
POSTHOOK: query: insert into table table_change_string_group_string_group_string
    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@table_change_string_group_string_group_string
POSTHOOK: Lineage: table_change_string_group_string_group_string.b SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c1 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c2 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c3 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c4 SIMPLE [(values__tmp__table__35)values__tmp__table__35.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.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,c1,c2,c3,c4,b from table_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_string_group_string_group_string
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_string_group_string_group_string
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
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: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_change_string_group_string_group_string replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9), b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@table_change_string_group_string_group_string
PREHOOK: Output: default@table_change_string_group_string_group_string
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_change_string_group_string_group_string replace columns (insert_num int, c1 CHAR(50), c2 CHAR(9), c3 VARCHAR(50), c4 CHAR(9), b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@table_change_string_group_string_group_string
POSTHOOK: Output: default@table_change_string_group_string_group_string
PREHOOK: query: insert into table table_change_string_group_string_group_string
    values (5, 'junkyard', 'junkyard', 'junkyard', 'junkyard', 'new'),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', '  baffling    ', 'new'),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ','           featherweight  ', 'new'),
           (8, '  against', '  against', '  against', '  against', 'new'),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new'),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'bottom  ', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__36
PREHOOK: Output: default@table_change_string_group_string_group_string
POSTHOOK: query: insert into table table_change_string_group_string_group_string
    values (5, 'junkyard', 'junkyard', 'junkyard', 'junkyard', 'new'),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', '  baffling    ', 'new'),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ','           featherweight  ', 'new'),
           (8, '  against', '  against', '  against', '  against', 'new'),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new'),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'bottom  ', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__36
POSTHOOK: Output: default@table_change_string_group_string_group_string
POSTHOOK: Lineage: table_change_string_group_string_group_string.b SIMPLE [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c1 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c2 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c3 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.c4 EXPRESSION [(values__tmp__table__36)values__tmp__table__36.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_string.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=476)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=476)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=4 width=476)
                default@table_change_string_group_string_group_string,table_change_string_group_string_group_string,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_string_group_string_group_string order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_string_group_string_group_string
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_string_group_string_group_string order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_string_group_string_group_string
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	escapist                                          	escapist 	escapist	escapist 	original
10	bottom                                            	bottom   	bottom  	bottom   	new
2	heartbeat                                         	heartbeat	heartbeat	heartbeat	original
3	dynamic reptile                                   	dynamic r	dynamic reptile	dynamic r	original
4	blank pads                                        	blank pad	blank pads   	blank pad	original
5	junkyard                                          	junkyard 	junkyard	junkyard 	new
6	  baffling                                        	  bafflin	  baffling    	  bafflin	new
7	           featherweight                          	         	           featherweight  	         	new
8	  against                                         	  against	  against	  against	new
9	hangar paralysed companion                        	hangar pa	hangar paralysed companion 	hangar pa	new
PREHOOK: query: drop table table_change_string_group_string_group_string
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_string_group_string_group_string
PREHOOK: Output: default@table_change_string_group_string_group_string
POSTHOOK: query: drop table table_change_string_group_string_group_string
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_string_group_string_group_string
POSTHOOK: Output: default@table_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 table_change_string_group_string_group_char(insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_string_group_string_group_char(insert_num int, c1 CHAR(50), c2 CHAR(50), c3 CHAR(50), b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_string_group_string_group_char
PREHOOK: query: insert into table table_change_string_group_string_group_char
    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@table_change_string_group_string_group_char
POSTHOOK: query: insert into table table_change_string_group_string_group_char
    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@table_change_string_group_string_group_char
POSTHOOK: Lineage: table_change_string_group_string_group_char.b SIMPLE [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.c1 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.c2 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.c3 EXPRESSION [(values__tmp__table__37)values__tmp__table__37.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.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,c1,c2,c3,b from table_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_string_group_string_group_char
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_string_group_string_group_char
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
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: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_string_group_string_group_char
PREHOOK: Output: default@table_change_string_group_string_group_char
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_string_group_string_group_char
POSTHOOK: Output: default@table_change_string_group_string_group_char
PREHOOK: query: insert into table table_change_string_group_string_group_char
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new'),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new'),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new'),
           (8, '  against', '  against', '  against', 'new'),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new'),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__38
PREHOOK: Output: default@table_change_string_group_string_group_char
POSTHOOK: query: insert into table table_change_string_group_string_group_char
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new'),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new'),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new'),
           (8, '  against', '  against', '  against', 'new'),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new'),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__38
POSTHOOK: Output: default@table_change_string_group_string_group_char
POSTHOOK: Lineage: table_change_string_group_string_group_char.b SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.c1 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.c2 EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.c3 SIMPLE [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_char.insert_num EXPRESSION [(values__tmp__table__38)values__tmp__table__38.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=498)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=498)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=498)
                default@table_change_string_group_string_group_char,table_change_string_group_string_group_char,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_string_group_char order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_string_group_string_group_char
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_string_group_char order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_string_group_string_group_char
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	escapist	escapist	escapist	original
10	bottom  	bottom  	bottom  	new
2	heartbeat	heartbeat	heartbeat	original
3	dynamic reptile	dynamic r	dynamic reptile	original
4	blank pads	blank pad	blank pads	original
5	junkyard	junkyard	junkyard	new
6	  baffling    	  bafflin	  baffling    	new
7	           featherweight  	         	           featherweight  	new
8	  against	  against	  against	new
9	hangar paralysed companion 	hangar pa	hangar paralysed companion 	new
PREHOOK: query: drop table table_change_string_group_string_group_char
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_string_group_string_group_char
PREHOOK: Output: default@table_change_string_group_string_group_char
POSTHOOK: query: drop table table_change_string_group_string_group_char
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_string_group_string_group_char
POSTHOOK: Output: default@table_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 table_change_string_group_string_group_varchar(insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_string_group_string_group_varchar(insert_num int, c1 VARCHAR(50), c2 VARCHAR(50), c3 VARCHAR(50), b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_string_group_string_group_varchar
PREHOOK: query: insert into table table_change_string_group_string_group_varchar
    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@table_change_string_group_string_group_varchar
POSTHOOK: query: insert into table table_change_string_group_string_group_varchar
    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@table_change_string_group_string_group_varchar
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.b SIMPLE [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.c1 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.c2 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.c3 EXPRESSION [(values__tmp__table__39)values__tmp__table__39.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.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,c1,c2,c3,b from table_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_string_group_string_group_varchar
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_string_group_string_group_varchar
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
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: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_string_group_string_group_varchar
PREHOOK: Output: default@table_change_string_group_string_group_varchar
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_string_group_string_group_varchar
POSTHOOK: Output: default@table_change_string_group_string_group_varchar
PREHOOK: query: insert into table table_change_string_group_string_group_varchar
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new'),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new'),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new'),
           (8, '  against', '  against', '  against', 'new'),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new'),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__40
PREHOOK: Output: default@table_change_string_group_string_group_varchar
POSTHOOK: query: insert into table table_change_string_group_string_group_varchar
    values (5, 'junkyard', 'junkyard', 'junkyard', 'new'),
           (6, '  baffling    ', '  baffling    ', '  baffling    ', 'new'),
           (7, '           featherweight  ', '           featherweight  ','           featherweight  ', 'new'),
           (8, '  against', '  against', '  against', 'new'),
           (9, 'hangar paralysed companion ', 'hangar paralysed companion ', 'hangar paralysed companion ', 'new'),
           (10, 'bottom  ', 'bottom  ', 'bottom  ', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__40
POSTHOOK: Output: default@table_change_string_group_string_group_varchar
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.b SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.c1 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.c2 EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.c3 SIMPLE [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_string_group_string_group_varchar.insert_num EXPRESSION [(values__tmp__table__40)values__tmp__table__40.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=381)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=381)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=381)
                default@table_change_string_group_string_group_varchar,table_change_string_group_string_group_varchar,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_string_group_varchar order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_string_group_string_group_varchar
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_string_group_string_group_varchar order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_string_group_string_group_varchar
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	escapist                                          	escapist 	escapist	original
10	bottom                                            	bottom   	bottom  	new
2	heartbeat                                         	heartbeat	heartbeat	original
3	dynamic reptile                                   	dynamic r	dynamic reptile	original
4	blank pads                                        	blank pad	blank pads   	original
5	junkyard                                          	junkyard 	junkyard	new
6	  baffling                                        	  bafflin	  baffling    	new
7	           featherweight                          	         	           featherweight  	new
8	  against                                         	  against	  against	new
9	hangar paralysed companion                        	hangar pa	hangar paralysed companion 	new
PREHOOK: query: drop table table_change_string_group_string_group_varchar
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_string_group_string_group_varchar
PREHOOK: Output: default@table_change_string_group_string_group_varchar
POSTHOOK: query: drop table table_change_string_group_string_group_varchar
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_string_group_string_group_varchar
POSTHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_tinyint(insert_num int, c1 tinyint, c2 tinyint, c3 tinyint, c4 tinyint, c5 tinyint, c6 tinyint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_tinyint(insert_num int, c1 tinyint, c2 tinyint, c3 tinyint, c4 tinyint, c5 tinyint, c6 tinyint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_tinyint
    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@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_tinyint
    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@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.b SIMPLE [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c1 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c2 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c3 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c4 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c5 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c6 EXPRESSION [(values__tmp__table__41)values__tmp__table__41.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.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,c1,c2,c3,c4,c5,c6,b from table_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,b from table_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	c5	c6	b
1	45	45	45	45	45	45	original
2	-2	-2	-2	-2	-2	-2	original
3	NULL	NULL	NULL	NULL	NULL	NULL	original
4	100	100	100	100	100	100	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_tinyint
    values (5, '774', '2031', '200', '12', '99', '0', 'new'),
           (6, '561431', '52927714', '7203778961',  '8', '7', '6', 'new'),
           (7, '256', '32768', '31889', '300', '444', '506', 'new'),
           (8, '5555', '40000', '-719017797', '45', '55', '65', 'new'),
           (9, '100', '5000', '5443', '22', '2', '-2', 'new'),
           (10, '17', '90000', '754072151', '95', '20', '18', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__42
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_tinyint
    values (5, '774', '2031', '200', '12', '99', '0', 'new'),
           (6, '561431', '52927714', '7203778961',  '8', '7', '6', 'new'),
           (7, '256', '32768', '31889', '300', '444', '506', 'new'),
           (8, '5555', '40000', '-719017797', '45', '55', '65', 'new'),
           (9, '100', '5000', '5443', '22', '2', '-2', 'new'),
           (10, '17', '90000', '754072151', '95', '20', '18', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__42
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.b SIMPLE [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c1 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c2 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c3 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c4 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c5 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.c6 EXPRESSION [(values__tmp__table__42)values__tmp__table__42.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_tinyint.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,c5,c6,b from table_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,c5,c6,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=114)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=114)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
              TableScan [TS_0] (rows=4 width=114)
                default@table_change_lower_to_higher_numeric_group_tinyint,table_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,c1,c2,c3,c4,c5,c6,b from table_change_lower_to_higher_numeric_group_tinyint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,c6,b from table_change_lower_to_higher_numeric_group_tinyint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	c5	c6	b
1	45	45	45	45.000000000000000000	45.0	45.0	original
10	17	90000	754072151	95.000000000000000000	20.0	18.0	new
2	-2	-2	-2	-2.000000000000000000	-2.0	-2.0	original
3	NULL	NULL	NULL	NULL	NULL	NULL	original
4	100	100	100	100.000000000000000000	100.0	100.0	original
5	774	2031	200	12.000000000000000000	99.0	0.0	new
6	NULL	52927714	7203778961	8.000000000000000000	7.0	6.0	new
7	256	32768	31889	300.000000000000000000	444.0	506.0	new
8	5555	40000	-719017797	45.000000000000000000	55.0	65.0	new
9	100	5000	5443	22.000000000000000000	2.0	-2.0	new
PREHOOK: query: drop table table_change_lower_to_higher_numeric_group_tinyint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: query: drop table table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_tinyint
POSTHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_smallint(insert_num int, c1 smallint, c2 smallint, c3 smallint, c4 smallint, c5 smallint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_smallint(insert_num int, c1 smallint, c2 smallint, c3 smallint, c4 smallint, c5 smallint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_smallint
    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@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_smallint
    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@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.b SIMPLE [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c1 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c2 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c3 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c4 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c5 EXPRESSION [(values__tmp__table__43)values__tmp__table__43.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.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,c1,c2,c3,c4,c5,b from table_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_smallint
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,b from table_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_smallint
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	c5	b
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: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_smallint
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_smallint
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_smallint
    values (5, '774', '2031', '200', '12', '99', 'new'),
           (6, '561431', '52927714', '7203778961',  '8', '7', 'new'),
           (7, '256', '32768', '31889', '300', '444', 'new'),
           (8, '5555', '40000', '-719017797', '45', '55', 'new'),
           (9, '100', '5000', '5443', '22', '2', 'new'),
           (10, '17', '90000', '754072151', '95', '20', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__44
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_smallint
    values (5, '774', '2031', '200', '12', '99', 'new'),
           (6, '561431', '52927714', '7203778961',  '8', '7', 'new'),
           (7, '256', '32768', '31889', '300', '444', 'new'),
           (8, '5555', '40000', '-719017797', '45', '55', 'new'),
           (9, '100', '5000', '5443', '22', '2', 'new'),
           (10, '17', '90000', '754072151', '95', '20', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__44
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.b SIMPLE [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c1 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c2 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c3 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c4 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.c5 EXPRESSION [(values__tmp__table__44)values__tmp__table__44.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_smallint.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,c5,b from table_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,c5,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=116)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=116)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
              TableScan [TS_0] (rows=4 width=116)
                default@table_change_lower_to_higher_numeric_group_smallint,table_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,c1,c2,c3,c4,c5,b from table_change_lower_to_higher_numeric_group_smallint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_smallint
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,c5,b from table_change_lower_to_higher_numeric_group_smallint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_smallint
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	c5	b
1	2031	2031	2031.000000000000000000	2031.0	2031.0	original
10	17	90000	754072151.000000000000000000	95.0	20.0	new
2	-2	-2	-2.000000000000000000	-2.0	-2.0	original
3	-5000	-5000	-5000.000000000000000000	-5000.0	-5000.0	original
4	100	100	100.000000000000000000	100.0	100.0	original
5	774	2031	200.000000000000000000	12.0	99.0	new
6	561431	52927714	7203778961.000000000000000000	8.0	7.0	new
7	256	32768	31889.000000000000000000	300.0	444.0	new
8	5555	40000	-719017797.000000000000000000	45.0	55.0	new
9	100	5000	5443.000000000000000000	22.0	2.0	new
PREHOOK: query: drop table table_change_lower_to_higher_numeric_group_smallint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_smallint
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: query: drop table table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_smallint
POSTHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_int(insert_num int, c1 int, c2 int, c3 int, c4 int, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_int(insert_num int, c1 int, c2 int, c3 int, c4 int, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_int
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_int
    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@table_change_lower_to_higher_numeric_group_int
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_int
    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@table_change_lower_to_higher_numeric_group_int
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.b SIMPLE [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c1 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c2 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c3 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c4 EXPRESSION [(values__tmp__table__45)values__tmp__table__45.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.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,c1,c2,c3,c4,b from table_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_int
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_int
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
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: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_int
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_int
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_int
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_int
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_int
    values (5, '774', '2031', '200', '12', 'new'),
           (6, '561431', '52927714', '7203778961',  '8', 'new'),
           (7, '256', '32768', '31889', '300', 'new'),
           (8, '5555', '40000', '-719017797', '45', 'new'),
           (9, '100', '5000', '5443', '22', 'new'),
           (10, '17', '90000', '754072151', '95', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__46
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_int
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_int
    values (5, '774', '2031', '200', '12', 'new'),
           (6, '561431', '52927714', '7203778961',  '8', 'new'),
           (7, '256', '32768', '31889', '300', 'new'),
           (8, '5555', '40000', '-719017797', '45', 'new'),
           (9, '100', '5000', '5443', '22', 'new'),
           (10, '17', '90000', '754072151', '95', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__46
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_int
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.b SIMPLE [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c1 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c2 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c3 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.c4 EXPRESSION [(values__tmp__table__46)values__tmp__table__46.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_int.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
PREHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,c4,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=112)
          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=112)
              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
              TableScan [TS_0] (rows=4 width=112)
                default@table_change_lower_to_higher_numeric_group_int,table_change_lower_to_higher_numeric_group_int,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","b"]

PREHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_lower_to_higher_numeric_group_int order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_int
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,c4,b from table_change_lower_to_higher_numeric_group_int order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_int
#### A masked pattern was here ####
insert_num	c1	c2	c3	c4	b
1	2031	2031.000000000000000000	2031.0	2031.0	original
10	17	90000.000000000000000000	7.5407213E8	95.0	new
2	-2	-2.000000000000000000	-2.0	-2.0	original
3	-5000	-5000.000000000000000000	-5000.0	-5000.0	original
4	52927714	52927714.000000000000000000	5.2927712E7	5.2927714E7	original
5	774	2031.000000000000000000	200.0	12.0	new
6	561431	52927714.000000000000000000	7.2037791E9	8.0	new
7	256	32768.000000000000000000	31889.0	300.0	new
8	5555	40000.000000000000000000	-7.1901779E8	45.0	new
9	100	5000.000000000000000000	5443.0	22.0	new
PREHOOK: query: drop table table_change_lower_to_higher_numeric_group_int
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_int
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_int
POSTHOOK: query: drop table table_change_lower_to_higher_numeric_group_int
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_int
POSTHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_bigint(insert_num int, c1 bigint, c2 bigint, c3 bigint, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_bigint(insert_num int, c1 bigint, c2 bigint, c3 bigint, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_bigint
    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@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_bigint
    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@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.b SIMPLE [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.c1 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.c2 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.c3 EXPRESSION [(values__tmp__table__47)values__tmp__table__47.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.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,c1,c2,c3,b from table_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_bigint
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_bigint
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	7203778961	7203778961	7203778961	original
2	-2	-2	-2	original
3	-5000	-5000	-5000	original
4	52927714	52927714	52927714	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_bigint
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_bigint
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_bigint
    values (5, '774', '2031', '200', 'new'),
           (6, '561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__48
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_bigint
    values (5, '774', '2031', '200', 'new'),
           (6, '561431', '52927714', '7203778961', 'new'),
           (7, '256', '32768', '31889', 'new'),
           (8, '5555', '40000', '-719017797', 'new'),
           (9, '100', '5000', '5443', 'new'),
           (10, '17', '90000', '754072151', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__48
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.b SIMPLE [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.c1 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.c2 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.c3 EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_bigint.insert_num EXPRESSION [(values__tmp__table__48)values__tmp__table__48.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3	_col4
PREHOOK: query: explain
select insert_num,c1,c2,c3,b from table_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,c3,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=120)
          Output:["_col0","_col1","_col2","_col3","_col4"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=120)
              Output:["_col0","_col1","_col2","_col3","_col4"]
              TableScan [TS_0] (rows=4 width=120)
                default@table_change_lower_to_higher_numeric_group_bigint,table_change_lower_to_higher_numeric_group_bigint,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]

PREHOOK: query: select insert_num,c1,c2,c3,b from table_change_lower_to_higher_numeric_group_bigint order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_bigint
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,c3,b from table_change_lower_to_higher_numeric_group_bigint order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_bigint
#### A masked pattern was here ####
insert_num	c1	c2	c3	b
1	7203778961.000000000000000000	7.2037791E9	7.203778961E9	original
10	17.000000000000000000	90000.0	7.54072151E8	new
2	-2.000000000000000000	-2.0	-2.0	original
3	-5000.000000000000000000	-5000.0	-5000.0	original
4	52927714.000000000000000000	5.2927712E7	5.2927714E7	original
5	774.000000000000000000	2031.0	200.0	new
6	561431.000000000000000000	5.2927712E7	7.203778961E9	new
7	256.000000000000000000	32768.0	31889.0	new
8	5555.000000000000000000	40000.0	-7.19017797E8	new
9	100.000000000000000000	5000.0	5443.0	new
PREHOOK: query: drop table table_change_lower_to_higher_numeric_group_bigint
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_bigint
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: query: drop table table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_bigint
POSTHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_decimal(insert_num int, c1 decimal(38,18), c2 decimal(38,18), b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_decimal(insert_num int, c1 decimal(38,18), c2 decimal(38,18), b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_decimal
    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@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_decimal
    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@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.b SIMPLE [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.c1 EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.c2 EXPRESSION [(values__tmp__table__49)values__tmp__table__49.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.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,c1,c2,b from table_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,b from table_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal
#### A masked pattern was here ####
insert_num	c1	c2	b
1	-29.076400000000000000	-29.076400000000000000	original
2	753.702800000000000000	753.702800000000000000	original
3	-5000.000000000000000000	-5000.000000000000000000	original
4	52927714.000000000000000000	52927714.000000000000000000	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_decimal
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_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@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_decimal
    values (5, '7.74', '22.3', 'new'),
           (6, '56.1431', '90.9', 'new'),
           (7, '2.56', '25.6', 'new'),
           (8, '555.5', '55.55', 'new'),
           (9, '10.0', '0.100', 'new'),
           (10, '1.7', '17.8888', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__50
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_decimal
    values (5, '7.74', '22.3', 'new'),
           (6, '56.1431', '90.9', 'new'),
           (7, '2.56', '25.6', 'new'),
           (8, '555.5', '55.55', 'new'),
           (9, '10.0', '0.100', 'new'),
           (10, '1.7', '17.8888', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__50
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.b SIMPLE [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.c1 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.c2 EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_decimal.insert_num EXPRESSION [(values__tmp__table__50)values__tmp__table__50.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2	_col3
PREHOOK: query: explain
select insert_num,c1,c2,b from table_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,c2,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=320)
          Output:["_col0","_col1","_col2","_col3"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=320)
              Output:["_col0","_col1","_col2","_col3"]
              TableScan [TS_0] (rows=4 width=320)
                default@table_change_lower_to_higher_numeric_group_decimal,table_change_lower_to_higher_numeric_group_decimal,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","b"]

PREHOOK: query: select insert_num,c1,c2,b from table_change_lower_to_higher_numeric_group_decimal order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,c2,b from table_change_lower_to_higher_numeric_group_decimal order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal
#### A masked pattern was here ####
insert_num	c1	c2	b
1	-29.0764	-29.0764	original
10	1.7	17.8888	new
2	753.7028	753.7028	original
3	-5000.0	-5000.0	original
4	5.2927712E7	5.2927714E7	original
5	7.74	22.3	new
6	56.1431	90.9	new
7	2.56	25.6	new
8	555.5	55.55	new
9	10.0	0.1	new
PREHOOK: query: drop table table_change_lower_to_higher_numeric_group_decimal
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: query: drop table table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_decimal
POSTHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_float(insert_num int, c1 float, b STRING)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@table_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 table_change_lower_to_higher_numeric_group_float(insert_num int, c1 float, b STRING)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_float
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_float
    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@table_change_lower_to_higher_numeric_group_float
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_float
    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@table_change_lower_to_higher_numeric_group_float
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_float.b SIMPLE [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_float.c1 EXPRESSION [(values__tmp__table__51)values__tmp__table__51.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_float.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,c1,b from table_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
POSTHOOK: query: select insert_num,c1,b from table_change_lower_to_higher_numeric_group_float order by insert_num
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num	c1	b
1	-29.0764	original
2	753.7028	original
3	-5000.0	original
4	5.2927712E7	original
PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_change_lower_to_higher_numeric_group_float replace columns (insert_num int, c1 DOUBLE, b STRING)
PREHOOK: type: ALTERTABLE_REPLACECOLS
PREHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_float
POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
alter table table_change_lower_to_higher_numeric_group_float replace columns (insert_num int, c1 DOUBLE, b STRING)
POSTHOOK: type: ALTERTABLE_REPLACECOLS
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_float
PREHOOK: query: insert into table table_change_lower_to_higher_numeric_group_float
    values (5, '774', 'new'),
           (6, '561431', 'new'),
           (7, '256', 'new'),
           (8, '5555', 'new'),
           (9, '100', 'new'),
           (10, '17', 'new')
PREHOOK: type: QUERY
PREHOOK: Input: default@values__tmp__table__52
PREHOOK: Output: default@table_change_lower_to_higher_numeric_group_float
POSTHOOK: query: insert into table table_change_lower_to_higher_numeric_group_float
    values (5, '774', 'new'),
           (6, '561431', 'new'),
           (7, '256', 'new'),
           (8, '5555', 'new'),
           (9, '100', 'new'),
           (10, '17', 'new')
POSTHOOK: type: QUERY
POSTHOOK: Input: default@values__tmp__table__52
POSTHOOK: Output: default@table_change_lower_to_higher_numeric_group_float
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_float.b SIMPLE [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_float.c1 EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
POSTHOOK: Lineage: table_change_lower_to_higher_numeric_group_float.insert_num EXPRESSION [(values__tmp__table__52)values__tmp__table__52.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
_col0	_col1	_col2
PREHOOK: query: explain
select insert_num,c1,b from table_change_lower_to_higher_numeric_group_float order by insert_num
PREHOOK: type: QUERY
POSTHOOK: query: explain
select insert_num,c1,b from table_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 llap
      File Output Operator [FS_4]
        Select Operator [SEL_3] (rows=4 width=100)
          Output:["_col0","_col1","_col2"]
        <-Map 1 [SIMPLE_EDGE] llap
          SHUFFLE [RS_2]
            Select Operator [SEL_1] (rows=4 width=100)
              Output:["_col0","_col1","_col2"]
              TableScan [TS_0] (rows=4 width=100)
                default@table_change_lower_to_higher_numeric_group_float,table_change_lower_to_higher_numeric_group_float,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","b"]

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