You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2016/05/03 11:37:23 UTC

[04/41] hive git commit: HIVE-13178: Enhance ORC Schema Evolution to handle more standard data type conversions (Matt McCline, reviewed by Prasanth Jayachandran)

http://git-wip-us.apache.org/repos/asf/hive/blob/a16058e1/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
index 9f1fda8..15c86b9 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
@@ -2,641 +2,3994 @@ PREHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, Vectorized, MapWork, Partitioned
 --
+------------------------------------------------------------------------------------------
+-- SECTION: ALTER TABLE ADD COLUMNS
 --
--- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
----
-CREATE TABLE partitioned1(a INT, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+--
+-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
+--
+--
+CREATE TABLE part_add_int_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
-PREHOOK: Output: default@partitioned1
+PREHOOK: Output: default@part_add_int_permute_select
 POSTHOOK: query: -- SORT_QUERY_RESULTS
 --
 -- FILE VARIATION: ORC, Vectorized, MapWork, Partitioned
 --
+------------------------------------------------------------------------------------------
+-- SECTION: ALTER TABLE ADD COLUMNS
+--
 --
--- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT
----
-CREATE TABLE partitioned1(a INT, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+-- SUBSECTION: ALTER TABLE ADD COLUMNS: INT PERMUTE SELECT
+--
+--
+CREATE TABLE part_add_int_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
-POSTHOOK: Output: default@partitioned1
-PREHOOK: query: insert into table partitioned1 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original')
+POSTHOOK: Output: default@part_add_int_permute_select
+PREHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@part_add_int_permute_select
+POSTHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@part_add_int_permute_select
+col_name	data_type	comment
+# col_name            	data_type           	comment             
+	 	 
+insert_num          	int                 	                    
+a                   	int                 	                    
+b                   	string              	                    
+	 	 
+# Partition Information	 	 
+# col_name            	data_type           	comment             
+	 	 
+part                	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: insert into table part_add_int_permute_select partition(part=1)
+    values (1, 1, 'original'),
+           (2, 2, 'original'),
+           (3, 3, 'original'),
+           (4, 4, 'original')
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__1
-PREHOOK: Output: default@partitioned1@part=1
-POSTHOOK: query: insert into table partitioned1 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original')
+PREHOOK: Output: default@part_add_int_permute_select@part=1
+POSTHOOK: query: insert into table part_add_int_permute_select partition(part=1)
+    values (1, 1, 'original'),
+           (2, 2, 'original'),
+           (3, 3, 'original'),
+           (4, 4, 'original')
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__1
-POSTHOOK: Output: default@partitioned1@part=1
-POSTHOOK: Lineage: partitioned1 PARTITION(part=1).a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned1 PARTITION(part=1).b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-_col0	_col1
+POSTHOOK: Output: default@part_add_int_permute_select@part=1
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2
 PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
-alter table partitioned1 add columns(c int, d string)
+alter table part_add_int_permute_select add columns(c int)
 PREHOOK: type: ALTERTABLE_ADDCOLS
-PREHOOK: Input: default@partitioned1
-PREHOOK: Output: default@partitioned1
+PREHOOK: Input: default@part_add_int_permute_select
+PREHOOK: Output: default@part_add_int_permute_select
 POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
-alter table partitioned1 add columns(c int, d string)
+alter table part_add_int_permute_select add columns(c int)
 POSTHOOK: type: ALTERTABLE_ADDCOLS
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Output: default@partitioned1
-PREHOOK: query: insert into table partitioned1 partition(part=2) values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty')
+POSTHOOK: Input: default@part_add_int_permute_select
+POSTHOOK: Output: default@part_add_int_permute_select
+PREHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@part_add_int_permute_select
+POSTHOOK: query: DESCRIBE FORMATTED part_add_int_permute_select
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@part_add_int_permute_select
+col_name	data_type	comment
+# col_name            	data_type           	comment             
+	 	 
+insert_num          	int                 	                    
+a                   	int                 	                    
+b                   	string              	                    
+c                   	int                 	                    
+	 	 
+# Partition Information	 	 
+# col_name            	data_type           	comment             
+	 	 
+part                	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: insert into table part_add_int_permute_select partition(part=2)
+    values (5, 1, 'new', 10),
+           (6, 2, 'new', 20),
+           (7, 3, 'new', 30),
+           (8, 4, 'new', 40)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__2
-PREHOOK: Output: default@partitioned1@part=2
-POSTHOOK: query: insert into table partitioned1 partition(part=2) values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty')
+PREHOOK: Output: default@part_add_int_permute_select@part=2
+POSTHOOK: query: insert into table part_add_int_permute_select partition(part=2)
+    values (5, 1, 'new', 10),
+           (6, 2, 'new', 20),
+           (7, 3, 'new', 30),
+           (8, 4, 'new', 40)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__2
-POSTHOOK: Output: default@partitioned1@part=2
-POSTHOOK: Lineage: partitioned1 PARTITION(part=2).a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned1 PARTITION(part=2).b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned1 PARTITION(part=2).c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned1 PARTITION(part=2).d SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Output: default@part_add_int_permute_select@part=2
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
 _col0	_col1	_col2	_col3
-PREHOOK: query: insert into table partitioned1 partition(part=1) values(5, 'new', 100, 'hundred'),(6, 'new', 200, 'two hundred')
+PREHOOK: query: insert into table part_add_int_permute_select partition(part=1)
+    values (9, 5, 'new', 100),
+           (10, 6, 'new', 200)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__3
-PREHOOK: Output: default@partitioned1@part=1
-POSTHOOK: query: insert into table partitioned1 partition(part=1) values(5, 'new', 100, 'hundred'),(6, 'new', 200, 'two hundred')
+PREHOOK: Output: default@part_add_int_permute_select@part=1
+POSTHOOK: query: insert into table part_add_int_permute_select partition(part=1)
+    values (9, 5, 'new', 100),
+           (10, 6, 'new', 200)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__3
-POSTHOOK: Output: default@partitioned1@part=1
-POSTHOOK: Lineage: partitioned1 PARTITION(part=1).a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned1 PARTITION(part=1).b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned1 PARTITION(part=1).c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned1 PARTITION(part=1).d SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Output: default@part_add_int_permute_select@part=1
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
 _col0	_col1	_col2	_col3
+PREHOOK: query: explain
+select insert_num,part,a,b from part_add_int_permute_select order by insert_num
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select insert_num,part,a,b from part_add_int_permute_select order by insert_num
+POSTHOOK: type: QUERY
+Explain
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 vectorized
+      File Output Operator [FS_8]
+        Select Operator [SEL_7] (rows=10 width=99)
+          Output:["_col0","_col1","_col2","_col3"]
+        <-Map 1 [SIMPLE_EDGE] vectorized
+          SHUFFLE [RS_6]
+            Select Operator [SEL_5] (rows=10 width=99)
+              Output:["_col0","_col1","_col2","_col3"]
+              TableScan [TS_0] (rows=10 width=99)
+                default@part_add_int_permute_select,part_add_int_permute_select,Tbl:COMPLETE,Col:NONE,Output:["insert_num","a","b"]
+
 PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
-select part,a,b from partitioned1
+select insert_num,part,a,b from part_add_int_permute_select order by insert_num
 PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
+PREHOOK: Input: default@part_add_int_permute_select
+PREHOOK: Input: default@part_add_int_permute_select@part=1
+PREHOOK: Input: default@part_add_int_permute_select@part=2
 #### A masked pattern was here ####
 POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
-select part,a,b from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	b
-1	1	original
-1	2	original
-1	3	original
-1	4	original
-1	5	new
-1	6	new
-2	1	new
-2	2	new
-2	3	new
-2	4	new
-PREHOOK: query: select part,a,b,c from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,b,c from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	b	c
-1	1	original	NULL
-1	2	original	NULL
-1	3	original	NULL
-1	4	original	NULL
-1	5	new	100
-1	6	new	200
-2	1	new	10
-2	2	new	20
-2	3	new	30
-2	4	new	40
-PREHOOK: query: select part,a,b,c,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,b,c,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	b	c	d
-1	1	original	NULL	NULL
-1	2	original	NULL	NULL
-1	3	original	NULL	NULL
-1	4	original	NULL	NULL
-1	5	new	100	hundred
-1	6	new	200	two hundred
-2	1	new	10	ten
-2	2	new	20	twenty
-2	3	new	30	thirty
-2	4	new	40	forty
-PREHOOK: query: select part,a,c,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,c,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	c	d
-1	1	NULL	NULL
-1	2	NULL	NULL
-1	3	NULL	NULL
-1	4	NULL	NULL
-1	5	100	hundred
-1	6	200	two hundred
-2	1	10	ten
-2	2	20	twenty
-2	3	30	thirty
-2	4	40	forty
-PREHOOK: query: select part,a,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	d
+select insert_num,part,a,b from part_add_int_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_permute_select
+POSTHOOK: Input: default@part_add_int_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	a	b
+1	1	1	original
+10	1	6	new
+2	1	2	original
+3	1	3	original
+4	1	4	original
+5	2	1	new
+6	2	2	new
+7	2	3	new
+8	2	4	new
+9	1	5	new
+PREHOOK: query: select insert_num,part,a,b,c from part_add_int_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_permute_select
+PREHOOK: Input: default@part_add_int_permute_select@part=1
+PREHOOK: Input: default@part_add_int_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,a,b,c from part_add_int_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_permute_select
+POSTHOOK: Input: default@part_add_int_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	a	b	c
+1	1	1	original	NULL
+10	1	6	new	200
+2	1	2	original	NULL
+3	1	3	original	NULL
+4	1	4	original	NULL
+5	2	1	new	10
+6	2	2	new	20
+7	2	3	new	30
+8	2	4	new	40
+9	1	5	new	100
+PREHOOK: query: select insert_num,part,c from part_add_int_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_permute_select
+PREHOOK: Input: default@part_add_int_permute_select@part=1
+PREHOOK: Input: default@part_add_int_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c from part_add_int_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_permute_select
+POSTHOOK: Input: default@part_add_int_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	c
 1	1	NULL
-1	2	NULL
-1	3	NULL
-1	4	NULL
-1	5	hundred
-1	6	two hundred
-2	1	ten
-2	2	twenty
-2	3	thirty
-2	4	forty
-PREHOOK: query: select part,c from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,c from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	c
-1	100
-1	200
-1	NULL
-1	NULL
-1	NULL
-1	NULL
-2	10
-2	20
-2	30
-2	40
-PREHOOK: query: select part,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	d
-1	NULL
-1	NULL
-1	NULL
-1	NULL
-1	hundred
-1	two hundred
-2	forty
-2	ten
-2	thirty
-2	twenty
-PREHOOK: query: --
--- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... STATIC INSERT
--- smallint = (2-byte signed integer, from -32,768 to 32,767)
+10	1	200
+2	1	NULL
+3	1	NULL
+4	1	NULL
+5	2	10
+6	2	20
+7	2	30
+8	2	40
+9	1	100
+PREHOOK: query: drop table part_add_int_permute_select
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@part_add_int_permute_select
+PREHOOK: Output: default@part_add_int_permute_select
+POSTHOOK: query: drop table part_add_int_permute_select
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@part_add_int_permute_select
+POSTHOOK: Output: default@part_add_int_permute_select
+PREHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
 --
-CREATE TABLE partitioned2(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+--
+CREATE TABLE part_add_int_string_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
-PREHOOK: Output: default@partitioned2
-POSTHOOK: query: --
--- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... STATIC INSERT
--- smallint = (2-byte signed integer, from -32,768 to 32,767)
+PREHOOK: Output: default@part_add_int_string_permute_select
+POSTHOOK: query: -- SUBSECTION: ALTER TABLE ADD COLUMNS: INT, STRING, PERMUTE SELECT
 --
-CREATE TABLE partitioned2(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+--
+CREATE TABLE part_add_int_string_permute_select(insert_num int, a INT, b STRING) PARTITIONED BY(part INT)
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
-POSTHOOK: Output: default@partitioned2
-PREHOOK: query: insert into table partitioned2 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original')
+POSTHOOK: Output: default@part_add_int_string_permute_select
+PREHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@part_add_int_string_permute_select
+col_name	data_type	comment
+# col_name            	data_type           	comment             
+	 	 
+insert_num          	int                 	                    
+a                   	int                 	                    
+b                   	string              	                    
+	 	 
+# Partition Information	 	 
+# col_name            	data_type           	comment             
+	 	 
+part                	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
+    values (1, 1, 'original'),
+           (2, 2, 'original'),
+           (3, 3, 'original'),
+           (4, 4, 'original')
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__4
-PREHOOK: Output: default@partitioned2@part=1
-POSTHOOK: query: insert into table partitioned2 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original')
+PREHOOK: Output: default@part_add_int_string_permute_select@part=1
+POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
+    values (1, 1, 'original'),
+           (2, 2, 'original'),
+           (3, 3, 'original'),
+           (4, 4, 'original')
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__4
-POSTHOOK: Output: default@partitioned2@part=1
-POSTHOOK: Lineage: partitioned2 PARTITION(part=1).a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned2 PARTITION(part=1).b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-_col0	_col1
-PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
-alter table partitioned2 change column a a int
-PREHOOK: type: ALTERTABLE_RENAMECOL
-PREHOOK: Input: default@partitioned2
-PREHOOK: Output: default@partitioned2
-POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
-alter table partitioned2 change column a a int
-POSTHOOK: type: ALTERTABLE_RENAMECOL
-POSTHOOK: Input: default@partitioned2
-POSTHOOK: Output: default@partitioned2
-PREHOOK: query: insert into table partitioned2 partition(part=2) values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new')
+POSTHOOK: Output: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2
+PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
+alter table part_add_int_string_permute_select add columns(c int, d string)
+PREHOOK: type: ALTERTABLE_ADDCOLS
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Output: default@part_add_int_string_permute_select
+POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
+alter table part_add_int_string_permute_select add columns(c int, d string)
+POSTHOOK: type: ALTERTABLE_ADDCOLS
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Output: default@part_add_int_string_permute_select
+PREHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: query: DESCRIBE FORMATTED part_add_int_string_permute_select
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@part_add_int_string_permute_select
+col_name	data_type	comment
+# col_name            	data_type           	comment             
+	 	 
+insert_num          	int                 	                    
+a                   	int                 	                    
+b                   	string              	                    
+c                   	int                 	                    
+d                   	string              	                    
+	 	 
+# Partition Information	 	 
+# col_name            	data_type           	comment             
+	 	 
+part                	int                 	                    
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+#### A masked pattern was here ####
+Retention:          	0                   	 
+#### A masked pattern was here ####
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+#### A masked pattern was here ####
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.ql.io.orc.OrcSerde	 
+InputFormat:        	org.apache.hadoop.hive.ql.io.orc.OrcInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=2)
+    values (5, 1, 'new', 10, 'ten'),
+           (6, 2, 'new', 20, 'twenty'),
+           (7, 3, 'new', 30, 'thirty'),
+           (8, 4, 'new', 40, 'forty')
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__5
-PREHOOK: Output: default@partitioned2@part=2
-POSTHOOK: query: insert into table partitioned2 partition(part=2) values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new')
+PREHOOK: Output: default@part_add_int_string_permute_select@part=2
+POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=2)
+    values (5, 1, 'new', 10, 'ten'),
+           (6, 2, 'new', 20, 'twenty'),
+           (7, 3, 'new', 30, 'thirty'),
+           (8, 4, 'new', 40, 'forty')
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__5
-POSTHOOK: Output: default@partitioned2@part=2
-POSTHOOK: Lineage: partitioned2 PARTITION(part=2).a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned2 PARTITION(part=2).b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-_col0	_col1
-PREHOOK: query: insert into table partitioned2 partition(part=1) values(5000, 'new'),(90000, 'new')
+POSTHOOK: Output: default@part_add_int_string_permute_select@part=2
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).c EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).d SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4
+PREHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
+    values (9, 5, 'new', 100, 'hundred'),
+           (10, 6, 'new', 200, 'two hundred')
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__6
-PREHOOK: Output: default@partitioned2@part=1
-POSTHOOK: query: insert into table partitioned2 partition(part=1) values(5000, 'new'),(90000, 'new')
+PREHOOK: Output: default@part_add_int_string_permute_select@part=1
+POSTHOOK: query: insert into table part_add_int_string_permute_select partition(part=1)
+    values (9, 5, 'new', 100, 'hundred'),
+           (10, 6, 'new', 200, 'two hundred')
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__6
-POSTHOOK: Output: default@partitioned2@part=1
-POSTHOOK: Lineage: partitioned2 PARTITION(part=1).a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned2 PARTITION(part=1).b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-_col0	_col1
-PREHOOK: query: select part,a,b from partitioned2
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned2
-PREHOOK: Input: default@partitioned2@part=1
-PREHOOK: Input: default@partitioned2@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,b from partitioned2
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned2
-POSTHOOK: Input: default@partitioned2@part=1
-POSTHOOK: Input: default@partitioned2@part=2
-#### A masked pattern was here ####
-part	a	b
-1	1000	original
-1	3	original
-1	4	original
-1	5000	new
-1	6737	original
-1	90000	new
-2	200	new
-2	32768	new
-2	40000	new
-2	72909	new
-PREHOOK: query: --
+POSTHOOK: Output: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).c EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).d SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_add_int_string_permute_select PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4
+PREHOOK: query: explain
+select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+Explain
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 vectorized
+      File Output Operator [FS_8]
+        Select Operator [SEL_7] (rows=10 width=153)
+          Output:["_col0","_col1","_col2","_col3"]
+        <-Map 1 [SIMPLE_EDGE] vectorized
+          SHUFFLE [RS_6]
+            Select Operator [SEL_5] (rows=10 width=153)
+              Output:["_col0","_col1","_col2","_col3"]
+              TableScan [TS_0] (rows=10 width=153)
+                default@part_add_int_string_permute_select,part_add_int_string_permute_select,Tbl:COMPLETE,Col:NONE,Output:["insert_num","a","b"]
+
+PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
+select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Input: default@part_add_int_string_permute_select@part=1
+PREHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
+select insert_num,part,a,b from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	a	b
+1	1	1	original
+10	1	6	new
+2	1	2	original
+3	1	3	original
+4	1	4	original
+5	2	1	new
+6	2	2	new
+7	2	3	new
+8	2	4	new
+9	1	5	new
+PREHOOK: query: select insert_num,part,a,b,c from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Input: default@part_add_int_string_permute_select@part=1
+PREHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,a,b,c from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	a	b	c
+1	1	1	original	NULL
+10	1	6	new	200
+2	1	2	original	NULL
+3	1	3	original	NULL
+4	1	4	original	NULL
+5	2	1	new	10
+6	2	2	new	20
+7	2	3	new	30
+8	2	4	new	40
+9	1	5	new	100
+PREHOOK: query: select insert_num,part,a,b,c,d from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Input: default@part_add_int_string_permute_select@part=1
+PREHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,a,b,c,d from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	a	b	c	d
+1	1	1	original	NULL	NULL
+10	1	6	new	200	two hundred
+2	1	2	original	NULL	NULL
+3	1	3	original	NULL	NULL
+4	1	4	original	NULL	NULL
+5	2	1	new	10	ten
+6	2	2	new	20	twenty
+7	2	3	new	30	thirty
+8	2	4	new	40	forty
+9	1	5	new	100	hundred
+PREHOOK: query: select insert_num,part,a,c,d from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Input: default@part_add_int_string_permute_select@part=1
+PREHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,a,c,d from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	a	c	d
+1	1	1	NULL	NULL
+10	1	6	200	two hundred
+2	1	2	NULL	NULL
+3	1	3	NULL	NULL
+4	1	4	NULL	NULL
+5	2	1	10	ten
+6	2	2	20	twenty
+7	2	3	30	thirty
+8	2	4	40	forty
+9	1	5	100	hundred
+PREHOOK: query: select insert_num,part,a,d from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Input: default@part_add_int_string_permute_select@part=1
+PREHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,a,d from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	a	d
+1	1	1	NULL
+10	1	6	two hundred
+2	1	2	NULL
+3	1	3	NULL
+4	1	4	NULL
+5	2	1	ten
+6	2	2	twenty
+7	2	3	thirty
+8	2	4	forty
+9	1	5	hundred
+PREHOOK: query: select insert_num,part,c from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Input: default@part_add_int_string_permute_select@part=1
+PREHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	c
+1	1	NULL
+10	1	200
+2	1	NULL
+3	1	NULL
+4	1	NULL
+5	2	10
+6	2	20
+7	2	30
+8	2	40
+9	1	100
+PREHOOK: query: select insert_num,part,d from part_add_int_string_permute_select order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Input: default@part_add_int_string_permute_select@part=1
+PREHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,d from part_add_int_string_permute_select order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=1
+POSTHOOK: Input: default@part_add_int_string_permute_select@part=2
+#### A masked pattern was here ####
+insert_num	part	d
+1	1	NULL
+10	1	two hundred
+2	1	NULL
+3	1	NULL
+4	1	NULL
+5	2	ten
+6	2	twenty
+7	2	thirty
+8	2	forty
+9	1	hundred
+PREHOOK: query: drop table part_add_int_string_permute_select
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@part_add_int_string_permute_select
+PREHOOK: Output: default@part_add_int_string_permute_select
+POSTHOOK: query: drop table part_add_int_string_permute_select
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@part_add_int_string_permute_select
+POSTHOOK: Output: default@part_add_int_string_permute_select
+PREHOOK: query: ------------------------------------------------------------------------------------------
+-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE
+--
 --
--- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... DYNAMIC INSERT
----
-CREATE TABLE partitioned3(a INT, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+--
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE: (STRING, CHAR, VARCHAR)
+--
+CREATE TABLE part_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
-PREHOOK: Output: default@partitioned3
-POSTHOOK: query: --
+PREHOOK: Output: default@part_change_string_group_double
+POSTHOOK: query: ------------------------------------------------------------------------------------------
+-- SECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE
+--
 --
--- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... DYNAMIC INSERT
----
-CREATE TABLE partitioned3(a INT, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+--
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for STRING_GROUP -> DOUBLE: (STRING, CHAR, VARCHAR)
+--
+CREATE TABLE part_change_string_group_double(insert_num int, c1 STRING, c2 CHAR(50), c3 VARCHAR(50), b STRING) PARTITIONED BY(part INT)
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
-POSTHOOK: Output: default@partitioned3
-PREHOOK: query: insert into table partitioned3 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original')
+POSTHOOK: Output: default@part_change_string_group_double
+PREHOOK: query: insert into table part_change_string_group_double partition(part=1)
+    values (1, '753.7028', '753.7028', '753.7028', 'original'),
+           (2, '-3651.672121', '-3651.672121', '-3651.672121', 'original'),
+           (3, '-29.0764', '-29.0764', '-29.0764', 'original'),
+           (4, '-10.3', '-10.3', '-10.3', 'original')
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__7
-PREHOOK: Output: default@partitioned3@part=1
-POSTHOOK: query: insert into table partitioned3 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original')
+PREHOOK: Output: default@part_change_string_group_double@part=1
+POSTHOOK: query: insert into table part_change_string_group_double partition(part=1)
+    values (1, '753.7028', '753.7028', '753.7028', 'original'),
+           (2, '-3651.672121', '-3651.672121', '-3651.672121', 'original'),
+           (3, '-29.0764', '-29.0764', '-29.0764', 'original'),
+           (4, '-10.3', '-10.3', '-10.3', 'original')
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__7
-POSTHOOK: Output: default@partitioned3@part=1
-POSTHOOK: Lineage: partitioned3 PARTITION(part=1).a EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=1).b SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-_col0	_col1
-PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
-alter table partitioned3 add columns(c int, d string)
-PREHOOK: type: ALTERTABLE_ADDCOLS
-PREHOOK: Input: default@partitioned3
-PREHOOK: Output: default@partitioned3
-POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ...
-alter table partitioned3 add columns(c int, d string)
-POSTHOOK: type: ALTERTABLE_ADDCOLS
-POSTHOOK: Input: default@partitioned3
-POSTHOOK: Output: default@partitioned3
-PREHOOK: query: insert into table partitioned3 partition(part) values(1, 'new', 10, 'ten', 2),(2, 'new', 20, 'twenty', 2), (3, 'new', 30, 'thirty', 2),(4, 'new', 40, 'forty', 2),
-    (5, 'new', 100, 'hundred', 1),(6, 'new', 200, 'two hundred', 1)
+POSTHOOK: Output: default@part_change_string_group_double@part=1
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).b SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c1 SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4
+PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@part_change_string_group_double
+PREHOOK: Output: default@part_change_string_group_double
+POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_string_group_double replace columns (insert_num int, c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@part_change_string_group_double
+POSTHOOK: Output: default@part_change_string_group_double
+PREHOOK: query: insert into table part_change_string_group_double partition(part=2)
+    values (5, 30.774, 30.774, 30.774, 'new'),
+           (6, 20.31, 20.31, 20.31, 'new'),
+           (7, 46114.284799488, 46114.284799488, 46114.284799488, 'new'),
+           (8, -66475.561431, -66475.561431, -66475.561431, 'new')
 PREHOOK: type: QUERY
 PREHOOK: Input: default@values__tmp__table__8
-PREHOOK: Output: default@partitioned3
-POSTHOOK: query: insert into table partitioned3 partition(part) values(1, 'new', 10, 'ten', 2),(2, 'new', 20, 'twenty', 2), (3, 'new', 30, 'thirty', 2),(4, 'new', 40, 'forty', 2),
-    (5, 'new', 100, 'hundred', 1),(6, 'new', 200, 'two hundred', 1)
+PREHOOK: Output: default@part_change_string_group_double@part=2
+POSTHOOK: query: insert into table part_change_string_group_double partition(part=2)
+    values (5, 30.774, 30.774, 30.774, 'new'),
+           (6, 20.31, 20.31, 20.31, 'new'),
+           (7, 46114.284799488, 46114.284799488, 46114.284799488, 'new'),
+           (8, -66475.561431, -66475.561431, -66475.561431, 'new')
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@values__tmp__table__8
-POSTHOOK: Output: default@partitioned3@part=1
-POSTHOOK: Output: default@partitioned3@part=2
-POSTHOOK: Lineage: partitioned3 PARTITION(part=1).a EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=1).b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=1).c EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=1).d SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=2).a EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=2).b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=2).c EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned3 PARTITION(part=2).d SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Output: default@part_change_string_group_double@part=2
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c1 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
 _col0	_col1	_col2	_col3	_col4
-PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
-select part,a,b from partitioned1
+PREHOOK: query: insert into table part_change_string_group_double partition(part=1)
+    values (9, 17808.963785, 17808.963785, 17808.963785, 'new'),
+           (10, 9250340.75 , 9250340.75 , 9250340.75 , 'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__9
+PREHOOK: Output: default@part_change_string_group_double@part=1
+POSTHOOK: query: insert into table part_change_string_group_double partition(part=1)
+    values (9, 17808.963785, 17808.963785, 17808.963785, 'new'),
+           (10, 9250340.75 , 9250340.75 , 9250340.75 , 'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__9
+POSTHOOK: Output: default@part_change_string_group_double@part=1
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).b SIMPLE [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_string_group_double PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4
+PREHOOK: query: explain
+select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
+POSTHOOK: type: QUERY
+Explain
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 vectorized
+      File Output Operator [FS_8]
+        Select Operator [SEL_7] (rows=10 width=234)
+          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+        <-Map 1 [SIMPLE_EDGE] vectorized
+          SHUFFLE [RS_6]
+            Select Operator [SEL_5] (rows=10 width=234)
+              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+              TableScan [TS_0] (rows=10 width=234)
+                default@part_change_string_group_double,part_change_string_group_double,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","b"]
+
+PREHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
 PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
+PREHOOK: Input: default@part_change_string_group_double
+PREHOOK: Input: default@part_change_string_group_double@part=1
+PREHOOK: Input: default@part_change_string_group_double@part=2
 #### A masked pattern was here ####
-POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right
-select part,a,b from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	b
-1	1	original
-1	2	original
-1	3	original
-1	4	original
-1	5	new
-1	6	new
-2	1	new
-2	2	new
-2	3	new
-2	4	new
-PREHOOK: query: select part,a,b,c from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,b,c from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	b	c
-1	1	original	NULL
-1	2	original	NULL
-1	3	original	NULL
-1	4	original	NULL
-1	5	new	100
-1	6	new	200
-2	1	new	10
-2	2	new	20
-2	3	new	30
-2	4	new	40
-PREHOOK: query: select part,a,b,c,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,b,c,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	b	c	d
-1	1	original	NULL	NULL
-1	2	original	NULL	NULL
-1	3	original	NULL	NULL
-1	4	original	NULL	NULL
-1	5	new	100	hundred
-1	6	new	200	two hundred
-2	1	new	10	ten
-2	2	new	20	twenty
-2	3	new	30	thirty
-2	4	new	40	forty
-PREHOOK: query: select part,a,c,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,c,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	c	d
-1	1	NULL	NULL
-1	2	NULL	NULL
-1	3	NULL	NULL
-1	4	NULL	NULL
-1	5	100	hundred
-1	6	200	two hundred
-2	1	10	ten
-2	2	20	twenty
-2	3	30	thirty
-2	4	40	forty
-PREHOOK: query: select part,a,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	a	d
-1	1	NULL
-1	2	NULL
-1	3	NULL
-1	4	NULL
-1	5	hundred
-1	6	two hundred
-2	1	ten
-2	2	twenty
-2	3	thirty
-2	4	forty
-PREHOOK: query: select part,c from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,c from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	c
-1	100
-1	200
-1	NULL
-1	NULL
-1	NULL
-1	NULL
-2	10
-2	20
-2	30
-2	40
-PREHOOK: query: select part,d from partitioned1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned1
-PREHOOK: Input: default@partitioned1@part=1
-PREHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,d from partitioned1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned1
-POSTHOOK: Input: default@partitioned1@part=1
-POSTHOOK: Input: default@partitioned1@part=2
-#### A masked pattern was here ####
-part	d
-1	NULL
-1	NULL
-1	NULL
-1	NULL
-1	hundred
-1	two hundred
-2	forty
-2	ten
-2	thirty
-2	twenty
+POSTHOOK: query: select insert_num,part,c1,c2,c3,b from part_change_string_group_double order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_change_string_group_double
+POSTHOOK: Input: default@part_change_string_group_double@part=1
+POSTHOOK: Input: default@part_change_string_group_double@part=2
+#### A masked pattern was here ####
+insert_num	part	c1	c2	c3	b
+1	1	753.7028	753.7028	753.7028	original
+10	1	9250340.75	9250340.75	9250340.75	new
+2	1	-3651.672121	-3651.672121	-3651.672121	original
+3	1	-29.0764	-29.0764	-29.0764	original
+4	1	-10.3	-10.3	-10.3	original
+5	2	30.774	30.774	30.774	new
+6	2	20.31	20.31	20.31	new
+7	2	46114.284799488	46114.284799488	46114.284799488	new
+8	2	-66475.561431	-66475.561431	-66475.561431	new
+9	1	17808.963785	17808.963785	17808.963785	new
+PREHOOK: query: drop table part_change_string_group_double
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@part_change_string_group_double
+PREHOOK: Output: default@part_change_string_group_double
+POSTHOOK: query: drop table part_change_string_group_double
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@part_change_string_group_double
+POSTHOOK: Output: default@part_change_string_group_double
+PREHOOK: query: ------------------------------------------------------------------------------------------
+-- SECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP
+--
+--
+--
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: TIMESTAMP, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
+--
+CREATE TABLE part_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING) PARTITIONED BY(part INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part_change_date_group_string_group_timestamp
+POSTHOOK: query: ------------------------------------------------------------------------------------------
+-- SECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP
+--
+--
+--
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: TIMESTAMP, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
+--
+CREATE TABLE part_change_date_group_string_group_timestamp(insert_num int, c1 TIMESTAMP, c2 TIMESTAMP, c3 TIMESTAMP, c4 TIMESTAMP, c5 TIMESTAMP, b STRING) PARTITIONED BY(part INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
+PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
+    values (1, '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', 'original'),
+           (2, '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', 'original'),
+           (3, '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', 'original')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__10
+PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
+POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
+    values (1, '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', '2000-12-18 08:42:30.000595596', 'original'),
+           (2, '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', '2024-11-11 16:42:41.101', 'original'),
+           (3, '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', '2021-09-24 03:18:32.413655165', 'original')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__10
+POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4	_col5	_col6
+PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_date_group_string_group_timestamp replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@part_change_date_group_string_group_timestamp
+PREHOOK: Output: default@part_change_date_group_string_group_timestamp
+POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_date_group_string_group_timestamp replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
+POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
+PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=2)
+    values (4, '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', 'new'),
+           (5, '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', 'new'),
+           (6, '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', 'new'),
+           (7, '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', 'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__11
+PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=2
+POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=2)
+    values (4, '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', '0004-09-22 18:26:29.519542222', 'new'),
+           (5, '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', '1815-05-06 00:12:37.543584705', 'new'),
+           (6, '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', '2007-02-09 05:17:29.368756876', 'new'),
+           (7, '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', '2002-05-10 05:29:48.990818073', 'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__11
+POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=2
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).b SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c1 SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4	_col5	_col6
+PREHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
+    values (8, '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', 'new'),
+           (9, '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', 'new')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__12
+PREHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
+POSTHOOK: query: insert into table part_change_date_group_string_group_timestamp partition(part=1)
+    values (8, '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', '6229-06-28 02:54:28.970117179', 'new'),
+           (9, '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', '5966-07-09 03:30:50.597', 'new')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__12
+POSTHOOK: Output: default@part_change_date_group_string_group_timestamp@part=1
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).b SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c1 SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_timestamp PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4	_col5	_col6
+PREHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
+POSTHOOK: type: QUERY
+Explain
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 vectorized
+      File Output Operator [FS_8]
+        Select Operator [SEL_7] (rows=9 width=530)
+          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+        <-Map 1 [SIMPLE_EDGE] vectorized
+          SHUFFLE [RS_6]
+            Select Operator [SEL_5] (rows=9 width=530)
+              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+              TableScan [TS_0] (rows=9 width=530)
+                default@part_change_date_group_string_group_timestamp,part_change_date_group_string_group_timestamp,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]
+
+PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_change_date_group_string_group_timestamp
+PREHOOK: Input: default@part_change_date_group_string_group_timestamp@part=1
+PREHOOK: Input: default@part_change_date_group_string_group_timestamp@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_timestamp order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
+POSTHOOK: Input: default@part_change_date_group_string_group_timestamp@part=1
+POSTHOOK: Input: default@part_change_date_group_string_group_timestamp@part=2
+#### A masked pattern was here ####
+insert_num	part	c1	c2	c3	c4	c5	b
+1	1	2000-12-18 08:42:30.000595596	2000-12-18 08:42:30.000595596                     	2000-12-18 08:4	2000-12-18 08:42:30.000595596	2000-12-18 08:4	original
+2	1	2024-11-11 16:42:41.101	2024-11-11 16:42:41.101                           	2024-11-11 16:4	2024-11-11 16:42:41.101	2024-11-11 16:4	original
+3	1	2021-09-24 03:18:32.413655165	2021-09-24 03:18:32.413655165                     	2021-09-24 03:1	2021-09-24 03:18:32.413655165	2021-09-24 03:1	original
+4	2	0004-09-22 18:26:29.519542222	0004-09-22 18:26:29.519542222                     	0004-09-22 18:2	0004-09-22 18:26:29.519542222	0004-09-22 18:2	new
+5	2	1815-05-06 00:12:37.543584705	1815-05-06 00:12:37.543584705                     	1815-05-06 00:1	1815-05-06 00:12:37.543584705	1815-05-06 00:1	new
+6	2	2007-02-09 05:17:29.368756876	2007-02-09 05:17:29.368756876                     	2007-02-09 05:1	2007-02-09 05:17:29.368756876	2007-02-09 05:1	new
+7	2	2002-05-10 05:29:48.990818073	2002-05-10 05:29:48.990818073                     	2002-05-10 05:2	2002-05-10 05:29:48.990818073	2002-05-10 05:2	new
+8	1	6229-06-28 02:54:28.970117179	6229-06-28 02:54:28.970117179                     	6229-06-28 02:5	6229-06-28 02:54:28.970117179	6229-06-28 02:5	new
+9	1	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597                           	5966-07-09 03:3	5966-07-09 03:30:50.597	5966-07-09 03:3	new
+PREHOOK: query: drop table part_change_date_group_string_group_timestamp
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@part_change_date_group_string_group_timestamp
+PREHOOK: Output: default@part_change_date_group_string_group_timestamp
+POSTHOOK: query: drop table part_change_date_group_string_group_timestamp
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@part_change_date_group_string_group_timestamp
+POSTHOOK: Output: default@part_change_date_group_string_group_timestamp
 PREHOOK: query: --
--- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... DYNAMIC INSERT
--- smallint = (2-byte signed integer, from -32,768 to 32,767)
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: DATE, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
 --
-CREATE TABLE partitioned4(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+CREATE TABLE part_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING) PARTITIONED BY(part INT)
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
-PREHOOK: Output: default@partitioned4
+PREHOOK: Output: default@part_change_date_group_string_group_date
 POSTHOOK: query: --
--- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... DYNAMIC INSERT
--- smallint = (2-byte signed integer, from -32,768 to 32,767)
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for DATE_GROUP -> STRING_GROUP: DATE, (STRING, CHAR, CHAR trunc, VARCHAR, VARCHAR trunc)
 --
-CREATE TABLE partitioned4(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS ORC
+CREATE TABLE part_change_date_group_string_group_date(insert_num int, c1 DATE, c2 DATE, c3 DATE, c4 DATE, c5 DATE, b STRING) PARTITIONED BY(part INT)
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: database:default
-POSTHOOK: Output: default@partitioned4
-PREHOOK: query: insert into table partitioned4 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original')
+POSTHOOK: Output: default@part_change_date_group_string_group_date
+PREHOOK: query: insert into table part_change_date_group_string_group_date partition(part=1)
+    values (1, '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', 'original'),
+           (2, '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', 'original'),
+           (3, '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', 'original')
 PREHOOK: type: QUERY
-PREHOOK: Input: default@values__tmp__table__9
-PREHOOK: Output: default@partitioned4@part=1
-POSTHOOK: query: insert into table partitioned4 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original')
+PREHOOK: Input: default@values__tmp__table__13
+PREHOOK: Output: default@part_change_date_group_string_group_date@part=1
+POSTHOOK: query: insert into table part_change_date_group_string_group_date partition(part=1)
+    values (1, '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', '2000-12-18', 'original'),
+           (2, '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', '2024-11-11', 'original'),
+           (3, '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', '2021-09-24', 'original')
 POSTHOOK: type: QUERY
-POSTHOOK: Input: default@values__tmp__table__9
-POSTHOOK: Output: default@partitioned4@part=1
-POSTHOOK: Lineage: partitioned4 PARTITION(part=1).a EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned4 PARTITION(part=1).b SIMPLE [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-_col0	_col1
+POSTHOOK: Input: default@values__tmp__table__13
+POSTHOOK: Output: default@part_change_date_group_string_group_date@part=1
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).b SIMPLE [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c1 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c2 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c3 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c4 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).c5 EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=1).insert_num EXPRESSION [(values__tmp__table__13)values__tmp__table__13.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4	_col5	_col6
 PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
-alter table partitioned4 change column a a int
-PREHOOK: type: ALTERTABLE_RENAMECOL
-PREHOOK: Input: default@partitioned4
-PREHOOK: Output: default@partitioned4
+alter table part_change_date_group_string_group_date replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@part_change_date_group_string_group_date
+PREHOOK: Output: default@part_change_date_group_string_group_date
 POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
-alter table partitioned4 change column a a int
-POSTHOOK: type: ALTERTABLE_RENAMECOL
-POSTHOOK: Input: default@partitioned4
-POSTHOOK: Output: default@partitioned4
-PREHOOK: query: insert into table partitioned4 partition(part) values(72909, 'new', 2),(200, 'new', 2), (32768, 'new', 2),(40000, 'new', 2),
-    (5000, 'new', 1),(90000, 'new', 1)
+alter table part_change_date_group_string_group_date replace columns(insert_num int, c1 STRING, c2 CHAR(50), c3 CHAR(15), c4 VARCHAR(50), c5 VARCHAR(15), b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@part_change_date_group_string_group_date
+POSTHOOK: Output: default@part_change_date_group_string_group_date
+PREHOOK: query: insert into table part_change_date_group_string_group_date partition(part=2)
+    values (4, '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', 'new'),
+           (5, '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', 'new'),
+           (6, '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', 'new'),
+           (7, '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', 'new'),
+           (8, '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', 'new'),
+           (9, '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', 'new')
 PREHOOK: type: QUERY
-PREHOOK: Input: default@values__tmp__table__10
-PREHOOK: Output: default@partitioned4
-POSTHOOK: query: insert into table partitioned4 partition(part) values(72909, 'new', 2),(200, 'new', 2), (32768, 'new', 2),(40000, 'new', 2),
-    (5000, 'new', 1),(90000, 'new', 1)
+PREHOOK: Input: default@values__tmp__table__14
+PREHOOK: Output: default@part_change_date_group_string_group_date@part=2
+POSTHOOK: query: insert into table part_change_date_group_string_group_date partition(part=2)
+    values (4, '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', '0004-09-22', 'new'),
+           (5, '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', '1815-05-06', 'new'),
+           (6, '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', '2007-02-09', 'new'),
+           (7, '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', '2002-05-10', 'new'),
+           (8, '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', '6229-06-28', 'new'),
+           (9, '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', '5966-07-09', 'new')
 POSTHOOK: type: QUERY
-POSTHOOK: Input: default@values__tmp__table__10
-POSTHOOK: Output: default@partitioned4@part=1
-POSTHOOK: Output: default@partitioned4@part=2
-POSTHOOK: Lineage: partitioned4 PARTITION(part=1).a EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned4 PARTITION(part=1).b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned4 PARTITION(part=2).a EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
-POSTHOOK: Lineage: partitioned4 PARTITION(part=2).b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
-_col0	_col1	_col2
-PREHOOK: query: select part,a,b from partitioned4
-PREHOOK: type: QUERY
-PREHOOK: Input: default@partitioned4
-PREHOOK: Input: default@partitioned4@part=1
-PREHOOK: Input: default@partitioned4@part=2
-#### A masked pattern was here ####
-POSTHOOK: query: select part,a,b from partitioned4
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@partitioned4
-POSTHOOK: Input: default@partitioned4@part=1
-POSTHOOK: Input: default@partitioned4@part=2
-#### A masked pattern was here ####
-part	a	b
-1	1000	original
-1	3	original
-1	4	original
-1	5000	new
-1	6737	original
-1	90000	new
-2	200	new
-2	32768	new
-2	40000	new
-2	72909	new
-PREHOOK: query: DROP TABLE partitioned1
+POSTHOOK: Input: default@values__tmp__table__14
+POSTHOOK: Output: default@part_change_date_group_string_group_date@part=2
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).b SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c1 SIMPLE [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c2 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c3 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c4 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).c5 EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
+POSTHOOK: Lineage: part_change_date_group_string_group_date PARTITION(part=2).insert_num EXPRESSION [(values__tmp__table__14)values__tmp__table__14.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+_col0	_col1	_col2	_col3	_col4	_col5	_col6
+PREHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
+POSTHOOK: type: QUERY
+Explain
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 vectorized
+      File Output Operator [FS_8]
+        Select Operator [SEL_7] (rows=9 width=529)
+          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+        <-Map 1 [SIMPLE_EDGE] vectorized
+          SHUFFLE [RS_6]
+            Select Operator [SEL_5] (rows=9 width=529)
+              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+              TableScan [TS_0] (rows=9 width=529)
+                default@part_change_date_group_string_group_date,part_change_date_group_string_group_date,Tbl:COMPLETE,Col:NONE,Output:["insert_num","c1","c2","c3","c4","c5","b"]
+
+PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_change_date_group_string_group_date
+PREHOOK: Input: default@part_change_date_group_string_group_date@part=1
+PREHOOK: Input: default@part_change_date_group_string_group_date@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,b from part_change_date_group_string_group_date order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_change_date_group_string_group_date
+POSTHOOK: Input: default@part_change_date_group_string_group_date@part=1
+POSTHOOK: Input: default@part_change_date_group_string_group_date@part=2
+#### A masked pattern was here ####
+insert_num	part	c1	c2	c3	c4	c5	b
+1	1	2000-12-18	2000-12-18                                        	2000-12-18     	2000-12-18	2000-12-18	original
+2	1	2024-11-11	2024-11-11                                        	2024-11-11     	2024-11-11	2024-11-11	original
+3	1	2021-09-24	2021-09-24                                        	2021-09-24     	2021-09-24	2021-09-24	original
+4	2	0004-09-22	0004-09-22                                        	0004-09-22     	0004-09-22	0004-09-22	new
+5	2	1815-05-06	1815-05-06                                        	1815-05-06     	1815-05-06	1815-05-06	new
+6	2	2007-02-09	2007-02-09                                        	2007-02-09     	2007-02-09	2007-02-09	new
+7	2	2002-05-10	2002-05-10                                        	2002-05-10     	2002-05-10	2002-05-10	new
+8	2	6229-06-28	6229-06-28                                        	6229-06-28     	6229-06-28	6229-06-28	new
+9	2	5966-07-09	5966-07-09                                        	5966-07-09     	5966-07-09	5966-07-09	new
+PREHOOK: query: drop table part_change_date_group_string_group_date
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@part_change_date_group_string_group_date
+PREHOOK: Output: default@part_change_date_group_string_group_date
+POSTHOOK: query: drop table part_change_date_group_string_group_date
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@part_change_date_group_string_group_date
+POSTHOOK: Output: default@part_change_date_group_string_group_date
+PREHOOK: query: ------------------------------------------------------------------------------------------
+-- SECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP
+--
+--
+--
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for NUMERIC_GROUP -> STRING_GROUP: (TINYINT, SMALLINT, INT, BIGINT), STRING
+--
+

<TRUNCATED>