HIVE-16566: Set column stats default as true when creating new 
tables/partitions (Pengcheng Xiong, reviewed by Ashutosh Chauhan)


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

Branch: refs/heads/hive-14535
Commit: 52a71e9608928b41ea6a4ae7bf2365641009ce56
Parents: 019ad8c
Author: Pengcheng Xiong <[email protected]>
Authored: Fri Jun 2 13:26:02 2017 -0700
Committer: Pengcheng Xiong <[email protected]>
Committed: Fri Jun 2 13:26:02 2017 -0700

----------------------------------------------------------------------
 .../hadoop/hive/common/StatsSetupConst.java     |   7 +-
 .../results/positive/external_table_ppd.q.out   |   2 +-
 .../positive/hbase_binary_storage_queries.q.out |   4 +-
 .../src/test/results/positive/hbasestats.q.out  |   2 +-
 .../write_final_output_blobstore.q.out          |  16 +-
 .../hadoop/hive/metastore/MetaStoreUtils.java   |   8 +
 .../org/apache/hadoop/hive/ql/exec/DDLTask.java |   4 +-
 .../apache/hadoop/hive/ql/metadata/Hive.java    |   2 +-
 .../hive/ql/parse/DDLSemanticAnalyzer.java      |   4 +-
 .../hadoop/hive/ql/plan/CreateTableDesc.java    |   7 +-
 .../queries/clientpositive/alterColumnStats.q   |  21 +
 .../clientpositive/alterColumnStatsPart.q       |  47 ++
 .../clientnegative/alter_file_format.q.out      |   2 +-
 .../clientnegative/unset_table_property.q.out   |   2 +-
 .../clientpositive/alterColumnStats.q.out       | 158 ++++++
 .../clientpositive/alterColumnStatsPart.q.out   | 507 +++++++++++++++++++
 .../clientpositive/alter_file_format.q.out      |  26 +-
 .../alter_partition_clusterby_sortby.q.out      |   6 +-
 .../clientpositive/alter_skewed_table.q.out     |  12 +-
 .../alter_table_add_partition.q.out             |   2 +-
 .../clientpositive/alter_table_not_sorted.q.out |   4 +-
 .../clientpositive/autoColumnStats_3.q.out      |   2 +-
 .../clientpositive/autoColumnStats_4.q.out      |   2 +-
 .../clientpositive/binary_output_format.q.out   |  16 +-
 .../test/results/clientpositive/bucket1.q.out   |   4 +-
 .../test/results/clientpositive/bucket2.q.out   |   4 +-
 .../clientpositive/bucket_map_join_spark1.q.out |   4 +-
 .../clientpositive/bucket_map_join_spark2.q.out |   4 +-
 .../clientpositive/bucket_map_join_spark3.q.out |   4 +-
 .../results/clientpositive/bucketmapjoin5.q.out |  16 +-
 .../clientpositive/bucketmapjoin_negative.q.out |  16 +-
 .../bucketmapjoin_negative2.q.out               |  16 +-
 ...names_with_leading_and_trailing_spaces.q.out |   4 +-
 .../results/clientpositive/compustat_avro.q.out |   4 +-
 .../create_alter_list_bucketing_table1.q.out    |  14 +-
 .../results/clientpositive/create_like.q.out    |  18 +-
 .../results/clientpositive/create_like2.q.out   |   2 +-
 .../clientpositive/create_like_tbl_props.q.out  |  10 +-
 .../clientpositive/create_like_view.q.out       |   6 +-
 .../clientpositive/create_skewed_table1.q.out   |   6 +-
 .../create_table_like_stats.q.out               |   2 +-
 .../create_with_constraints.q.out               |  72 +--
 .../clientpositive/database_location.q.out      |   4 +-
 .../clientpositive/default_file_format.q.out    |  16 +-
 .../describe_comment_indent.q.out               |   2 +-
 .../describe_comment_nonascii.q.out             |   2 +-
 .../describe_formatted_view_partitioned.q.out   |   2 +-
 .../clientpositive/describe_syntax.q.out        |   4 +-
 .../results/clientpositive/describe_table.q.out |  24 +-
 .../display_colstats_tbllvl.q.out               |   2 +-
 .../results/clientpositive/druid_basic1.q.out   |   4 +-
 .../results/clientpositive/druid_basic2.q.out   |  18 +-
 .../clientpositive/druid_intervals.q.out        |   2 +-
 .../clientpositive/druid_timeseries.q.out       |   2 +-
 .../results/clientpositive/druid_topn.q.out     |   2 +-
 .../clientpositive/groupby_map_ppr.q.out        |   4 +-
 .../groupby_map_ppr_multi_distinct.q.out        |   4 +-
 .../results/clientpositive/groupby_ppr.q.out    |   4 +-
 .../groupby_ppr_multi_distinct.q.out            |   4 +-
 .../clientpositive/groupby_sort_1_23.q.out      |  56 +-
 .../results/clientpositive/groupby_sort_6.q.out |   4 +-
 .../clientpositive/groupby_sort_skew_1_23.q.out |  56 +-
 .../results/clientpositive/input_part1.q.out    |  16 +-
 .../results/clientpositive/input_part2.q.out    |  32 +-
 .../insert_values_orig_table_use_metadata.q.out |   4 +-
 ql/src/test/results/clientpositive/join17.q.out |   4 +-
 ql/src/test/results/clientpositive/join26.q.out |   4 +-
 ql/src/test/results/clientpositive/join32.q.out |   4 +-
 ql/src/test/results/clientpositive/join33.q.out |   4 +-
 ql/src/test/results/clientpositive/join34.q.out |   6 +-
 ql/src/test/results/clientpositive/join35.q.out |   6 +-
 ql/src/test/results/clientpositive/join9.q.out  |   4 +-
 .../results/clientpositive/join_map_ppr.q.out   |  16 +-
 .../clientpositive/list_bucket_dml_14.q.out     |   4 +-
 .../clientpositive/llap/autoColumnStats_2.q.out |   2 +-
 .../results/clientpositive/llap/bucket2.q.out   |   4 +-
 .../results/clientpositive/llap/bucket4.q.out   |   4 +-
 .../results/clientpositive/llap/bucket5.q.out   |  20 +-
 .../clientpositive/llap/bucket_many.q.out       |   4 +-
 .../clientpositive/llap/bucketmapjoin1.q.out    |   4 +-
 .../clientpositive/llap/bucketmapjoin2.q.out    |   4 +-
 .../clientpositive/llap/bucketmapjoin3.q.out    |   4 +-
 .../clientpositive/llap/bucketmapjoin4.q.out    |   4 +-
 ...names_with_leading_and_trailing_spaces.q.out |   4 +-
 .../llap/disable_merge_for_bucketing.q.out      |   4 +-
 .../llap/dynamic_semijoin_reduction.q.out       |   2 +-
 .../llap/dynamic_semijoin_user_level.q.out      |   2 +-
 .../clientpositive/llap/join32_lessSize.q.out   |   8 +-
 .../clientpositive/llap/metadataonly1.q.out     |  40 +-
 .../clientpositive/llap/orc_create.q.out        |   4 +-
 .../llap/reduce_deduplicate.q.out               |   4 +-
 .../results/clientpositive/llap/sample1.q.out   |   4 +-
 .../results/clientpositive/llap/stats11.q.out   |   4 +-
 .../results/clientpositive/llap/sysdb.q.out     |  10 +-
 .../parquet_array_null_element.q.out            |   2 +-
 .../results/clientpositive/parquet_create.q.out |   2 +-
 .../parquet_int96_timestamp.q.out               |   4 +-
 .../clientpositive/part_inherit_tbl_props.q.out |   2 +-
 .../part_inherit_tbl_props_empty.q.out          |   2 +-
 .../part_inherit_tbl_props_with_star.q.out      |   2 +-
 .../clientpositive/partial_column_stats.q.out   |   2 +-
 .../partition_coltype_literals.q.out            |   8 +-
 ql/src/test/results/clientpositive/pcr.q.out    |  32 +-
 .../results/clientpositive/quotedid_stats.q.out |   2 +-
 .../clientpositive/rand_partitionpruner2.q.out  |  16 +-
 .../clientpositive/rcfile_default_format.q.out  |   6 +-
 .../test/results/clientpositive/sample1.q.out   |  16 +-
 .../test/results/clientpositive/sample2.q.out   |  16 +-
 .../test/results/clientpositive/sample4.q.out   |  16 +-
 .../test/results/clientpositive/sample5.q.out   |  16 +-
 .../test/results/clientpositive/sample6.q.out   |  16 +-
 .../test/results/clientpositive/sample7.q.out   |  16 +-
 .../clientpositive/show_tblproperties.q.out     |  10 +-
 .../results/clientpositive/spark/bucket2.q.out  |   4 +-
 .../results/clientpositive/spark/bucket4.q.out  |   4 +-
 .../results/clientpositive/spark/bucket5.q.out  |   8 +-
 .../spark/bucket_map_join_spark1.q.out          |   4 +-
 .../spark/bucket_map_join_spark2.q.out          |   4 +-
 .../spark/bucket_map_join_spark3.q.out          |   4 +-
 .../clientpositive/spark/bucketmapjoin1.q.out   |   4 +-
 .../clientpositive/spark/bucketmapjoin2.q.out   |   4 +-
 .../clientpositive/spark/bucketmapjoin3.q.out   |   4 +-
 .../clientpositive/spark/bucketmapjoin4.q.out   |   4 +-
 .../clientpositive/spark/bucketmapjoin5.q.out   |   4 +-
 .../spark/bucketmapjoin_negative.q.out          |   4 +-
 .../spark/bucketmapjoin_negative2.q.out         |   4 +-
 .../spark/disable_merge_for_bucketing.q.out     |   4 +-
 .../clientpositive/spark/groupby_map_ppr.q.out  |   4 +-
 .../spark/groupby_map_ppr_multi_distinct.q.out  |   4 +-
 .../clientpositive/spark/groupby_ppr.q.out      |   4 +-
 .../spark/groupby_ppr_multi_distinct.q.out      |   4 +-
 .../spark/groupby_sort_1_23.q.out               |  20 +-
 .../spark/groupby_sort_skew_1_23.q.out          |  20 +-
 .../clientpositive/spark/input_part2.q.out      |   8 +-
 .../results/clientpositive/spark/join17.q.out   |   4 +-
 .../results/clientpositive/spark/join26.q.out   |   4 +-
 .../results/clientpositive/spark/join32.q.out   |   4 +-
 .../clientpositive/spark/join32_lessSize.q.out  |   8 +-
 .../results/clientpositive/spark/join33.q.out   |   4 +-
 .../results/clientpositive/spark/join34.q.out   |   4 +-
 .../results/clientpositive/spark/join35.q.out   |   4 +-
 .../results/clientpositive/spark/join9.q.out    |   4 +-
 .../clientpositive/spark/join_map_ppr.q.out     |   4 +-
 .../test/results/clientpositive/spark/pcr.q.out |   8 +-
 .../spark/reduce_deduplicate.q.out              |   4 +-
 .../results/clientpositive/spark/sample1.q.out  |   4 +-
 .../results/clientpositive/spark/sample2.q.out  |   4 +-
 .../results/clientpositive/spark/sample4.q.out  |   4 +-
 .../results/clientpositive/spark/sample5.q.out  |   4 +-
 .../results/clientpositive/spark/sample6.q.out  |   4 +-
 .../results/clientpositive/spark/sample7.q.out  |   4 +-
 .../results/clientpositive/spark/stats0.q.out   |   8 +-
 .../results/clientpositive/spark/stats3.q.out   |   2 +-
 ql/src/test/results/clientpositive/stats0.q.out |  20 +-
 ql/src/test/results/clientpositive/stats3.q.out |   2 +-
 .../temp_table_display_colstats_tbllvl.q.out    |   6 +-
 .../clientpositive/unicode_notation.q.out       |   6 +-
 .../unset_table_view_property.q.out             |  18 +-
 158 files changed, 1360 insertions(+), 613 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java 
b/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java
index 2387407..7c27d07 100644
--- a/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java
+++ b/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java
@@ -240,6 +240,9 @@ public class StatsSetupConst {
     if (params == null) {
       throw new RuntimeException("params are null...cant set 
columnstatstate!");
     }
+    if (colNames == null) {
+      return;
+    }
     ColumnStatsAccurate stats = 
parseStatsAcc(params.get(COLUMN_STATS_ACCURATE));
 
     for (String colName : colNames) {
@@ -283,13 +286,15 @@ public class StatsSetupConst {
     }
   }
 
-  public static void setBasicStatsStateForCreateTable(Map<String, String> 
params, String setting) {
+  public static void setStatsStateForCreateTable(Map<String, String> params,
+      List<String> cols, String setting) {
     if (TRUE.equals(setting)) {
       for (String stat : StatsSetupConst.supportedStats) {
         params.put(stat, "0");
       }
     }
     setBasicStatsState(params, setting);
+    setColumnStatsState(params, cols);
   }
   
   private static ColumnStatsAccurate parseStatsAcc(String statsAcc) {

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/hbase-handler/src/test/results/positive/external_table_ppd.q.out
----------------------------------------------------------------------
diff --git a/hbase-handler/src/test/results/positive/external_table_ppd.q.out 
b/hbase-handler/src/test/results/positive/external_table_ppd.q.out
index f09b880..328131a 100644
--- a/hbase-handler/src/test/results/positive/external_table_ppd.q.out
+++ b/hbase-handler/src/test/results/positive/external_table_ppd.q.out
@@ -56,7 +56,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"bigint_col\":\"true\",\"boolean_col\":\"true\",\"double_col\":\"true\",\"float_col\":\"true\",\"int_col\":\"true\",\"key\":\"true\",\"smallint_col\":\"true\",\"tinyint_col\":\"true\"}}
        hbase.table.default.storage.type        binary              
        hbase.table.name        t_hive              
        numFiles                0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/hbase-handler/src/test/results/positive/hbase_binary_storage_queries.q.out
----------------------------------------------------------------------
diff --git 
a/hbase-handler/src/test/results/positive/hbase_binary_storage_queries.q.out 
b/hbase-handler/src/test/results/positive/hbase_binary_storage_queries.q.out
index 3d3e82d..5404cd9 100644
--- a/hbase-handler/src/test/results/positive/hbase_binary_storage_queries.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_binary_storage_queries.q.out
@@ -56,7 +56,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"bigint_col\":\"true\",\"boolean_col\":\"true\",\"double_col\":\"true\",\"float_col\":\"true\",\"int_col\":\"true\",\"key\":\"true\",\"smallint_col\":\"true\",\"tinyint_col\":\"true\"}}
        hbase.table.default.storage.type        binary              
        hbase.table.name        t_hive              
        numFiles                0                   
@@ -236,7 +236,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            EXTERNAL_TABLE           
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"bigint_col\":\"true\",\"boolean_col\":\"true\",\"double_col\":\"true\",\"float_col\":\"true\",\"int_col\":\"true\",\"key\":\"true\",\"smallint_col\":\"true\",\"tinyint_col\":\"true\"}}
        EXTERNAL                TRUE                
        hbase.table.name        t_hive              
        numFiles                0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/hbase-handler/src/test/results/positive/hbasestats.q.out
----------------------------------------------------------------------
diff --git a/hbase-handler/src/test/results/positive/hbasestats.q.out 
b/hbase-handler/src/test/results/positive/hbasestats.q.out
index bf902e4..b7ef954 100644
--- a/hbase-handler/src/test/results/positive/hbasestats.q.out
+++ b/hbase-handler/src/test/results/positive/hbasestats.q.out
@@ -38,7 +38,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"country\":\"true\",\"country_id\":\"true\",\"key\":\"true\",\"state\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/itests/hive-blobstore/src/test/results/clientpositive/write_final_output_blobstore.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/write_final_output_blobstore.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/write_final_output_blobstore.q.out
index 46bfef5..2ababb1 100644
--- 
a/itests/hive-blobstore/src/test/results/clientpositive/write_final_output_blobstore.q.out
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/write_final_output_blobstore.q.out
@@ -68,7 +68,7 @@ STAGE PLANS:
             input format: org.apache.hadoop.mapred.TextInputFormat
             output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
             properties:
-              COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+              COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
               bucket_count -1
               column.name.delimiter ,
               columns key
@@ -89,7 +89,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns key
@@ -192,7 +192,7 @@ STAGE PLANS:
                 input format: org.apache.hadoop.mapred.TextInputFormat
                 output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                 properties:
-                  COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                  COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
                   bucket_count -1
                   column.name.delimiter ,
                   columns key
@@ -224,7 +224,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns key
@@ -292,7 +292,7 @@ STAGE PLANS:
             input format: org.apache.hadoop.mapred.TextInputFormat
             output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
             properties:
-              COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+              COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
               bucket_count -1
               column.name.delimiter ,
               columns key
@@ -313,7 +313,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns key
@@ -416,7 +416,7 @@ STAGE PLANS:
                 input format: org.apache.hadoop.mapred.TextInputFormat
                 output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                 properties:
-                  COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                  COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
                   bucket_count -1
                   column.name.delimiter ,
                   columns key
@@ -448,7 +448,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns key

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
index a8adb61..ff8412c 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
@@ -1969,5 +1969,13 @@ public class MetaStoreUtils {
     }
     return metaException;
   }
+  
+  public static List<String> getColumnNames(List<FieldSchema> schema) {
+    List<String> cols = new ArrayList<>();
+    for (FieldSchema fs : schema) {
+      cols.add(fs.getName());
+    }
+    return cols;
+  }
 
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
index 617555e..87928ee 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
@@ -4566,8 +4566,8 @@ public class DDLTask extends Task<DDLWork> implements 
Serializable {
 
     if (crtTbl.getLocation() == null && !tbl.isPartitioned()
         && conf.getBoolVar(HiveConf.ConfVars.HIVESTATSAUTOGATHER)) {
-      
StatsSetupConst.setBasicStatsStateForCreateTable(tbl.getTTable().getParameters(),
-          StatsSetupConst.TRUE);
+      
StatsSetupConst.setStatsStateForCreateTable(tbl.getTTable().getParameters(),
+          MetaStoreUtils.getColumnNames(tbl.getCols()), StatsSetupConst.TRUE);
     }
 
     // create the table

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java 
b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
index 3f032c8..ceb8079 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
@@ -1752,7 +1752,7 @@ public class Hive {
       if (oldPart == null) {
         newTPart.getTPartition().setParameters(new HashMap<String,String>());
         if (this.getConf().getBoolVar(HiveConf.ConfVars.HIVESTATSAUTOGATHER)) {
-          
StatsSetupConst.setBasicStatsStateForCreateTable(newTPart.getParameters(),
+          
StatsSetupConst.setStatsStateForCreateTable(newTPart.getParameters(), null,
               StatsSetupConst.TRUE);
         }
         
MetaStoreUtils.populateQuickStats(HiveStatsUtils.getFileStatusRecurse(newPartPath,
 -1, newPartPath.getFileSystem(conf)), newTPart.getParameters());

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index dee6a10..e9a4ff0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -2951,8 +2951,8 @@ public class DDLSemanticAnalyzer extends 
BaseSemanticAnalyzer {
           if (desc.getPartParams() == null) {
             desc.setPartParams(new HashMap<String, String>());
           }
-          
StatsSetupConst.setBasicStatsStateForCreateTable(desc.getPartParams(),
-              StatsSetupConst.TRUE);
+          StatsSetupConst.setStatsStateForCreateTable(desc.getPartParams(),
+              MetaStoreUtils.getColumnNames(tab.getCols()), 
StatsSetupConst.TRUE);
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java 
b/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
index 7b46fcd..4320421 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
@@ -28,6 +28,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.common.StatsSetupConst;
 import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.metastore.MetaStoreUtils;
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.Order;
@@ -848,11 +849,11 @@ public class CreateTableDesc extends DDLDesc implements 
Serializable {
 
     if (!this.isCTAS && (tbl.getPath() == null || (tbl.isEmpty() && 
!isExternal()))) {
       if (!tbl.isPartitioned() && 
conf.getBoolVar(HiveConf.ConfVars.HIVESTATSAUTOGATHER)) {
-        
StatsSetupConst.setBasicStatsStateForCreateTable(tbl.getTTable().getParameters(),
-            StatsSetupConst.TRUE);
+        
StatsSetupConst.setStatsStateForCreateTable(tbl.getTTable().getParameters(),
+            MetaStoreUtils.getColumnNames(tbl.getCols()), 
StatsSetupConst.TRUE);
       }
     } else {
-      
StatsSetupConst.setBasicStatsStateForCreateTable(tbl.getTTable().getParameters(),
+      
StatsSetupConst.setStatsStateForCreateTable(tbl.getTTable().getParameters(), 
null,
           StatsSetupConst.FALSE);
     }
     return tbl;

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/queries/clientpositive/alterColumnStats.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/alterColumnStats.q 
b/ql/src/test/queries/clientpositive/alterColumnStats.q
new file mode 100644
index 0000000..4456088
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/alterColumnStats.q
@@ -0,0 +1,21 @@
+set hive.mapred.mode=nonstrict;
+
+drop table p;
+
+CREATE TABLE p(insert_num int, c1 tinyint, c2 smallint);
+
+desc formatted p;
+
+insert into p values (1,22,333);
+
+desc formatted p;
+
+alter table p replace columns (insert_num int, c1 STRING, c2 STRING);
+
+desc formatted p;
+
+desc formatted p c1;
+
+desc formatted p c2;
+
+

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/queries/clientpositive/alterColumnStatsPart.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/alterColumnStatsPart.q 
b/ql/src/test/queries/clientpositive/alterColumnStatsPart.q
new file mode 100644
index 0000000..f46d9d5
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/alterColumnStatsPart.q
@@ -0,0 +1,47 @@
+set hive.mapred.mode=nonstrict;
+set hive.exec.dynamic.partition.mode=nonstrict;
+
+drop table p;
+
+CREATE TABLE p(a int, b int) partitioned by (c int);
+
+desc formatted p;
+
+insert into p partition (c=1) values (1,2);
+
+desc formatted p partition (c=1) a;
+
+desc formatted p partition (c=1);
+
+explain select max(a) from p where c=1;
+
+analyze table p partition(c=1) compute statistics for columns a;
+
+explain select max(a) from p where c=1;
+
+insert into p partition (c) values (2,3,4);
+
+insert into p partition (c) values (4,5,6);
+
+desc formatted p partition(c=4);
+
+explain select max(a) from p where c=4;
+
+alter table p add partition (c=100);
+
+desc formatted p partition (c=100);
+
+explain select max(a) from p where c=100;
+
+analyze table p partition(c=100) compute statistics for columns a;
+
+explain select max(a) from p where c=100;
+
+desc formatted p partition(c=100);
+
+insert into p partition (c=100) values (1,2);
+
+analyze table p partition(c=100) compute statistics for columns a;
+
+explain select max(a) from p where c=100;
+

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientnegative/alter_file_format.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/alter_file_format.q.out 
b/ql/src/test/results/clientnegative/alter_file_format.q.out
index e3f3b4c..4a79eaa 100644
--- a/ql/src/test/results/clientnegative/alter_file_format.q.out
+++ b/ql/src/test/results/clientnegative/alter_file_format.q.out
@@ -24,7 +24,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientnegative/unset_table_property.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/unset_table_property.q.out 
b/ql/src/test/results/clientnegative/unset_table_property.q.out
index 4aedfc5..2dd047a 100644
--- a/ql/src/test/results/clientnegative/unset_table_property.q.out
+++ b/ql/src/test/results/clientnegative/unset_table_property.q.out
@@ -18,7 +18,7 @@ PREHOOK: query: SHOW TBLPROPERTIES testTable
 PREHOOK: type: SHOW_TBLPROPERTIES
 POSTHOOK: query: SHOW TBLPROPERTIES testTable
 POSTHOOK: type: SHOW_TBLPROPERTIES
-COLUMN_STATS_ACCURATE  {"BASIC_STATS":"true"}
+COLUMN_STATS_ACCURATE  
{"BASIC_STATS":"true","COLUMN_STATS":{"col1":"true","col2":"true"}}
 a      1
 c      3
 #### A masked pattern was here ####

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/alterColumnStats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alterColumnStats.q.out 
b/ql/src/test/results/clientpositive/alterColumnStats.q.out
new file mode 100644
index 0000000..519a62a
--- /dev/null
+++ b/ql/src/test/results/clientpositive/alterColumnStats.q.out
@@ -0,0 +1,158 @@
+PREHOOK: query: drop table p
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table p
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE p(insert_num int, c1 tinyint, c2 smallint)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@p
+POSTHOOK: query: CREATE TABLE p(insert_num int, c1 tinyint, c2 smallint)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@p
+PREHOOK: query: desc formatted p
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+insert_num             int                                         
+c1                     tinyint                                     
+c2                     smallint                                    
+                
+# Detailed Table Information            
+Database:              default                  
+#### A masked pattern was here ####
+Retention:             0                        
+#### A masked pattern was here ####
+Table Type:            MANAGED_TABLE            
+Table Parameters:               
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"c1\":\"true\",\"c2\":\"true\",\"insert_num\":\"true\"}}
+       numFiles                0                   
+       numRows                 0                   
+       rawDataSize             0                   
+       totalSize               0                   
+#### 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 p values (1,22,333)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@p
+POSTHOOK: query: insert into p values (1,22,333)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@p
+POSTHOOK: Lineage: p.c1 EXPRESSION 
[(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, 
type:string, comment:), ]
+POSTHOOK: Lineage: p.c2 EXPRESSION 
[(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, 
type:string, comment:), ]
+POSTHOOK: Lineage: p.insert_num EXPRESSION 
[(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, 
type:string, comment:), ]
+PREHOOK: query: desc formatted p
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+insert_num             int                                         
+c1                     tinyint                                     
+c2                     smallint                                    
+                
+# Detailed Table Information            
+Database:              default                  
+#### A masked pattern was here ####
+Retention:             0                        
+#### A masked pattern was here ####
+Table Type:            MANAGED_TABLE            
+Table Parameters:               
+       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       numFiles                1                   
+       numRows                 1                   
+       rawDataSize             8                   
+       totalSize               9                   
+#### 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: alter table p replace columns (insert_num int, c1 STRING, c2 
STRING)
+PREHOOK: type: ALTERTABLE_REPLACECOLS
+PREHOOK: Input: default@p
+PREHOOK: Output: default@p
+POSTHOOK: query: alter table p replace columns (insert_num int, c1 STRING, c2 
STRING)
+POSTHOOK: type: ALTERTABLE_REPLACECOLS
+POSTHOOK: Input: default@p
+POSTHOOK: Output: default@p
+PREHOOK: query: desc formatted p
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+insert_num             int                                         
+c1                     string                                      
+c2                     string                                      
+                
+# Detailed Table Information            
+Database:              default                  
+#### A masked pattern was here ####
+Retention:             0                        
+#### A masked pattern was here ####
+Table Type:            MANAGED_TABLE            
+Table Parameters:               
+       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+#### A masked pattern was here ####
+       numFiles                1                   
+       numRows                 1                   
+       rawDataSize             8                   
+       totalSize               9                   
+#### 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: desc formatted p c1
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p c1
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               min                     max     
                num_nulls               distinct_count          avg_col_len     
        max_col_len             num_trues               num_falses              
comment             
+                                                                               
 
+c1                     string                                                  
                                                                                
                                                                                
from deserializer   
+COLUMN_STATS_ACCURATE  {\"BASIC_STATS\":\"true\"}                              
                                         
+PREHOOK: query: desc formatted p c2
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p c2
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               min                     max     
                num_nulls               distinct_count          avg_col_len     
        max_col_len             num_trues               num_falses              
comment             
+                                                                               
 
+c2                     string                                                  
                                                                                
                                                                                
from deserializer   
+COLUMN_STATS_ACCURATE  {\"BASIC_STATS\":\"true\"}                              
                                         

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out 
b/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
new file mode 100644
index 0000000..672bd9f
--- /dev/null
+++ b/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
@@ -0,0 +1,507 @@
+PREHOOK: query: drop table p
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table p
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE p(a int, b int) partitioned by (c int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@p
+POSTHOOK: query: CREATE TABLE p(a int, b int) partitioned by (c int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@p
+PREHOOK: query: desc formatted p
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+a                      int                                         
+b                      int                                         
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+c                      int                                         
+                
+# Detailed Table Information            
+Database:              default                  
+#### A masked pattern was here ####
+Retention:             0                        
+#### A masked pattern was here ####
+Table Type:            MANAGED_TABLE            
+Table Parameters:               
+       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       numFiles                0                   
+       numPartitions           0                   
+       numRows                 0                   
+       rawDataSize             0                   
+       totalSize               0                   
+#### 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 p partition (c=1) values (1,2)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@p@c=1
+POSTHOOK: query: insert into p partition (c=1) values (1,2)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@p@c=1
+POSTHOOK: Lineage: p PARTITION(c=1).a EXPRESSION 
[(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, 
type:string, comment:), ]
+POSTHOOK: Lineage: p PARTITION(c=1).b EXPRESSION 
[(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, 
type:string, comment:), ]
+PREHOOK: query: desc formatted p partition (c=1) a
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p partition (c=1) a
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment                         
                                                 
+                                                                               
 
+a                      int                     from deserializer               
                                                 
+PREHOOK: query: desc formatted p partition (c=1)
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p partition (c=1)
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+a                      int                                         
+b                      int                                         
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+c                      int                                         
+                
+# Detailed Partition Information                
+Partition Value:       [1]                      
+Database:              default                  
+Table:                 p                        
+#### A masked pattern was here ####
+Partition Parameters:           
+       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       numFiles                1                   
+       numRows                 1                   
+       rawDataSize             3                   
+       totalSize               4                   
+#### 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: explain select max(a) from p where c=1
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select max(a) from p where c=1
+POSTHOOK: type: QUERY
+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: p
+            Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column 
stats: NONE
+            Select Operator
+              expressions: a (type: int)
+              outputColumnNames: a
+              Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE 
Column stats: NONE
+              Group By Operator
+                aggregations: max(a)
+                mode: hash
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                Reduce Output Operator
+                  sort order: 
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                  value expressions: _col0 (type: int)
+      Reduce Operator Tree:
+        Group By Operator
+          aggregations: max(VALUE._col0)
+          mode: mergepartial
+          outputColumnNames: _col0
+          Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 1 Data size: 4 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: analyze table p partition(c=1) compute statistics for columns a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@p
+PREHOOK: Input: default@p@c=1
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table p partition(c=1) compute statistics for columns 
a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@p
+POSTHOOK: Input: default@p@c=1
+#### A masked pattern was here ####
+PREHOOK: query: explain select max(a) from p where c=1
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select max(a) from p where c=1
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: 1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: insert into p partition (c) values (2,3,4)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@p
+POSTHOOK: query: insert into p partition (c) values (2,3,4)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@p@c=4
+POSTHOOK: Lineage: p PARTITION(c=4).a EXPRESSION 
[(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, 
type:string, comment:), ]
+POSTHOOK: Lineage: p PARTITION(c=4).b EXPRESSION 
[(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, 
type:string, comment:), ]
+PREHOOK: query: insert into p partition (c) values (4,5,6)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@p
+POSTHOOK: query: insert into p partition (c) values (4,5,6)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@p@c=6
+POSTHOOK: Lineage: p PARTITION(c=6).a EXPRESSION 
[(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, 
type:string, comment:), ]
+POSTHOOK: Lineage: p PARTITION(c=6).b EXPRESSION 
[(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, 
type:string, comment:), ]
+PREHOOK: query: desc formatted p partition(c=4)
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p partition(c=4)
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+a                      int                                         
+b                      int                                         
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+c                      int                                         
+                
+# Detailed Partition Information                
+Partition Value:       [4]                      
+Database:              default                  
+Table:                 p                        
+#### A masked pattern was here ####
+Partition Parameters:           
+       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       numFiles                1                   
+       numRows                 1                   
+       rawDataSize             3                   
+       totalSize               4                   
+#### 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: explain select max(a) from p where c=4
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select max(a) from p where c=4
+POSTHOOK: type: QUERY
+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: p
+            Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column 
stats: NONE
+            Select Operator
+              expressions: a (type: int)
+              outputColumnNames: a
+              Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE 
Column stats: NONE
+              Group By Operator
+                aggregations: max(a)
+                mode: hash
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                Reduce Output Operator
+                  sort order: 
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                  value expressions: _col0 (type: int)
+      Reduce Operator Tree:
+        Group By Operator
+          aggregations: max(VALUE._col0)
+          mode: mergepartial
+          outputColumnNames: _col0
+          Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 1 Data size: 4 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: alter table p add partition (c=100)
+PREHOOK: type: ALTERTABLE_ADDPARTS
+PREHOOK: Output: default@p
+POSTHOOK: query: alter table p add partition (c=100)
+POSTHOOK: type: ALTERTABLE_ADDPARTS
+POSTHOOK: Output: default@p
+POSTHOOK: Output: default@p@c=100
+PREHOOK: query: desc formatted p partition (c=100)
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p partition (c=100)
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+a                      int                                         
+b                      int                                         
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+c                      int                                         
+                
+# Detailed Partition Information                
+Partition Value:       [100]                    
+Database:              default                  
+Table:                 p                        
+#### A masked pattern was here ####
+Partition Parameters:           
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
+       numFiles                0                   
+       numRows                 0                   
+       rawDataSize             0                   
+       totalSize               0                   
+#### 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: explain select max(a) from p where c=100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select max(a) from p where c=100
+POSTHOOK: type: QUERY
+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: p
+            Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+            Select Operator
+              expressions: a (type: int)
+              outputColumnNames: a
+              Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+              Group By Operator
+                aggregations: max(a)
+                mode: hash
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                Reduce Output Operator
+                  sort order: 
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                  value expressions: _col0 (type: int)
+      Reduce Operator Tree:
+        Group By Operator
+          aggregations: max(VALUE._col0)
+          mode: mergepartial
+          outputColumnNames: _col0
+          Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 1 Data size: 4 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: analyze table p partition(c=100) compute statistics for 
columns a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@p
+PREHOOK: Input: default@p@c=100
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table p partition(c=100) compute statistics for 
columns a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@p
+POSTHOOK: Input: default@p@c=100
+#### A masked pattern was here ####
+PREHOOK: query: explain select max(a) from p where c=100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select max(a) from p where c=100
+POSTHOOK: type: QUERY
+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: p
+            Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+            Select Operator
+              expressions: a (type: int)
+              outputColumnNames: a
+              Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column 
stats: NONE
+              Group By Operator
+                aggregations: max(a)
+                mode: hash
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                Reduce Output Operator
+                  sort order: 
+                  Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE 
Column stats: NONE
+                  value expressions: _col0 (type: int)
+      Reduce Operator Tree:
+        Group By Operator
+          aggregations: max(VALUE._col0)
+          mode: mergepartial
+          outputColumnNames: _col0
+          Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 1 Data size: 4 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: desc formatted p partition(c=100)
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@p
+POSTHOOK: query: desc formatted p partition(c=100)
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@p
+# col_name             data_type               comment             
+                
+a                      int                                         
+b                      int                                         
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+c                      int                                         
+                
+# Detailed Partition Information                
+Partition Value:       [100]                    
+Database:              default                  
+Table:                 p                        
+#### A masked pattern was here ####
+Partition Parameters:           
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
+       numFiles                0                   
+       numRows                 0                   
+       rawDataSize             0                   
+       totalSize               0                   
+#### 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 p partition (c=100) values (1,2)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@p@c=100
+POSTHOOK: query: insert into p partition (c=100) values (1,2)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@p@c=100
+POSTHOOK: Lineage: p PARTITION(c=100).a EXPRESSION 
[(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, 
type:string, comment:), ]
+POSTHOOK: Lineage: p PARTITION(c=100).b EXPRESSION 
[(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, 
type:string, comment:), ]
+PREHOOK: query: analyze table p partition(c=100) compute statistics for 
columns a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@p
+PREHOOK: Input: default@p@c=100
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table p partition(c=100) compute statistics for 
columns a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@p
+POSTHOOK: Input: default@p@c=100
+#### A masked pattern was here ####
+PREHOOK: query: explain select max(a) from p where c=100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select max(a) from p where c=100
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: 1
+      Processor Tree:
+        ListSink
+

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/alter_file_format.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alter_file_format.q.out 
b/ql/src/test/results/clientpositive/alter_file_format.q.out
index ca569be..e4be931 100644
--- a/ql/src/test/results/clientpositive/alter_file_format.q.out
+++ b/ql/src/test/results/clientpositive/alter_file_format.q.out
@@ -24,7 +24,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   
@@ -67,7 +67,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -111,7 +111,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -155,7 +155,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -199,7 +199,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -243,7 +243,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -287,7 +287,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -346,7 +346,7 @@ Database:                   default
 Table:                 alter_partition_format_test      
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   
@@ -394,7 +394,7 @@ Database:                   default
 Table:                 alter_partition_format_test      
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -443,7 +443,7 @@ Database:                   default
 Table:                 alter_partition_format_test      
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -492,7 +492,7 @@ Database:                   default
 Table:                 alter_partition_format_test      
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -541,7 +541,7 @@ Database:                   default
 Table:                 alter_partition_format_test      
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -590,7 +590,7 @@ Database:                   default
 Table:                 alter_partition_format_test      
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/alter_partition_clusterby_sortby.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/alter_partition_clusterby_sortby.q.out 
b/ql/src/test/results/clientpositive/alter_partition_clusterby_sortby.q.out
index 8bd9525..d67be56 100644
--- a/ql/src/test/results/clientpositive/alter_partition_clusterby_sortby.q.out
+++ b/ql/src/test/results/clientpositive/alter_partition_clusterby_sortby.q.out
@@ -44,7 +44,7 @@ Database:             default
 Table:                 alter_table_partition_clusterby_sortby   
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -93,7 +93,7 @@ Database:             default
 Table:                 alter_table_partition_clusterby_sortby   
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -142,7 +142,7 @@ Database:                   default
 Table:                 alter_table_partition_clusterby_sortby   
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/alter_skewed_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alter_skewed_table.q.out 
b/ql/src/test/results/clientpositive/alter_skewed_table.q.out
index fefef4c..e553267 100644
--- a/ql/src/test/results/clientpositive/alter_skewed_table.q.out
+++ b/ql/src/test/results/clientpositive/alter_skewed_table.q.out
@@ -24,7 +24,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   
@@ -67,7 +67,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -127,7 +127,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   
@@ -170,7 +170,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   
@@ -224,7 +224,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   
@@ -269,7 +269,7 @@ Retention:                  0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
 #### A masked pattern was here ####
        numFiles                0                   
        numRows                 0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/alter_table_add_partition.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alter_table_add_partition.q.out 
b/ql/src/test/results/clientpositive/alter_table_add_partition.q.out
index ae6624f..c96e5b4 100644
--- a/ql/src/test/results/clientpositive/alter_table_add_partition.q.out
+++ b/ql/src/test/results/clientpositive/alter_table_add_partition.q.out
@@ -114,7 +114,7 @@ Database:                   default
 Table:                 mp                       
 #### A masked pattern was here ####
 Partition Parameters:           
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/alter_table_not_sorted.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alter_table_not_sorted.q.out 
b/ql/src/test/results/clientpositive/alter_table_not_sorted.q.out
index 5afb7fa..5813207 100644
--- a/ql/src/test/results/clientpositive/alter_table_not_sorted.q.out
+++ b/ql/src/test/results/clientpositive/alter_table_not_sorted.q.out
@@ -24,7 +24,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
        SORTBUCKETCOLSPREFIX    TRUE                
        numFiles                0                   
        numRows                 0                   
@@ -68,7 +68,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
        SORTBUCKETCOLSPREFIX    TRUE                
 #### A masked pattern was here ####
        numFiles                0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/autoColumnStats_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_3.q.out 
b/ql/src/test/results/clientpositive/autoColumnStats_3.q.out
index b916eba..2f70095 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_3.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_3.q.out
@@ -36,7 +36,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\"}}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_4.q.out 
b/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
index 101cc63..c3ad192 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
@@ -24,7 +24,7 @@ Retention:            0
 #### A masked pattern was here ####
 Table Type:            MANAGED_TABLE            
 Table Parameters:               
-       COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
+       COLUMN_STATS_ACCURATE   
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/binary_output_format.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/binary_output_format.q.out 
b/ql/src/test/results/clientpositive/binary_output_format.q.out
index 96afeb6..ddb6adf 100644
--- a/ql/src/test/results/clientpositive/binary_output_format.q.out
+++ b/ql/src/test/results/clientpositive/binary_output_format.q.out
@@ -95,7 +95,7 @@ STAGE PLANS:
                       input format: org.apache.hadoop.mapred.TextInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
                       properties:
-                        COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                        COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
                         bucket_count -1
                         column.name.delimiter ,
                         columns mydata
@@ -187,7 +187,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns mydata
@@ -225,7 +225,7 @@ STAGE PLANS:
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: 
org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
                   properties:
-                    COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                    COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
                     bucket_count -1
                     column.name.delimiter ,
                     columns mydata
@@ -256,7 +256,7 @@ STAGE PLANS:
             input format: org.apache.hadoop.mapred.TextInputFormat
             output format: org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
             properties:
-              COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+              COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
               bucket_count -1
               column.name.delimiter ,
               columns mydata
@@ -278,7 +278,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns mydata
@@ -315,7 +315,7 @@ STAGE PLANS:
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: 
org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
                   properties:
-                    COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                    COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
                     bucket_count -1
                     column.name.delimiter ,
                     columns mydata
@@ -346,7 +346,7 @@ STAGE PLANS:
             input format: org.apache.hadoop.mapred.TextInputFormat
             output format: org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
             properties:
-              COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+              COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
               bucket_count -1
               column.name.delimiter ,
               columns mydata
@@ -368,7 +368,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"mydata":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns mydata

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/bucket1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket1.q.out 
b/ql/src/test/results/clientpositive/bucket1.q.out
index 78571aa..1d20473 100644
--- a/ql/src/test/results/clientpositive/bucket1.q.out
+++ b/ql/src/test/results/clientpositive/bucket1.q.out
@@ -107,7 +107,7 @@ STAGE PLANS:
                 input format: org.apache.hadoop.mapred.TextInputFormat
                 output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                 properties:
-                  COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                  COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value":"true"}}
                   bucket_count 100
                   bucket_field_name key
                   column.name.delimiter ,
@@ -139,7 +139,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value":"true"}}
                 bucket_count 100
                 bucket_field_name key
                 column.name.delimiter ,

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/bucket2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket2.q.out 
b/ql/src/test/results/clientpositive/bucket2.q.out
index a8e9f90..48ccafb 100644
--- a/ql/src/test/results/clientpositive/bucket2.q.out
+++ b/ql/src/test/results/clientpositive/bucket2.q.out
@@ -107,7 +107,7 @@ STAGE PLANS:
                 input format: org.apache.hadoop.mapred.TextInputFormat
                 output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                 properties:
-                  COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                  COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value":"true"}}
                   bucket_count 2
                   bucket_field_name key
                   column.name.delimiter ,
@@ -139,7 +139,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value":"true"}}
                 bucket_count 2
                 bucket_field_name key
                 column.name.delimiter ,

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out 
b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
index 5478f12..70cd53c 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
@@ -236,7 +236,7 @@ STAGE PLANS:
                           input format: 
org.apache.hadoop.mapred.TextInputFormat
                           output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           properties:
-                            COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                            COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value1":"true","value2":"true"}}
                             bucket_count -1
                             column.name.delimiter ,
                             columns key,value1,value2
@@ -370,7 +370,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value1":"true","value2":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns key,value1,value2

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out 
b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
index e335683..d0c3a1a 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
@@ -220,7 +220,7 @@ STAGE PLANS:
                           input format: 
org.apache.hadoop.mapred.TextInputFormat
                           output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           properties:
-                            COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                            COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value1":"true","value2":"true"}}
                             bucket_count -1
                             column.name.delimiter ,
                             columns key,value1,value2
@@ -354,7 +354,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value1":"true","value2":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns key,value1,value2

http://git-wip-us.apache.org/repos/asf/hive/blob/52a71e96/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out 
b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
index bd5a438..eed4a5a 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
@@ -220,7 +220,7 @@ STAGE PLANS:
                           input format: 
org.apache.hadoop.mapred.TextInputFormat
                           output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           properties:
-                            COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                            COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value1":"true","value2":"true"}}
                             bucket_count -1
                             column.name.delimiter ,
                             columns key,value1,value2
@@ -354,7 +354,7 @@ STAGE PLANS:
               input format: org.apache.hadoop.mapred.TextInputFormat
               output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
               properties:
-                COLUMN_STATS_ACCURATE {"BASIC_STATS":"true"}
+                COLUMN_STATS_ACCURATE 
{"BASIC_STATS":"true","COLUMN_STATS":{"key":"true","value1":"true","value2":"true"}}
                 bucket_count -1
                 column.name.delimiter ,
                 columns key,value1,value2

Reply via email to