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

[03/13] hive git commit: HIVE-15003 : Update 'ALTER TABLE...UPDATE STATISTICS FOR COLUMN..' statement to support more data types (Vineet Garg via Ashutosh Chauhan)

HIVE-15003 : Update 'ALTER TABLE...UPDATE STATISTICS FOR COLUMN..' statement to support more data types (Vineet Garg via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


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

Branch: refs/heads/hive-14535
Commit: 27fb87cfcea241c2d7961baf68e84ce97f2dee7a
Parents: 345353c
Author: Vineet Garg <vg...@hortonworks.com>
Authored: Thu Nov 3 15:18:26 2016 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Thu Nov 3 15:18:26 2016 -0700

----------------------------------------------------------------------
 .../hive/ql/exec/ColumnStatsUpdateTask.java     |  14 +-
 .../clientpositive/alter_table_update_status.q  |  91 ++++
 .../alter_table_update_status.q.out             | 533 +++++++++++++++++++
 3 files changed, 633 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/27fb87cf/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsUpdateTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsUpdateTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsUpdateTask.java
index d6852dc..eb4488a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsUpdateTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnStatsUpdateTask.java
@@ -98,7 +98,9 @@ public class ColumnStatsUpdateTask extends Task<ColumnStatsUpdateWork> {
     
     String columnType = colType.get(0);
 
-    if (columnType.equalsIgnoreCase("long")) {
+    if (columnType.equalsIgnoreCase("long") || columnType.equalsIgnoreCase("tinyint")
+            || columnType.equalsIgnoreCase("smallint") || columnType.equalsIgnoreCase("int")
+            || columnType.equalsIgnoreCase("bigint")) {
       LongColumnStatsData longStats = new LongColumnStatsData();
       longStats.setNumNullsIsSet(false);
       longStats.setNumDVsIsSet(false);
@@ -123,7 +125,7 @@ public class ColumnStatsUpdateTask extends Task<ColumnStatsUpdateWork> {
       }
       statsData.setLongStats(longStats);
       statsObj.setStatsData(statsData);
-    } else if (columnType.equalsIgnoreCase("double")) {
+    } else if (columnType.equalsIgnoreCase("double") || columnType.equalsIgnoreCase("float")) {
       DoubleColumnStatsData doubleStats = new DoubleColumnStatsData();
       doubleStats.setNumNullsIsSet(false);
       doubleStats.setNumDVsIsSet(false);
@@ -147,7 +149,8 @@ public class ColumnStatsUpdateTask extends Task<ColumnStatsUpdateWork> {
       }
       statsData.setDoubleStats(doubleStats);
       statsObj.setStatsData(statsData);
-    } else if (columnType.equalsIgnoreCase("string")) {
+    } else if (columnType.equalsIgnoreCase("string") || columnType.toLowerCase().startsWith("char")
+              || columnType.toLowerCase().startsWith("varchar")) { //char(x),varchar(x) types
       StringColumnStatsData stringStats = new StringColumnStatsData();
       stringStats.setMaxColLenIsSet(false);
       stringStats.setAvgColLenIsSet(false);
@@ -213,7 +216,7 @@ public class ColumnStatsUpdateTask extends Task<ColumnStatsUpdateWork> {
       }
       statsData.setBinaryStats(binaryStats);
       statsObj.setStatsData(statsData);
-    } else if (columnType.equalsIgnoreCase("decimal")) {
+    } else if (columnType.toLowerCase().startsWith("decimal")) { //decimal(a,b) type
       DecimalColumnStatsData decimalStats = new DecimalColumnStatsData();
       decimalStats.setNumNullsIsSet(false);
       decimalStats.setNumDVsIsSet(false);
@@ -241,7 +244,8 @@ public class ColumnStatsUpdateTask extends Task<ColumnStatsUpdateWork> {
       }
       statsData.setDecimalStats(decimalStats);
       statsObj.setStatsData(statsData);
-    } else if (columnType.equalsIgnoreCase("date")) {
+    } else if (columnType.equalsIgnoreCase("date")
+            || columnType.equalsIgnoreCase("timestamp")) {
       DateColumnStatsData dateStats = new DateColumnStatsData();
       Map<String, String> mapProp = work.getMapProp();
       for (Entry<String, String> entry : mapProp.entrySet()) {

http://git-wip-us.apache.org/repos/asf/hive/blob/27fb87cf/ql/src/test/queries/clientpositive/alter_table_update_status.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/alter_table_update_status.q b/ql/src/test/queries/clientpositive/alter_table_update_status.q
index 18cf758..9415c97 100644
--- a/ql/src/test/queries/clientpositive/alter_table_update_status.q
+++ b/ql/src/test/queries/clientpositive/alter_table_update_status.q
@@ -44,3 +44,94 @@ describe formatted default.src_stat value;
 use default;
 
 drop database dummydb;
+
+create table datatype_stats(
+        t TINYINT,
+        s SMALLINT,
+        i INT,
+        b BIGINT,
+        f FLOAT,
+        d DOUBLE,
+        dem DECIMAL, --default decimal (10,0)
+        ts TIMESTAMP,
+        dt DATE,
+        str STRING,
+        v VARCHAR(12),
+        c CHAR(5),
+        bl BOOLEAN,
+        bin BINARY);
+
+INSERT INTO datatype_stats values(2, 3, 45, 456, 45454.4, 454.6565, 2355, '2012-01-01 01:02:03', '2012-01-01', 'update_statistics', 'stats', 'hive', 'true', 'bin');
+INSERT INTO datatype_stats values(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+DESC FORMATTED datatype_stats s;
+DESC FORMATTED datatype_stats i;
+DESC FORMATTED datatype_stats b;
+DESC FORMATTED datatype_stats f;
+DESC FORMATTED datatype_stats d;
+DESC FORMATTED datatype_stats dem;
+DESC FORMATTED datatype_stats ts;
+DESC FORMATTED datatype_stats dt;
+DESC FORMATTED datatype_stats str;
+DESC FORMATTED datatype_stats v;
+DESC FORMATTED datatype_stats c;
+DESC FORMATTED datatype_stats bl;
+DESC FORMATTED datatype_stats bin;
+
+--tinyint
+DESC FORMATTED datatype_stats t;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column t SET ('numDVs'='232','numNulls'='233','highValue'='234','lowValue'='35');
+DESC FORMATTED datatype_stats t;
+--smallint
+DESC FORMATTED datatype_stats s;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column s SET ('numDVs'='56','numNulls'='56','highValue'='489','lowValue'='25');
+DESC FORMATTED datatype_stats s;
+--int
+DESC FORMATTED datatype_stats i;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column i SET ('numDVs'='59','numNulls'='1','highValue'='889','lowValue'='5');
+DESC FORMATTED datatype_stats i;
+--bigint
+DESC FORMATTED datatype_stats b;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column b SET ('numDVs'='9','numNulls'='14','highValue'='89','lowValue'='8');
+DESC FORMATTED datatype_stats b;
+
+--float
+DESC FORMATTED datatype_stats f;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column f SET ('numDVs'='563','numNulls'='45','highValue'='2345.656','lowValue'='8.00');
+DESC FORMATTED datatype_stats f;
+--double
+DESC FORMATTED datatype_stats d;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column d SET ('numDVs'='5677','numNulls'='12','highValue'='560.3367','lowValue'='0.00455');
+DESC FORMATTED datatype_stats d;
+--decimal
+DESC FORMATTED datatype_stats dem;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column dem SET ('numDVs'='57','numNulls'='912','highValue'='560','lowValue'='0');
+DESC FORMATTED datatype_stats dem;
+--timestamp
+DESC FORMATTED datatype_stats ts;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column ts SET ('numDVs'='7','numNulls'='12','highValue'='1357030923','lowValue'='1357030924');
+DESC FORMATTED datatype_stats ts;
+--decimal
+DESC FORMATTED datatype_stats dt;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column dt SET ('numDVs'='57','numNulls'='912','highValue'='2012-01-01','lowValue'='2001-02-04');
+DESC FORMATTED datatype_stats dt;
+--string
+DESC FORMATTED datatype_stats str;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column str SET ('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235');
+DESC FORMATTED datatype_stats str;
+--varchar
+DESC FORMATTED datatype_stats v;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column v SET ('numDVs'='22','numNulls'='33','avgColLen'='4.40','maxColLen'='25');
+DESC FORMATTED datatype_stats v;
+--char
+DESC FORMATTED datatype_stats c;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column c SET ('numDVs'='2','numNulls'='03','avgColLen'='9.00','maxColLen'='58');
+DESC FORMATTED datatype_stats c;
+--boolean
+DESC FORMATTED datatype_stats bl;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column bl SET ('numNulls'='1','numTrues'='9','numFalses'='8');
+DESC FORMATTED datatype_stats bl;
+--binary
+DESC FORMATTED datatype_stats bin;
+ALTER TABLE default.datatype_stats UPDATE STATISTICS for column bin SET ('numNulls'='8','avgColLen'='2.0','maxColLen'='8');
+DESC FORMATTED datatype_stats bin;
+

http://git-wip-us.apache.org/repos/asf/hive/blob/27fb87cf/ql/src/test/results/clientpositive/alter_table_update_status.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alter_table_update_status.q.out b/ql/src/test/results/clientpositive/alter_table_update_status.q.out
index 6bb6e8e..38be523 100644
--- a/ql/src/test/results/clientpositive/alter_table_update_status.q.out
+++ b/ql/src/test/results/clientpositive/alter_table_update_status.q.out
@@ -157,3 +157,536 @@ POSTHOOK: query: drop database dummydb
 POSTHOOK: type: DROPDATABASE
 POSTHOOK: Input: database:dummydb
 POSTHOOK: Output: database:dummydb
+PREHOOK: query: create table datatype_stats(
+        t TINYINT,
+        s SMALLINT,
+        i INT,
+        b BIGINT,
+        f FLOAT,
+        d DOUBLE,
+        dem DECIMAL, --default decimal (10,0)
+        ts TIMESTAMP,
+        dt DATE,
+        str STRING,
+        v VARCHAR(12),
+        c CHAR(5),
+        bl BOOLEAN,
+        bin BINARY)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@datatype_stats
+POSTHOOK: query: create table datatype_stats(
+        t TINYINT,
+        s SMALLINT,
+        i INT,
+        b BIGINT,
+        f FLOAT,
+        d DOUBLE,
+        dem DECIMAL, --default decimal (10,0)
+        ts TIMESTAMP,
+        dt DATE,
+        str STRING,
+        v VARCHAR(12),
+        c CHAR(5),
+        bl BOOLEAN,
+        bin BINARY)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@datatype_stats
+PREHOOK: query: INSERT INTO datatype_stats values(2, 3, 45, 456, 45454.4, 454.6565, 2355, '2012-01-01 01:02:03', '2012-01-01', 'update_statistics', 'stats', 'hive', 'true', 'bin')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__1
+PREHOOK: Output: default@datatype_stats
+POSTHOOK: query: INSERT INTO datatype_stats values(2, 3, 45, 456, 45454.4, 454.6565, 2355, '2012-01-01 01:02:03', '2012-01-01', 'update_statistics', 'stats', 'hive', 'true', 'bin')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__1
+POSTHOOK: Output: default@datatype_stats
+POSTHOOK: Lineage: datatype_stats.b EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.bin EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col14, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.bl EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col13, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.c EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col12, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.d EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.dem EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.dt EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col9, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.f EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.i EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.s EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.str SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col10, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.t EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.ts EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.v EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col11, type:string, comment:), ]
+PREHOOK: query: INSERT INTO datatype_stats values(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__2
+PREHOOK: Output: default@datatype_stats
+POSTHOOK: query: INSERT INTO datatype_stats values(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__2
+POSTHOOK: Output: default@datatype_stats
+POSTHOOK: Lineage: datatype_stats.b EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.bin EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col14, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.bl EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col13, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col12, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.d EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col6, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.dem EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col7, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.dt EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col9, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.f EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col5, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.i EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.s EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.str SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col10, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.t EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.ts EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col8, type:string, comment:), ]
+POSTHOOK: Lineage: datatype_stats.v EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col11, type:string, comment:), ]
+PREHOOK: query: DESC FORMATTED datatype_stats s
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats s
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+s                   	smallint            	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats i
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats i
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+i                   	int                 	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats b
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats b
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+b                   	bigint              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats f
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats f
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+f                   	float               	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats d
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats d
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+d                   	double              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats dem
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats dem
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+dem                 	decimal(10,0)       	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats ts
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats ts
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+ts                  	timestamp           	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats dt
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats dt
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+dt                  	date                	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats str
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats str
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+str                 	string              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats v
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats v
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+v                   	varchar(12)         	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats c
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats c
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+c                   	char(5)             	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats bl
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats bl
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+bl                  	boolean             	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: DESC FORMATTED datatype_stats bin
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats bin
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+bin                 	binary              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --tinyint
+DESC FORMATTED datatype_stats t
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --tinyint
+DESC FORMATTED datatype_stats t
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+t                   	tinyint             	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column t SET ('numDVs'='232','numNulls'='233','highValue'='234','lowValue'='35')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column t SET ('numDVs'='232','numNulls'='233','highValue'='234','lowValue'='35')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats t
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats t
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+t                   	tinyint             	35                  	234                 	233                 	232                 	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --smallint
+DESC FORMATTED datatype_stats s
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --smallint
+DESC FORMATTED datatype_stats s
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+s                   	smallint            	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column s SET ('numDVs'='56','numNulls'='56','highValue'='489','lowValue'='25')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column s SET ('numDVs'='56','numNulls'='56','highValue'='489','lowValue'='25')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats s
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats s
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+s                   	smallint            	25                  	489                 	56                  	56                  	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --int
+DESC FORMATTED datatype_stats i
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --int
+DESC FORMATTED datatype_stats i
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+i                   	int                 	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column i SET ('numDVs'='59','numNulls'='1','highValue'='889','lowValue'='5')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column i SET ('numDVs'='59','numNulls'='1','highValue'='889','lowValue'='5')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats i
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats i
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+i                   	int                 	5                   	889                 	1                   	59                  	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --bigint
+DESC FORMATTED datatype_stats b
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --bigint
+DESC FORMATTED datatype_stats b
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+b                   	bigint              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column b SET ('numDVs'='9','numNulls'='14','highValue'='89','lowValue'='8')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column b SET ('numDVs'='9','numNulls'='14','highValue'='89','lowValue'='8')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats b
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats b
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+b                   	bigint              	8                   	89                  	14                  	9                   	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --float
+DESC FORMATTED datatype_stats f
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --float
+DESC FORMATTED datatype_stats f
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+f                   	float               	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column f SET ('numDVs'='563','numNulls'='45','highValue'='2345.656','lowValue'='8.00')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column f SET ('numDVs'='563','numNulls'='45','highValue'='2345.656','lowValue'='8.00')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats f
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats f
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+f                   	float               	8.0                 	2345.656            	45                  	563                 	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --double
+DESC FORMATTED datatype_stats d
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --double
+DESC FORMATTED datatype_stats d
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+d                   	double              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column d SET ('numDVs'='5677','numNulls'='12','highValue'='560.3367','lowValue'='0.00455')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column d SET ('numDVs'='5677','numNulls'='12','highValue'='560.3367','lowValue'='0.00455')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats d
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats d
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+d                   	double              	0.00455             	560.3367            	12                  	5677                	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --decimal
+DESC FORMATTED datatype_stats dem
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --decimal
+DESC FORMATTED datatype_stats dem
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+dem                 	decimal(10,0)       	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column dem SET ('numDVs'='57','numNulls'='912','highValue'='560','lowValue'='0')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column dem SET ('numDVs'='57','numNulls'='912','highValue'='560','lowValue'='0')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats dem
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats dem
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+dem                 	decimal(10,0)       	0                   	560                 	912                 	57                  	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --timestamp
+DESC FORMATTED datatype_stats ts
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --timestamp
+DESC FORMATTED datatype_stats ts
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+ts                  	timestamp           	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column ts SET ('numDVs'='7','numNulls'='12','highValue'='1357030923','lowValue'='1357030924')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column ts SET ('numDVs'='7','numNulls'='12','highValue'='1357030923','lowValue'='1357030924')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats ts
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats ts
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+ts                  	timestamp           	1357030924          	1357030923          	12                  	7                   	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --decimal
+DESC FORMATTED datatype_stats dt
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --decimal
+DESC FORMATTED datatype_stats dt
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+dt                  	date                	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column dt SET ('numDVs'='57','numNulls'='912','highValue'='2012-01-01','lowValue'='2001-02-04')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column dt SET ('numDVs'='57','numNulls'='912','highValue'='2012-01-01','lowValue'='2001-02-04')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats dt
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats dt
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+dt                  	date                	2001-02-04          	2012-01-01          	912                 	57                  	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: --string
+DESC FORMATTED datatype_stats str
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --string
+DESC FORMATTED datatype_stats str
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+str                 	string              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column str SET ('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column str SET ('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats str
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats str
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+str                 	string              	                    	                    	233                 	232                 	2.34                	235                 	                    	                    	from deserializer   
+PREHOOK: query: --varchar
+DESC FORMATTED datatype_stats v
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --varchar
+DESC FORMATTED datatype_stats v
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+v                   	varchar(12)         	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column v SET ('numDVs'='22','numNulls'='33','avgColLen'='4.40','maxColLen'='25')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column v SET ('numDVs'='22','numNulls'='33','avgColLen'='4.40','maxColLen'='25')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats v
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats v
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+v                   	varchar(12)         	                    	                    	33                  	22                  	4.4                 	25                  	                    	                    	from deserializer   
+PREHOOK: query: --char
+DESC FORMATTED datatype_stats c
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --char
+DESC FORMATTED datatype_stats c
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+c                   	char(5)             	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column c SET ('numDVs'='2','numNulls'='03','avgColLen'='9.00','maxColLen'='58')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column c SET ('numDVs'='2','numNulls'='03','avgColLen'='9.00','maxColLen'='58')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats c
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats c
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+c                   	char(5)             	                    	                    	3                   	2                   	9.0                 	58                  	                    	                    	from deserializer   
+PREHOOK: query: --boolean
+DESC FORMATTED datatype_stats bl
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --boolean
+DESC FORMATTED datatype_stats bl
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+bl                  	boolean             	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column bl SET ('numNulls'='1','numTrues'='9','numFalses'='8')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column bl SET ('numNulls'='1','numTrues'='9','numFalses'='8')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats bl
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats bl
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+bl                  	boolean             	                    	                    	1                   	                    	                    	                    	9                   	8                   	from deserializer   
+PREHOOK: query: --binary
+DESC FORMATTED datatype_stats bin
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: --binary
+DESC FORMATTED datatype_stats bin
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+bin                 	binary              	                    	                    	                    	                    	                    	                    	                    	                    	from deserializer   
+PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column bin SET ('numNulls'='8','avgColLen'='2.0','maxColLen'='8')
+PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for column bin SET ('numNulls'='8','avgColLen'='2.0','maxColLen'='8')
+POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: query: DESC FORMATTED datatype_stats bin
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@datatype_stats
+POSTHOOK: query: DESC FORMATTED datatype_stats bin
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@datatype_stats
+# col_name            	data_type           	min                 	max                 	num_nulls           	distinct_count      	avg_col_len         	max_col_len         	num_trues           	num_falses          	comment             
+	 	 	 	 	 	 	 	 	 	 
+bin                 	binary              	                    	                    	8                   	                    	2.0                 	8                   	                    	                    	from deserializer