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/07/28 18:53:28 UTC

[04/25] hive git commit: HIVE-13648: ORC Schema Evolution doesn't support same type conversion for VARCHAR, CHAR, or DECIMAL when maxLength or precision/scale is different (Matt McCline, reviewed by Prasanth Jayachandran)

HIVE-13648: ORC Schema Evolution doesn't support same type conversion for VARCHAR, CHAR, or DECIMAL when maxLength or precision/scale is different (Matt McCline, reviewed by Prasanth Jayachandran)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/440fb78c
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/440fb78c
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/440fb78c

Branch: refs/heads/branch-2.1
Commit: 440fb78c4f32b8079bbc99aa36a0543778c58bc4
Parents: 0df731d
Author: Matt McCline <mm...@hortonworks.com>
Authored: Thu Jun 16 18:41:01 2016 -0700
Committer: Matt McCline <mm...@hortonworks.com>
Committed: Thu Jul 28 11:42:43 2016 -0700

----------------------------------------------------------------------
 data/files/same_type1_a.txt                     |   5 +
 data/files/same_type1_b.txt                     |   4 +
 data/files/same_type1_c.txt                     |   4 +
 .../orc/impl/ConvertTreeReaderFactory.java      |  79 ++++-
 .../org/apache/orc/impl/SchemaEvolution.java    |   6 +-
 .../org/apache/orc/impl/TreeReaderFactory.java  |   2 +-
 ...evol_orc_nonvec_mapwork_part_all_primitive.q |  45 +++
 ...ma_evol_orc_vec_mapwork_part_all_primitive.q |  45 +++
 ...vol_text_nonvec_mapwork_part_all_primitive.q |  48 ++-
 ...a_evol_text_vec_mapwork_part_all_primitive.q |  48 ++-
 ...vol_text_vecrow_mapwork_part_all_primitive.q |  48 ++-
 ..._orc_nonvec_mapwork_part_all_primitive.q.out | 271 +++++++++++++++
 ...vol_orc_vec_mapwork_part_all_primitive.q.out | 272 +++++++++++++++
 ...text_nonvec_mapwork_part_all_primitive.q.out | 343 ++++++++++++-------
 ...ol_text_vec_mapwork_part_all_primitive.q.out | 343 ++++++++++++-------
 ...text_vecrow_mapwork_part_all_primitive.q.out | 343 ++++++++++++-------
 ..._orc_nonvec_mapwork_part_all_primitive.q.out | 252 ++++++++++++++
 ...vol_orc_vec_mapwork_part_all_primitive.q.out | 252 ++++++++++++++
 ...text_nonvec_mapwork_part_all_primitive.q.out | 333 ++++++++++++------
 ...ol_text_vec_mapwork_part_all_primitive.q.out | 333 ++++++++++++------
 ...text_vecrow_mapwork_part_all_primitive.q.out | 333 ++++++++++++------
 21 files changed, 2641 insertions(+), 768 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/data/files/same_type1_a.txt
----------------------------------------------------------------------
diff --git a/data/files/same_type1_a.txt b/data/files/same_type1_a.txt
new file mode 100644
index 0000000..85758d7
--- /dev/null
+++ b/data/files/same_type1_a.txt
@@ -0,0 +1,5 @@
+1|excess|corporation believable|gateway |thumb repeat continuous|76855494.39|116074482533.2156|original
+2|mutation|hideout authentic    |blankness sonic disfigured     |hover knowing aged  |42093605|3182652.40668|original
+3|hibernation|country detox coyotes|ball pulse candle|direct|1413570.3|8.3095808155|original
+4|aquarium|encounter existent amuse  |fuse light headlock|bumper admission honorary|5475414.65|25937.675256300369991|original
+5|123456789012|1234567890123456789012345|1234567890123456789012345|1234567890|12345678.1234|1234567890.0987654321|original

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/data/files/same_type1_b.txt
----------------------------------------------------------------------
diff --git a/data/files/same_type1_b.txt b/data/files/same_type1_b.txt
new file mode 100644
index 0000000..7565ec4
--- /dev/null
+++ b/data/files/same_type1_b.txt
@@ -0,0 +1,4 @@
+6|hollow       |innocent crabs blushing|ambition ebony ambition|liquor ageless parasite fictional|279629518169.52368|3841833197.31413709|new
+7|wig feeling|social fork drum|search bump|conclusion perception|8.30958|8052953537267.278|new
+8|bubble first|drain loyal station|racket|antique business|0.6933|22.8326132787413|new
+9|12345678|12345678901234567890123456789012|123456789012345|123456789012345678|1234567890.12|1234567890.543210987654321|new

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/data/files/same_type1_c.txt
----------------------------------------------------------------------
diff --git a/data/files/same_type1_c.txt b/data/files/same_type1_c.txt
new file mode 100644
index 0000000..aac79e7
--- /dev/null
+++ b/data/files/same_type1_c.txt
@@ -0,0 +1,4 @@
+10|dreamland cough|raster  devastation      |association boarder fallout|lubricant century|5830.9867195262469749|06439940618207.90208806095117224262|new
+11|tiger        |however center|propeller agonizing|shocking misshapen detachable painless|6946533.80265655352968056575|31608910.03|new
+12|  bulging    |extensive  ambivalent|rastled|billion zeroes|943084.3|3090297719.71712034932827109|new
+13|12345678|12345678901234567890123456789012|123456789012345|123456789012345678|1234567890.12|1234567890.543210987654321|new

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
----------------------------------------------------------------------
diff --git a/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java b/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
index 3ba56f7..5b830c3 100644
--- a/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
+++ b/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
@@ -259,7 +259,7 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
           bytesColVector.vector[elementNum],
           bytesColVector.start[elementNum], bytesColVector.length[elementNum],
           StandardCharsets.UTF_8);
- 
+
       return string;
     }
 
@@ -1316,6 +1316,61 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
     }
   }
 
+  public static class DecimalFromDecimalTreeReader extends ConvertTreeReader {
+
+    private DecimalTreeReader decimalTreeReader;
+
+    private final TypeDescription fileType;
+    private final TypeDescription readerType;
+    private DecimalColumnVector fileDecimalColVector;
+    private int filePrecision;
+    private int fileScale;
+    private int readerPrecision;
+    private int readerScale;
+    private DecimalColumnVector decimalColVector;
+
+    DecimalFromDecimalTreeReader(int columnId, TypeDescription fileType, TypeDescription readerType)
+        throws IOException {
+      super(columnId);
+      this.fileType = fileType;
+      filePrecision = fileType.getPrecision();
+      fileScale = fileType.getScale();
+      this.readerType = readerType;
+      readerPrecision = readerType.getPrecision();
+      readerScale = readerType.getScale();
+      decimalTreeReader = new DecimalTreeReader(columnId, filePrecision, fileScale);
+      setConvertTreeReader(decimalTreeReader);
+    }
+
+    @Override
+    public void setConvertVectorElement(int elementNum) throws IOException {
+
+      HiveDecimalWritable valueWritable = HiveDecimalWritable.enforcePrecisionScale(
+          fileDecimalColVector.vector[elementNum], readerPrecision, readerScale);
+      if (valueWritable != null) {
+        decimalColVector.set(elementNum, valueWritable);
+      } else {
+        decimalColVector.noNulls = false;
+        decimalColVector.isNull[elementNum] = true;
+      }
+    }
+
+    @Override
+    public void nextVector(ColumnVector previousVector,
+                           boolean[] isNull,
+                           final int batchSize) throws IOException {
+      if (fileDecimalColVector == null) {
+        // Allocate column vector for file; cast column vector for reader.
+        fileDecimalColVector = new DecimalColumnVector(filePrecision, fileScale);
+        decimalColVector = (DecimalColumnVector) previousVector;
+      }
+      // Read present/isNull stream
+      decimalTreeReader.nextVector(fileDecimalColVector, isNull, batchSize);
+
+      convertVector(fileDecimalColVector, decimalColVector, batchSize);
+    }
+  }
+
   public static class StringGroupFromAnyIntegerTreeReader extends ConvertTreeReader {
 
     private AnyIntegerTreeReader anyIntegerAsLongTreeReader;
@@ -2219,7 +2274,7 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
       return new TimestampFromDecimalTreeReader(columnId, fileType, skipCorrupt);
 
     case DECIMAL:
-      // UNDONE: Decimal to Decimal conversion????
+      return new DecimalFromDecimalTreeReader(columnId, fileType, readerType);
 
     // Not currently supported conversion(s):
     case BINARY:
@@ -2325,8 +2380,7 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
       return new StringGroupFromStringGroupTreeReader(columnId, fileType, readerType);
 
     case CHAR:
-      throw new IllegalArgumentException("No conversion of type " +
-          readerType.getCategory() + " to self needed");
+      return new StringGroupFromStringGroupTreeReader(columnId, fileType, readerType);
 
     case BINARY:
       return new BinaryFromStringGroupTreeReader(columnId, fileType);
@@ -2382,8 +2436,7 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
       return new StringGroupFromStringGroupTreeReader(columnId, fileType, readerType);
 
     case VARCHAR:
-      throw new IllegalArgumentException("No conversion of type " +
-          readerType.getCategory() + " to self needed");
+      return new StringGroupFromStringGroupTreeReader(columnId, fileType, readerType);
 
     case BINARY:
       return new BinaryFromStringGroupTreeReader(columnId, fileType);
@@ -2599,11 +2652,11 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
    *   StringGroupFromFloatTreeReader (written)
    *   StringGroupFromDoubleTreeReader (written)
    *   StringGroupFromDecimalTreeReader (written)
-   *  
+   *
    *   String from Char/Varchar conversion
    *   Char from String/Varchar conversion
    *   Varchar from String/Char conversion
-   *  
+   *
    *   StringGroupFromTimestampTreeReader (written)
    *   StringGroupFromDateTreeReader (written)
    *   StringGroupFromBinaryTreeReader *****
@@ -2621,7 +2674,7 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
    *   TimestampFromDecimalTreeeReader (written)
    *   TimestampFromStringGroupTreeReader (written)
    *   TimestampFromDateTreeReader
-   * 
+   *
    *
    * To DATE:
    *   Convert from (STRING, CHAR, VARCHAR) using string conversion.
@@ -2751,7 +2804,7 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
       // Fall through.
     }
 
-    // Now look for the few cases we don't convert from 
+    // Now look for the few cases we don't convert from
     switch (fileType.getCategory()) {
 
     case BOOLEAN:
@@ -2770,8 +2823,8 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
       default:
         return true;
       }
-   
-    
+
+
     case STRING:
     case CHAR:
     case VARCHAR:
@@ -2807,7 +2860,7 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
       default:
         return true;
       }
-    
+
     case BINARY:
       switch (readerType.getCategory()) {
       // Not currently supported conversion(s):

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/orc/src/java/org/apache/orc/impl/SchemaEvolution.java
----------------------------------------------------------------------
diff --git a/orc/src/java/org/apache/orc/impl/SchemaEvolution.java b/orc/src/java/org/apache/orc/impl/SchemaEvolution.java
index 2c80aaa..a6c1d60 100644
--- a/orc/src/java/org/apache/orc/impl/SchemaEvolution.java
+++ b/orc/src/java/org/apache/orc/impl/SchemaEvolution.java
@@ -100,12 +100,10 @@ public class SchemaEvolution {
           break;
         case CHAR:
         case VARCHAR:
-          // HIVE-13648: Look at ORC data type conversion edge cases (CHAR, VARCHAR, DECIMAL)
-          isOk = fileType.getMaxLength() == readerType.getMaxLength();
+          // We do conversion when same CHAR/VARCHAR type but different maxLength.
           break;
         case DECIMAL:
-          // HIVE-13648: Look at ORC data type conversion edge cases (CHAR, VARCHAR, DECIMAL)
-          // TODO we don't enforce scale and precision checks, but probably should
+          // We do conversion when same DECIMAL type but different precision/scale.
           break;
         case UNION:
         case MAP:

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/orc/src/java/org/apache/orc/impl/TreeReaderFactory.java
----------------------------------------------------------------------
diff --git a/orc/src/java/org/apache/orc/impl/TreeReaderFactory.java b/orc/src/java/org/apache/orc/impl/TreeReaderFactory.java
index 6c8ecfd..5901c8c 100644
--- a/orc/src/java/org/apache/orc/impl/TreeReaderFactory.java
+++ b/orc/src/java/org/apache/orc/impl/TreeReaderFactory.java
@@ -2034,7 +2034,7 @@ public class TreeReaderFactory {
       return new NullTreeReader(0);
     }
     TypeDescription.Category readerTypeCategory = readerType.getCategory();
-    if (!fileType.getCategory().equals(readerTypeCategory) &&
+    if (!fileType.equals(readerType) &&
         (readerTypeCategory != TypeDescription.Category.STRUCT &&
          readerTypeCategory != TypeDescription.Category.MAP &&
          readerTypeCategory != TypeDescription.Category.LIST &&

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q
index 2d49d7b..f8aebc8 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q
@@ -479,3 +479,48 @@ select insert_num,part,c1,c2,c3,c4,b from part_change_various_various_date order
 select insert_num,part,c1,c2,c3,c4,b from part_change_various_various_date order by insert_num;
 
 drop table part_change_various_various_date;
+
+
+--
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
+--
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT);
+
+CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt;
+
+select * from same_type1_a_txt;
+
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt;
+
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
+
+-- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING);
+
+CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt;
+
+select * from same_type1_b_txt;
+
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt;
+
+CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt;
+
+select * from same_type1_c_txt;
+
+insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt;
+
+explain
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
+
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
+
+drop table part_change_same_type_different_params;

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q b/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q
index c7f2f57..aef6744 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q
@@ -479,3 +479,48 @@ select insert_num,part,c1,c2,c3,c4,b from part_change_various_various_date order
 select insert_num,part,c1,c2,c3,c4,b from part_change_various_various_date order by insert_num;
 
 drop table part_change_various_various_date;
+
+
+--
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
+--
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT);
+
+CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt;
+
+select * from same_type1_a_txt;
+
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt;
+
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
+
+-- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING);
+
+CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt;
+
+select * from same_type1_b_txt;
+
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt;
+
+CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt;
+
+select * from same_type1_c_txt;
+
+insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt;
+
+explain
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
+
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
+
+drop table part_change_same_type_different_params;

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part_all_primitive.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part_all_primitive.q b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part_all_primitive.q
index 7ea38ea..975a0dd 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part_all_primitive.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_nonvec_mapwork_part_all_primitive.q
@@ -481,32 +481,46 @@ select insert_num,part,c1,c2,c3,c4,b from part_change_various_various_date order
 drop table part_change_various_various_date;
 
 
-
 --
--- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Various --> Various: (STRING, CHAR, VARCHAR) --> BINARY
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
 --
-CREATE TABLE part_change_various_various_binary(insert_num int, c1 STRING, c2 CHAR(25), c3 VARCHAR(25), b STRING) PARTITIONED BY(part INT);
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT);
+
+CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt;
 
-insert into table part_change_various_various_binary partition(part=1)
-    values(1, 'binary', 'binary',  'binary', 'original'),
-          (2, 'binary', 'binary',  'binary', 'original'),
-          (3, 'binary', 'binary',  'binary', 'original'),
-          (4, 'binary', 'binary',  'binary', 'original');
+select * from same_type1_a_txt;
 
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt;
+
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
 -- Table-Non-Cascade CHANGE COLUMNS ...
-alter table part_change_various_various_binary replace columns (insert_num int, c1 BINARY, c2 BINARY, c3 BINARY, b STRING);
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING);
+
+CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt;
+
+select * from same_type1_b_txt;
+
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt;
+
+CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt;
 
-insert into table part_change_various_various_binary partition(part=2)
-    values (5, 'binary', 'binary', 'binary', 'new');
+select * from same_type1_c_txt;
 
-insert into table part_change_various_various_binary partition(part=1)
-    values (6,-'binary', 'binary', 'binary', 'new');
+insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt;
 
 explain
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
-drop table part_change_various_various_binary;
+drop table part_change_same_type_different_params;

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/ql/src/test/queries/clientpositive/schema_evol_text_vec_mapwork_part_all_primitive.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_vec_mapwork_part_all_primitive.q b/ql/src/test/queries/clientpositive/schema_evol_text_vec_mapwork_part_all_primitive.q
index fd0b634..9f1cfe6 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_vec_mapwork_part_all_primitive.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_vec_mapwork_part_all_primitive.q
@@ -483,32 +483,46 @@ select insert_num,part,c1,c2,c3,c4,b from part_change_various_various_date order
 drop table part_change_various_various_date;
 
 
-
 --
--- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Various --> Various: (STRING, CHAR, VARCHAR) --> BINARY
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
 --
-CREATE TABLE part_change_various_various_binary(insert_num int, c1 STRING, c2 CHAR(25), c3 VARCHAR(25), b STRING) PARTITIONED BY(part INT);
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT);
+
+CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt;
 
-insert into table part_change_various_various_binary partition(part=1)
-    values(1, 'binary', 'binary',  'binary', 'original'),
-          (2, 'binary', 'binary',  'binary', 'original'),
-          (3, 'binary', 'binary',  'binary', 'original'),
-          (4, 'binary', 'binary',  'binary', 'original');
+select * from same_type1_a_txt;
 
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt;
+
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
 -- Table-Non-Cascade CHANGE COLUMNS ...
-alter table part_change_various_various_binary replace columns (insert_num int, c1 BINARY, c2 BINARY, c3 BINARY, b STRING);
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING);
+
+CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt;
+
+select * from same_type1_b_txt;
+
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt;
+
+CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt;
 
-insert into table part_change_various_various_binary partition(part=2)
-    values (5, 'binary', 'binary', 'binary', 'new');
+select * from same_type1_c_txt;
 
-insert into table part_change_various_various_binary partition(part=1)
-    values (6,-'binary', 'binary', 'binary', 'new');
+insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt;
 
 explain
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
-drop table part_change_various_various_binary;
+drop table part_change_same_type_different_params;

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/ql/src/test/queries/clientpositive/schema_evol_text_vecrow_mapwork_part_all_primitive.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_text_vecrow_mapwork_part_all_primitive.q b/ql/src/test/queries/clientpositive/schema_evol_text_vecrow_mapwork_part_all_primitive.q
index 09e544a..00b68ad 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_text_vecrow_mapwork_part_all_primitive.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_text_vecrow_mapwork_part_all_primitive.q
@@ -483,32 +483,46 @@ select insert_num,part,c1,c2,c3,c4,b from part_change_various_various_date order
 drop table part_change_various_various_date;
 
 
-
 --
--- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Various --> Various: (STRING, CHAR, VARCHAR) --> BINARY
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
 --
-CREATE TABLE part_change_various_various_binary(insert_num int, c1 STRING, c2 CHAR(25), c3 VARCHAR(25), b STRING) PARTITIONED BY(part INT);
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT);
+
+CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt;
 
-insert into table part_change_various_various_binary partition(part=1)
-    values(1, 'binary', 'binary',  'binary', 'original'),
-          (2, 'binary', 'binary',  'binary', 'original'),
-          (3, 'binary', 'binary',  'binary', 'original'),
-          (4, 'binary', 'binary',  'binary', 'original');
+select * from same_type1_a_txt;
 
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt;
+
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
 -- Table-Non-Cascade CHANGE COLUMNS ...
-alter table part_change_various_various_binary replace columns (insert_num int, c1 BINARY, c2 BINARY, c3 BINARY, b STRING);
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING);
+
+CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt;
+
+select * from same_type1_b_txt;
+
+insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt;
+
+CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile;
+load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt;
 
-insert into table part_change_various_various_binary partition(part=2)
-    values (5, 'binary', 'binary', 'binary', 'new');
+select * from same_type1_c_txt;
 
-insert into table part_change_various_various_binary partition(part=1)
-    values (6,-'binary', 'binary', 'binary', 'new');
+insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt;
 
 explain
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
-select insert_num,part,c1,c2,c3,b from part_change_various_various_binary order by insert_num;
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num;
 
-drop table part_change_various_various_binary;
+drop table part_change_same_type_different_params;

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q.out
index b0874ad..0ac57b3 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part_all_primitive.q.out
@@ -2870,3 +2870,274 @@ POSTHOOK: query: drop table part_change_various_various_date
 POSTHOOK: type: DROPTABLE
 POSTHOOK: Input: default@part_change_various_various_date
 POSTHOOK: Output: default@part_change_various_various_date
+PREHOOK: query: --
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
+--
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part_change_same_type_different_params
+POSTHOOK: query: --
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
+--
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part_change_same_type_different_params
+PREHOOK: query: CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@same_type1_a_txt
+POSTHOOK: query: CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@same_type1_a_txt
+PREHOOK: query: load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@same_type1_a_txt
+POSTHOOK: query: load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@same_type1_a_txt
+PREHOOK: query: select * from same_type1_a_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_a_txt
+#### A masked pattern was here ####
+POSTHOOK: query: select * from same_type1_a_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_a_txt
+#### A masked pattern was here ####
+same_type1_a_txt.insert_num	same_type1_a_txt.c1	same_type1_a_txt.c2	same_type1_a_txt.c3	same_type1_a_txt.c4	same_type1_a_txt.c5	same_type1_a_txt.c6	same_type1_a_txt.b
+1	excess      	corporation believable   	gateway 	thumb repe	76855494.3900	NULL	original
+2	mutation    	hideout authentic        	blankness sonic disfigure	hover know	42093605.0000	3182652.4066800000	original
+3	hibernation 	country detox coyotes    	ball pulse candle	direct	1413570.3000	8.3095808155	original
+4	aquarium    	encounter existent amuse 	fuse light headlock	bumper adm	5475414.6500	25937.6752563004	original
+5	123456789012	1234567890123456789012345	1234567890123456789012345	1234567890	12345678.1234	1234567890.0987654321	original
+PREHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_a_txt
+PREHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_a_txt
+POSTHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).b SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c1 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c1, type:char(12), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c2 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c2, type:char(25), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c3 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c3, type:varchar(25), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c4 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c4, type:varchar(10), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c5 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c5, type:decimal(12,4), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c6 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c6, type:decimal(20,10), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).insert_num SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+same_type1_a_txt.insert_num	same_type1_a_txt.c1	same_type1_a_txt.c2	same_type1_a_txt.c3	same_type1_a_txt.c4	same_type1_a_txt.c5	same_type1_a_txt.c6	same_type1_a_txt.b
+PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Input: default@part_change_same_type_different_params@part=1
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Input: default@part_change_same_type_different_params@part=1
+#### A masked pattern was here ####
+insert_num	part	c1	c2	c3	c4	c5	c6	b
+1	1	excess      	corporation believable   	gateway 	thumb repe	76855494.3900	NULL	original
+2	1	mutation    	hideout authentic        	blankness sonic disfigure	hover know	42093605.0000	3182652.4066800000	original
+3	1	hibernation 	country detox coyotes    	ball pulse candle	direct	1413570.3000	8.3095808155	original
+4	1	aquarium    	encounter existent amuse 	fuse light headlock	bumper adm	5475414.6500	25937.6752563004	original
+5	1	123456789012	1234567890123456789012345	1234567890123456789012345	1234567890	12345678.1234	1234567890.0987654321	original
+PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Output: default@part_change_same_type_different_params
+POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Output: default@part_change_same_type_different_params
+PREHOOK: query: CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@same_type1_b_txt
+POSTHOOK: query: CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@same_type1_b_txt
+PREHOOK: query: load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@same_type1_b_txt
+POSTHOOK: query: load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@same_type1_b_txt
+PREHOOK: query: select * from same_type1_b_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_b_txt
+#### A masked pattern was here ####
+POSTHOOK: query: select * from same_type1_b_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_b_txt
+#### A masked pattern was here ####
+same_type1_b_txt.insert_num	same_type1_b_txt.c1	same_type1_b_txt.c2	same_type1_b_txt.c3	same_type1_b_txt.c4	same_type1_b_txt.c5	same_type1_b_txt.c6	same_type1_b_txt.b
+6	hollow  	innocent crabs blushing         	ambition ebony 	liquor ageless par	NULL	3841833197.314137090000000	new
+7	wig feel	social fork drum                	search bump	conclusion percept	8.31	NULL	new
+8	bubble f	drain loyal station             	racket	antique business	0.69	22.832613278741300	new
+9	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+PREHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_b_txt
+PREHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_b_txt
+POSTHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).b SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c1 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c1, type:char(8), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c2 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c2, type:char(32), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c3 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c3, type:varchar(15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c4 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c4, type:varchar(18), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c5 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c5, type:decimal(10,2), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c6 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c6, type:decimal(25,15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).insert_num SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+same_type1_b_txt.insert_num	same_type1_b_txt.c1	same_type1_b_txt.c2	same_type1_b_txt.c3	same_type1_b_txt.c4	same_type1_b_txt.c5	same_type1_b_txt.c6	same_type1_b_txt.b
+PREHOOK: query: CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@same_type1_c_txt
+POSTHOOK: query: CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@same_type1_c_txt
+PREHOOK: query: load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@same_type1_c_txt
+POSTHOOK: query: load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@same_type1_c_txt
+PREHOOK: query: select * from same_type1_c_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_c_txt
+#### A masked pattern was here ####
+POSTHOOK: query: select * from same_type1_c_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_c_txt
+#### A masked pattern was here ####
+same_type1_c_txt.insert_num	same_type1_c_txt.c1	same_type1_c_txt.c2	same_type1_c_txt.c3	same_type1_c_txt.c4	same_type1_c_txt.c5	same_type1_c_txt.c6	same_type1_c_txt.b
+10	dreamlan	raster  devastation             	association boa	lubricant century	5830.99	NULL	new
+11	tiger   	however center                  	propeller agoni	shocking misshapen	6946533.80	31608910.030000000000000	new
+12	  bulgin	extensive  ambivalent           	rastled	billion zeroes	943084.30	3090297719.717120349328271	new
+13	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+PREHOOK: query: insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_c_txt
+PREHOOK: Output: default@part_change_same_type_different_params@part=2
+POSTHOOK: query: insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_c_txt
+POSTHOOK: Output: default@part_change_same_type_different_params@part=2
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).b SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c1 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c1, type:char(8), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c2 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c2, type:char(32), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c3 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c3, type:varchar(15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c4 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c4, type:varchar(18), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c5 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c5, type:decimal(10,2), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c6 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c6, type:decimal(25,15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).insert_num SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+same_type1_c_txt.insert_num	same_type1_c_txt.c1	same_type1_c_txt.c2	same_type1_c_txt.c3	same_type1_c_txt.c4	same_type1_c_txt.c5	same_type1_c_txt.c6	same_type1_c_txt.b
+PREHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params 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_same_type_different_params
+            Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: insert_num (type: int), part (type: int), c1 (type: char(8)), c2 (type: char(32)), c3 (type: varchar(15)), c4 (type: varchar(18)), c5 (type: decimal(10,2)), c6 (type: decimal(25,15)), b (type: string)
+              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+              Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: int)
+                sort order: +
+                Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+                value expressions: _col1 (type: int), _col2 (type: char(8)), _col3 (type: char(32)), _col4 (type: varchar(15)), _col5 (type: varchar(18)), _col6 (type: decimal(10,2)), _col7 (type: decimal(25,15)), _col8 (type: string)
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: char(8)), VALUE._col2 (type: char(32)), VALUE._col3 (type: varchar(15)), VALUE._col4 (type: varchar(18)), VALUE._col5 (type: decimal(10,2)), VALUE._col6 (type: decimal(25,15)), VALUE._col7 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+          Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 13 Data size: 8684 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,c6,b from part_change_same_type_different_params order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Input: default@part_change_same_type_different_params@part=1
+PREHOOK: Input: default@part_change_same_type_different_params@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Input: default@part_change_same_type_different_params@part=1
+POSTHOOK: Input: default@part_change_same_type_different_params@part=2
+#### A masked pattern was here ####
+insert_num	part	c1	c2	c3	c4	c5	c6	b
+1	1	excess  	corporation believable          	gateway 	thumb repe	76855494.39	NULL	original
+10	2	dreamlan	raster  devastation             	association boa	lubricant century	5830.99	NULL	new
+11	2	tiger   	however center                  	propeller agoni	shocking misshapen	6946533.80	31608910.030000000000000	new
+12	2	  bulgin	extensive  ambivalent           	rastled	billion zeroes	943084.30	3090297719.717120349328271	new
+13	2	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+2	1	mutation	hideout authentic               	blankness sonic	hover know	42093605.00	3182652.406680000000000	original
+3	1	hibernat	country detox coyotes           	ball pulse cand	direct	1413570.30	8.309580815500000	original
+4	1	aquarium	encounter existent amuse        	fuse light head	bumper adm	5475414.65	25937.675256300400000	original
+5	1	12345678	1234567890123456789012345       	123456789012345	1234567890	12345678.12	1234567890.098765432100000	original
+6	1	hollow  	innocent crabs blushing         	ambition ebony 	liquor ageless par	NULL	3841833197.314137090000000	new
+7	1	wig feel	social fork drum                	search bump	conclusion percept	8.31	NULL	new
+8	1	bubble f	drain loyal station             	racket	antique business	0.69	22.832613278741300	new
+9	1	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+PREHOOK: query: drop table part_change_same_type_different_params
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Output: default@part_change_same_type_different_params
+POSTHOOK: query: drop table part_change_same_type_different_params
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Output: default@part_change_same_type_different_params

http://git-wip-us.apache.org/repos/asf/hive/blob/440fb78c/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q.out
index e29b357..ad1f101 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part_all_primitive.q.out
@@ -2885,3 +2885,275 @@ POSTHOOK: query: drop table part_change_various_various_date
 POSTHOOK: type: DROPTABLE
 POSTHOOK: Input: default@part_change_various_various_date
 POSTHOOK: Output: default@part_change_various_various_date
+PREHOOK: query: --
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
+--
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part_change_same_type_different_params
+POSTHOOK: query: --
+-- SUBSECTION: ALTER TABLE CHANGE COLUMNS for Same Type (CHAR, VARCHAR, DECIMAL) --> Different maxLength or precision/scale
+--
+CREATE TABLE part_change_same_type_different_params(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING) PARTITIONED BY(part INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part_change_same_type_different_params
+PREHOOK: query: CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@same_type1_a_txt
+POSTHOOK: query: CREATE TABLE same_type1_a_txt(insert_num int, c1 CHAR(12), c2 CHAR(25), c3 VARCHAR(25), c4 VARCHAR(10), c5 DECIMAL(12,4), c6 DECIMAL(20,10), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@same_type1_a_txt
+PREHOOK: query: load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@same_type1_a_txt
+POSTHOOK: query: load data local inpath '../../data/files/same_type1_a.txt' overwrite into table same_type1_a_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@same_type1_a_txt
+PREHOOK: query: select * from same_type1_a_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_a_txt
+#### A masked pattern was here ####
+POSTHOOK: query: select * from same_type1_a_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_a_txt
+#### A masked pattern was here ####
+same_type1_a_txt.insert_num	same_type1_a_txt.c1	same_type1_a_txt.c2	same_type1_a_txt.c3	same_type1_a_txt.c4	same_type1_a_txt.c5	same_type1_a_txt.c6	same_type1_a_txt.b
+1	excess      	corporation believable   	gateway 	thumb repe	76855494.3900	NULL	original
+2	mutation    	hideout authentic        	blankness sonic disfigure	hover know	42093605.0000	3182652.4066800000	original
+3	hibernation 	country detox coyotes    	ball pulse candle	direct	1413570.3000	8.3095808155	original
+4	aquarium    	encounter existent amuse 	fuse light headlock	bumper adm	5475414.6500	25937.6752563004	original
+5	123456789012	1234567890123456789012345	1234567890123456789012345	1234567890	12345678.1234	1234567890.0987654321	original
+PREHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_a_txt
+PREHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_a_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_a_txt
+POSTHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).b SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c1 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c1, type:char(12), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c2 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c2, type:char(25), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c3 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c3, type:varchar(25), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c4 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c4, type:varchar(10), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c5 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c5, type:decimal(12,4), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c6 SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:c6, type:decimal(20,10), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).insert_num SIMPLE [(same_type1_a_txt)same_type1_a_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+same_type1_a_txt.insert_num	same_type1_a_txt.c1	same_type1_a_txt.c2	same_type1_a_txt.c3	same_type1_a_txt.c4	same_type1_a_txt.c5	same_type1_a_txt.c6	same_type1_a_txt.b
+PREHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Input: default@part_change_same_type_different_params@part=1
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Input: default@part_change_same_type_different_params@part=1
+#### A masked pattern was here ####
+insert_num	part	c1	c2	c3	c4	c5	c6	b
+1	1	excess      	corporation believable   	gateway 	thumb repe	76855494.3900	NULL	original
+2	1	mutation    	hideout authentic        	blankness sonic disfigure	hover know	42093605.0000	3182652.4066800000	original
+3	1	hibernation 	country detox coyotes    	ball pulse candle	direct	1413570.3000	8.3095808155	original
+4	1	aquarium    	encounter existent amuse 	fuse light headlock	bumper adm	5475414.6500	25937.6752563004	original
+5	1	123456789012	1234567890123456789012345	1234567890123456789012345	1234567890	12345678.1234	1234567890.0987654321	original
+PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Output: default@part_change_same_type_different_params
+POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ...
+alter table part_change_same_type_different_params replace columns (insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Output: default@part_change_same_type_different_params
+PREHOOK: query: CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@same_type1_b_txt
+POSTHOOK: query: CREATE TABLE same_type1_b_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@same_type1_b_txt
+PREHOOK: query: load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@same_type1_b_txt
+POSTHOOK: query: load data local inpath '../../data/files/same_type1_b.txt' overwrite into table same_type1_b_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@same_type1_b_txt
+PREHOOK: query: select * from same_type1_b_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_b_txt
+#### A masked pattern was here ####
+POSTHOOK: query: select * from same_type1_b_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_b_txt
+#### A masked pattern was here ####
+same_type1_b_txt.insert_num	same_type1_b_txt.c1	same_type1_b_txt.c2	same_type1_b_txt.c3	same_type1_b_txt.c4	same_type1_b_txt.c5	same_type1_b_txt.c6	same_type1_b_txt.b
+6	hollow  	innocent crabs blushing         	ambition ebony 	liquor ageless par	NULL	3841833197.314137090000000	new
+7	wig feel	social fork drum                	search bump	conclusion percept	8.31	NULL	new
+8	bubble f	drain loyal station             	racket	antique business	0.69	22.832613278741300	new
+9	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+PREHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_b_txt
+PREHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: query: insert into table part_change_same_type_different_params partition(part=1) select * from same_type1_b_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_b_txt
+POSTHOOK: Output: default@part_change_same_type_different_params@part=1
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).b SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c1 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c1, type:char(8), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c2 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c2, type:char(32), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c3 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c3, type:varchar(15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c4 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c4, type:varchar(18), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c5 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c5, type:decimal(10,2), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).c6 SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:c6, type:decimal(25,15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=1).insert_num SIMPLE [(same_type1_b_txt)same_type1_b_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+same_type1_b_txt.insert_num	same_type1_b_txt.c1	same_type1_b_txt.c2	same_type1_b_txt.c3	same_type1_b_txt.c4	same_type1_b_txt.c5	same_type1_b_txt.c6	same_type1_b_txt.b
+PREHOOK: query: CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@same_type1_c_txt
+POSTHOOK: query: CREATE TABLE same_type1_c_txt(insert_num int, c1 CHAR(8), c2 CHAR(32), c3 VARCHAR(15), c4 VARCHAR(18), c5 DECIMAL(10,2), c6 DECIMAL(25,15), b STRING)
+row format delimited fields terminated by '|'
+stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@same_type1_c_txt
+PREHOOK: query: load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@same_type1_c_txt
+POSTHOOK: query: load data local inpath '../../data/files/same_type1_c.txt' overwrite into table same_type1_c_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@same_type1_c_txt
+PREHOOK: query: select * from same_type1_c_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_c_txt
+#### A masked pattern was here ####
+POSTHOOK: query: select * from same_type1_c_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_c_txt
+#### A masked pattern was here ####
+same_type1_c_txt.insert_num	same_type1_c_txt.c1	same_type1_c_txt.c2	same_type1_c_txt.c3	same_type1_c_txt.c4	same_type1_c_txt.c5	same_type1_c_txt.c6	same_type1_c_txt.b
+10	dreamlan	raster  devastation             	association boa	lubricant century	5830.99	NULL	new
+11	tiger   	however center                  	propeller agoni	shocking misshapen	6946533.80	31608910.030000000000000	new
+12	  bulgin	extensive  ambivalent           	rastled	billion zeroes	943084.30	3090297719.717120349328271	new
+13	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+PREHOOK: query: insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@same_type1_c_txt
+PREHOOK: Output: default@part_change_same_type_different_params@part=2
+POSTHOOK: query: insert into table part_change_same_type_different_params partition(part=2) select * from same_type1_c_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@same_type1_c_txt
+POSTHOOK: Output: default@part_change_same_type_different_params@part=2
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).b SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:b, type:string, comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c1 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c1, type:char(8), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c2 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c2, type:char(32), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c3 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c3, type:varchar(15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c4 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c4, type:varchar(18), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c5 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c5, type:decimal(10,2), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).c6 SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:c6, type:decimal(25,15), comment:null), ]
+POSTHOOK: Lineage: part_change_same_type_different_params PARTITION(part=2).insert_num SIMPLE [(same_type1_c_txt)same_type1_c_txt.FieldSchema(name:insert_num, type:int, comment:null), ]
+same_type1_c_txt.insert_num	same_type1_c_txt.c1	same_type1_c_txt.c2	same_type1_c_txt.c3	same_type1_c_txt.c4	same_type1_c_txt.c5	same_type1_c_txt.c6	same_type1_c_txt.b
+PREHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params 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_same_type_different_params
+            Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+            Select Operator
+              expressions: insert_num (type: int), part (type: int), c1 (type: char(8)), c2 (type: char(32)), c3 (type: varchar(15)), c4 (type: varchar(18)), c5 (type: decimal(10,2)), c6 (type: decimal(25,15)), b (type: string)
+              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+              Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: int)
+                sort order: +
+                Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+                value expressions: _col1 (type: int), _col2 (type: char(8)), _col3 (type: char(32)), _col4 (type: varchar(15)), _col5 (type: varchar(18)), _col6 (type: decimal(10,2)), _col7 (type: decimal(25,15)), _col8 (type: string)
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: char(8)), VALUE._col2 (type: char(32)), VALUE._col3 (type: varchar(15)), VALUE._col4 (type: varchar(18)), VALUE._col5 (type: decimal(10,2)), VALUE._col6 (type: decimal(25,15)), VALUE._col7 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+          Statistics: Num rows: 13 Data size: 8684 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 13 Data size: 8684 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,c6,b from part_change_same_type_different_params order by insert_num
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Input: default@part_change_same_type_different_params@part=1
+PREHOOK: Input: default@part_change_same_type_different_params@part=2
+#### A masked pattern was here ####
+POSTHOOK: query: select insert_num,part,c1,c2,c3,c4,c5,c6,b from part_change_same_type_different_params order by insert_num
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Input: default@part_change_same_type_different_params@part=1
+POSTHOOK: Input: default@part_change_same_type_different_params@part=2
+#### A masked pattern was here ####
+insert_num	part	c1	c2	c3	c4	c5	c6	b
+1	1	excess  	corporation believable          	gateway 	thumb repe	76855494.39	NULL	original
+10	2	dreamlan	raster  devastation             	association boa	lubricant century	5830.99	NULL	new
+11	2	tiger   	however center                  	propeller agoni	shocking misshapen	6946533.80	31608910.030000000000000	new
+12	2	  bulgin	extensive  ambivalent           	rastled	billion zeroes	943084.30	3090297719.717120349328271	new
+13	2	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+2	1	mutation	hideout authentic               	blankness sonic	hover know	42093605.00	3182652.406680000000000	original
+3	1	hibernat	country detox coyotes           	ball pulse cand	direct	1413570.30	8.309580815500000	original
+4	1	aquarium	encounter existent amuse        	fuse light head	bumper adm	5475414.65	25937.675256300400000	original
+5	1	12345678	1234567890123456789012345       	123456789012345	1234567890	12345678.12	1234567890.098765432100000	original
+6	1	hollow  	innocent crabs blushing         	ambition ebony 	liquor ageless par	NULL	3841833197.314137090000000	new
+7	1	wig feel	social fork drum                	search bump	conclusion percept	8.31	NULL	new
+8	1	bubble f	drain loyal station             	racket	antique business	0.69	22.832613278741300	new
+9	1	12345678	12345678901234567890123456789012	123456789012345	123456789012345678	NULL	1234567890.543210987654321	new
+PREHOOK: query: drop table part_change_same_type_different_params
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@part_change_same_type_different_params
+PREHOOK: Output: default@part_change_same_type_different_params
+POSTHOOK: query: drop table part_change_same_type_different_params
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@part_change_same_type_different_params
+POSTHOOK: Output: default@part_change_same_type_different_params