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

[34/50] [abbrv] hive git commit: HIVE-12878: Support Vectorization for TEXTFILE and other formats (Matt McCline, reviewed by Sergey Shelukhin)

http://git-wip-us.apache.org/repos/asf/hive/blob/d5285d8e/ql/src/test/results/clientpositive/schema_evol_text_nonvec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_text_nonvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_text_nonvec_mapwork_part.q.out
index 44f5822..2c1caa3 100644
--- a/ql/src/test/results/clientpositive/schema_evol_text_nonvec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_text_nonvec_mapwork_part.q.out
@@ -1,642 +1,4451 @@
 PREHOOK: query: -- SORT_QUERY_RESULTS
 --
--- FILE VARIATION: TEXT, Non-Vectorized, MapWork, Partitioned
+-- FILE VARIATION: TEXTFILE, Non-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 TEXTFILE
+--
+-- 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: TEXT, Non-Vectorized, MapWork, Partitioned
+-- FILE VARIATION: TEXTFILE, Non-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 TEXTFILE
+-- 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.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+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.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+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
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: part_add_int_permute_select
+            Statistics: Num rows: 10 Data size: 111 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: insert_num (type: int), part (type: int), a (type: int), b (type: string)
+              outputColumnNames: _col0, _col1, _col2, _col3
+              Statistics: Num rows: 10 Data size: 111 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: int)
+                sort order: +
+                Statistics: Num rows: 10 Data size: 111 Basic stats: COMPLETE Column stats: NONE
+                value expressions: _col1 (type: int), _col2 (type: int), _col3 (type: string)
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: int), VALUE._col2 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3
+          Statistics: Num rows: 10 Data size: 111 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 10 Data size: 111 Basic stats: COMPLETE Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
 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	NULL
-1	6	new	NULL
-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	NULL	NULL
-1	6	new	NULL	NULL
-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	NULL	NULL
-1	6	NULL	NULL
-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	NULL
+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	NULL
+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	NULL
-1	6	NULL
-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	NULL
-1	NULL
-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	NULL
-1	NULL
-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	NULL
+2	1	NULL
+3	1	NULL
+4	1	NULL
+5	2	10
+6	2	20
+7	2	30
+8	2	40
+9	1	NULL
+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 TEXTFILE
+--
+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 TEXTFILE
+--
+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.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+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.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+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	NULL	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
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: part_add_int_string_permute_select
+            Statistics: Num rows: 10 Data size: 155 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: insert_num (type: int), part (type: int), a (type: int), b (type: string)
+              outputColumnNames: _col0, _col1, _col2, _col3
+              Statistics: Num rows: 10 Data size: 155 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: int)
+                sort order: +
+                Statistics: Num rows: 10 Data size: 155 Basic stats: COMPLETE Column stats: NONE
+                value expressions: _col1 (type: int), _col2 (type: int), _col3 (type: string)
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: int), VALUE._col2 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3
+          Statistics: Num rows: 10 Data size: 155 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 10 Data size: 155 Basic stats: COMPLETE Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+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	NULL
+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	NULL
+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	NULL	NULL
+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	NULL	NULL
+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	NULL	NULL
+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	NULL	NULL
+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	NULL
+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	NULL
+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	NULL
+2	1	NULL
+3	1	NULL
+4	1	NULL
+5	2	10
+6	2	20
+7	2	30
+8	2	40
+9	1	NULL
+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	NULL
+2	1	NULL
+3	1	NULL
+4	1	NULL
+5	2	ten
+6	2	twenty
+7	2	thirty
+8	2	forty
+9	1	NULL
+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 TEXTFILE
+--
+-- 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 TEXTFILE
+--
+-- 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
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: part_change_string_group_double
+            Statistics: Num rows: 10 Data size: 550 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: insert_num (type: int), part (type: int), c1 (type: double), c2 (type: double), c3 (type: double), b (type: string)
+              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+              Statistics: Num rows: 10 Data size: 550 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: int)
+                sort order: +
+                Statistics: Num rows: 10 Data size: 550 Basic stats: COMPLETE Column stats: NONE
+                value expressions: _col1 (type: int), _col2 (type: double), _col3 (type: double), _col4 (type: double), _col5 (type: string)
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: double), VALUE._col2 (type: double), VALUE._col3 (type: double), VALUE._col4 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+          Statistics: Num rows: 10 Data size: 550 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 10 Data size: 550 Basic stats: COMPLETE Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+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	NULL
-1	6	new	NULL
-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	NULL	NULL
-1	6	new	NULL	NULL
-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	NULL	NULL
-1	6	NULL	NULL
-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	NULL
-1	6	NULL
-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	NULL
-1	NULL
-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	NULL
-1	NULL
-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
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: part_change_date_group_string_group_timestamp
+            Statistics: Num rows: 9 Data size: 1326 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: insert_num (type: int), part (type: int), c1 (type: string), c2 (type: char(50)), c3 (type: char(15)), c4 (type: varchar(50)), c5 (type: varchar(15)), b (type: string)
+              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
+              Statistics: Num rows: 9 Data size: 1326 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: int)
+                sort order: +
+                Statistics: Num rows: 9 Data size: 1326 Basic stats: COMPLETE Column stats: NONE
+                value expressions: _col1 (type: int), _col2 (type: string), _col3 (type: char(50)), _col4 (type: char(15)), _col5 (type: varchar(50)), _col6 (type: varchar(15)), _col7 (type: string)
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: string), VALUE._col2 (type: char(50)), VALUE._col3 (type: char(15)), VALUE._col4 (type: varchar(50)), VALUE._col5 (type: varchar(15)), VALUE._col6 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
+          Statistics: Num rows: 9 Data size: 1326 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 9 Data size: 1326 Basic stats: COMPLETE Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+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                     	NULL	6229-06-28 02:54:28.970117179	NULL	new
+9	1	5966-07-09 03:30:50.597	5966-07-09 03:30:50.597                           	NULL	5966-07-09 03:30:50.597	NULL	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 TEXTFILE
+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 TEXTFILE
+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	NULL	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 P

<TRUNCATED>