HIVE-19532 : fix tests for master-txnstats branch - more tests (Sergey 
Shelukhin)


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

Branch: refs/heads/master-txnstats
Commit: f0a2fffa9e7044002c6b75219fd3da50b55c3e68
Parents: 174c674
Author: sergey <[email protected]>
Authored: Thu Jul 19 14:36:50 2018 -0700
Committer: sergey <[email protected]>
Committed: Thu Jul 19 14:36:50 2018 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/ql/io/AcidUtils.java |    4 +
 .../apache/hadoop/hive/ql/metadata/Hive.java    |   16 +-
 .../results/clientpositive/acid_stats4.q.out    |   39 +-
 .../alter_partition_update_status.q.out         |   12 +
 .../alter_table_update_status.q.out             |   76 +
 ..._table_update_status_disable_bitvector.q.out |   76 +
 .../clientpositive/compute_stats_date.q.out     |    4 +
 .../metastore/api/RenamePartitionRequest.java   | 1067 ++++++
 .../metastore/api/RenamePartitionResponse.java  |  283 ++
 .../hive/metastore/api/ThriftHiveMetastore.java | 3559 ++++++++++++------
 .../gen-php/metastore/ThriftHiveMetastore.php   | 2112 ++++++-----
 .../src/gen/thrift/gen-php/metastore/Types.php  |  294 ++
 .../hive_metastore/ThriftHiveMetastore-remote   |    7 +
 .../hive_metastore/ThriftHiveMetastore.py       | 1151 +++---
 .../gen/thrift/gen-py/hive_metastore/ttypes.py  |  206 +
 .../gen/thrift/gen-rb/hive_metastore_types.rb   |   47 +
 .../gen/thrift/gen-rb/thrift_hive_metastore.rb  |   66 +
 .../hadoop/hive/metastore/HiveAlterHandler.java |    3 +-
 .../hadoop/hive/metastore/HiveMetaStore.java    |   23 +-
 .../hive/metastore/HiveMetaStoreClient.java     |   12 +-
 .../hadoop/hive/metastore/IMetaStoreClient.java |    3 +-
 .../hadoop/hive/metastore/txn/TxnDbUtil.java    |   13 +
 .../src/main/thrift/hive_metastore.thrift       |   16 +
 .../HiveMetaStoreClientPreCatalog.java          |    4 +-
 .../metastore/client/TestAlterPartitions.java   |    2 +-
 25 files changed, 6425 insertions(+), 2670 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java 
b/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
index f356682..9b66bcf 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
@@ -1660,11 +1660,15 @@ public class AcidUtils {
   }
 
 
+  /** Note: this is generally called in Hive.java; so, the callers of 
Hive.java make sure
+   *        to set up the acid state during compile, and Hive.java retrieves 
it if needed. */
   public static TableSnapshot getTableSnapshot(
       Configuration conf, Table tbl, boolean isStatsUpdater) throws 
LockException {
     return getTableSnapshot(conf, tbl, tbl.getDbName(), tbl.getTableName(), 
isStatsUpdater);
   }
 
+  /** Note: this is generally called in Hive.java; so, the callers of 
Hive.java make sure
+   *        to set up the acid state during compile, and Hive.java retrieves 
it if needed. */
   public static TableSnapshot getTableSnapshot(Configuration conf,
       Table tbl, String dbName, String tblName, boolean isStatsUpdater)
       throws LockException, AssertionError {

http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/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 f3ab6a1..a9accbf 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
@@ -828,8 +828,20 @@ public class Hive {
           pvals.add(val);
         }
       }
-      getMSC().renamePartition(tbl.getDbName(), tbl.getTableName(), pvals,
-          newPart.getTPartition());
+      String validWriteIds = null;
+      long txnId = -1;
+      if (AcidUtils.isTransactionalTable(tbl)) {
+        // Set table snapshot to api.Table to make it persistent.
+        TableSnapshot tableSnapshot = AcidUtils.getTableSnapshot(conf, tbl, 
true);
+        if (tableSnapshot != null) {
+          newPart.getTPartition().setWriteId(tableSnapshot.getWriteId());
+          txnId = tableSnapshot.getTxnId();
+          validWriteIds = tableSnapshot.getValidWriteIdList();
+        }
+      }
+
+      getMSC().renamePartition(tbl.getCatName(), tbl.getDbName(), 
tbl.getTableName(), pvals,
+          newPart.getTPartition(), txnId, validWriteIds);
 
     } catch (InvalidOperationException e){
       throw new HiveException("Unable to rename partition. " + e.getMessage(), 
e);

http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/ql/src/test/results/clientpositive/acid_stats4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/acid_stats4.q.out 
b/ql/src/test/results/clientpositive/acid_stats4.q.out
index bfb8898..afd5adb 100644
--- a/ql/src/test/results/clientpositive/acid_stats4.q.out
+++ b/ql/src/test/results/clientpositive/acid_stats4.q.out
@@ -300,47 +300,12 @@ PREHOOK: type: QUERY
 POSTHOOK: query: explain select count(key) from stats_part
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-0 depends on stages: Stage-1
+  Stage-0 is a root stage
 
 STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: stats_part
-            Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column 
stats: COMPLETE
-            Select Operator
-              expressions: key (type: int)
-              outputColumnNames: key
-              Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE 
Column stats: COMPLETE
-              Group By Operator
-                aggregations: count(key)
-                mode: hash
-                outputColumnNames: _col0
-                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: COMPLETE
-                Reduce Output Operator
-                  sort order: 
-                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: COMPLETE
-                  value expressions: _col0 (type: bigint)
-      Execution mode: vectorized
-      Reduce Operator Tree:
-        Group By Operator
-          aggregations: count(VALUE._col0)
-          mode: mergepartial
-          outputColumnNames: _col0
-          Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column 
stats: COMPLETE
-          File Output Operator
-            compressed: false
-            Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column 
stats: COMPLETE
-            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
+      limit: 1
       Processor Tree:
         ListSink
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/ql/src/test/results/clientpositive/alter_partition_update_status.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/alter_partition_update_status.q.out 
b/ql/src/test/results/clientpositive/alter_partition_update_status.q.out
index 09dda34..3ad935a 100644
--- a/ql/src/test/results/clientpositive/alter_partition_update_status.q.out
+++ b/ql/src/test/results/clientpositive/alter_partition_update_status.q.out
@@ -52,8 +52,12 @@ bitVector            HL
 comment                from deserializer                                       
                                         
 PREHOOK: query: ALTER TABLE src_stat_part_one PARTITION(partitionId=1) UPDATE 
STATISTICS for column key SET ('numDVs'='11','avgColLen'='2.2')
 PREHOOK: type: ALTERTABLE_UPDATEPARTSTATS
+PREHOOK: Input: default@src_stat_part_one
+PREHOOK: Output: default@src_stat_part_one@partitionid=1
 POSTHOOK: query: ALTER TABLE src_stat_part_one PARTITION(partitionId=1) UPDATE 
STATISTICS for column key SET ('numDVs'='11','avgColLen'='2.2')
 POSTHOOK: type: ALTERTABLE_UPDATEPARTSTATS
+POSTHOOK: Input: default@src_stat_part_one
+POSTHOOK: Output: default@src_stat_part_one@partitionid=1
 PREHOOK: query: describe formatted src_stat_part_one PARTITION(partitionId=1) 
key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_part_one
@@ -126,8 +130,12 @@ bitVector                  HL
 comment                from deserializer                                       
                                         
 PREHOOK: query: ALTER TABLE src_stat_part_two PARTITION(px=1, py='a') UPDATE 
STATISTICS for column key SET ('numDVs'='30','maxColLen'='40')
 PREHOOK: type: ALTERTABLE_UPDATEPARTSTATS
+PREHOOK: Input: default@src_stat_part_two
+PREHOOK: Output: default@src_stat_part_two@px=1/py=a
 POSTHOOK: query: ALTER TABLE src_stat_part_two PARTITION(px=1, py='a') UPDATE 
STATISTICS for column key SET ('numDVs'='30','maxColLen'='40')
 POSTHOOK: type: ALTERTABLE_UPDATEPARTSTATS
+POSTHOOK: Input: default@src_stat_part_two
+POSTHOOK: Output: default@src_stat_part_two@px=1/py=a
 PREHOOK: query: describe formatted src_stat_part_two PARTITION(px=1, py='a') 
key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_part_two
@@ -160,8 +168,12 @@ POSTHOOK: type: SWITCHDATABASE
 POSTHOOK: Input: database:dummydb
 PREHOOK: query: ALTER TABLE default.src_stat_part_two PARTITION(px=1, py='a') 
UPDATE STATISTICS for column key SET ('numDVs'='40','maxColLen'='50')
 PREHOOK: type: ALTERTABLE_UPDATEPARTSTATS
+PREHOOK: Input: default@src_stat_part_two
+PREHOOK: Output: default@src_stat_part_two@px=1/py=a
 POSTHOOK: query: ALTER TABLE default.src_stat_part_two PARTITION(px=1, py='a') 
UPDATE STATISTICS for column key SET ('numDVs'='40','maxColLen'='50')
 POSTHOOK: type: ALTERTABLE_UPDATEPARTSTATS
+POSTHOOK: Input: default@src_stat_part_two
+POSTHOOK: Output: default@src_stat_part_two@px=1/py=a
 PREHOOK: query: describe formatted default.src_stat_part_two PARTITION(px=1, 
py='a') key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_part_two

http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/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 ce3ff4c..b855379 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
@@ -63,8 +63,12 @@ comment              from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\"}}                  
                                                         
 PREHOOK: query: ALTER TABLE src_stat_n0 UPDATE STATISTICS for column key SET 
('numDVs'='1111','avgColLen'='1.111')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat_n0
+PREHOOK: Output: default@src_stat_n0
 POSTHOOK: query: ALTER TABLE src_stat_n0 UPDATE STATISTICS for column key SET 
('numDVs'='1111','avgColLen'='1.111')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat_n0
+POSTHOOK: Output: default@src_stat_n0
 PREHOOK: query: describe formatted src_stat_n0 key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_n0
@@ -86,8 +90,12 @@ comment              from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\"}}                  
                                                         
 PREHOOK: query: ALTER TABLE src_stat_n0 UPDATE STATISTICS for column value SET 
('numDVs'='121','numNulls'='122','avgColLen'='1.23','maxColLen'='124')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat_n0
+PREHOOK: Output: default@src_stat_n0
 POSTHOOK: query: ALTER TABLE src_stat_n0 UPDATE STATISTICS for column value 
SET ('numDVs'='121','numNulls'='122','avgColLen'='1.23','maxColLen'='124')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat_n0
+POSTHOOK: Output: default@src_stat_n0
 PREHOOK: query: describe formatted src_stat_n0 value
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_n0
@@ -138,8 +146,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\"}}                  
                                                         
 PREHOOK: query: ALTER TABLE src_stat_int_n0 UPDATE STATISTICS for column key 
SET ('numDVs'='2222','lowValue'='333.22','highValue'='22.22')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat_int_n0
+PREHOOK: Output: default@src_stat_int_n0
 POSTHOOK: query: ALTER TABLE src_stat_int_n0 UPDATE STATISTICS for column key 
SET ('numDVs'='2222','lowValue'='333.22','highValue'='22.22')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat_int_n0
+POSTHOOK: Output: default@src_stat_int_n0
 PREHOOK: query: describe formatted src_stat_int_n0 key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_int_n0
@@ -173,8 +185,12 @@ POSTHOOK: type: SWITCHDATABASE
 POSTHOOK: Input: database:dummydb
 PREHOOK: query: ALTER TABLE default.src_stat_n0 UPDATE STATISTICS for column 
key SET ('numDVs'='3333','avgColLen'='2.222')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat_n0
+PREHOOK: Output: default@src_stat_n0
 POSTHOOK: query: ALTER TABLE default.src_stat_n0 UPDATE STATISTICS for column 
key SET ('numDVs'='3333','avgColLen'='2.222')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat_n0
+POSTHOOK: Output: default@src_stat_n0
 PREHOOK: query: describe formatted default.src_stat_n0 key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_n0
@@ -196,8 +212,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
                                                                                
 PREHOOK: query: ALTER TABLE default.src_stat_n0 UPDATE STATISTICS for column 
value SET ('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat_n0
+PREHOOK: Output: default@src_stat_n0
 POSTHOOK: query: ALTER TABLE default.src_stat_n0 UPDATE STATISTICS for column 
value SET ('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat_n0
+POSTHOOK: Output: default@src_stat_n0
 PREHOOK: query: describe formatted default.src_stat_n0 value
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_n0
@@ -579,8 +599,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  {\"BASIC_STATS\":\"true\"}                              
                                                 
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column t SET ('numDVs'='232','numNulls'='233','highValue'='234','lowValue'='35')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column t SET ('numDVs'='232','numNulls'='233','highValue'='234','lowValue'='35')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 t
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -621,8 +645,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"t\":\"true\"}}                    
                                                         
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column s SET ('numDVs'='56','numNulls'='56','highValue'='489','lowValue'='25')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column s SET ('numDVs'='56','numNulls'='56','highValue'='489','lowValue'='25')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 s
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -663,8 +691,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"s\":\"true\",\"t\":\"true\"}}     
                                                                         
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column i SET ('numDVs'='59','numNulls'='1','highValue'='889','lowValue'='5')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column i SET ('numDVs'='59','numNulls'='1','highValue'='889','lowValue'='5')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 i
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -705,8 +737,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                               
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column b SET ('numDVs'='9','numNulls'='14','highValue'='89','lowValue'='8')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column b SET ('numDVs'='9','numNulls'='14','highValue'='89','lowValue'='8')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 b
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -747,8 +783,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                                
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column f SET 
('numDVs'='563','numNulls'='45','highValue'='2345.656','lowValue'='8.00')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column f SET 
('numDVs'='563','numNulls'='45','highValue'='2345.656','lowValue'='8.00')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 f
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -789,8 +829,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                                
 
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column d SET 
('numDVs'='5677','numNulls'='12','highValue'='560.3367','lowValue'='0.00455')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column d SET 
('numDVs'='5677','numNulls'='12','highValue'='560.3367','lowValue'='0.00455')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 d
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -831,8 +875,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                          
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column dem SET ('numDVs'='57','numNulls'='912','highValue'='560','lowValue'='0')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column dem SET ('numDVs'='57','numNulls'='912','highValue'='560','lowValue'='0')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 dem
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -873,8 +921,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                                
 
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column ts SET 
('numDVs'='7','numNulls'='12','highValue'='1357030923','lowValue'='1357030924')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column ts SET 
('numDVs'='7','numNulls'='12','highValue'='1357030923','lowValue'='1357030924')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 ts
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -915,8 +967,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\",\"ts\":\"true\"}}
                                                                                
 
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column dt SET 
('numDVs'='57','numNulls'='912','highValue'='2012-01-01','lowValue'='2001-02-04')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column dt SET 
('numDVs'='57','numNulls'='912','highValue'='2012-01-01','lowValue'='2001-02-04')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 dt
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -957,8 +1013,12 @@ comment                   from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\",\"ts\":\"true\"}}
                                                                                
 
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column str SET 
('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column str SET 
('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 str
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -999,8 +1059,12 @@ comment                   from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\"}}
                                                                                
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column v SET ('numDVs'='22','numNulls'='33','avgColLen'='4.40','maxColLen'='25')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column v SET ('numDVs'='22','numNulls'='33','avgColLen'='4.40','maxColLen'='25')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 v
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -1041,8 +1105,12 @@ comment                  from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}}
                                                                                
 
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column c SET ('numDVs'='2','numNulls'='03','avgColLen'='9.00','maxColLen'='58')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column c SET ('numDVs'='2','numNulls'='03','avgColLen'='9.00','maxColLen'='58')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 c
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -1083,8 +1151,12 @@ comment                  from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}}
                                                                          
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column bl SET ('numNulls'='1','numTrues'='9','numFalses'='8')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column bl SET ('numNulls'='1','numTrues'='9','numFalses'='8')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 bl
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0
@@ -1125,8 +1197,12 @@ comment                  from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}}
                                                                          
 PREHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column bin SET ('numNulls'='8','avgColLen'='2.0','maxColLen'='8')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats_n0
+PREHOOK: Output: default@datatype_stats_n0
 POSTHOOK: query: ALTER TABLE default.datatype_stats_n0 UPDATE STATISTICS for 
column bin SET ('numNulls'='8','avgColLen'='2.0','maxColLen'='8')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats_n0
+POSTHOOK: Output: default@datatype_stats_n0
 PREHOOK: query: DESC FORMATTED datatype_stats_n0 bin
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats_n0

http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/ql/src/test/results/clientpositive/alter_table_update_status_disable_bitvector.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/alter_table_update_status_disable_bitvector.q.out
 
b/ql/src/test/results/clientpositive/alter_table_update_status_disable_bitvector.q.out
index 726ec1b..fd4bb7b 100644
--- 
a/ql/src/test/results/clientpositive/alter_table_update_status_disable_bitvector.q.out
+++ 
b/ql/src/test/results/clientpositive/alter_table_update_status_disable_bitvector.q.out
@@ -63,8 +63,12 @@ comment              from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\"}}                  
                                                         
 PREHOOK: query: ALTER TABLE src_stat UPDATE STATISTICS for column key SET 
('numDVs'='1111','avgColLen'='1.111')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat
+PREHOOK: Output: default@src_stat
 POSTHOOK: query: ALTER TABLE src_stat UPDATE STATISTICS for column key SET 
('numDVs'='1111','avgColLen'='1.111')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat
+POSTHOOK: Output: default@src_stat
 PREHOOK: query: describe formatted src_stat key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat
@@ -86,8 +90,12 @@ comment              from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\"}}                  
                                                         
 PREHOOK: query: ALTER TABLE src_stat UPDATE STATISTICS for column value SET 
('numDVs'='121','numNulls'='122','avgColLen'='1.23','maxColLen'='124')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat
+PREHOOK: Output: default@src_stat
 POSTHOOK: query: ALTER TABLE src_stat UPDATE STATISTICS for column value SET 
('numDVs'='121','numNulls'='122','avgColLen'='1.23','maxColLen'='124')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat
+POSTHOOK: Output: default@src_stat
 PREHOOK: query: describe formatted src_stat value
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat
@@ -138,8 +146,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\"}}                  
                                                         
 PREHOOK: query: ALTER TABLE src_stat_int UPDATE STATISTICS for column key SET 
('numDVs'='2222','lowValue'='333.22','highValue'='22.22')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat_int
+PREHOOK: Output: default@src_stat_int
 POSTHOOK: query: ALTER TABLE src_stat_int UPDATE STATISTICS for column key SET 
('numDVs'='2222','lowValue'='333.22','highValue'='22.22')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat_int
+POSTHOOK: Output: default@src_stat_int
 PREHOOK: query: describe formatted src_stat_int key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat_int
@@ -173,8 +185,12 @@ POSTHOOK: type: SWITCHDATABASE
 POSTHOOK: Input: database:dummydb
 PREHOOK: query: ALTER TABLE default.src_stat UPDATE STATISTICS for column key 
SET ('numDVs'='3333','avgColLen'='2.222')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat
+PREHOOK: Output: default@src_stat
 POSTHOOK: query: ALTER TABLE default.src_stat UPDATE STATISTICS for column key 
SET ('numDVs'='3333','avgColLen'='2.222')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat
+POSTHOOK: Output: default@src_stat
 PREHOOK: query: describe formatted default.src_stat key
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat
@@ -196,8 +212,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"key\":\"true\",\"value\":\"true\"}}
                                                                                
 PREHOOK: query: ALTER TABLE default.src_stat UPDATE STATISTICS for column 
value SET ('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@src_stat
+PREHOOK: Output: default@src_stat
 POSTHOOK: query: ALTER TABLE default.src_stat UPDATE STATISTICS for column 
value SET ('numDVs'='232','numNulls'='233','avgColLen'='2.34','maxColLen'='235')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@src_stat
+POSTHOOK: Output: default@src_stat
 PREHOOK: query: describe formatted default.src_stat value
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@src_stat
@@ -579,8 +599,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  {\"BASIC_STATS\":\"true\"}                              
                                                 
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats t
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -621,8 +645,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"t\":\"true\"}}                    
                                                         
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats s
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -663,8 +691,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"s\":\"true\",\"t\":\"true\"}}     
                                                                         
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats i
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -705,8 +737,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                               
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats b
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -747,8 +783,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                                
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats f
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -789,8 +829,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                                
 
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats d
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -831,8 +875,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                          
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats dem
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -873,8 +921,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\"}}
                                                                                
 
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats ts
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -915,8 +967,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\",\"ts\":\"true\"}}
                                                                                
 
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats dt
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -957,8 +1013,12 @@ comment                   from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"t\":\"true\",\"ts\":\"true\"}}
                                                                                
 
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats str
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -999,8 +1059,12 @@ comment                   from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\"}}
                                                                                
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats v
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -1041,8 +1105,12 @@ comment                  from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}}
                                                                                
 
 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
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 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
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats c
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -1083,8 +1151,12 @@ comment                  from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}}
                                                                          
 PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for 
column bl SET ('numNulls'='1','numTrues'='9','numFalses'='8')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for 
column bl SET ('numNulls'='1','numTrues'='9','numFalses'='8')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats bl
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats
@@ -1125,8 +1197,12 @@ comment                  from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"b\":\"true\",\"bl\":\"true\",\"c\":\"true\",\"d\":\"true\",\"dem\":\"true\",\"dt\":\"true\",\"f\":\"true\",\"i\":\"true\",\"s\":\"true\",\"str\":\"true\",\"t\":\"true\",\"ts\":\"true\",\"v\":\"true\"}}
                                                                          
 PREHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for 
column bin SET ('numNulls'='8','avgColLen'='2.0','maxColLen'='8')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@datatype_stats
+PREHOOK: Output: default@datatype_stats
 POSTHOOK: query: ALTER TABLE default.datatype_stats UPDATE STATISTICS for 
column bin SET ('numNulls'='8','avgColLen'='2.0','maxColLen'='8')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@datatype_stats
+POSTHOOK: Output: default@datatype_stats
 PREHOOK: query: DESC FORMATTED datatype_stats bin
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@datatype_stats

http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/ql/src/test/results/clientpositive/compute_stats_date.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/compute_stats_date.q.out 
b/ql/src/test/results/clientpositive/compute_stats_date.q.out
index 58d2d70..6715e05 100644
--- a/ql/src/test/results/clientpositive/compute_stats_date.q.out
+++ b/ql/src/test/results/clientpositive/compute_stats_date.q.out
@@ -127,8 +127,12 @@ comment                    from deserializer
 COLUMN_STATS_ACCURATE  
{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"fl_date\":\"true\"}}              
                                                                 
 PREHOOK: query: alter table tab_date update statistics for column fl_date set 
('numDVs'='19', 'highValue'='2015-01-01', 'lowValue'='0')
 PREHOOK: type: ALTERTABLE_UPDATETABLESTATS
+PREHOOK: Input: default@tab_date
+PREHOOK: Output: default@tab_date
 POSTHOOK: query: alter table tab_date update statistics for column fl_date set 
('numDVs'='19', 'highValue'='2015-01-01', 'lowValue'='0')
 POSTHOOK: type: ALTERTABLE_UPDATETABLESTATS
+POSTHOOK: Input: default@tab_date
+POSTHOOK: Output: default@tab_date
 PREHOOK: query: describe formatted tab_date fl_date
 PREHOOK: type: DESCTABLE
 PREHOOK: Input: default@tab_date

http://git-wip-us.apache.org/repos/asf/hive/blob/f0a2fffa/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RenamePartitionRequest.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RenamePartitionRequest.java
 
b/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RenamePartitionRequest.java
new file mode 100644
index 0000000..e4ffe11
--- /dev/null
+++ 
b/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RenamePartitionRequest.java
@@ -0,0 +1,1067 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hive.metastore.api;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
[email protected] 
@org.apache.hadoop.classification.InterfaceStability.Stable public class 
RenamePartitionRequest implements 
org.apache.thrift.TBase<RenamePartitionRequest, 
RenamePartitionRequest._Fields>, java.io.Serializable, Cloneable, 
Comparable<RenamePartitionRequest> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("RenamePartitionRequest");
+
+  private static final org.apache.thrift.protocol.TField CAT_NAME_FIELD_DESC = 
new org.apache.thrift.protocol.TField("catName", 
org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField DB_NAME_FIELD_DESC = 
new org.apache.thrift.protocol.TField("dbName", 
org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField TABLE_NAME_FIELD_DESC 
= new org.apache.thrift.protocol.TField("tableName", 
org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField PART_VALS_FIELD_DESC 
= new org.apache.thrift.protocol.TField("partVals", 
org.apache.thrift.protocol.TType.LIST, (short)4);
+  private static final org.apache.thrift.protocol.TField NEW_PART_FIELD_DESC = 
new org.apache.thrift.protocol.TField("newPart", 
org.apache.thrift.protocol.TType.STRUCT, (short)5);
+  private static final org.apache.thrift.protocol.TField TXN_ID_FIELD_DESC = 
new org.apache.thrift.protocol.TField("txnId", 
org.apache.thrift.protocol.TType.I64, (short)6);
+  private static final org.apache.thrift.protocol.TField 
VALID_WRITE_ID_LIST_FIELD_DESC = new 
org.apache.thrift.protocol.TField("validWriteIdList", 
org.apache.thrift.protocol.TType.STRING, (short)7);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = 
new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new 
RenamePartitionRequestStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new 
RenamePartitionRequestTupleSchemeFactory());
+  }
+
+  private String catName; // optional
+  private String dbName; // required
+  private String tableName; // required
+  private List<String> partVals; // required
+  private Partition newPart; // required
+  private long txnId; // optional
+  private String validWriteIdList; // optional
+
+  /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    CAT_NAME((short)1, "catName"),
+    DB_NAME((short)2, "dbName"),
+    TABLE_NAME((short)3, "tableName"),
+    PART_VALS((short)4, "partVals"),
+    NEW_PART((short)5, "newPart"),
+    TXN_ID((short)6, "txnId"),
+    VALID_WRITE_ID_LIST((short)7, "validWriteIdList");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not 
found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // CAT_NAME
+          return CAT_NAME;
+        case 2: // DB_NAME
+          return DB_NAME;
+        case 3: // TABLE_NAME
+          return TABLE_NAME;
+        case 4: // PART_VALS
+          return PART_VALS;
+        case 5: // NEW_PART
+          return NEW_PART;
+        case 6: // TXN_ID
+          return TXN_ID;
+        case 7: // VALID_WRITE_ID_LIST
+          return VALID_WRITE_ID_LIST;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + 
fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __TXNID_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = 
{_Fields.CAT_NAME,_Fields.TXN_ID,_Fields.VALID_WRITE_ID_LIST};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> 
metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 
EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.CAT_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("catName", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DB_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("dbName", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TABLE_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("tableName", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PART_VALS, new 
org.apache.thrift.meta_data.FieldMetaData("partVals", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new 
org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.NEW_PART, new 
org.apache.thrift.meta_data.FieldMetaData("newPart", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new 
org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
 Partition.class)));
+    tmpMap.put(_Fields.TXN_ID, new 
org.apache.thrift.meta_data.FieldMetaData("txnId", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.VALID_WRITE_ID_LIST, new 
org.apache.thrift.meta_data.FieldMetaData("validWriteIdList", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(RenamePartitionRequest.class,
 metaDataMap);
+  }
+
+  public RenamePartitionRequest() {
+    this.txnId = -1L;
+
+  }
+
+  public RenamePartitionRequest(
+    String dbName,
+    String tableName,
+    List<String> partVals,
+    Partition newPart)
+  {
+    this();
+    this.dbName = dbName;
+    this.tableName = tableName;
+    this.partVals = partVals;
+    this.newPart = newPart;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public RenamePartitionRequest(RenamePartitionRequest other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetCatName()) {
+      this.catName = other.catName;
+    }
+    if (other.isSetDbName()) {
+      this.dbName = other.dbName;
+    }
+    if (other.isSetTableName()) {
+      this.tableName = other.tableName;
+    }
+    if (other.isSetPartVals()) {
+      List<String> __this__partVals = new ArrayList<String>(other.partVals);
+      this.partVals = __this__partVals;
+    }
+    if (other.isSetNewPart()) {
+      this.newPart = new Partition(other.newPart);
+    }
+    this.txnId = other.txnId;
+    if (other.isSetValidWriteIdList()) {
+      this.validWriteIdList = other.validWriteIdList;
+    }
+  }
+
+  public RenamePartitionRequest deepCopy() {
+    return new RenamePartitionRequest(this);
+  }
+
+  @Override
+  public void clear() {
+    this.catName = null;
+    this.dbName = null;
+    this.tableName = null;
+    this.partVals = null;
+    this.newPart = null;
+    this.txnId = -1L;
+
+    this.validWriteIdList = null;
+  }
+
+  public String getCatName() {
+    return this.catName;
+  }
+
+  public void setCatName(String catName) {
+    this.catName = catName;
+  }
+
+  public void unsetCatName() {
+    this.catName = null;
+  }
+
+  /** Returns true if field catName is set (has been assigned a value) and 
false otherwise */
+  public boolean isSetCatName() {
+    return this.catName != null;
+  }
+
+  public void setCatNameIsSet(boolean value) {
+    if (!value) {
+      this.catName = null;
+    }
+  }
+
+  public String getDbName() {
+    return this.dbName;
+  }
+
+  public void setDbName(String dbName) {
+    this.dbName = dbName;
+  }
+
+  public void unsetDbName() {
+    this.dbName = null;
+  }
+
+  /** Returns true if field dbName is set (has been assigned a value) and 
false otherwise */
+  public boolean isSetDbName() {
+    return this.dbName != null;
+  }
+
+  public void setDbNameIsSet(boolean value) {
+    if (!value) {
+      this.dbName = null;
+    }
+  }
+
+  public String getTableName() {
+    return this.tableName;
+  }
+
+  public void setTableName(String tableName) {
+    this.tableName = tableName;
+  }
+
+  public void unsetTableName() {
+    this.tableName = null;
+  }
+
+  /** Returns true if field tableName is set (has been assigned a value) and 
false otherwise */
+  public boolean isSetTableName() {
+    return this.tableName != null;
+  }
+
+  public void setTableNameIsSet(boolean value) {
+    if (!value) {
+      this.tableName = null;
+    }
+  }
+
+  public int getPartValsSize() {
+    return (this.partVals == null) ? 0 : this.partVals.size();
+  }
+
+  public java.util.Iterator<String> getPartValsIterator() {
+    return (this.partVals == null) ? null : this.partVals.iterator();
+  }
+
+  public void addToPartVals(String elem) {
+    if (this.partVals == null) {
+      this.partVals = new ArrayList<String>();
+    }
+    this.partVals.add(elem);
+  }
+
+  public List<String> getPartVals() {
+    return this.partVals;
+  }
+
+  public void setPartVals(List<String> partVals) {
+    this.partVals = partVals;
+  }
+
+  public void unsetPartVals() {
+    this.partVals = null;
+  }
+
+  /** Returns true if field partVals is set (has been assigned a value) and 
false otherwise */
+  public boolean isSetPartVals() {
+    return this.partVals != null;
+  }
+
+  public void setPartValsIsSet(boolean value) {
+    if (!value) {
+      this.partVals = null;
+    }
+  }
+
+  public Partition getNewPart() {
+    return this.newPart;
+  }
+
+  public void setNewPart(Partition newPart) {
+    this.newPart = newPart;
+  }
+
+  public void unsetNewPart() {
+    this.newPart = null;
+  }
+
+  /** Returns true if field newPart is set (has been assigned a value) and 
false otherwise */
+  public boolean isSetNewPart() {
+    return this.newPart != null;
+  }
+
+  public void setNewPartIsSet(boolean value) {
+    if (!value) {
+      this.newPart = null;
+    }
+  }
+
+  public long getTxnId() {
+    return this.txnId;
+  }
+
+  public void setTxnId(long txnId) {
+    this.txnId = txnId;
+    setTxnIdIsSet(true);
+  }
+
+  public void unsetTxnId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, 
__TXNID_ISSET_ID);
+  }
+
+  /** Returns true if field txnId is set (has been assigned a value) and false 
otherwise */
+  public boolean isSetTxnId() {
+    return EncodingUtils.testBit(__isset_bitfield, __TXNID_ISSET_ID);
+  }
+
+  public void setTxnIdIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, 
__TXNID_ISSET_ID, value);
+  }
+
+  public String getValidWriteIdList() {
+    return this.validWriteIdList;
+  }
+
+  public void setValidWriteIdList(String validWriteIdList) {
+    this.validWriteIdList = validWriteIdList;
+  }
+
+  public void unsetValidWriteIdList() {
+    this.validWriteIdList = null;
+  }
+
+  /** Returns true if field validWriteIdList is set (has been assigned a 
value) and false otherwise */
+  public boolean isSetValidWriteIdList() {
+    return this.validWriteIdList != null;
+  }
+
+  public void setValidWriteIdListIsSet(boolean value) {
+    if (!value) {
+      this.validWriteIdList = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case CAT_NAME:
+      if (value == null) {
+        unsetCatName();
+      } else {
+        setCatName((String)value);
+      }
+      break;
+
+    case DB_NAME:
+      if (value == null) {
+        unsetDbName();
+      } else {
+        setDbName((String)value);
+      }
+      break;
+
+    case TABLE_NAME:
+      if (value == null) {
+        unsetTableName();
+      } else {
+        setTableName((String)value);
+      }
+      break;
+
+    case PART_VALS:
+      if (value == null) {
+        unsetPartVals();
+      } else {
+        setPartVals((List<String>)value);
+      }
+      break;
+
+    case NEW_PART:
+      if (value == null) {
+        unsetNewPart();
+      } else {
+        setNewPart((Partition)value);
+      }
+      break;
+
+    case TXN_ID:
+      if (value == null) {
+        unsetTxnId();
+      } else {
+        setTxnId((Long)value);
+      }
+      break;
+
+    case VALID_WRITE_ID_LIST:
+      if (value == null) {
+        unsetValidWriteIdList();
+      } else {
+        setValidWriteIdList((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case CAT_NAME:
+      return getCatName();
+
+    case DB_NAME:
+      return getDbName();
+
+    case TABLE_NAME:
+      return getTableName();
+
+    case PART_VALS:
+      return getPartVals();
+
+    case NEW_PART:
+      return getNewPart();
+
+    case TXN_ID:
+      return getTxnId();
+
+    case VALID_WRITE_ID_LIST:
+      return getValidWriteIdList();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned 
a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case CAT_NAME:
+      return isSetCatName();
+    case DB_NAME:
+      return isSetDbName();
+    case TABLE_NAME:
+      return isSetTableName();
+    case PART_VALS:
+      return isSetPartVals();
+    case NEW_PART:
+      return isSetNewPart();
+    case TXN_ID:
+      return isSetTxnId();
+    case VALID_WRITE_ID_LIST:
+      return isSetValidWriteIdList();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof RenamePartitionRequest)
+      return this.equals((RenamePartitionRequest)that);
+    return false;
+  }
+
+  public boolean equals(RenamePartitionRequest that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_catName = true && this.isSetCatName();
+    boolean that_present_catName = true && that.isSetCatName();
+    if (this_present_catName || that_present_catName) {
+      if (!(this_present_catName && that_present_catName))
+        return false;
+      if (!this.catName.equals(that.catName))
+        return false;
+    }
+
+    boolean this_present_dbName = true && this.isSetDbName();
+    boolean that_present_dbName = true && that.isSetDbName();
+    if (this_present_dbName || that_present_dbName) {
+      if (!(this_present_dbName && that_present_dbName))
+        return false;
+      if (!this.dbName.equals(that.dbName))
+        return false;
+    }
+
+    boolean this_present_tableName = true && this.isSetTableName();
+    boolean that_present_tableName = true && that.isSetTableName();
+    if (this_present_tableName || that_present_tableName) {
+      if (!(this_present_tableName && that_present_tableName))
+        return false;
+      if (!this.tableName.equals(that.tableName))
+        return false;
+    }
+
+    boolean this_present_partVals = true && this.isSetPartVals();
+    boolean that_present_partVals = true && that.isSetPartVals();
+    if (this_present_partVals || that_present_partVals) {
+      if (!(this_present_partVals && that_present_partVals))
+        return false;
+      if (!this.partVals.equals(that.partVals))
+        return false;
+    }
+
+    boolean this_present_newPart = true && this.isSetNewPart();
+    boolean that_present_newPart = true && that.isSetNewPart();
+    if (this_present_newPart || that_present_newPart) {
+      if (!(this_present_newPart && that_present_newPart))
+        return false;
+      if (!this.newPart.equals(that.newPart))
+        return false;
+    }
+
+    boolean this_present_txnId = true && this.isSetTxnId();
+    boolean that_present_txnId = true && that.isSetTxnId();
+    if (this_present_txnId || that_present_txnId) {
+      if (!(this_present_txnId && that_present_txnId))
+        return false;
+      if (this.txnId != that.txnId)
+        return false;
+    }
+
+    boolean this_present_validWriteIdList = true && 
this.isSetValidWriteIdList();
+    boolean that_present_validWriteIdList = true && 
that.isSetValidWriteIdList();
+    if (this_present_validWriteIdList || that_present_validWriteIdList) {
+      if (!(this_present_validWriteIdList && that_present_validWriteIdList))
+        return false;
+      if (!this.validWriteIdList.equals(that.validWriteIdList))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_catName = true && (isSetCatName());
+    list.add(present_catName);
+    if (present_catName)
+      list.add(catName);
+
+    boolean present_dbName = true && (isSetDbName());
+    list.add(present_dbName);
+    if (present_dbName)
+      list.add(dbName);
+
+    boolean present_tableName = true && (isSetTableName());
+    list.add(present_tableName);
+    if (present_tableName)
+      list.add(tableName);
+
+    boolean present_partVals = true && (isSetPartVals());
+    list.add(present_partVals);
+    if (present_partVals)
+      list.add(partVals);
+
+    boolean present_newPart = true && (isSetNewPart());
+    list.add(present_newPart);
+    if (present_newPart)
+      list.add(newPart);
+
+    boolean present_txnId = true && (isSetTxnId());
+    list.add(present_txnId);
+    if (present_txnId)
+      list.add(txnId);
+
+    boolean present_validWriteIdList = true && (isSetValidWriteIdList());
+    list.add(present_validWriteIdList);
+    if (present_validWriteIdList)
+      list.add(validWriteIdList);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(RenamePartitionRequest other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = 
Boolean.valueOf(isSetCatName()).compareTo(other.isSetCatName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCatName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.catName, 
other.catName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = 
Boolean.valueOf(isSetDbName()).compareTo(other.isSetDbName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDbName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dbName, 
other.dbName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = 
Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTableName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tableName, 
other.tableName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = 
Boolean.valueOf(isSetPartVals()).compareTo(other.isSetPartVals());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPartVals()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partVals, 
other.partVals);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = 
Boolean.valueOf(isSetNewPart()).compareTo(other.isSetNewPart());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNewPart()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newPart, 
other.newPart);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = 
Boolean.valueOf(isSetTxnId()).compareTo(other.isSetTxnId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTxnId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.txnId, 
other.txnId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = 
Boolean.valueOf(isSetValidWriteIdList()).compareTo(other.isSetValidWriteIdList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetValidWriteIdList()) {
+      lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.validWriteIdList, 
other.validWriteIdList);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws 
org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws 
org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("RenamePartitionRequest(");
+    boolean first = true;
+
+    if (isSetCatName()) {
+      sb.append("catName:");
+      if (this.catName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.catName);
+      }
+      first = false;
+    }
+    if (!first) sb.append(", ");
+    sb.append("dbName:");
+    if (this.dbName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.dbName);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("tableName:");
+    if (this.tableName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.tableName);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("partVals:");
+    if (this.partVals == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.partVals);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("newPart:");
+    if (this.newPart == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.newPart);
+    }
+    first = false;
+    if (isSetTxnId()) {
+      if (!first) sb.append(", ");
+      sb.append("txnId:");
+      sb.append(this.txnId);
+      first = false;
+    }
+    if (isSetValidWriteIdList()) {
+      if (!first) sb.append(", ");
+      sb.append("validWriteIdList:");
+      if (this.validWriteIdList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.validWriteIdList);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetDbName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 
'dbName' is unset! Struct:" + toString());
+    }
+
+    if (!isSetTableName()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 
'tableName' is unset! Struct:" + toString());
+    }
+
+    if (!isSetPartVals()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 
'partVals' is unset! Struct:" + toString());
+    }
+
+    if (!isSetNewPart()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 
'newPart' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (newPart != null) {
+      newPart.validate();
+    }
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws 
java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws 
java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java 
serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class RenamePartitionRequestStandardSchemeFactory implements 
SchemeFactory {
+    public RenamePartitionRequestStandardScheme getScheme() {
+      return new RenamePartitionRequestStandardScheme();
+    }
+  }
+
+  private static class RenamePartitionRequestStandardScheme extends 
StandardScheme<RenamePartitionRequest> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, 
RenamePartitionRequest struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // CAT_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.catName = iprot.readString();
+              struct.setCatNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          case 2: // DB_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.dbName = iprot.readString();
+              struct.setDbNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          case 3: // TABLE_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.tableName = iprot.readString();
+              struct.setTableNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          case 4: // PART_VALS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list960 = 
iprot.readListBegin();
+                struct.partVals = new ArrayList<String>(_list960.size);
+                String _elem961;
+                for (int _i962 = 0; _i962 < _list960.size; ++_i962)
+                {
+                  _elem961 = iprot.readString();
+                  struct.partVals.add(_elem961);
+                }
+                iprot.readListEnd();
+              }
+              struct.setPartValsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          case 5: // NEW_PART
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.newPart = new Partition();
+              struct.newPart.read(iprot);
+              struct.setNewPartIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          case 6: // TXN_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.txnId = iprot.readI64();
+              struct.setTxnIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          case 7: // VALID_WRITE_ID_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.validWriteIdList = iprot.readString();
+              struct.setValidWriteIdListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, 
RenamePartitionRequest struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.catName != null) {
+        if (struct.isSetCatName()) {
+          oprot.writeFieldBegin(CAT_NAME_FIELD_DESC);
+          oprot.writeString(struct.catName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.dbName != null) {
+        oprot.writeFieldBegin(DB_NAME_FIELD_DESC);
+        oprot.writeString(struct.dbName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.tableName != null) {
+        oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
+        oprot.writeString(struct.tableName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.partVals != null) {
+        oprot.writeFieldBegin(PART_VALS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
struct.partVals.size()));
+          for (String _iter963 : struct.partVals)
+          {
+            oprot.writeString(_iter963);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.newPart != null) {
+        oprot.writeFieldBegin(NEW_PART_FIELD_DESC);
+        struct.newPart.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTxnId()) {
+        oprot.writeFieldBegin(TXN_ID_FIELD_DESC);
+        oprot.writeI64(struct.txnId);
+        oprot.writeFieldEnd();
+      }
+      if (struct.validWriteIdList != null) {
+        if (struct.isSetValidWriteIdList()) {
+          oprot.writeFieldBegin(VALID_WRITE_ID_LIST_FIELD_DESC);
+          oprot.writeString(struct.validWriteIdList);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class RenamePartitionRequestTupleSchemeFactory implements 
SchemeFactory {
+    public RenamePartitionRequestTupleScheme getScheme() {
+      return new RenamePartitionRequestTupleScheme();
+    }
+  }
+
+  private static class RenamePartitionRequestTupleScheme extends 
TupleScheme<RenamePartitionRequest> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, 
RenamePartitionRequest struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.dbName);
+      oprot.writeString(struct.tableName);
+      {
+        oprot.writeI32(struct.partVals.size());
+        for (String _iter964 : struct.partVals)
+        {
+          oprot.writeString(_iter964);
+        }
+      }
+      struct.newPart.write(oprot);
+      BitSet optionals = new BitSet();
+      if (struct.isSetCatName()) {
+        optionals.set(0);
+      }
+      if (struct.isSetTxnId()) {
+        optionals.set(1);
+      }
+      if (struct.isSetValidWriteIdList()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetCatName()) {
+        oprot.writeString(struct.catName);
+      }
+      if (struct.isSetTxnId()) {
+        oprot.writeI64(struct.txnId);
+      }
+      if (struct.isSetValidWriteIdList()) {
+        oprot.writeString(struct.validWriteIdList);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, 
RenamePartitionRequest struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.dbName = iprot.readString();
+      struct.setDbNameIsSet(true);
+      struct.tableName = iprot.readString();
+      struct.setTableNameIsSet(true);
+      {
+        org.apache.thrift.protocol.TList _list965 = new 
org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, 
iprot.readI32());
+        struct.partVals = new ArrayList<String>(_list965.size);
+        String _elem966;
+        for (int _i967 = 0; _i967 < _list965.size; ++_i967)
+        {
+          _elem966 = iprot.readString();
+          struct.partVals.add(_elem966);
+        }
+      }
+      struct.setPartValsIsSet(true);
+      struct.newPart = new Partition();
+      struct.newPart.read(iprot);
+      struct.setNewPartIsSet(true);
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.catName = iprot.readString();
+        struct.setCatNameIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.txnId = iprot.readI64();
+        struct.setTxnIdIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.validWriteIdList = iprot.readString();
+        struct.setValidWriteIdListIsSet(true);
+      }
+    }
+  }
+
+}
+

Reply via email to