You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by kg...@apache.org on 2018/03/07 08:19:18 UTC

[01/22] hive git commit: HIVE-17626: Query reoptimization using cached runtime statistics (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Repository: hive
Updated Branches:
  refs/heads/master cd8eda856 -> 7c22d74c8


http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out b/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
index 75a2908..2079233 100644
--- a/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
@@ -214,6 +214,13 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2100
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_5: 1
+   RECORDS_OUT_OPERATOR_GBY_3: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_2: 2100
+   RECORDS_OUT_OPERATOR_SEL_1: 2100
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 262144
    ALLOCATED_USED_BYTES: 26
@@ -242,6 +249,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -264,6 +274,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 1048576
    ALLOCATED_USED_BYTES: 2732
@@ -296,6 +314,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 22
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 22
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 22
+   RECORDS_OUT_OPERATOR_SEL_2: 22
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -326,6 +352,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 16
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 16
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 16
+   RECORDS_OUT_OPERATOR_SEL_2: 16
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -356,6 +390,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -386,6 +428,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 1
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 1
+   RECORDS_OUT_OPERATOR_SEL_2: 1
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -416,6 +466,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 32
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 32
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 32
+   RECORDS_OUT_OPERATOR_SEL_2: 32
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -446,6 +504,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 32
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 32
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 32
+   RECORDS_OUT_OPERATOR_SEL_2: 32
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -476,6 +542,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1697
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 1697
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 1697
+   RECORDS_OUT_OPERATOR_SEL_2: 1697
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -506,6 +580,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 12
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 12
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 12
+   RECORDS_OUT_OPERATOR_SEL_2: 12
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -536,6 +618,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1713
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 1713
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 1713
+   RECORDS_OUT_OPERATOR_SEL_2: 1713
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -566,6 +656,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -596,6 +694,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 50
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 50
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 50
+   RECORDS_OUT_OPERATOR_SEL_2: 50
+   RECORDS_OUT_OPERATOR_TS_0: 1100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -626,6 +732,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 318
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 318
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 318
+   RECORDS_OUT_OPERATOR_SEL_2: 318
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -653,6 +767,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -672,6 +789,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -694,6 +814,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 830
    CACHE_MISS_BYTES: 0
@@ -721,6 +849,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 830
    CACHE_MISS_BYTES: 0
@@ -745,6 +881,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -767,6 +906,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 1310720
    ALLOCATED_USED_BYTES: 13796
@@ -799,6 +946,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -829,6 +984,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -856,6 +1019,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -878,6 +1044,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2100
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2100
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2100
+   RECORDS_OUT_OPERATOR_SEL_2: 2100
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -908,6 +1082,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -935,6 +1117,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -965,6 +1155,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -995,6 +1193,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1025,6 +1231,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 81
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 81
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 81
+   RECORDS_OUT_OPERATOR_SEL_2: 81
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1055,6 +1269,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 74
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 74
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 74
+   RECORDS_OUT_OPERATOR_SEL_2: 74
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1085,6 +1307,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 12
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 12
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 12
+   RECORDS_OUT_OPERATOR_SEL_2: 12
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1115,6 +1345,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 13
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 13
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 13
+   RECORDS_OUT_OPERATOR_SEL_2: 13
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1145,6 +1383,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 1
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 1
+   RECORDS_OUT_OPERATOR_SEL_2: 1
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1175,6 +1421,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 7
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 7
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 7
+   RECORDS_OUT_OPERATOR_SEL_2: 7
+   RECORDS_OUT_OPERATOR_TS_0: 1100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1205,6 +1459,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -1232,6 +1494,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -1259,6 +1529,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -1286,6 +1564,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1316,6 +1602,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1346,6 +1640,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 6770
    CACHE_MISS_BYTES: 0
@@ -1376,6 +1678,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 6770
    CACHE_MISS_BYTES: 0
@@ -1406,6 +1716,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 524288
    ALLOCATED_USED_BYTES: 8527
@@ -1438,6 +1756,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 262144
    ALLOCATED_USED_BYTES: 2376
@@ -1470,6 +1796,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 4936
    CACHE_MISS_BYTES: 0
@@ -1500,6 +1834,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 6687
    CACHE_MISS_BYTES: 0
@@ -1530,6 +1872,12 @@ Stage-1 HIVE COUNTERS:
    DESERIALIZE_ERRORS: 0
    RECORDS_IN_Map_1: 98
    RECORDS_OUT_1_default.orc_ppd_1: 2
+   RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_OPERATOR_FIL_4: 2
+   RECORDS_OUT_OPERATOR_FS_3: 2
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 98
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 2359296
    ALLOCATED_USED_BYTES: 44166
@@ -1561,6 +1909,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 786432
    ALLOCATED_USED_BYTES: 65
@@ -1593,6 +1949,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 62
    CACHE_MISS_BYTES: 0
@@ -1623,6 +1987,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 62
    CACHE_MISS_BYTES: 0
@@ -1653,6 +2025,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 62
    CACHE_MISS_BYTES: 0

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/orc_ppd_schema_evol_3a.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_ppd_schema_evol_3a.q.out b/ql/src/test/results/clientpositive/llap/orc_ppd_schema_evol_3a.q.out
index d9572e7..405c9dd 100644
--- a/ql/src/test/results/clientpositive/llap/orc_ppd_schema_evol_3a.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_ppd_schema_evol_3a.q.out
@@ -214,6 +214,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 1048576
    ALLOCATED_USED_BYTES: 382
@@ -243,6 +251,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -265,6 +276,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -295,6 +314,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 262144
    ALLOCATED_USED_BYTES: 2376
@@ -327,6 +354,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -357,6 +392,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -391,6 +434,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -418,6 +469,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -440,6 +494,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -470,6 +532,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -500,6 +570,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -530,6 +608,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -564,6 +650,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -591,6 +685,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -613,6 +710,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -643,6 +748,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -673,6 +786,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -703,6 +824,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -737,6 +866,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -764,6 +901,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -786,6 +926,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -816,6 +964,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -846,6 +1002,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 359
    CACHE_MISS_BYTES: 0
@@ -876,6 +1040,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -910,6 +1082,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1566
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 1566
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 1566
+   RECORDS_OUT_OPERATOR_SEL_2: 1566
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -934,6 +1114,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1566
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 1566
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 1566
+   RECORDS_OUT_OPERATOR_SEL_2: 1566
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -958,6 +1146,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -982,6 +1178,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 8
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1006,6 +1210,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1030,6 +1242,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 18
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 18
+   RECORDS_OUT_OPERATOR_SEL_2: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1054,6 +1274,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 524288
    ALLOCATED_USED_BYTES: 8527
@@ -1086,6 +1314,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 262144
    ALLOCATED_USED_BYTES: 2376
@@ -1122,6 +1358,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1146,6 +1390,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1174,6 +1426,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1198,6 +1458,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 2
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 2
+   RECORDS_OUT_OPERATOR_SEL_2: 2
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1222,6 +1490,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 1048576
    ALLOCATED_USED_BYTES: 11420
@@ -1254,6 +1530,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 262144
    ALLOCATED_USED_BYTES: 2376
@@ -1290,6 +1574,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1314,6 +1606,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1342,6 +1642,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 4123
    CACHE_MISS_BYTES: 0
@@ -1372,6 +1680,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1406,6 +1722,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1430,6 +1754,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1458,6 +1790,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 4123
    CACHE_MISS_BYTES: 0
@@ -1488,6 +1828,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 6
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 6
+   RECORDS_OUT_OPERATOR_SEL_2: 6
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1522,6 +1870,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 4
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 4
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 4
+   RECORDS_OUT_OPERATOR_SEL_2: 4
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 786432
    ALLOCATED_USED_BYTES: 4293
@@ -1554,6 +1910,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 4
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 4
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 4
+   RECORDS_OUT_OPERATOR_SEL_2: 4
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:
@@ -1578,6 +1942,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 4
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 4
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 4
+   RECORDS_OUT_OPERATOR_SEL_2: 4
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 262144
    ALLOCATED_USED_BYTES: 2376
@@ -1610,6 +1982,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 4
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 4
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 4
+   RECORDS_OUT_OPERATOR_SEL_2: 4
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    METADATA_CACHE_HIT: 1
 Stage-1 INPUT COUNTERS:

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/retry_failure.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/retry_failure.q.out b/ql/src/test/results/clientpositive/llap/retry_failure.q.out
new file mode 100644
index 0000000..5f91ad1
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/retry_failure.q.out
@@ -0,0 +1,43 @@
+PREHOOK: query: create table tx(a int,f string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tx
+POSTHOOK: query: create table tx(a int,f string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tx
+PREHOOK: query: insert into tx values (1,'non_existent_file')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@tx
+POSTHOOK: query: insert into tx values (1,'non_existent_file')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@tx
+POSTHOOK: Lineage: tx.a SCRIPT []
+POSTHOOK: Lineage: tx.f SCRIPT []
+PREHOOK: query: select assert_true(1 > a) from tx group by a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+Status: Failed
+Vertex failed, vertexName=Reducer 2, vertexId=vertex_#ID#, diagnostics=[Task failed, taskId=task_#ID#, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed.
+#### A masked pattern was here ####
+], TaskAttempt 1 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed.
+#### A masked pattern was here ####
+]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:0, Vertex vertex_#ID# [Reducer 2] killed/failed due to:OWN_TASK_FAILURE]
+DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0
+FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex failed, vertexName=Reducer 2, vertexId=vertex_#ID#, diagnostics=[Task failed, taskId=task_#ID#, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed.
+#### A masked pattern was here ####
+], TaskAttempt 1 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed.
+#### A masked pattern was here ####
+]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:0, Vertex vertex_#ID# [Reducer 2] killed/failed due to:OWN_TASK_FAILURE]DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0
+PREHOOK: query: select assert_true(2 > a) from tx group by a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+POSTHOOK: query: select assert_true(2 > a) from tx group by a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tx
+#### A masked pattern was here ####
+NULL

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/retry_failure_oom.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/retry_failure_oom.q.out b/ql/src/test/results/clientpositive/llap/retry_failure_oom.q.out
new file mode 100644
index 0000000..348384a
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/retry_failure_oom.q.out
@@ -0,0 +1,43 @@
+PREHOOK: query: create table tx(a int,f string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tx
+POSTHOOK: query: create table tx(a int,f string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tx
+PREHOOK: query: insert into tx values (1,'non_existent_file')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@tx
+POSTHOOK: query: insert into tx values (1,'non_existent_file')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@tx
+POSTHOOK: Lineage: tx.a SCRIPT []
+POSTHOOK: Lineage: tx.f SCRIPT []
+PREHOOK: query: select assert_true_oom(1 > a) from tx group by a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+Status: Failed
+Vertex failed, vertexName=Reducer 2, vertexId=vertex_#ID#, diagnostics=[Task failed, taskId=task_#ID#, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+], TaskAttempt 1 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:0, Vertex vertex_#ID# [Reducer 2] killed/failed due to:OWN_TASK_FAILURE]
+DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0
+FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex failed, vertexName=Reducer 2, vertexId=vertex_#ID#, diagnostics=[Task failed, taskId=task_#ID#, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+], TaskAttempt 1 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:0, Vertex vertex_#ID# [Reducer 2] killed/failed due to:OWN_TASK_FAILURE]DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0
+PREHOOK: query: select assert_true_oom(2 > a) from tx group by a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+POSTHOOK: query: select assert_true_oom(2 > a) from tx group by a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tx
+#### A masked pattern was here ####
+NULL

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out b/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out
new file mode 100644
index 0000000..9b58ce0
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out
@@ -0,0 +1,280 @@
+PREHOOK: query: create table tx(a int,u int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tx
+POSTHOOK: query: create table tx(a int,u int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tx
+PREHOOK: query: insert into tx values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(10,10)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@tx
+POSTHOOK: query: insert into tx values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(10,10)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@tx
+POSTHOOK: Lineage: tx.a SCRIPT []
+POSTHOOK: Lineage: tx.u SCRIPT []
+PREHOOK: query: create table px(a int,p int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@px
+POSTHOOK: query: create table px(a int,p int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@px
+PREHOOK: query: insert into px values (2,2),(3,3),(5,5),(7,7),(11,11)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@px
+POSTHOOK: query: insert into px values (2,2),(3,3),(5,5),(7,7),(11,11)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@px
+POSTHOOK: Lineage: px.a SCRIPT []
+POSTHOOK: Lineage: px.p SCRIPT []
+PREHOOK: query: explain REOPTIMIZATION 
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@px
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+POSTHOOK: query: explain REOPTIMIZATION 
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@px
+POSTHOOK: Input: default@tx
+#### A masked pattern was here ####
+PREHOOK: query: explain REOPTIMIZATION 
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+PREHOOK: type: QUERY
+POSTHOOK: query: explain REOPTIMIZATION 
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 3 llap
+      File Output Operator [FS_15]
+        Group By Operator [GBY_13] (rows=1 width=8)
+          Output:["_col0"],aggregations:["sum(VALUE._col0)"]
+        <-Reducer 2 [CUSTOM_SIMPLE_EDGE] llap
+          PARTITION_ONLY_SHUFFLE [RS_12]
+            Group By Operator [GBY_11] (rows=1 width=8)
+              Output:["_col0"],aggregations:["sum(_col0)"]
+              Select Operator [SEL_9] (rows=15 width=8)
+                Output:["_col0"]
+                Merge Join Operator [MERGEJOIN_20] (rows=15 width=8)
+                  Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col1"]
+                <-Map 1 [SIMPLE_EDGE] llap
+                  SHUFFLE [RS_6]
+                    PartitionCols:_col0
+                    Select Operator [SEL_2] (runtime: rows=5 width=4)
+                      Output:["_col0"]
+                      Filter Operator [FIL_18] (runtime: rows=5 width=4)
+                        predicate:((u < 10) and (u > 2))
+                        TableScan [TS_0] (runtime: rows=8 width=4)
+                          default@tx,tx,Tbl:COMPLETE,Col:COMPLETE,Output:["u"]
+                <-Map 4 [SIMPLE_EDGE] llap
+                  SHUFFLE [RS_7]
+                    PartitionCols:_col0
+                    Select Operator [SEL_5] (runtime: rows=3 width=4)
+                      Output:["_col0"]
+                      Filter Operator [FIL_19] (runtime: rows=3 width=4)
+                        predicate:((p < 10) and (p > 2))
+                        TableScan [TS_3] (runtime: rows=5 width=4)
+                          default@px,px,Tbl:COMPLETE,Col:COMPLETE,Output:["p"]
+
+PREHOOK: query: select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@px
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+POSTHOOK: query: select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@px
+POSTHOOK: Input: default@tx
+#### A masked pattern was here ####
+PREHOOK: query: explain analyze
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+PREHOOK: type: QUERY
+POSTHOOK: query: explain analyze
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 3 llap
+      File Output Operator [FS_15]
+        Group By Operator [GBY_13] (rows=1/1 width=8)
+          Output:["_col0"],aggregations:["sum(VALUE._col0)"]
+        <-Reducer 2 [CUSTOM_SIMPLE_EDGE] llap
+          PARTITION_ONLY_SHUFFLE [RS_12]
+            Group By Operator [GBY_11] (rows=1/1 width=8)
+              Output:["_col0"],aggregations:["sum(_col0)"]
+              Select Operator [SEL_9] (rows=1/3 width=8)
+                Output:["_col0"]
+                Merge Join Operator [MERGEJOIN_20] (rows=1/3 width=8)
+                  Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col1"]
+                <-Map 1 [SIMPLE_EDGE] llap
+                  SHUFFLE [RS_6]
+                    PartitionCols:_col0
+                    Select Operator [SEL_2] (rows=1/5 width=4)
+                      Output:["_col0"]
+                      Filter Operator [FIL_18] (rows=1/5 width=4)
+                        predicate:((u < 10) and (u > 2))
+                        TableScan [TS_0] (rows=8/8 width=4)
+                          default@tx,tx,Tbl:COMPLETE,Col:COMPLETE,Output:["u"]
+                <-Map 4 [SIMPLE_EDGE] llap
+                  SHUFFLE [RS_7]
+                    PartitionCols:_col0
+                    Select Operator [SEL_5] (rows=1/3 width=4)
+                      Output:["_col0"]
+                      Filter Operator [FIL_19] (rows=1/3 width=4)
+                        predicate:((p < 10) and (p > 2))
+                        TableScan [TS_3] (rows=5/5 width=4)
+                          default@px,px,Tbl:COMPLETE,Col:COMPLETE,Output:["p"]
+
+PREHOOK: query: select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@px
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+POSTHOOK: query: select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@px
+POSTHOOK: Input: default@tx
+#### A masked pattern was here ####
+PREHOOK: query: explain analyze
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+PREHOOK: type: QUERY
+POSTHOOK: query: explain analyze
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Map 1 <- Map 3 (BROADCAST_EDGE)
+Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 llap
+      File Output Operator [FS_15]
+        Group By Operator [GBY_13] (rows=1/1 width=8)
+          Output:["_col0"],aggregations:["sum(VALUE._col0)"]
+        <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
+          PARTITION_ONLY_SHUFFLE [RS_12]
+            Group By Operator [GBY_11] (rows=1/1 width=8)
+              Output:["_col0"],aggregations:["sum(_col0)"]
+              Select Operator [SEL_9] (rows=1/3 width=8)
+                Output:["_col0"]
+                Map Join Operator [MAPJOIN_20] (rows=1/3 width=8)
+                  Conds:SEL_2._col0=RS_7._col0(Inner),Output:["_col0","_col1"]
+                <-Map 3 [BROADCAST_EDGE] llap
+                  BROADCAST [RS_7]
+                    PartitionCols:_col0
+                    Select Operator [SEL_5] (rows=1/3 width=4)
+                      Output:["_col0"]
+                      Filter Operator [FIL_19] (rows=1/3 width=4)
+                        predicate:((p < 10) and (p > 2))
+                        TableScan [TS_3] (rows=5/5 width=4)
+                          default@px,px,Tbl:COMPLETE,Col:COMPLETE,Output:["p"]
+                <-Select Operator [SEL_2] (rows=1/5 width=4)
+                    Output:["_col0"]
+                    Filter Operator [FIL_18] (rows=1/5 width=4)
+                      predicate:((u < 10) and (u > 2))
+                      TableScan [TS_0] (rows=8/8 width=4)
+                        default@tx,tx,Tbl:COMPLETE,Col:COMPLETE,Output:["u"]
+
+PREHOOK: query: explain
+select assert_true_oom(1 > sum(u*p)) from tx join px on (tx.a=px.a) where u<10 and p>2
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select assert_true_oom(1 > sum(u*p)) from tx join px on (tx.a=px.a) where u<10 and p>2
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Map 2 <- Map 1 (BROADCAST_EDGE)
+Reducer 3 <- Map 2 (CUSTOM_SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 3 llap
+      File Output Operator [FS_15]
+        Select Operator [SEL_14] (rows=1 width=4)
+          Output:["_col0"]
+          Group By Operator [GBY_13] (rows=1 width=8)
+            Output:["_col0"],aggregations:["sum(VALUE._col0)"]
+          <-Map 2 [CUSTOM_SIMPLE_EDGE] llap
+            PARTITION_ONLY_SHUFFLE [RS_12]
+              Group By Operator [GBY_11] (rows=1 width=8)
+                Output:["_col0"],aggregations:["sum(_col0)"]
+                Select Operator [SEL_9] (rows=2 width=8)
+                  Output:["_col0"]
+                  Map Join Operator [MAPJOIN_20] (rows=2 width=8)
+                    Conds:RS_6._col0=SEL_5._col0(Inner),Output:["_col1","_col3"]
+                  <-Map 1 [BROADCAST_EDGE] llap
+                    BROADCAST [RS_6]
+                      PartitionCols:_col0
+                      Select Operator [SEL_2] (rows=2 width=8)
+                        Output:["_col0","_col1"]
+                        Filter Operator [FIL_18] (rows=2 width=8)
+                          predicate:((u < 10) and a is not null)
+                          TableScan [TS_0] (rows=8 width=8)
+                            default@tx,tx,Tbl:COMPLETE,Col:COMPLETE,Output:["a","u"]
+                  <-Select Operator [SEL_5] (rows=5 width=8)
+                      Output:["_col0","_col1"]
+                      Filter Operator [FIL_19] (rows=5 width=8)
+                        predicate:((p > 2) and a is not null)
+                        TableScan [TS_3] (rows=5 width=8)
+                          default@px,px,Tbl:COMPLETE,Col:COMPLETE,Output:["a","p"]
+
+PREHOOK: query: select assert_true_oom(1 > sum(u*p)) from tx join px on (tx.a=px.a) where u<10 and p>2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@px
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+Status: Failed
+Vertex failed, vertexName=Reducer 3, vertexId=vertex_#ID#, diagnostics=[Task failed, taskId=task_#ID#, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+], TaskAttempt 1 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:0, Vertex vertex_#ID# [Reducer 3] killed/failed due to:OWN_TASK_FAILURE]
+DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0
+FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex failed, vertexName=Reducer 3, vertexId=vertex_#ID#, diagnostics=[Task failed, taskId=task_#ID#, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+], TaskAttempt 1 failed, info=[Error: Error while running task ( failure ) : attempt_#ID#:java.lang.RuntimeException: org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError: assert_true_oom: assertation failed; Simulated OOM
+#### A masked pattern was here ####
+]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:0, Vertex vertex_#ID# [Reducer 3] killed/failed due to:OWN_TASK_FAILURE]DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0
+PREHOOK: query: select assert_true_oom(2000 > sum(u*p)) from tx join px on (tx.a=px.a) where u<10 and p>2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@px
+PREHOOK: Input: default@tx
+#### A masked pattern was here ####
+POSTHOOK: query: select assert_true_oom(2000 > sum(u*p)) from tx join px on (tx.a=px.a) where u<10 and p>2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@px
+POSTHOOK: Input: default@tx
+#### A masked pattern was here ####
+NULL

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out b/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
index 71d14f4..ba517a2 100644
--- a/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
@@ -1576,6 +1576,13 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1000
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_6: 1
+   RECORDS_OUT_OPERATOR_GBY_4: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 1000
+   RECORDS_OUT_OPERATOR_SEL_1: 1000
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 309
@@ -1595,6 +1602,13 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 8
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_7: 1
+   RECORDS_OUT_OPERATOR_GBY_5: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_4: 8
+   RECORDS_OUT_OPERATOR_SEL_2: 8
+   RECORDS_OUT_OPERATOR_TS_0: 8
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 2
@@ -1686,6 +1700,13 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 240
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 240
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_7: 1
+   RECORDS_OUT_OPERATOR_GBY_5: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_4: 240
+   RECORDS_OUT_OPERATOR_SEL_2: 240
+   RECORDS_OUT_OPERATOR_TS_0: 240
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 74
@@ -1783,6 +1804,16 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 74
    RECORDS_OUT_1_default.testpart1: 240
    RECORDS_OUT_INTERMEDIATE_Map_1: 240
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_3: 240
+   RECORDS_OUT_OPERATOR_FS_5: 74
+   RECORDS_OUT_OPERATOR_GBY_3: 74
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_2: 240
+   RECORDS_OUT_OPERATOR_SEL_1: 240
+   RECORDS_OUT_OPERATOR_SEL_2: 240
+   RECORDS_OUT_OPERATOR_SEL_4: 74
+   RECORDS_OUT_OPERATOR_TS_0: 240
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 74
@@ -2291,6 +2322,22 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_INTERMEDIATE_Map_1: 1000
    RECORDS_OUT_INTERMEDIATE_Map_4: 240
    RECORDS_OUT_INTERMEDIATE_Reducer_2: 952
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_EVENT_24: 309
+   RECORDS_OUT_OPERATOR_FS_14: 1
+   RECORDS_OUT_OPERATOR_GBY_12: 1
+   RECORDS_OUT_OPERATOR_GBY_23: 309
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_MERGEJOIN_25: 952
+   RECORDS_OUT_OPERATOR_RS_11: 952
+   RECORDS_OUT_OPERATOR_RS_6: 1000
+   RECORDS_OUT_OPERATOR_RS_7: 240
+   RECORDS_OUT_OPERATOR_SEL_2: 1000
+   RECORDS_OUT_OPERATOR_SEL_22: 1000
+   RECORDS_OUT_OPERATOR_SEL_5: 240
+   RECORDS_OUT_OPERATOR_SEL_9: 952
+   RECORDS_OUT_OPERATOR_TS_0: 1000
+   RECORDS_OUT_OPERATOR_TS_3: 240
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    GROUPED_INPUT_SPLITS_Map_4: 1

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/show_functions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/show_functions.q.out b/ql/src/test/results/clientpositive/show_functions.q.out
index 82fb5f4..4df555b 100644
--- a/ql/src/test/results/clientpositive/show_functions.q.out
+++ b/ql/src/test/results/clientpositive/show_functions.q.out
@@ -31,6 +31,7 @@ array_contains
 ascii
 asin
 assert_true
+assert_true_oom
 atan
 avg
 base64

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/hooks/URIResolverHook.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/hooks/URIResolverHook.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/hooks/URIResolverHook.java
index d3be5dd..244ca8f 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/hooks/URIResolverHook.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/hooks/URIResolverHook.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateDatabaseMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateDatabaseMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateDatabaseMessage.java
index 3d64c73..7cdeeda 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateDatabaseMessage.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateDatabaseMessage.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information


[07/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb b/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
index 8438728..29ad1bc 100644
--- a/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
+++ b/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
@@ -982,40 +982,6 @@ class PartitionSpec
   ::Thrift::Struct.generate_accessors self
 end
 
-class Index
-  include ::Thrift::Struct, ::Thrift::Struct_Union
-  INDEXNAME = 1
-  INDEXHANDLERCLASS = 2
-  DBNAME = 3
-  ORIGTABLENAME = 4
-  CREATETIME = 5
-  LASTACCESSTIME = 6
-  INDEXTABLENAME = 7
-  SD = 8
-  PARAMETERS = 9
-  DEFERREDREBUILD = 10
-
-  FIELDS = {
-    INDEXNAME => {:type => ::Thrift::Types::STRING, :name => 'indexName'},
-    INDEXHANDLERCLASS => {:type => ::Thrift::Types::STRING, :name => 'indexHandlerClass'},
-    DBNAME => {:type => ::Thrift::Types::STRING, :name => 'dbName'},
-    ORIGTABLENAME => {:type => ::Thrift::Types::STRING, :name => 'origTableName'},
-    CREATETIME => {:type => ::Thrift::Types::I32, :name => 'createTime'},
-    LASTACCESSTIME => {:type => ::Thrift::Types::I32, :name => 'lastAccessTime'},
-    INDEXTABLENAME => {:type => ::Thrift::Types::STRING, :name => 'indexTableName'},
-    SD => {:type => ::Thrift::Types::STRUCT, :name => 'sd', :class => ::StorageDescriptor},
-    PARAMETERS => {:type => ::Thrift::Types::MAP, :name => 'parameters', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}},
-    DEFERREDREBUILD => {:type => ::Thrift::Types::BOOL, :name => 'deferredRebuild'}
-  }
-
-  def struct_fields; FIELDS; end
-
-  def validate
-  end
-
-  ::Thrift::Struct.generate_accessors self
-end
-
 class BooleanColumnStatsData
   include ::Thrift::Struct, ::Thrift::Struct_Union
   NUMTRUES = 1
@@ -4482,27 +4448,6 @@ class NoSuchObjectException < ::Thrift::Exception
   ::Thrift::Struct.generate_accessors self
 end
 
-class IndexAlreadyExistsException < ::Thrift::Exception
-  include ::Thrift::Struct, ::Thrift::Struct_Union
-  def initialize(message=nil)
-    super()
-    self.message = message
-  end
-
-  MESSAGE = 1
-
-  FIELDS = {
-    MESSAGE => {:type => ::Thrift::Types::STRING, :name => 'message'}
-  }
-
-  def struct_fields; FIELDS; end
-
-  def validate
-  end
-
-  ::Thrift::Struct.generate_accessors self
-end
-
 class InvalidOperationException < ::Thrift::Exception
   include ::Thrift::Struct, ::Thrift::Struct_Union
   def initialize(message=nil)

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb b/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
index b0e84d9..4990fed 100644
--- a/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
+++ b/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
@@ -1469,107 +1469,6 @@ module ThriftHiveMetastore
       raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'isPartitionMarkedForEvent failed: unknown result')
     end
 
-    def add_index(new_index, index_table)
-      send_add_index(new_index, index_table)
-      return recv_add_index()
-    end
-
-    def send_add_index(new_index, index_table)
-      send_message('add_index', Add_index_args, :new_index => new_index, :index_table => index_table)
-    end
-
-    def recv_add_index()
-      result = receive_message(Add_index_result)
-      return result.success unless result.success.nil?
-      raise result.o1 unless result.o1.nil?
-      raise result.o2 unless result.o2.nil?
-      raise result.o3 unless result.o3.nil?
-      raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'add_index failed: unknown result')
-    end
-
-    def alter_index(dbname, base_tbl_name, idx_name, new_idx)
-      send_alter_index(dbname, base_tbl_name, idx_name, new_idx)
-      recv_alter_index()
-    end
-
-    def send_alter_index(dbname, base_tbl_name, idx_name, new_idx)
-      send_message('alter_index', Alter_index_args, :dbname => dbname, :base_tbl_name => base_tbl_name, :idx_name => idx_name, :new_idx => new_idx)
-    end
-
-    def recv_alter_index()
-      result = receive_message(Alter_index_result)
-      raise result.o1 unless result.o1.nil?
-      raise result.o2 unless result.o2.nil?
-      return
-    end
-
-    def drop_index_by_name(db_name, tbl_name, index_name, deleteData)
-      send_drop_index_by_name(db_name, tbl_name, index_name, deleteData)
-      return recv_drop_index_by_name()
-    end
-
-    def send_drop_index_by_name(db_name, tbl_name, index_name, deleteData)
-      send_message('drop_index_by_name', Drop_index_by_name_args, :db_name => db_name, :tbl_name => tbl_name, :index_name => index_name, :deleteData => deleteData)
-    end
-
-    def recv_drop_index_by_name()
-      result = receive_message(Drop_index_by_name_result)
-      return result.success unless result.success.nil?
-      raise result.o1 unless result.o1.nil?
-      raise result.o2 unless result.o2.nil?
-      raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'drop_index_by_name failed: unknown result')
-    end
-
-    def get_index_by_name(db_name, tbl_name, index_name)
-      send_get_index_by_name(db_name, tbl_name, index_name)
-      return recv_get_index_by_name()
-    end
-
-    def send_get_index_by_name(db_name, tbl_name, index_name)
-      send_message('get_index_by_name', Get_index_by_name_args, :db_name => db_name, :tbl_name => tbl_name, :index_name => index_name)
-    end
-
-    def recv_get_index_by_name()
-      result = receive_message(Get_index_by_name_result)
-      return result.success unless result.success.nil?
-      raise result.o1 unless result.o1.nil?
-      raise result.o2 unless result.o2.nil?
-      raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_index_by_name failed: unknown result')
-    end
-
-    def get_indexes(db_name, tbl_name, max_indexes)
-      send_get_indexes(db_name, tbl_name, max_indexes)
-      return recv_get_indexes()
-    end
-
-    def send_get_indexes(db_name, tbl_name, max_indexes)
-      send_message('get_indexes', Get_indexes_args, :db_name => db_name, :tbl_name => tbl_name, :max_indexes => max_indexes)
-    end
-
-    def recv_get_indexes()
-      result = receive_message(Get_indexes_result)
-      return result.success unless result.success.nil?
-      raise result.o1 unless result.o1.nil?
-      raise result.o2 unless result.o2.nil?
-      raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_indexes failed: unknown result')
-    end
-
-    def get_index_names(db_name, tbl_name, max_indexes)
-      send_get_index_names(db_name, tbl_name, max_indexes)
-      return recv_get_index_names()
-    end
-
-    def send_get_index_names(db_name, tbl_name, max_indexes)
-      send_message('get_index_names', Get_index_names_args, :db_name => db_name, :tbl_name => tbl_name, :max_indexes => max_indexes)
-    end
-
-    def recv_get_index_names()
-      result = receive_message(Get_index_names_result)
-      return result.success unless result.success.nil?
-      raise result.o2 unless result.o2.nil?
-      raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'get_index_names failed: unknown result')
-    end
-
     def get_primary_keys(request)
       send_get_primary_keys(request)
       return recv_get_primary_keys()
@@ -4279,84 +4178,6 @@ module ThriftHiveMetastore
       write_result(result, oprot, 'isPartitionMarkedForEvent', seqid)
     end
 
-    def process_add_index(seqid, iprot, oprot)
-      args = read_args(iprot, Add_index_args)
-      result = Add_index_result.new()
-      begin
-        result.success = @handler.add_index(args.new_index, args.index_table)
-      rescue ::InvalidObjectException => o1
-        result.o1 = o1
-      rescue ::AlreadyExistsException => o2
-        result.o2 = o2
-      rescue ::MetaException => o3
-        result.o3 = o3
-      end
-      write_result(result, oprot, 'add_index', seqid)
-    end
-
-    def process_alter_index(seqid, iprot, oprot)
-      args = read_args(iprot, Alter_index_args)
-      result = Alter_index_result.new()
-      begin
-        @handler.alter_index(args.dbname, args.base_tbl_name, args.idx_name, args.new_idx)
-      rescue ::InvalidOperationException => o1
-        result.o1 = o1
-      rescue ::MetaException => o2
-        result.o2 = o2
-      end
-      write_result(result, oprot, 'alter_index', seqid)
-    end
-
-    def process_drop_index_by_name(seqid, iprot, oprot)
-      args = read_args(iprot, Drop_index_by_name_args)
-      result = Drop_index_by_name_result.new()
-      begin
-        result.success = @handler.drop_index_by_name(args.db_name, args.tbl_name, args.index_name, args.deleteData)
-      rescue ::NoSuchObjectException => o1
-        result.o1 = o1
-      rescue ::MetaException => o2
-        result.o2 = o2
-      end
-      write_result(result, oprot, 'drop_index_by_name', seqid)
-    end
-
-    def process_get_index_by_name(seqid, iprot, oprot)
-      args = read_args(iprot, Get_index_by_name_args)
-      result = Get_index_by_name_result.new()
-      begin
-        result.success = @handler.get_index_by_name(args.db_name, args.tbl_name, args.index_name)
-      rescue ::MetaException => o1
-        result.o1 = o1
-      rescue ::NoSuchObjectException => o2
-        result.o2 = o2
-      end
-      write_result(result, oprot, 'get_index_by_name', seqid)
-    end
-
-    def process_get_indexes(seqid, iprot, oprot)
-      args = read_args(iprot, Get_indexes_args)
-      result = Get_indexes_result.new()
-      begin
-        result.success = @handler.get_indexes(args.db_name, args.tbl_name, args.max_indexes)
-      rescue ::NoSuchObjectException => o1
-        result.o1 = o1
-      rescue ::MetaException => o2
-        result.o2 = o2
-      end
-      write_result(result, oprot, 'get_indexes', seqid)
-    end
-
-    def process_get_index_names(seqid, iprot, oprot)
-      args = read_args(iprot, Get_index_names_args)
-      result = Get_index_names_result.new()
-      begin
-        result.success = @handler.get_index_names(args.db_name, args.tbl_name, args.max_indexes)
-      rescue ::MetaException => o2
-        result.o2 = o2
-      end
-      write_result(result, oprot, 'get_index_names', seqid)
-    end
-
     def process_get_primary_keys(seqid, iprot, oprot)
       args = read_args(iprot, Get_primary_keys_args)
       result = Get_primary_keys_result.new()
@@ -8820,246 +8641,6 @@ module ThriftHiveMetastore
     ::Thrift::Struct.generate_accessors self
   end
 
-  class Add_index_args
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    NEW_INDEX = 1
-    INDEX_TABLE = 2
-
-    FIELDS = {
-      NEW_INDEX => {:type => ::Thrift::Types::STRUCT, :name => 'new_index', :class => ::Index},
-      INDEX_TABLE => {:type => ::Thrift::Types::STRUCT, :name => 'index_table', :class => ::Table}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Add_index_result
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    SUCCESS = 0
-    O1 = 1
-    O2 = 2
-    O3 = 3
-
-    FIELDS = {
-      SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Index},
-      O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::InvalidObjectException},
-      O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::AlreadyExistsException},
-      O3 => {:type => ::Thrift::Types::STRUCT, :name => 'o3', :class => ::MetaException}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Alter_index_args
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    DBNAME = 1
-    BASE_TBL_NAME = 2
-    IDX_NAME = 3
-    NEW_IDX = 4
-
-    FIELDS = {
-      DBNAME => {:type => ::Thrift::Types::STRING, :name => 'dbname'},
-      BASE_TBL_NAME => {:type => ::Thrift::Types::STRING, :name => 'base_tbl_name'},
-      IDX_NAME => {:type => ::Thrift::Types::STRING, :name => 'idx_name'},
-      NEW_IDX => {:type => ::Thrift::Types::STRUCT, :name => 'new_idx', :class => ::Index}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Alter_index_result
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    O1 = 1
-    O2 = 2
-
-    FIELDS = {
-      O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::InvalidOperationException},
-      O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::MetaException}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Drop_index_by_name_args
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    DB_NAME = 1
-    TBL_NAME = 2
-    INDEX_NAME = 3
-    DELETEDATA = 4
-
-    FIELDS = {
-      DB_NAME => {:type => ::Thrift::Types::STRING, :name => 'db_name'},
-      TBL_NAME => {:type => ::Thrift::Types::STRING, :name => 'tbl_name'},
-      INDEX_NAME => {:type => ::Thrift::Types::STRING, :name => 'index_name'},
-      DELETEDATA => {:type => ::Thrift::Types::BOOL, :name => 'deleteData'}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Drop_index_by_name_result
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    SUCCESS = 0
-    O1 = 1
-    O2 = 2
-
-    FIELDS = {
-      SUCCESS => {:type => ::Thrift::Types::BOOL, :name => 'success'},
-      O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::NoSuchObjectException},
-      O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::MetaException}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Get_index_by_name_args
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    DB_NAME = 1
-    TBL_NAME = 2
-    INDEX_NAME = 3
-
-    FIELDS = {
-      DB_NAME => {:type => ::Thrift::Types::STRING, :name => 'db_name'},
-      TBL_NAME => {:type => ::Thrift::Types::STRING, :name => 'tbl_name'},
-      INDEX_NAME => {:type => ::Thrift::Types::STRING, :name => 'index_name'}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Get_index_by_name_result
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    SUCCESS = 0
-    O1 = 1
-    O2 = 2
-
-    FIELDS = {
-      SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Index},
-      O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::MetaException},
-      O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::NoSuchObjectException}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Get_indexes_args
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    DB_NAME = 1
-    TBL_NAME = 2
-    MAX_INDEXES = 3
-
-    FIELDS = {
-      DB_NAME => {:type => ::Thrift::Types::STRING, :name => 'db_name'},
-      TBL_NAME => {:type => ::Thrift::Types::STRING, :name => 'tbl_name'},
-      MAX_INDEXES => {:type => ::Thrift::Types::I16, :name => 'max_indexes', :default => -1}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Get_indexes_result
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    SUCCESS = 0
-    O1 = 1
-    O2 = 2
-
-    FIELDS = {
-      SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Index}},
-      O1 => {:type => ::Thrift::Types::STRUCT, :name => 'o1', :class => ::NoSuchObjectException},
-      O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::MetaException}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Get_index_names_args
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    DB_NAME = 1
-    TBL_NAME = 2
-    MAX_INDEXES = 3
-
-    FIELDS = {
-      DB_NAME => {:type => ::Thrift::Types::STRING, :name => 'db_name'},
-      TBL_NAME => {:type => ::Thrift::Types::STRING, :name => 'tbl_name'},
-      MAX_INDEXES => {:type => ::Thrift::Types::I16, :name => 'max_indexes', :default => -1}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
-  class Get_index_names_result
-    include ::Thrift::Struct, ::Thrift::Struct_Union
-    SUCCESS = 0
-    O2 = 1
-
-    FIELDS = {
-      SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
-      O2 => {:type => ::Thrift::Types::STRUCT, :name => 'o2', :class => ::MetaException}
-    }
-
-    def struct_fields; FIELDS; end
-
-    def validate
-    end
-
-    ::Thrift::Struct.generate_accessors self
-  end
-
   class Get_primary_keys_args
     include ::Thrift::Struct, ::Thrift::Struct_Union
     REQUEST = 1

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
index 020bea8..ca63333 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
@@ -22,7 +22,6 @@ import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
 import org.apache.hadoop.hive.metastore.api.Partition;
@@ -84,19 +83,4 @@ public class DefaultMetaStoreFilterHookImpl implements MetaStoreFilterHook {
     return partitionNames;
   }
 
-  @Override
-  public Index filterIndex(Index index)  throws NoSuchObjectException {
-    return index;
-  }
-
-  @Override
-  public List<String> filterIndexNames(String dbName, String tblName,
-      List<String> indexList) throws MetaException {
-    return indexList;
-  }
-
-  @Override
-  public List<Index> filterIndexes(List<Index> indexeList) throws MetaException {
-    return indexeList;
-  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
index 2be018b..662de9a 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -74,13 +74,11 @@ import org.apache.hadoop.hive.metastore.events.AddForeignKeyEvent;
 import org.apache.hadoop.hive.metastore.cache.CachedStore;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf.ConfVars;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddNotNullConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AddPrimaryKeyEvent;
 import org.apache.hadoop.hive.metastore.events.AddUniqueConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AlterDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.ConfigChangeEvent;
@@ -90,22 +88,18 @@ import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.DropTableEvent;
 import org.apache.hadoop.hive.metastore.events.InsertEvent;
 import org.apache.hadoop.hive.metastore.events.LoadPartitionDoneEvent;
-import org.apache.hadoop.hive.metastore.events.PreAddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.PreAddPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.PreAlterDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.PreAlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.PreAlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.PreAuthorizationCallEvent;
 import org.apache.hadoop.hive.metastore.events.PreCreateDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.PreCreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.PreDropDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.PreDropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.PreDropTableEvent;
 import org.apache.hadoop.hive.metastore.events.PreEventContext;
@@ -284,7 +278,7 @@ public class HiveMetaStore extends ThriftHiveMetastore {
 
     static final Logger auditLog = LoggerFactory.getLogger(
         HiveMetaStore.class.getName() + ".audit");
-    
+
     private static void logAuditEvent(String cmd) {
       if (cmd == null) {
         return;
@@ -834,7 +828,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
         timerContexts.get().put(function, timer.time());
       }
       Counter counter = Metrics.getOrCreateCounter(MetricsConstants.ACTIVE_CALLS + function);
-      if (counter != null) counter.inc();
+      if (counter != null) {
+        counter.inc();
+      }
       return function;
     }
 
@@ -875,7 +871,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
         timerContext.close();
       }
       Counter counter = Metrics.getOrCreateCounter(MetricsConstants.ACTIVE_CALLS + function);
-      if (counter != null) counter.dec();
+      if (counter != null) {
+        counter.dec();
+      }
 
       for (MetaStoreEndFunctionListener listener : endFunctionListeners) {
         listener.onEndFunction(function, context);
@@ -2010,25 +2008,6 @@ public class HiveMetaStore extends ThriftHiveMetastore {
 
         firePreEvent(new PreDropTableEvent(tbl, deleteData, this));
 
-        boolean isIndexTable = isIndexTable(tbl);
-        if (indexName == null && isIndexTable) {
-          throw new RuntimeException(
-              "The table " + name + " is an index table. Please do drop index instead.");
-        }
-
-        if (!isIndexTable) {
-          try {
-            List<Index> indexes = ms.getIndexes(dbname, name, Short.MAX_VALUE);
-            while (indexes != null && indexes.size() > 0) {
-              for (Index idx : indexes) {
-                this.drop_index_by_name(dbname, name, idx.getIndexName(), true);
-              }
-              indexes = ms.getIndexes(dbname, name, Short.MAX_VALUE);
-            }
-          } catch (TException e) {
-            throw new MetaException(e.getMessage());
-          }
-        }
         isExternal = isExternal(tbl);
         if (tbl.getSd().getLocation() != null) {
           tblPath = new Path(tbl.getSd().getLocation());
@@ -2404,10 +2383,6 @@ public class HiveMetaStore extends ThriftHiveMetastore {
       return MetaStoreUtils.isExternalTable(table);
     }
 
-    private boolean isIndexTable(Table table) {
-      return MetaStoreUtils.isIndexTable(table);
-    }
-
     @Override
     @Deprecated
     public Table get_table(final String dbname, final String name) throws MetaException,
@@ -2599,7 +2574,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
     }
 
     private boolean doesClientHaveCapability(ClientCapabilities client, ClientCapability value) {
-      if (!MetastoreConf.getBoolVar(getConf(), ConfVars.CAPABILITY_CHECK)) return true;
+      if (!MetastoreConf.getBoolVar(getConf(), ConfVars.CAPABILITY_CHECK)) {
+        return true;
+      }
       return (client != null && client.isSetValues() && client.getValues().contains(value));
     }
 
@@ -2794,11 +2771,19 @@ public class HiveMetaStore extends ThriftHiveMetastore {
 
       @Override
       public boolean equals(Object obj) {
-        if (this == obj) return true;
-        if (obj == null || !(obj instanceof PartValEqWrapper)) return false;
+        if (this == obj) {
+          return true;
+        }
+        if (obj == null || !(obj instanceof PartValEqWrapper)) {
+          return false;
+        }
         Partition p1 = this.partition, p2 = ((PartValEqWrapper)obj).partition;
-        if (!p1.isSetValues() || !p2.isSetValues()) return p1.isSetValues() == p2.isSetValues();
-        if (p1.getValues().size() != p2.getValues().size()) return false;
+        if (!p1.isSetValues() || !p2.isSetValues()) {
+          return p1.isSetValues() == p2.isSetValues();
+        }
+        if (p1.getValues().size() != p2.getValues().size()) {
+          return false;
+        }
         for (int i = 0; i < p1.getValues().size(); ++i) {
           String v1 = p1.getValues().get(i);
           String v2 = p2.getValues().get(i);
@@ -2839,11 +2824,13 @@ public class HiveMetaStore extends ThriftHiveMetastore {
         List<String> lhsValues = this.values;
         List<String> rhsValues = ((PartValEqWrapperLite)obj).values;
 
-        if (lhsValues == null || rhsValues == null)
+        if (lhsValues == null || rhsValues == null) {
           return lhsValues == rhsValues;
+        }
 
-        if (lhsValues.size() != rhsValues.size())
+        if (lhsValues.size() != rhsValues.size()) {
           return false;
+        }
 
         for (int i=0; i<lhsValues.size(); ++i) {
           String lhsValue = lhsValues.get(i);
@@ -4032,11 +4019,13 @@ public class HiveMetaStore extends ThriftHiveMetastore {
 
       @Override
       public boolean equals(Object rhs) {
-        if (rhs == this)
+        if (rhs == this) {
           return true;
+        }
 
-        if (!(rhs instanceof StorageDescriptorKey))
+        if (!(rhs instanceof StorageDescriptorKey)) {
           return false;
+        }
 
         return (hashCodeKey().equals(((StorageDescriptorKey) rhs).hashCodeKey()));
       }
@@ -4325,61 +4314,6 @@ public class HiveMetaStore extends ThriftHiveMetastore {
     }
 
     @Override
-    public void alter_index(final String dbname, final String base_table_name,
-        final String index_name, final Index newIndex)
-        throws InvalidOperationException, MetaException {
-      startFunction("alter_index", ": db=" + dbname + " base_tbl=" + base_table_name
-          + " idx=" + index_name + " newidx=" + newIndex.getIndexName());
-      newIndex.putToParameters(hive_metastoreConstants.DDL_TIME, Long.toString(System
-          .currentTimeMillis() / 1000));
-      boolean success = false;
-      Exception ex = null;
-      Index oldIndex = null;
-      RawStore ms  = getMS();
-      Map<String, String> transactionalListenerResponses = Collections.emptyMap();
-      try {
-        ms.openTransaction();
-        oldIndex = get_index_by_name(dbname, base_table_name, index_name);
-        firePreEvent(new PreAlterIndexEvent(oldIndex, newIndex, this));
-        ms.alterIndex(dbname, base_table_name, index_name, newIndex);
-        if (!transactionalListeners.isEmpty()) {
-          transactionalListenerResponses =
-              MetaStoreListenerNotifier.notifyEvent(transactionalListeners,
-                                                    EventType.ALTER_INDEX,
-                                                    new AlterIndexEvent(oldIndex, newIndex, true, this));
-        }
-
-        success = ms.commitTransaction();
-      } catch (InvalidObjectException e) {
-        ex = e;
-        throw new InvalidOperationException(e.getMessage());
-      } catch (Exception e) {
-        ex = e;
-        if (e instanceof MetaException) {
-          throw (MetaException) e;
-        } else if (e instanceof InvalidOperationException) {
-          throw (InvalidOperationException) e;
-        } else {
-          throw newMetaException(e);
-        }
-      } finally {
-        if (!success) {
-          ms.rollbackTransaction();
-        }
-
-        endFunction("alter_index", success, ex, base_table_name);
-
-        if (!listeners.isEmpty()) {
-          MetaStoreListenerNotifier.notifyEvent(listeners,
-                                                EventType.ALTER_INDEX,
-                                                new AlterIndexEvent(oldIndex, newIndex, success, this),
-                                                null,
-                                                transactionalListenerResponses, ms);
-        }
-      }
-    }
-
-    @Override
     public String getVersion() throws TException {
       endFunction(startFunction("getVersion"), true, null);
       return "3.0";
@@ -4756,7 +4690,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
         String toReturn = defaultValue;
         try {
           toReturn = MetastoreConf.get(conf, name);
-          if (toReturn == null) toReturn = defaultValue;
+          if (toReturn == null) {
+            toReturn = defaultValue;
+          }
         } catch (RuntimeException e) {
           LOG.error(threadLocalId.get().toString() + ": "
               + "RuntimeException thrown in get_config_value - msg: "
@@ -5008,272 +4944,6 @@ public class HiveMetaStore extends ThriftHiveMetastore {
       return Warehouse.makeSpecFromName(part_name);
     }
 
-    @Override
-    public Index add_index(final Index newIndex, final Table indexTable) throws TException {
-      String tableName = indexTable != null ? indexTable.getTableName() : "";
-      startFunction("add_index", ": " + newIndex.toString() + " " + tableName);
-      Index ret = null;
-      Exception ex = null;
-      try {
-        ret = add_index_core(getMS(), newIndex, indexTable);
-      } catch (Exception e) {
-        ex = e;
-        if (e instanceof InvalidObjectException) {
-          throw (InvalidObjectException) e;
-        } else if (e instanceof AlreadyExistsException) {
-          throw (AlreadyExistsException) e;
-        } else if (e instanceof MetaException) {
-          throw (MetaException) e;
-        } else {
-          throw newMetaException(e);
-        }
-      } finally {
-        endFunction("add_index", ret != null, ex, tableName);
-      }
-      return ret;
-    }
-
-    private Index add_index_core(final RawStore ms, final Index index, final Table indexTable)
-        throws InvalidObjectException, AlreadyExistsException, MetaException {
-      boolean success = false, indexTableCreated = false;
-      String[] qualified =
-          MetaStoreUtils.getQualifiedName(index.getDbName(), index.getIndexTableName());
-      Map<String, String> transactionalListenerResponses = Collections.emptyMap();
-      try {
-        ms.openTransaction();
-        firePreEvent(new PreAddIndexEvent(index, this));
-        Index old_index = null;
-        try {
-          old_index = get_index_by_name(index.getDbName(), index
-              .getOrigTableName(), index.getIndexName());
-        } catch (Exception e) {
-        }
-        if (old_index != null) {
-          throw new AlreadyExistsException("Index already exists:" + index);
-        }
-        Table origTbl = ms.getTable(index.getDbName(), index.getOrigTableName());
-        if (origTbl == null) {
-          throw new InvalidObjectException(
-              "Unable to add index because database or the original table do not exist");
-        }
-
-        // set create time
-        long time = System.currentTimeMillis() / 1000;
-        Table indexTbl = indexTable;
-        if (indexTbl != null) {
-          if (!TableType.INDEX_TABLE.name().equals(indexTbl.getTableType())){
-            throw new InvalidObjectException(
-                    "The table " + indexTbl.getTableName()+ " provided as index table must have "
-                            + TableType.INDEX_TABLE + " table type");
-          }
-          try {
-            indexTbl = ms.getTable(qualified[0], qualified[1]);
-          } catch (Exception e) {
-          }
-          if (indexTbl != null) {
-            throw new InvalidObjectException(
-                "Unable to add index because index table already exists");
-          }
-          this.create_table(indexTable);
-          indexTableCreated = true;
-        }
-
-        index.setCreateTime((int) time);
-        index.putToParameters(hive_metastoreConstants.DDL_TIME, Long.toString(time));
-        if (ms.addIndex(index)) {
-          if (!transactionalListeners.isEmpty()) {
-            transactionalListenerResponses =
-                MetaStoreListenerNotifier.notifyEvent(transactionalListeners,
-                                                      EventType.CREATE_INDEX,
-                                                      new AddIndexEvent(index, true, this));
-          }
-        }
-
-        success = ms.commitTransaction();
-        return index;
-      } finally {
-        if (!success) {
-          if (indexTableCreated) {
-            try {
-              drop_table(qualified[0], qualified[1], false);
-            } catch (Exception e) {
-            }
-          }
-          ms.rollbackTransaction();
-        }
-
-        if (!listeners.isEmpty()) {
-          MetaStoreListenerNotifier.notifyEvent(listeners,
-                                                EventType.CREATE_INDEX,
-                                                new AddIndexEvent(index, success, this),
-                                                null,
-                                                transactionalListenerResponses, ms);
-        }
-      }
-    }
-
-    @Override
-    public boolean drop_index_by_name(final String dbName, final String tblName,
-        final String indexName, final boolean deleteData) throws TException {
-      startFunction("drop_index_by_name", ": db=" + dbName + " tbl="
-          + tblName + " index=" + indexName);
-
-      boolean ret = false;
-      Exception ex = null;
-      try {
-        ret = drop_index_by_name_core(getMS(), dbName, tblName,
-            indexName, deleteData);
-      } catch (IOException e) {
-        ex = e;
-        throw new MetaException(e.getMessage());
-      } catch (Exception e) {
-        ex = e;
-        rethrowException(e);
-      } finally {
-        endFunction("drop_index_by_name", ret, ex, tblName);
-      }
-
-      return ret;
-    }
-
-    private boolean drop_index_by_name_core(final RawStore ms,
-        final String dbName, final String tblName,
-        final String indexName, final boolean deleteData) throws TException, IOException {
-      boolean success = false;
-      Index index = null;
-      Path tblPath = null;
-      List<Path> partPaths = null;
-      Map<String, String> transactionalListenerResponses = Collections.emptyMap();
-      try {
-        ms.openTransaction();
-        // drop the underlying index table
-        index = get_index_by_name(dbName, tblName, indexName);  // throws exception if not exists
-        firePreEvent(new PreDropIndexEvent(index, this));
-        ms.dropIndex(dbName, tblName, indexName);
-        String idxTblName = index.getIndexTableName();
-        if (idxTblName != null) {
-          String[] qualified = MetaStoreUtils.getQualifiedName(index.getDbName(), idxTblName);
-          Table tbl = get_table_core(qualified[0], qualified[1]);
-          if (tbl.getSd() == null) {
-            throw new MetaException("Table metadata is corrupted");
-          }
-
-          if (tbl.getSd().getLocation() != null) {
-            tblPath = new Path(tbl.getSd().getLocation());
-            if (!wh.isWritable(tblPath.getParent())) {
-              throw new MetaException("Index table metadata not deleted since " +
-                  tblPath.getParent() + " is not writable by " +
-                  SecurityUtils.getUser());
-            }
-          }
-
-          // Drop the partitions and get a list of partition locations which need to be deleted
-          partPaths = dropPartitionsAndGetLocations(ms, qualified[0], qualified[1], tblPath,
-              tbl.getPartitionKeys(), deleteData);
-          if (!ms.dropTable(qualified[0], qualified[1])) {
-            throw new MetaException("Unable to drop underlying data table "
-                + qualified[0] + "." + qualified[1] + " for index " + indexName);
-          }
-        }
-
-        if (!transactionalListeners.isEmpty()) {
-          transactionalListenerResponses =
-              MetaStoreListenerNotifier.notifyEvent(transactionalListeners,
-                                                    EventType.DROP_INDEX,
-                                                    new DropIndexEvent(index, true, this));
-        }
-
-        success = ms.commitTransaction();
-      } finally {
-        if (!success) {
-          ms.rollbackTransaction();
-        } else if (deleteData && tblPath != null) {
-          deletePartitionData(partPaths);
-          deleteTableData(tblPath);
-          // ok even if the data is not deleted
-        }
-        // Skip the event listeners if the index is NULL
-        if (index != null && !listeners.isEmpty()) {
-          MetaStoreListenerNotifier.notifyEvent(listeners,
-                                                EventType.DROP_INDEX,
-                                                new DropIndexEvent(index, success, this),
-                                                null,
-                                                transactionalListenerResponses, ms);
-        }
-      }
-      return success;
-    }
-
-    @Override
-    public Index get_index_by_name(final String dbName, final String tblName,
-        final String indexName) throws TException {
-
-      startFunction("get_index_by_name", ": db=" + dbName + " tbl="
-          + tblName + " index=" + indexName);
-
-      Index ret = null;
-      Exception ex = null;
-      try {
-        ret = get_index_by_name_core(getMS(), dbName, tblName, indexName);
-      } catch (Exception e) {
-        ex = e;
-        rethrowException(e);
-      } finally {
-        endFunction("get_index_by_name", ret != null, ex, tblName);
-      }
-      return ret;
-    }
-
-    private Index get_index_by_name_core(final RawStore ms, final String db_name,
-        final String tbl_name, final String index_name) throws TException {
-      Index index = ms.getIndex(db_name, tbl_name, index_name);
-
-      if (index == null) {
-        throw new NoSuchObjectException(db_name + "." + tbl_name
-            + " index=" + index_name + " not found");
-      }
-      return index;
-    }
-
-    @Override
-    public List<String> get_index_names(final String dbName, final String tblName,
-        final short maxIndexes) throws TException {
-      startTableFunction("get_index_names", dbName, tblName);
-
-      List<String> ret = null;
-      Exception ex = null;
-      try {
-        ret = getMS().listIndexNames(dbName, tblName, maxIndexes);
-      } catch (Exception e) {
-        ex = e;
-        if (e instanceof MetaException) {
-          throw (MetaException) e;
-        } else {
-          throw newMetaException(e);
-        }
-      } finally {
-        endFunction("get_index_names", ret != null, ex, tblName);
-      }
-      return ret;
-    }
-
-    @Override
-    public List<Index> get_indexes(final String dbName, final String tblName,
-        final short maxIndexes) throws TException {
-      startTableFunction("get_indexes", dbName, tblName);
-
-      List<Index> ret = null;
-      Exception ex = null;
-      try {
-        ret = getMS().getIndexes(dbName, tblName, maxIndexes);
-      } catch (Exception e) {
-        ex = e;
-        rethrowException(e);
-      } finally {
-        endFunction("get_indexes", ret != null, ex, tblName);
-      }
-      return ret;
-    }
 
     private String lowerCaseConvertPartName(String partName) throws MetaException {
       boolean isFirst = true;
@@ -5350,7 +5020,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
       try {
         List<ColumnStatistics> list = getMS().getPartitionColumnStatistics(dbName, tableName,
             Lists.newArrayList(convertedPartName), Lists.newArrayList(colName));
-        if (list.isEmpty()) return null;
+        if (list.isEmpty()) {
+          return null;
+        }
         if (list.size() != 1) {
           throw new MetaException(list.size() + " statistics for single column and partition");
         }
@@ -5612,6 +5284,7 @@ public class HiveMetaStore extends ThriftHiveMetastore {
       }
     }
 
+    @Override
     public int get_num_partitions_by_filter(final String dbName,
                                             final String tblName, final String filter)
             throws TException {
@@ -6952,7 +6625,7 @@ public class HiveMetaStore extends ThriftHiveMetastore {
           }
           newStatsMap.put(partName, csNew);
         }
-        
+
         Map<String, ColumnStatistics> oldStatsMap = new HashMap<>();
         Map<String, Partition> mapToPart = new HashMap<>();
         if (request.isSetNeedMerge() && request.isNeedMerge()) {
@@ -7117,7 +6790,10 @@ public class HiveMetaStore extends ThriftHiveMetastore {
 
       getMS().getFileMetadataByExpr(fileIds, type, req.getExpr(), metadatas, ppdResults, eliminated);
       for (int i = 0; i < fileIds.size(); ++i) {
-        if (!eliminated[i] && ppdResults[i] == null) continue; // No metadata => no ppd.
+        if (!eliminated[i] && ppdResults[i] == null)
+         {
+          continue; // No metadata => no ppd.
+        }
         MetadataPpdResult mpr = new MetadataPpdResult();
         ByteBuffer ppdResult = eliminated[i] ? null : handleReadOnlyBufferForThrift(ppdResults[i]);
         mpr.setIncludeBitset(ppdResult);
@@ -7151,7 +6827,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
       assert metadatas.length == fileIds.size();
       for (int i = 0; i < metadatas.length; ++i) {
         ByteBuffer bb = metadatas[i];
-        if (bb == null) continue;
+        if (bb == null) {
+          continue;
+        }
         bb = handleReadOnlyBufferForThrift(bb);
         result.putToMetadata(fileIds.get(i), bb);
       }
@@ -7162,7 +6840,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
     }
 
     private ByteBuffer handleReadOnlyBufferForThrift(ByteBuffer bb) {
-      if (!bb.isReadOnly()) return bb;
+      if (!bb.isReadOnly()) {
+        return bb;
+      }
       // Thrift cannot write read-only buffers... oh well.
       // TODO: actually thrift never writes to the buffer, so we could use reflection to
       //       unset the unnecessary read-only flag if allocation/copy perf becomes a problem.
@@ -8148,7 +7828,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
         try {
           // Per the javadocs on Condition, do not depend on the condition alone as a start gate
           // since spurious wake ups are possible.
-          while (!startedServing.get()) startCondition.await();
+          while (!startedServing.get()) {
+            startCondition.await();
+          }
           startCompactorInitiator(conf);
           startCompactorWorkers(conf);
           startCompactorCleaner(conf);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
index da0d329..3128089 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -1136,9 +1136,6 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
       }
       return;
     }
-    if (MetaStoreUtils.isIndexTable(tbl)) {
-      throw new UnsupportedOperationException("Cannot drop index tables");
-    }
     HiveMetaHook hook = getHook(tbl);
     if (hook != null) {
       hook.preDropTable(tbl);
@@ -1665,87 +1662,6 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
     return fastpath ? fields : deepCopyFieldSchemas(fields);
   }
 
-  /**
-   * create an index
-   * @param index the index object
-   * @param indexTable which stores the index data
-   * @throws InvalidObjectException
-   * @throws MetaException
-   * @throws NoSuchObjectException
-   * @throws TException
-   * @throws AlreadyExistsException
-   */
-  @Override
-  public void createIndex(Index index, Table indexTable) throws AlreadyExistsException, InvalidObjectException, MetaException, NoSuchObjectException, TException {
-    client.add_index(index, indexTable);
-  }
-
-  /**
-   * @param dbname
-   * @param base_tbl_name
-   * @param idx_name
-   * @param new_idx
-   * @throws InvalidOperationException
-   * @throws MetaException
-   * @throws TException
-   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#alter_index(java.lang.String,
-   *      java.lang.String, java.lang.String, org.apache.hadoop.hive.metastore.api.Index)
-   */
-  @Override
-  public void alter_index(String dbname, String base_tbl_name, String idx_name, Index new_idx)
-      throws InvalidOperationException, MetaException, TException {
-    client.alter_index(dbname, base_tbl_name, idx_name, new_idx);
-  }
-
-  /**
-   * @param dbName
-   * @param tblName
-   * @param indexName
-   * @return the index
-   * @throws MetaException
-   * @throws UnknownTableException
-   * @throws NoSuchObjectException
-   * @throws TException
-   */
-  @Override
-  public Index getIndex(String dbName, String tblName, String indexName)
-      throws MetaException, UnknownTableException, NoSuchObjectException,
-      TException {
-    return deepCopy(filterHook.filterIndex(client.get_index_by_name(dbName, tblName, indexName)));
-  }
-
-  /**
-   * list indexes of the give base table
-   * @param dbName
-   * @param tblName
-   * @param max
-   * @return the list of indexes
-   * @throws NoSuchObjectException
-   * @throws MetaException
-   * @throws TException
-   */
-  @Override
-  public List<String> listIndexNames(String dbName, String tblName, short max)
-      throws MetaException, TException {
-    return filterHook.filterIndexNames(dbName, tblName, client.get_index_names(dbName, tblName, max));
-  }
-
-  /**
-   * list all the index names of the give base table.
-   *
-   * @param dbName
-   * @param tblName
-   * @param max
-   * @return list of indexes
-   * @throws MetaException
-   * @throws TException
-   */
-  @Override
-  public List<Index> listIndexes(String dbName, String tblName, short max)
-      throws NoSuchObjectException, MetaException, TException {
-    return filterHook.filterIndexes(client.get_indexes(dbName, tblName, max));
-  }
-
   @Override
   public List<SQLPrimaryKey> getPrimaryKeys(PrimaryKeysRequest req)
     throws MetaException, NoSuchObjectException, TException {
@@ -1959,14 +1875,6 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
     return copy;
   }
 
-  private Index deepCopy(Index index) {
-    Index copy = null;
-    if (index != null) {
-      copy = new Index(index);
-    }
-    return copy;
-  }
-
   private Type deepCopy(Type type) {
     Type copy = null;
     if (type != null) {
@@ -2040,13 +1948,6 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
   }
 
   @Override
-  public boolean dropIndex(String dbName, String tblName, String name,
-      boolean deleteData) throws NoSuchObjectException, MetaException,
-      TException {
-    return client.drop_index_by_name(dbName, tblName, name, deleteData);
-  }
-
-  @Override
   public boolean grant_role(String roleName, String userName,
       PrincipalType principalType, String grantor, PrincipalType grantorType,
       boolean grantOption) throws MetaException, TException {
@@ -2361,10 +2262,15 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
   public void compact(String dbname, String tableName, String partitionName,  CompactionType type)
       throws TException {
     CompactionRequest cr = new CompactionRequest();
-    if (dbname == null) cr.setDbname(DEFAULT_DATABASE_NAME);
-    else cr.setDbname(dbname);
+    if (dbname == null) {
+      cr.setDbname(DEFAULT_DATABASE_NAME);
+    } else {
+      cr.setDbname(dbname);
+    }
     cr.setTablename(tableName);
-    if (partitionName != null) cr.setPartitionname(partitionName);
+    if (partitionName != null) {
+      cr.setPartitionname(partitionName);
+    }
     cr.setType(type);
     client.compact(cr);
   }
@@ -2379,10 +2285,15 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
   public CompactionResponse compact2(String dbname, String tableName, String partitionName, CompactionType type,
                       Map<String, String> tblproperties) throws TException {
     CompactionRequest cr = new CompactionRequest();
-    if (dbname == null) cr.setDbname(DEFAULT_DATABASE_NAME);
-    else cr.setDbname(dbname);
+    if (dbname == null) {
+      cr.setDbname(DEFAULT_DATABASE_NAME);
+    } else {
+      cr.setDbname(dbname);
+    }
     cr.setTablename(tableName);
-    if (partitionName != null) cr.setPartitionname(partitionName);
+    if (partitionName != null) {
+      cr.setPartitionname(partitionName);
+    }
     cr.setType(type);
     cr.setProperties(tblproperties);
     return client.compact2(cr);
@@ -2439,7 +2350,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
       NotificationEventResponse filtered = new NotificationEventResponse();
       if (rsp != null && rsp.getEvents() != null) {
         for (NotificationEvent e : rsp.getEvents()) {
-          if (filter.accept(e)) filtered.addToEvents(e);
+          if (filter.accept(e)) {
+            filtered.addToEvents(e);
+          }
         }
       }
       return filtered;
@@ -2589,14 +2502,18 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
       private int listIndex = 0;
       @Override
       protected Map<Long, ByteBuffer> fetchNextBatch() throws TException {
-        if (listIndex == fileIds.size()) return null;
+        if (listIndex == fileIds.size()) {
+          return null;
+        }
         int endIndex = Math.min(listIndex + fileMetadataBatchSize, fileIds.size());
         List<Long> subList = fileIds.subList(listIndex, endIndex);
         GetFileMetadataResult resp = sendGetFileMetadataReq(subList);
         // TODO: we could remember if it's unsupported and stop sending calls; although, it might
         //       be a bad idea for HS2+standalone metastore that could be updated with support.
         //       Maybe we should just remember this for some time.
-        if (!resp.isIsSupported()) return null;
+        if (!resp.isIsSupported()) {
+          return null;
+        }
         listIndex = endIndex;
         return resp.getMetadata();
       }
@@ -2615,12 +2532,16 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
       private int listIndex = 0;
       @Override
       protected Map<Long, MetadataPpdResult> fetchNextBatch() throws TException {
-        if (listIndex == fileIds.size()) return null;
+        if (listIndex == fileIds.size()) {
+          return null;
+        }
         int endIndex = Math.min(listIndex + fileMetadataBatchSize, fileIds.size());
         List<Long> subList = fileIds.subList(listIndex, endIndex);
         GetFileMetadataByExprResult resp = sendGetFileMetadataBySargReq(
             sarg, subList, doGetFooters);
-        if (!resp.isIsSupported()) return null;
+        if (!resp.isIsSupported()) {
+          return null;
+        }
         listIndex = endIndex;
         return resp.getMetadata();
       }
@@ -2652,7 +2573,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
     }
 
     private void ensureCurrentBatch() {
-      if (currentIter != null && currentIter.hasNext()) return;
+      if (currentIter != null && currentIter.hasNext()) {
+        return;
+      }
       currentIter = null;
       Map<K, V> currentBatch;
       do {
@@ -2661,7 +2584,10 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
         } catch (TException ex) {
           throw new RuntimeException(ex);
         }
-        if (currentBatch == null) return; // No more data.
+        if (currentBatch == null)
+         {
+          return; // No more data.
+        }
       } while (currentBatch.isEmpty());
       currentIter = currentBatch.entrySet().iterator();
     }
@@ -2669,7 +2595,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient, AutoCloseable {
     @Override
     public Entry<K, V> next() {
       ensureCurrentBatch();
-      if (currentIter == null) throw new NoSuchElementException();
+      if (currentIter == null) {
+        throw new NoSuchElementException();
+      }
       return currentIter.next();
     }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
index 037331f..46984cb 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
@@ -35,7 +35,6 @@ import org.apache.hadoop.hive.common.classification.RetrySemantics;
 import org.apache.hadoop.hive.metastore.annotation.NoReconnect;
 import org.apache.hadoop.hive.metastore.api.AggrStats;
 import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
-import org.apache.hadoop.hive.metastore.api.BasicTxnInfo;
 import org.apache.hadoop.hive.metastore.api.CmRecycleRequest;
 import org.apache.hadoop.hive.metastore.api.CmRecycleResponse;
 import org.apache.hadoop.hive.metastore.api.ColumnStatistics;
@@ -63,7 +62,6 @@ import org.apache.hadoop.hive.metastore.api.GetRoleGrantsForPrincipalResponse;
 import org.apache.hadoop.hive.metastore.api.HeartbeatTxnRangeResponse;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
 import org.apache.hadoop.hive.metastore.api.HiveObjectRef;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
@@ -928,7 +926,7 @@ public interface IMetaStoreClient {
    *          table name of the old partition
    * @param newParts
    *          list of partitions
-   * @param environmentContext 
+   * @param environmentContext
    * @throws InvalidOperationException
    *           if the old partition does not exist
    * @throws MetaException
@@ -1023,77 +1021,6 @@ public interface IMetaStoreClient {
       throws MetaException, TException;
 
   /**
-   * create an index
-   * @param index the index object
-   * @throws InvalidObjectException
-   * @throws MetaException
-   * @throws NoSuchObjectException
-   * @throws TException
-   * @throws AlreadyExistsException
-   */
-  void createIndex(Index index, Table indexTable) throws InvalidObjectException,
-      MetaException, NoSuchObjectException, TException, AlreadyExistsException;
-
-  void alter_index(String dbName, String tblName, String indexName,
-      Index index) throws InvalidOperationException, MetaException, TException;
-
-  /**
-   *
-   * @param dbName
-   * @param tblName
-   * @param indexName
-   * @return the index
-   * @throws MetaException
-   * @throws UnknownTableException
-   * @throws NoSuchObjectException
-   * @throws TException
-   */
-  Index getIndex(String dbName, String tblName, String indexName)
-      throws MetaException, UnknownTableException, NoSuchObjectException,
-      TException;
-
-
-  /**
-   * list indexes of the give base table
-   * @param db_name
-   * @param tbl_name
-   * @param max
-   * @return the list of indexes
-   * @throws NoSuchObjectException
-   * @throws MetaException
-   * @throws TException
-   */
-  List<Index> listIndexes(String db_name, String tbl_name,
-      short max) throws NoSuchObjectException, MetaException, TException;
-
-  /**
-   * list all the index names of the give base table.
-   *
-   * @param db_name
-   * @param tbl_name
-   * @param max
-   * @return the list of names
-   * @throws MetaException
-   * @throws TException
-   */
-  List<String> listIndexNames(String db_name, String tbl_name,
-      short max) throws MetaException, TException;
-
-  /**
-   * @param db_name
-   * @param tbl_name
-   * @param name index name
-   * @param deleteData
-   * @return true on success
-   * @throws NoSuchObjectException
-   * @throws MetaException
-   * @throws TException
-   */
-  boolean dropIndex(String db_name, String tbl_name,
-      String name, boolean deleteData) throws NoSuchObjectException,
-      MetaException, TException;
-
-  /**
    * Write table level column statistics to persistent store
    * @param statsObj
    * @return boolean indicating the status of the operation

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java
index 0e1620d..88d22d6 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreEventListener.java
@@ -24,12 +24,10 @@ import org.apache.hadoop.conf.Configurable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.events.AddForeignKeyEvent;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddNotNullConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AddPrimaryKeyEvent;
 import org.apache.hadoop.hive.metastore.events.AddUniqueConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AlterDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
@@ -40,7 +38,6 @@ import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.DropTableEvent;
 import org.apache.hadoop.hive.metastore.events.InsertEvent;
@@ -140,27 +137,6 @@ public abstract class MetaStoreEventListener implements Configurable {
   }
 
   /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  public void onAddIndex(AddIndexEvent indexEvent) throws MetaException {
-  }
-
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  public void onDropIndex(DropIndexEvent indexEvent) throws MetaException {
-  }
-
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  public void onAlterIndex(AlterIndexEvent indexEvent) throws MetaException {
-  }
-
-  /**
    * @param fnEvent function event
    * @throws MetaException
    */

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
index fb341b2..8522afe 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
@@ -23,7 +23,6 @@ import java.util.List;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
 import org.apache.hadoop.hive.metastore.api.Partition;
@@ -110,23 +109,6 @@ public interface MetaStoreFilterHook {
   public List<String> filterPartitionNames(String dbName, String tblName,
       List<String> partitionNames) throws MetaException;
 
-  public Index filterIndex(Index index) throws MetaException, NoSuchObjectException;
 
-  /**
-   * Filter given list of index names
-   * @param dbName
-   * @param tblName
-   * @param indexList
-   * @return
-   */
-  public List<String> filterIndexNames(String dbName, String tblName,
-      List<String> indexList) throws MetaException;
-
-  /**
-   * Filter given list of index objects
-   * @param indexeList
-   * @return
-   */
-  public List<Index> filterIndexes(List<Index> indexeList) throws MetaException;
 }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java
index a640b34..af01e8a 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreListenerNotifier.java
@@ -25,13 +25,11 @@ import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.hive.metastore.api.EnvironmentContext;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.events.AddForeignKeyEvent;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddNotNullConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AddPrimaryKeyEvent;
 import org.apache.hadoop.hive.metastore.events.AddUniqueConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AlterDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.CreateDatabaseEvent;
@@ -39,7 +37,6 @@ import org.apache.hadoop.hive.metastore.events.CreateFunctionEvent;
 import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.DropTableEvent;
 import org.apache.hadoop.hive.metastore.events.InsertEvent;
@@ -137,24 +134,6 @@ public class MetaStoreListenerNotifier {
               listener.onDropFunction((DropFunctionEvent)event);
             }
           })
-          .put(EventType.CREATE_INDEX, new EventNotifier() {
-            @Override
-            public void notify(MetaStoreEventListener listener, ListenerEvent event) throws MetaException {
-              listener.onAddIndex((AddIndexEvent)event);
-            }
-          })
-          .put(EventType.DROP_INDEX, new EventNotifier() {
-            @Override
-            public void notify(MetaStoreEventListener listener, ListenerEvent event) throws MetaException {
-              listener.onDropIndex((DropIndexEvent)event);
-            }
-          })
-          .put(EventType.ALTER_INDEX, new EventNotifier() {
-            @Override
-            public void notify(MetaStoreEventListener listener, ListenerEvent event) throws MetaException {
-              listener.onAlterIndex((AlterIndexEvent)event);
-            }
-          })
           .put(EventType.ADD_PRIMARYKEY, new EventNotifier() {
             @Override
             public void notify(MetaStoreEventListener listener, ListenerEvent event) throws MetaException {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index 11667b7..3633c03 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -92,7 +92,6 @@ import org.apache.hadoop.hive.metastore.api.FunctionType;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
 import org.apache.hadoop.hive.metastore.api.HiveObjectRef;
 import org.apache.hadoop.hive.metastore.api.HiveObjectType;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
@@ -156,7 +155,6 @@ import org.apache.hadoop.hive.metastore.model.MDelegationToken;
 import org.apache.hadoop.hive.metastore.model.MFieldSchema;
 import org.apache.hadoop.hive.metastore.model.MFunction;
 import org.apache.hadoop.hive.metastore.model.MGlobalPrivilege;
-import org.apache.hadoop.hive.metastore.model.MIndex;
 import org.apache.hadoop.hive.metastore.model.MMasterKey;
 import org.apache.hadoop.hive.metastore.model.MMetastoreDBProperties;
 import org.apache.hadoop.hive.metastore.model.MNotificationLog;
@@ -3777,37 +3775,6 @@ public class ObjectStore implements RawStore, Configurable {
     }
   }
 
-  @Override
-  public void alterIndex(String dbname, String baseTblName, String name, Index newIndex)
-      throws InvalidObjectException, MetaException {
-    boolean success = false;
-    try {
-      openTransaction();
-      name = normalizeIdentifier(name);
-      baseTblName = normalizeIdentifier(baseTblName);
-      dbname = normalizeIdentifier(dbname);
-      MIndex newi = convertToMIndex(newIndex);
-      if (newi == null) {
-        throw new InvalidObjectException("new index is invalid");
-      }
-
-      MIndex oldi = getMIndex(dbname, baseTblName, name);
-      if (oldi == null) {
-        throw new MetaException("index " + name + " doesn't exist");
-      }
-
-      // For now only alter parameters are allowed
-      oldi.setParameters(newi.getParameters());
-
-      // commit the changes
-      success = commitTransaction();
-    } finally {
-      if (!success) {
-        rollbackTransaction();
-      }
-    }
-  }
-
   /**
    * Alters an existing partition. Initiates copy of SD. Returns the old CD.
    * @param dbname
@@ -4633,190 +4600,6 @@ public class ObjectStore implements RawStore, Configurable {
   }
 
   @Override
-  public boolean addIndex(Index index) throws InvalidObjectException,
-      MetaException {
-    boolean commited = false;
-    try {
-      openTransaction();
-      MIndex idx = convertToMIndex(index);
-      pm.makePersistent(idx);
-      commited = commitTransaction();
-      return true;
-    } finally {
-      if (!commited) {
-        rollbackTransaction();
-        return false;
-      }
-    }
-  }
-
-  private MIndex convertToMIndex(Index index) throws InvalidObjectException,
-      MetaException {
-
-    StorageDescriptor sd = index.getSd();
-    if (sd == null) {
-      throw new InvalidObjectException("Storage descriptor is not defined for index.");
-    }
-
-    MStorageDescriptor msd = this.convertToMStorageDescriptor(sd);
-    MTable origTable = getMTable(index.getDbName(), index.getOrigTableName());
-    if (origTable == null) {
-      throw new InvalidObjectException(
-          "Original table does not exist for the given index.");
-    }
-
-    String[] qualified = MetaStoreUtils.getQualifiedName(index.getDbName(), index.getIndexTableName());
-    MTable indexTable = getMTable(qualified[0], qualified[1]);
-    if (indexTable == null) {
-      throw new InvalidObjectException(
-          "Underlying index table does not exist for the given index.");
-    }
-
-    return new MIndex(normalizeIdentifier(index.getIndexName()), origTable, index.getCreateTime(),
-        index.getLastAccessTime(), index.getParameters(), indexTable, msd,
-        index.getIndexHandlerClass(), index.isDeferredRebuild());
-  }
-
-  @Override
-  public boolean dropIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    boolean success = false;
-    try {
-      openTransaction();
-      MIndex index = getMIndex(dbName, origTableName, indexName);
-      if (index != null) {
-        pm.deletePersistent(index);
-      }
-      success = commitTransaction();
-    } finally {
-      if (!success) {
-        rollbackTransaction();
-      }
-    }
-    return success;
-  }
-
-  private MIndex getMIndex(String dbName, String originalTblName, String indexName)
-      throws MetaException {
-    MIndex midx = null;
-    boolean commited = false;
-    Query query = null;
-    try {
-      openTransaction();
-      dbName = normalizeIdentifier(dbName);
-      originalTblName = normalizeIdentifier(originalTblName);
-      MTable mtbl = getMTable(dbName, originalTblName);
-      if (mtbl == null) {
-        commited = commitTransaction();
-        return null;
-      }
-      query =
-          pm.newQuery(MIndex.class,
-              "origTable.tableName == t1 && origTable.database.name == t2 && indexName == t3");
-      query.declareParameters("java.lang.String t1, java.lang.String t2, java.lang.String t3");
-      query.setUnique(true);
-      midx =
-          (MIndex) query.execute(originalTblName, dbName,
-              normalizeIdentifier(indexName));
-      pm.retrieve(midx);
-      commited = commitTransaction();
-    } finally {
-      rollbackAndCleanup(commited, query);
-    }
-    return midx;
-  }
-
-  @Override
-  public Index getIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    openTransaction();
-    MIndex mIndex = this.getMIndex(dbName, origTableName, indexName);
-    Index ret = convertToIndex(mIndex);
-    commitTransaction();
-    return ret;
-  }
-
-  private Index convertToIndex(MIndex mIndex) throws MetaException {
-    if (mIndex == null) {
-      return null;
-    }
-
-    MTable origTable = mIndex.getOrigTable();
-    MTable indexTable = mIndex.getIndexTable();
-
-    return new Index(
-    mIndex.getIndexName(),
-    mIndex.getIndexHandlerClass(),
-    origTable.getDatabase().getName(),
-    origTable.getTableName(),
-    mIndex.getCreateTime(),
-    mIndex.getLastAccessTime(),
-    indexTable.getTableName(),
-    convertToStorageDescriptor(mIndex.getSd()),
-    mIndex.getParameters(),
-    mIndex.getDeferredRebuild());
-
-  }
-
-  @Override
-  public List<Index> getIndexes(String dbName, String origTableName, int max)
-      throws MetaException {
-    boolean success = false;
-    Query query = null;
-    try {
-      LOG.debug("Executing getIndexes");
-      openTransaction();
-
-      dbName = normalizeIdentifier(dbName);
-      origTableName = normalizeIdentifier(origTableName);
-      query =
-          pm.newQuery(MIndex.class, "origTable.tableName == t1 && origTable.database.name == t2");
-      query.declareParameters("java.lang.String t1, java.lang.String t2");
-      List<MIndex> mIndexes = (List<MIndex>) query.execute(origTableName, dbName);
-      pm.retrieveAll(mIndexes);
-
-      List<Index> indexes = new ArrayList<>(mIndexes.size());
-      for (MIndex mIdx : mIndexes) {
-        indexes.add(this.convertToIndex(mIdx));
-      }
-      success = commitTransaction();
-      LOG.debug("Done retrieving all objects for getIndexes");
-
-      return indexes;
-    } finally {
-      rollbackAndCleanup(success, query);
-    }
-  }
-
-  @Override
-  public List<String> listIndexNames(String dbName, String origTableName, short max)
-      throws MetaException {
-    List<String> pns = new ArrayList<>();
-    boolean success = false;
-    Query query = null;
-    try {
-      openTransaction();
-      LOG.debug("Executing listIndexNames");
-      dbName = normalizeIdentifier(dbName);
-      origTableName = normalizeIdentifier(origTableName);
-      query =
-          pm.newQuery("select indexName from org.apache.hadoop.hive.metastore.model.MIndex "
-              + "where origTable.database.name == t1 && origTable.tableName == t2 "
-              + "order by indexName asc");
-      query.declareParameters("java.lang.String t1, java.lang.String t2");
-      query.setResult("indexName");
-      Collection names = (Collection) query.execute(dbName, origTableName);
-      for (Iterator i = names.iterator(); i.hasNext();) {
-        pns.add((String) i.next());
-      }
-      success = commitTransaction();
-    } finally {
-      rollbackAndCleanup(success, query);
-    }
-    return pns;
-  }
-
-  @Override
   public boolean addRole(String roleName, String ownerName)
       throws InvalidObjectException, MetaException, NoSuchObjectException {
     boolean success = false;
@@ -10117,7 +9900,7 @@ public class ObjectStore implements RawStore, Configurable {
       } else {
         result = handleSimpleAlter(name, changes, canActivateDisabled, canDeactivate);
       }
- 
+
       commited = commitTransaction();
       return result;
     } catch (Exception e) {
@@ -10210,7 +9993,9 @@ public class ObjectStore implements RawStore, Configurable {
     String copyName = generateOldPlanName(newName, i);
     while (true) {
       MWMResourcePlan dup = getMWMResourcePlan(copyName, false, false);
-      if (dup == null) break;
+      if (dup == null) {
+        break;
+      }
       // Note: this can still conflict with parallel transactions. We do not currently handle
       //       parallel changes from two admins (by design :().
       copyName = generateOldPlanName(newName, ++i);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
index 6a8036f..40a7497 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
@@ -40,7 +40,6 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
@@ -236,22 +235,6 @@ public interface RawStore extends Configurable {
       List<List<String>> part_vals_list, List<Partition> new_parts)
       throws InvalidObjectException, MetaException;
 
-  boolean addIndex(Index index)
-      throws InvalidObjectException, MetaException;
-
-  Index getIndex(String dbName, String origTableName, String indexName) throws MetaException;
-
-  boolean dropIndex(String dbName, String origTableName, String indexName) throws MetaException;
-
-  List<Index> getIndexes(String dbName,
-      String origTableName, int max) throws MetaException;
-
-  List<String> listIndexNames(String dbName,
-      String origTableName, short max) throws MetaException;
-
-  void alterIndex(String dbname, String baseTblName, String name, Index newIndex)
-      throws InvalidObjectException, MetaException;
-
   List<Partition> getPartitionsByFilter(
       String dbName, String tblName, String filter, short maxParts)
       throws MetaException, NoSuchObjectException;

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TableType.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TableType.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TableType.java
index 629d1d6..33f394d 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TableType.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/TableType.java
@@ -22,5 +22,5 @@ package org.apache.hadoop.hive.metastore;
  * Typesafe enum for types of tables described by the metastore.
  */
 public enum TableType {
-  MANAGED_TABLE, EXTERNAL_TABLE, VIRTUAL_VIEW, INDEX_TABLE, MATERIALIZED_VIEW
+  MANAGED_TABLE, EXTERNAL_TABLE, VIRTUAL_VIEW, MATERIALIZED_VIEW
 }


[18/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
index 7c38d5b..cee1382 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
@@ -254,8 +254,6 @@ class PartitionListComposingSpec;
 
 class PartitionSpec;
 
-class Index;
-
 class BooleanColumnStatsData;
 
 class DoubleColumnStatsData;
@@ -584,8 +582,6 @@ class InvalidObjectException;
 
 class NoSuchObjectException;
 
-class IndexAlreadyExistsException;
-
 class InvalidOperationException;
 
 class ConfigValSecurityException;
@@ -2963,106 +2959,6 @@ inline std::ostream& operator<<(std::ostream& out, const PartitionSpec& obj)
   return out;
 }
 
-typedef struct _Index__isset {
-  _Index__isset() : indexName(false), indexHandlerClass(false), dbName(false), origTableName(false), createTime(false), lastAccessTime(false), indexTableName(false), sd(false), parameters(false), deferredRebuild(false) {}
-  bool indexName :1;
-  bool indexHandlerClass :1;
-  bool dbName :1;
-  bool origTableName :1;
-  bool createTime :1;
-  bool lastAccessTime :1;
-  bool indexTableName :1;
-  bool sd :1;
-  bool parameters :1;
-  bool deferredRebuild :1;
-} _Index__isset;
-
-class Index {
- public:
-
-  Index(const Index&);
-  Index& operator=(const Index&);
-  Index() : indexName(), indexHandlerClass(), dbName(), origTableName(), createTime(0), lastAccessTime(0), indexTableName(), deferredRebuild(0) {
-  }
-
-  virtual ~Index() throw();
-  std::string indexName;
-  std::string indexHandlerClass;
-  std::string dbName;
-  std::string origTableName;
-  int32_t createTime;
-  int32_t lastAccessTime;
-  std::string indexTableName;
-  StorageDescriptor sd;
-  std::map<std::string, std::string>  parameters;
-  bool deferredRebuild;
-
-  _Index__isset __isset;
-
-  void __set_indexName(const std::string& val);
-
-  void __set_indexHandlerClass(const std::string& val);
-
-  void __set_dbName(const std::string& val);
-
-  void __set_origTableName(const std::string& val);
-
-  void __set_createTime(const int32_t val);
-
-  void __set_lastAccessTime(const int32_t val);
-
-  void __set_indexTableName(const std::string& val);
-
-  void __set_sd(const StorageDescriptor& val);
-
-  void __set_parameters(const std::map<std::string, std::string> & val);
-
-  void __set_deferredRebuild(const bool val);
-
-  bool operator == (const Index & rhs) const
-  {
-    if (!(indexName == rhs.indexName))
-      return false;
-    if (!(indexHandlerClass == rhs.indexHandlerClass))
-      return false;
-    if (!(dbName == rhs.dbName))
-      return false;
-    if (!(origTableName == rhs.origTableName))
-      return false;
-    if (!(createTime == rhs.createTime))
-      return false;
-    if (!(lastAccessTime == rhs.lastAccessTime))
-      return false;
-    if (!(indexTableName == rhs.indexTableName))
-      return false;
-    if (!(sd == rhs.sd))
-      return false;
-    if (!(parameters == rhs.parameters))
-      return false;
-    if (!(deferredRebuild == rhs.deferredRebuild))
-      return false;
-    return true;
-  }
-  bool operator != (const Index &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Index & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  virtual void printTo(std::ostream& out) const;
-};
-
-void swap(Index &a, Index &b);
-
-inline std::ostream& operator<<(std::ostream& out, const Index& obj)
-{
-  obj.printTo(out);
-  return out;
-}
-
 typedef struct _BooleanColumnStatsData__isset {
   _BooleanColumnStatsData__isset() : bitVectors(false) {}
   bool bitVectors :1;
@@ -11816,54 +11712,6 @@ inline std::ostream& operator<<(std::ostream& out, const NoSuchObjectException&
   return out;
 }
 
-typedef struct _IndexAlreadyExistsException__isset {
-  _IndexAlreadyExistsException__isset() : message(false) {}
-  bool message :1;
-} _IndexAlreadyExistsException__isset;
-
-class IndexAlreadyExistsException : public ::apache::thrift::TException {
- public:
-
-  IndexAlreadyExistsException(const IndexAlreadyExistsException&);
-  IndexAlreadyExistsException& operator=(const IndexAlreadyExistsException&);
-  IndexAlreadyExistsException() : message() {
-  }
-
-  virtual ~IndexAlreadyExistsException() throw();
-  std::string message;
-
-  _IndexAlreadyExistsException__isset __isset;
-
-  void __set_message(const std::string& val);
-
-  bool operator == (const IndexAlreadyExistsException & rhs) const
-  {
-    if (!(message == rhs.message))
-      return false;
-    return true;
-  }
-  bool operator != (const IndexAlreadyExistsException &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const IndexAlreadyExistsException & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  virtual void printTo(std::ostream& out) const;
-  mutable std::string thriftTExceptionMessageHolder_;
-  const char* what() const throw();
-};
-
-void swap(IndexAlreadyExistsException &a, IndexAlreadyExistsException &b);
-
-inline std::ostream& operator<<(std::ostream& out, const IndexAlreadyExistsException& obj)
-{
-  obj.printTo(out);
-  return out;
-}
-
 typedef struct _InvalidOperationException__isset {
   _InvalidOperationException__isset() : message(false) {}
   bool message :1;

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AbortTxnsRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AbortTxnsRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AbortTxnsRequest.java
index 29e4e69..699f27b 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AbortTxnsRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AbortTxnsRequest.java
@@ -351,13 +351,13 @@ import org.slf4j.LoggerFactory;
           case 1: // TXN_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list564 = iprot.readListBegin();
-                struct.txn_ids = new ArrayList<Long>(_list564.size);
-                long _elem565;
-                for (int _i566 = 0; _i566 < _list564.size; ++_i566)
+                org.apache.thrift.protocol.TList _list554 = iprot.readListBegin();
+                struct.txn_ids = new ArrayList<Long>(_list554.size);
+                long _elem555;
+                for (int _i556 = 0; _i556 < _list554.size; ++_i556)
                 {
-                  _elem565 = iprot.readI64();
-                  struct.txn_ids.add(_elem565);
+                  _elem555 = iprot.readI64();
+                  struct.txn_ids.add(_elem555);
                 }
                 iprot.readListEnd();
               }
@@ -383,9 +383,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TXN_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.txn_ids.size()));
-          for (long _iter567 : struct.txn_ids)
+          for (long _iter557 : struct.txn_ids)
           {
-            oprot.writeI64(_iter567);
+            oprot.writeI64(_iter557);
           }
           oprot.writeListEnd();
         }
@@ -410,9 +410,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.txn_ids.size());
-        for (long _iter568 : struct.txn_ids)
+        for (long _iter558 : struct.txn_ids)
         {
-          oprot.writeI64(_iter568);
+          oprot.writeI64(_iter558);
         }
       }
     }
@@ -421,13 +421,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AbortTxnsRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list569 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.txn_ids = new ArrayList<Long>(_list569.size);
-        long _elem570;
-        for (int _i571 = 0; _i571 < _list569.size; ++_i571)
+        org.apache.thrift.protocol.TList _list559 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.txn_ids = new ArrayList<Long>(_list559.size);
+        long _elem560;
+        for (int _i561 = 0; _i561 < _list559.size; ++_i561)
         {
-          _elem570 = iprot.readI64();
-          struct.txn_ids.add(_elem570);
+          _elem560 = iprot.readI64();
+          struct.txn_ids.add(_elem560);
         }
       }
       struct.setTxn_idsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDefaultConstraintRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDefaultConstraintRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDefaultConstraintRequest.java
index 8703b61..6fe0cae 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDefaultConstraintRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDefaultConstraintRequest.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // DEFAULT_CONSTRAINT_COLS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list394 = iprot.readListBegin();
-                struct.defaultConstraintCols = new ArrayList<SQLDefaultConstraint>(_list394.size);
-                SQLDefaultConstraint _elem395;
-                for (int _i396 = 0; _i396 < _list394.size; ++_i396)
+                org.apache.thrift.protocol.TList _list384 = iprot.readListBegin();
+                struct.defaultConstraintCols = new ArrayList<SQLDefaultConstraint>(_list384.size);
+                SQLDefaultConstraint _elem385;
+                for (int _i386 = 0; _i386 < _list384.size; ++_i386)
                 {
-                  _elem395 = new SQLDefaultConstraint();
-                  _elem395.read(iprot);
-                  struct.defaultConstraintCols.add(_elem395);
+                  _elem385 = new SQLDefaultConstraint();
+                  _elem385.read(iprot);
+                  struct.defaultConstraintCols.add(_elem385);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(DEFAULT_CONSTRAINT_COLS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.defaultConstraintCols.size()));
-          for (SQLDefaultConstraint _iter397 : struct.defaultConstraintCols)
+          for (SQLDefaultConstraint _iter387 : struct.defaultConstraintCols)
           {
-            _iter397.write(oprot);
+            _iter387.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.defaultConstraintCols.size());
-        for (SQLDefaultConstraint _iter398 : struct.defaultConstraintCols)
+        for (SQLDefaultConstraint _iter388 : struct.defaultConstraintCols)
         {
-          _iter398.write(oprot);
+          _iter388.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AddDefaultConstraintRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list399 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.defaultConstraintCols = new ArrayList<SQLDefaultConstraint>(_list399.size);
-        SQLDefaultConstraint _elem400;
-        for (int _i401 = 0; _i401 < _list399.size; ++_i401)
+        org.apache.thrift.protocol.TList _list389 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.defaultConstraintCols = new ArrayList<SQLDefaultConstraint>(_list389.size);
+        SQLDefaultConstraint _elem390;
+        for (int _i391 = 0; _i391 < _list389.size; ++_i391)
         {
-          _elem400 = new SQLDefaultConstraint();
-          _elem400.read(iprot);
-          struct.defaultConstraintCols.add(_elem400);
+          _elem390 = new SQLDefaultConstraint();
+          _elem390.read(iprot);
+          struct.defaultConstraintCols.add(_elem390);
         }
       }
       struct.setDefaultConstraintColsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDynamicPartitions.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDynamicPartitions.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDynamicPartitions.java
index 99c0741..2144dc0 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDynamicPartitions.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDynamicPartitions.java
@@ -816,13 +816,13 @@ import org.slf4j.LoggerFactory;
           case 5: // PARTITIONNAMES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list662 = iprot.readListBegin();
-                struct.partitionnames = new ArrayList<String>(_list662.size);
-                String _elem663;
-                for (int _i664 = 0; _i664 < _list662.size; ++_i664)
+                org.apache.thrift.protocol.TList _list652 = iprot.readListBegin();
+                struct.partitionnames = new ArrayList<String>(_list652.size);
+                String _elem653;
+                for (int _i654 = 0; _i654 < _list652.size; ++_i654)
                 {
-                  _elem663 = iprot.readString();
-                  struct.partitionnames.add(_elem663);
+                  _elem653 = iprot.readString();
+                  struct.partitionnames.add(_elem653);
                 }
                 iprot.readListEnd();
               }
@@ -872,9 +872,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PARTITIONNAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.partitionnames.size()));
-          for (String _iter665 : struct.partitionnames)
+          for (String _iter655 : struct.partitionnames)
           {
-            oprot.writeString(_iter665);
+            oprot.writeString(_iter655);
           }
           oprot.writeListEnd();
         }
@@ -910,9 +910,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.tablename);
       {
         oprot.writeI32(struct.partitionnames.size());
-        for (String _iter666 : struct.partitionnames)
+        for (String _iter656 : struct.partitionnames)
         {
-          oprot.writeString(_iter666);
+          oprot.writeString(_iter656);
         }
       }
       BitSet optionals = new BitSet();
@@ -937,13 +937,13 @@ import org.slf4j.LoggerFactory;
       struct.tablename = iprot.readString();
       struct.setTablenameIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list667 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.partitionnames = new ArrayList<String>(_list667.size);
-        String _elem668;
-        for (int _i669 = 0; _i669 < _list667.size; ++_i669)
+        org.apache.thrift.protocol.TList _list657 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.partitionnames = new ArrayList<String>(_list657.size);
+        String _elem658;
+        for (int _i659 = 0; _i659 < _list657.size; ++_i659)
         {
-          _elem668 = iprot.readString();
-          struct.partitionnames.add(_elem668);
+          _elem658 = iprot.readString();
+          struct.partitionnames.add(_elem658);
         }
       }
       struct.setPartitionnamesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddForeignKeyRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddForeignKeyRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddForeignKeyRequest.java
index 2bcdea1..6bff65d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddForeignKeyRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddForeignKeyRequest.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // FOREIGN_KEY_COLS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list370 = iprot.readListBegin();
-                struct.foreignKeyCols = new ArrayList<SQLForeignKey>(_list370.size);
-                SQLForeignKey _elem371;
-                for (int _i372 = 0; _i372 < _list370.size; ++_i372)
+                org.apache.thrift.protocol.TList _list360 = iprot.readListBegin();
+                struct.foreignKeyCols = new ArrayList<SQLForeignKey>(_list360.size);
+                SQLForeignKey _elem361;
+                for (int _i362 = 0; _i362 < _list360.size; ++_i362)
                 {
-                  _elem371 = new SQLForeignKey();
-                  _elem371.read(iprot);
-                  struct.foreignKeyCols.add(_elem371);
+                  _elem361 = new SQLForeignKey();
+                  _elem361.read(iprot);
+                  struct.foreignKeyCols.add(_elem361);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FOREIGN_KEY_COLS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.foreignKeyCols.size()));
-          for (SQLForeignKey _iter373 : struct.foreignKeyCols)
+          for (SQLForeignKey _iter363 : struct.foreignKeyCols)
           {
-            _iter373.write(oprot);
+            _iter363.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.foreignKeyCols.size());
-        for (SQLForeignKey _iter374 : struct.foreignKeyCols)
+        for (SQLForeignKey _iter364 : struct.foreignKeyCols)
         {
-          _iter374.write(oprot);
+          _iter364.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AddForeignKeyRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list375 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.foreignKeyCols = new ArrayList<SQLForeignKey>(_list375.size);
-        SQLForeignKey _elem376;
-        for (int _i377 = 0; _i377 < _list375.size; ++_i377)
+        org.apache.thrift.protocol.TList _list365 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.foreignKeyCols = new ArrayList<SQLForeignKey>(_list365.size);
+        SQLForeignKey _elem366;
+        for (int _i367 = 0; _i367 < _list365.size; ++_i367)
         {
-          _elem376 = new SQLForeignKey();
-          _elem376.read(iprot);
-          struct.foreignKeyCols.add(_elem376);
+          _elem366 = new SQLForeignKey();
+          _elem366.read(iprot);
+          struct.foreignKeyCols.add(_elem366);
         }
       }
       struct.setForeignKeyColsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddNotNullConstraintRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddNotNullConstraintRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddNotNullConstraintRequest.java
index f944e46..35f1a56 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddNotNullConstraintRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddNotNullConstraintRequest.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // NOT_NULL_CONSTRAINT_COLS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list386 = iprot.readListBegin();
-                struct.notNullConstraintCols = new ArrayList<SQLNotNullConstraint>(_list386.size);
-                SQLNotNullConstraint _elem387;
-                for (int _i388 = 0; _i388 < _list386.size; ++_i388)
+                org.apache.thrift.protocol.TList _list376 = iprot.readListBegin();
+                struct.notNullConstraintCols = new ArrayList<SQLNotNullConstraint>(_list376.size);
+                SQLNotNullConstraint _elem377;
+                for (int _i378 = 0; _i378 < _list376.size; ++_i378)
                 {
-                  _elem387 = new SQLNotNullConstraint();
-                  _elem387.read(iprot);
-                  struct.notNullConstraintCols.add(_elem387);
+                  _elem377 = new SQLNotNullConstraint();
+                  _elem377.read(iprot);
+                  struct.notNullConstraintCols.add(_elem377);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(NOT_NULL_CONSTRAINT_COLS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.notNullConstraintCols.size()));
-          for (SQLNotNullConstraint _iter389 : struct.notNullConstraintCols)
+          for (SQLNotNullConstraint _iter379 : struct.notNullConstraintCols)
           {
-            _iter389.write(oprot);
+            _iter379.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.notNullConstraintCols.size());
-        for (SQLNotNullConstraint _iter390 : struct.notNullConstraintCols)
+        for (SQLNotNullConstraint _iter380 : struct.notNullConstraintCols)
         {
-          _iter390.write(oprot);
+          _iter380.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AddNotNullConstraintRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list391 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.notNullConstraintCols = new ArrayList<SQLNotNullConstraint>(_list391.size);
-        SQLNotNullConstraint _elem392;
-        for (int _i393 = 0; _i393 < _list391.size; ++_i393)
+        org.apache.thrift.protocol.TList _list381 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.notNullConstraintCols = new ArrayList<SQLNotNullConstraint>(_list381.size);
+        SQLNotNullConstraint _elem382;
+        for (int _i383 = 0; _i383 < _list381.size; ++_i383)
         {
-          _elem392 = new SQLNotNullConstraint();
-          _elem392.read(iprot);
-          struct.notNullConstraintCols.add(_elem392);
+          _elem382 = new SQLNotNullConstraint();
+          _elem382.read(iprot);
+          struct.notNullConstraintCols.add(_elem382);
         }
       }
       struct.setNotNullConstraintColsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsRequest.java
index d351678..02f0dfa 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsRequest.java
@@ -704,14 +704,14 @@ import org.slf4j.LoggerFactory;
           case 3: // PARTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list468 = iprot.readListBegin();
-                struct.parts = new ArrayList<Partition>(_list468.size);
-                Partition _elem469;
-                for (int _i470 = 0; _i470 < _list468.size; ++_i470)
+                org.apache.thrift.protocol.TList _list458 = iprot.readListBegin();
+                struct.parts = new ArrayList<Partition>(_list458.size);
+                Partition _elem459;
+                for (int _i460 = 0; _i460 < _list458.size; ++_i460)
                 {
-                  _elem469 = new Partition();
-                  _elem469.read(iprot);
-                  struct.parts.add(_elem469);
+                  _elem459 = new Partition();
+                  _elem459.read(iprot);
+                  struct.parts.add(_elem459);
                 }
                 iprot.readListEnd();
               }
@@ -763,9 +763,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PARTS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.parts.size()));
-          for (Partition _iter471 : struct.parts)
+          for (Partition _iter461 : struct.parts)
           {
-            _iter471.write(oprot);
+            _iter461.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -800,9 +800,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.tblName);
       {
         oprot.writeI32(struct.parts.size());
-        for (Partition _iter472 : struct.parts)
+        for (Partition _iter462 : struct.parts)
         {
-          _iter472.write(oprot);
+          _iter462.write(oprot);
         }
       }
       oprot.writeBool(struct.ifNotExists);
@@ -824,14 +824,14 @@ import org.slf4j.LoggerFactory;
       struct.tblName = iprot.readString();
       struct.setTblNameIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list473 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.parts = new ArrayList<Partition>(_list473.size);
-        Partition _elem474;
-        for (int _i475 = 0; _i475 < _list473.size; ++_i475)
+        org.apache.thrift.protocol.TList _list463 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.parts = new ArrayList<Partition>(_list463.size);
+        Partition _elem464;
+        for (int _i465 = 0; _i465 < _list463.size; ++_i465)
         {
-          _elem474 = new Partition();
-          _elem474.read(iprot);
-          struct.parts.add(_elem474);
+          _elem464 = new Partition();
+          _elem464.read(iprot);
+          struct.parts.add(_elem464);
         }
       }
       struct.setPartsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsResult.java
index 23525e2..347c267 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsResult.java
@@ -346,14 +346,14 @@ import org.slf4j.LoggerFactory;
           case 1: // PARTITIONS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list460 = iprot.readListBegin();
-                struct.partitions = new ArrayList<Partition>(_list460.size);
-                Partition _elem461;
-                for (int _i462 = 0; _i462 < _list460.size; ++_i462)
+                org.apache.thrift.protocol.TList _list450 = iprot.readListBegin();
+                struct.partitions = new ArrayList<Partition>(_list450.size);
+                Partition _elem451;
+                for (int _i452 = 0; _i452 < _list450.size; ++_i452)
                 {
-                  _elem461 = new Partition();
-                  _elem461.read(iprot);
-                  struct.partitions.add(_elem461);
+                  _elem451 = new Partition();
+                  _elem451.read(iprot);
+                  struct.partitions.add(_elem451);
                 }
                 iprot.readListEnd();
               }
@@ -380,9 +380,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(PARTITIONS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.partitions.size()));
-            for (Partition _iter463 : struct.partitions)
+            for (Partition _iter453 : struct.partitions)
             {
-              _iter463.write(oprot);
+              _iter453.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetPartitions()) {
         {
           oprot.writeI32(struct.partitions.size());
-          for (Partition _iter464 : struct.partitions)
+          for (Partition _iter454 : struct.partitions)
           {
-            _iter464.write(oprot);
+            _iter454.write(oprot);
           }
         }
       }
@@ -428,14 +428,14 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list465 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.partitions = new ArrayList<Partition>(_list465.size);
-          Partition _elem466;
-          for (int _i467 = 0; _i467 < _list465.size; ++_i467)
+          org.apache.thrift.protocol.TList _list455 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.partitions = new ArrayList<Partition>(_list455.size);
+          Partition _elem456;
+          for (int _i457 = 0; _i457 < _list455.size; ++_i457)
           {
-            _elem466 = new Partition();
-            _elem466.read(iprot);
-            struct.partitions.add(_elem466);
+            _elem456 = new Partition();
+            _elem456.read(iprot);
+            struct.partitions.add(_elem456);
           }
         }
         struct.setPartitionsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPrimaryKeyRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPrimaryKeyRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPrimaryKeyRequest.java
index 9efcfe0..c2f12aa 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPrimaryKeyRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPrimaryKeyRequest.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // PRIMARY_KEY_COLS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list362 = iprot.readListBegin();
-                struct.primaryKeyCols = new ArrayList<SQLPrimaryKey>(_list362.size);
-                SQLPrimaryKey _elem363;
-                for (int _i364 = 0; _i364 < _list362.size; ++_i364)
+                org.apache.thrift.protocol.TList _list352 = iprot.readListBegin();
+                struct.primaryKeyCols = new ArrayList<SQLPrimaryKey>(_list352.size);
+                SQLPrimaryKey _elem353;
+                for (int _i354 = 0; _i354 < _list352.size; ++_i354)
                 {
-                  _elem363 = new SQLPrimaryKey();
-                  _elem363.read(iprot);
-                  struct.primaryKeyCols.add(_elem363);
+                  _elem353 = new SQLPrimaryKey();
+                  _elem353.read(iprot);
+                  struct.primaryKeyCols.add(_elem353);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PRIMARY_KEY_COLS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.primaryKeyCols.size()));
-          for (SQLPrimaryKey _iter365 : struct.primaryKeyCols)
+          for (SQLPrimaryKey _iter355 : struct.primaryKeyCols)
           {
-            _iter365.write(oprot);
+            _iter355.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.primaryKeyCols.size());
-        for (SQLPrimaryKey _iter366 : struct.primaryKeyCols)
+        for (SQLPrimaryKey _iter356 : struct.primaryKeyCols)
         {
-          _iter366.write(oprot);
+          _iter356.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AddPrimaryKeyRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list367 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.primaryKeyCols = new ArrayList<SQLPrimaryKey>(_list367.size);
-        SQLPrimaryKey _elem368;
-        for (int _i369 = 0; _i369 < _list367.size; ++_i369)
+        org.apache.thrift.protocol.TList _list357 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.primaryKeyCols = new ArrayList<SQLPrimaryKey>(_list357.size);
+        SQLPrimaryKey _elem358;
+        for (int _i359 = 0; _i359 < _list357.size; ++_i359)
         {
-          _elem368 = new SQLPrimaryKey();
-          _elem368.read(iprot);
-          struct.primaryKeyCols.add(_elem368);
+          _elem358 = new SQLPrimaryKey();
+          _elem358.read(iprot);
+          struct.primaryKeyCols.add(_elem358);
         }
       }
       struct.setPrimaryKeyColsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddUniqueConstraintRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddUniqueConstraintRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddUniqueConstraintRequest.java
index 0429fd5..5cd7677 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddUniqueConstraintRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddUniqueConstraintRequest.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // UNIQUE_CONSTRAINT_COLS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list378 = iprot.readListBegin();
-                struct.uniqueConstraintCols = new ArrayList<SQLUniqueConstraint>(_list378.size);
-                SQLUniqueConstraint _elem379;
-                for (int _i380 = 0; _i380 < _list378.size; ++_i380)
+                org.apache.thrift.protocol.TList _list368 = iprot.readListBegin();
+                struct.uniqueConstraintCols = new ArrayList<SQLUniqueConstraint>(_list368.size);
+                SQLUniqueConstraint _elem369;
+                for (int _i370 = 0; _i370 < _list368.size; ++_i370)
                 {
-                  _elem379 = new SQLUniqueConstraint();
-                  _elem379.read(iprot);
-                  struct.uniqueConstraintCols.add(_elem379);
+                  _elem369 = new SQLUniqueConstraint();
+                  _elem369.read(iprot);
+                  struct.uniqueConstraintCols.add(_elem369);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(UNIQUE_CONSTRAINT_COLS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.uniqueConstraintCols.size()));
-          for (SQLUniqueConstraint _iter381 : struct.uniqueConstraintCols)
+          for (SQLUniqueConstraint _iter371 : struct.uniqueConstraintCols)
           {
-            _iter381.write(oprot);
+            _iter371.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.uniqueConstraintCols.size());
-        for (SQLUniqueConstraint _iter382 : struct.uniqueConstraintCols)
+        for (SQLUniqueConstraint _iter372 : struct.uniqueConstraintCols)
         {
-          _iter382.write(oprot);
+          _iter372.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AddUniqueConstraintRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list383 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.uniqueConstraintCols = new ArrayList<SQLUniqueConstraint>(_list383.size);
-        SQLUniqueConstraint _elem384;
-        for (int _i385 = 0; _i385 < _list383.size; ++_i385)
+        org.apache.thrift.protocol.TList _list373 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.uniqueConstraintCols = new ArrayList<SQLUniqueConstraint>(_list373.size);
+        SQLUniqueConstraint _elem374;
+        for (int _i375 = 0; _i375 < _list373.size; ++_i375)
         {
-          _elem384 = new SQLUniqueConstraint();
-          _elem384.read(iprot);
-          struct.uniqueConstraintCols.add(_elem384);
+          _elem374 = new SQLUniqueConstraint();
+          _elem374.read(iprot);
+          struct.uniqueConstraintCols.add(_elem374);
         }
       }
       struct.setUniqueConstraintColsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AggrStats.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AggrStats.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AggrStats.java
index c38c8c6..718a637 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AggrStats.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AggrStats.java
@@ -439,14 +439,14 @@ import org.slf4j.LoggerFactory;
           case 1: // COL_STATS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list278 = iprot.readListBegin();
-                struct.colStats = new ArrayList<ColumnStatisticsObj>(_list278.size);
-                ColumnStatisticsObj _elem279;
-                for (int _i280 = 0; _i280 < _list278.size; ++_i280)
+                org.apache.thrift.protocol.TList _list268 = iprot.readListBegin();
+                struct.colStats = new ArrayList<ColumnStatisticsObj>(_list268.size);
+                ColumnStatisticsObj _elem269;
+                for (int _i270 = 0; _i270 < _list268.size; ++_i270)
                 {
-                  _elem279 = new ColumnStatisticsObj();
-                  _elem279.read(iprot);
-                  struct.colStats.add(_elem279);
+                  _elem269 = new ColumnStatisticsObj();
+                  _elem269.read(iprot);
+                  struct.colStats.add(_elem269);
                 }
                 iprot.readListEnd();
               }
@@ -480,9 +480,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(COL_STATS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.colStats.size()));
-          for (ColumnStatisticsObj _iter281 : struct.colStats)
+          for (ColumnStatisticsObj _iter271 : struct.colStats)
           {
-            _iter281.write(oprot);
+            _iter271.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -510,9 +510,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.colStats.size());
-        for (ColumnStatisticsObj _iter282 : struct.colStats)
+        for (ColumnStatisticsObj _iter272 : struct.colStats)
         {
-          _iter282.write(oprot);
+          _iter272.write(oprot);
         }
       }
       oprot.writeI64(struct.partsFound);
@@ -522,14 +522,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AggrStats struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list283 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.colStats = new ArrayList<ColumnStatisticsObj>(_list283.size);
-        ColumnStatisticsObj _elem284;
-        for (int _i285 = 0; _i285 < _list283.size; ++_i285)
+        org.apache.thrift.protocol.TList _list273 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.colStats = new ArrayList<ColumnStatisticsObj>(_list273.size);
+        ColumnStatisticsObj _elem274;
+        for (int _i275 = 0; _i275 < _list273.size; ++_i275)
         {
-          _elem284 = new ColumnStatisticsObj();
-          _elem284.read(iprot);
-          struct.colStats.add(_elem284);
+          _elem274 = new ColumnStatisticsObj();
+          _elem274.read(iprot);
+          struct.colStats.add(_elem274);
         }
       }
       struct.setColStatsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsRequest.java
index 60a32ad..b143812 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsRequest.java
@@ -521,13 +521,13 @@ import org.slf4j.LoggerFactory;
           case 1: // TXN_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list596 = iprot.readListBegin();
-                struct.txnIds = new ArrayList<Long>(_list596.size);
-                long _elem597;
-                for (int _i598 = 0; _i598 < _list596.size; ++_i598)
+                org.apache.thrift.protocol.TList _list586 = iprot.readListBegin();
+                struct.txnIds = new ArrayList<Long>(_list586.size);
+                long _elem587;
+                for (int _i588 = 0; _i588 < _list586.size; ++_i588)
                 {
-                  _elem597 = iprot.readI64();
-                  struct.txnIds.add(_elem597);
+                  _elem587 = iprot.readI64();
+                  struct.txnIds.add(_elem587);
                 }
                 iprot.readListEnd();
               }
@@ -569,9 +569,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TXN_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.txnIds.size()));
-          for (long _iter599 : struct.txnIds)
+          for (long _iter589 : struct.txnIds)
           {
-            oprot.writeI64(_iter599);
+            oprot.writeI64(_iter589);
           }
           oprot.writeListEnd();
         }
@@ -606,9 +606,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.txnIds.size());
-        for (long _iter600 : struct.txnIds)
+        for (long _iter590 : struct.txnIds)
         {
-          oprot.writeI64(_iter600);
+          oprot.writeI64(_iter590);
         }
       }
       oprot.writeString(struct.dbName);
@@ -619,13 +619,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AllocateTableWriteIdsRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list601 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.txnIds = new ArrayList<Long>(_list601.size);
-        long _elem602;
-        for (int _i603 = 0; _i603 < _list601.size; ++_i603)
+        org.apache.thrift.protocol.TList _list591 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.txnIds = new ArrayList<Long>(_list591.size);
+        long _elem592;
+        for (int _i593 = 0; _i593 < _list591.size; ++_i593)
         {
-          _elem602 = iprot.readI64();
-          struct.txnIds.add(_elem602);
+          _elem592 = iprot.readI64();
+          struct.txnIds.add(_elem592);
         }
       }
       struct.setTxnIdsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsResponse.java
index 9bf2f7f..d9ed20d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AllocateTableWriteIdsResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // TXN_TO_WRITE_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list604 = iprot.readListBegin();
-                struct.txnToWriteIds = new ArrayList<TxnToWriteId>(_list604.size);
-                TxnToWriteId _elem605;
-                for (int _i606 = 0; _i606 < _list604.size; ++_i606)
+                org.apache.thrift.protocol.TList _list594 = iprot.readListBegin();
+                struct.txnToWriteIds = new ArrayList<TxnToWriteId>(_list594.size);
+                TxnToWriteId _elem595;
+                for (int _i596 = 0; _i596 < _list594.size; ++_i596)
                 {
-                  _elem605 = new TxnToWriteId();
-                  _elem605.read(iprot);
-                  struct.txnToWriteIds.add(_elem605);
+                  _elem595 = new TxnToWriteId();
+                  _elem595.read(iprot);
+                  struct.txnToWriteIds.add(_elem595);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TXN_TO_WRITE_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.txnToWriteIds.size()));
-          for (TxnToWriteId _iter607 : struct.txnToWriteIds)
+          for (TxnToWriteId _iter597 : struct.txnToWriteIds)
           {
-            _iter607.write(oprot);
+            _iter597.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.txnToWriteIds.size());
-        for (TxnToWriteId _iter608 : struct.txnToWriteIds)
+        for (TxnToWriteId _iter598 : struct.txnToWriteIds)
         {
-          _iter608.write(oprot);
+          _iter598.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, AllocateTableWriteIdsResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list609 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.txnToWriteIds = new ArrayList<TxnToWriteId>(_list609.size);
-        TxnToWriteId _elem610;
-        for (int _i611 = 0; _i611 < _list609.size; ++_i611)
+        org.apache.thrift.protocol.TList _list599 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.txnToWriteIds = new ArrayList<TxnToWriteId>(_list599.size);
+        TxnToWriteId _elem600;
+        for (int _i601 = 0; _i601 < _list599.size; ++_i601)
         {
-          _elem610 = new TxnToWriteId();
-          _elem610.read(iprot);
-          struct.txnToWriteIds.add(_elem610);
+          _elem600 = new TxnToWriteId();
+          _elem600.read(iprot);
+          struct.txnToWriteIds.add(_elem600);
         }
       }
       struct.setTxnToWriteIdsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClearFileMetadataRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClearFileMetadataRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClearFileMetadataRequest.java
index 9feadc4..78d9255 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClearFileMetadataRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClearFileMetadataRequest.java
@@ -351,13 +351,13 @@ import org.slf4j.LoggerFactory;
           case 1: // FILE_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list762 = iprot.readListBegin();
-                struct.fileIds = new ArrayList<Long>(_list762.size);
-                long _elem763;
-                for (int _i764 = 0; _i764 < _list762.size; ++_i764)
+                org.apache.thrift.protocol.TList _list752 = iprot.readListBegin();
+                struct.fileIds = new ArrayList<Long>(_list752.size);
+                long _elem753;
+                for (int _i754 = 0; _i754 < _list752.size; ++_i754)
                 {
-                  _elem763 = iprot.readI64();
-                  struct.fileIds.add(_elem763);
+                  _elem753 = iprot.readI64();
+                  struct.fileIds.add(_elem753);
                 }
                 iprot.readListEnd();
               }
@@ -383,9 +383,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FILE_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.fileIds.size()));
-          for (long _iter765 : struct.fileIds)
+          for (long _iter755 : struct.fileIds)
           {
-            oprot.writeI64(_iter765);
+            oprot.writeI64(_iter755);
           }
           oprot.writeListEnd();
         }
@@ -410,9 +410,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.fileIds.size());
-        for (long _iter766 : struct.fileIds)
+        for (long _iter756 : struct.fileIds)
         {
-          oprot.writeI64(_iter766);
+          oprot.writeI64(_iter756);
         }
       }
     }
@@ -421,13 +421,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, ClearFileMetadataRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list767 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.fileIds = new ArrayList<Long>(_list767.size);
-        long _elem768;
-        for (int _i769 = 0; _i769 < _list767.size; ++_i769)
+        org.apache.thrift.protocol.TList _list757 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.fileIds = new ArrayList<Long>(_list757.size);
+        long _elem758;
+        for (int _i759 = 0; _i759 < _list757.size; ++_i759)
         {
-          _elem768 = iprot.readI64();
-          struct.fileIds.add(_elem768);
+          _elem758 = iprot.readI64();
+          struct.fileIds.add(_elem758);
         }
       }
       struct.setFileIdsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClientCapabilities.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClientCapabilities.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClientCapabilities.java
index 0a1f76f..c27792f 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClientCapabilities.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClientCapabilities.java
@@ -354,13 +354,13 @@ import org.slf4j.LoggerFactory;
           case 1: // VALUES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list778 = iprot.readListBegin();
-                struct.values = new ArrayList<ClientCapability>(_list778.size);
-                ClientCapability _elem779;
-                for (int _i780 = 0; _i780 < _list778.size; ++_i780)
+                org.apache.thrift.protocol.TList _list768 = iprot.readListBegin();
+                struct.values = new ArrayList<ClientCapability>(_list768.size);
+                ClientCapability _elem769;
+                for (int _i770 = 0; _i770 < _list768.size; ++_i770)
                 {
-                  _elem779 = org.apache.hadoop.hive.metastore.api.ClientCapability.findByValue(iprot.readI32());
-                  struct.values.add(_elem779);
+                  _elem769 = org.apache.hadoop.hive.metastore.api.ClientCapability.findByValue(iprot.readI32());
+                  struct.values.add(_elem769);
                 }
                 iprot.readListEnd();
               }
@@ -386,9 +386,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(VALUES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, struct.values.size()));
-          for (ClientCapability _iter781 : struct.values)
+          for (ClientCapability _iter771 : struct.values)
           {
-            oprot.writeI32(_iter781.getValue());
+            oprot.writeI32(_iter771.getValue());
           }
           oprot.writeListEnd();
         }
@@ -413,9 +413,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.values.size());
-        for (ClientCapability _iter782 : struct.values)
+        for (ClientCapability _iter772 : struct.values)
         {
-          oprot.writeI32(_iter782.getValue());
+          oprot.writeI32(_iter772.getValue());
         }
       }
     }
@@ -424,13 +424,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, ClientCapabilities struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list783 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
-        struct.values = new ArrayList<ClientCapability>(_list783.size);
-        ClientCapability _elem784;
-        for (int _i785 = 0; _i785 < _list783.size; ++_i785)
+        org.apache.thrift.protocol.TList _list773 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
+        struct.values = new ArrayList<ClientCapability>(_list773.size);
+        ClientCapability _elem774;
+        for (int _i775 = 0; _i775 < _list773.size; ++_i775)
         {
-          _elem784 = org.apache.hadoop.hive.metastore.api.ClientCapability.findByValue(iprot.readI32());
-          struct.values.add(_elem784);
+          _elem774 = org.apache.hadoop.hive.metastore.api.ClientCapability.findByValue(iprot.readI32());
+          struct.values.add(_elem774);
         }
       }
       struct.setValuesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ColumnStatistics.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ColumnStatistics.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ColumnStatistics.java
index 765889e..9eb4652 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ColumnStatistics.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ColumnStatistics.java
@@ -451,14 +451,14 @@ import org.slf4j.LoggerFactory;
           case 2: // STATS_OBJ
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list270 = iprot.readListBegin();
-                struct.statsObj = new ArrayList<ColumnStatisticsObj>(_list270.size);
-                ColumnStatisticsObj _elem271;
-                for (int _i272 = 0; _i272 < _list270.size; ++_i272)
+                org.apache.thrift.protocol.TList _list260 = iprot.readListBegin();
+                struct.statsObj = new ArrayList<ColumnStatisticsObj>(_list260.size);
+                ColumnStatisticsObj _elem261;
+                for (int _i262 = 0; _i262 < _list260.size; ++_i262)
                 {
-                  _elem271 = new ColumnStatisticsObj();
-                  _elem271.read(iprot);
-                  struct.statsObj.add(_elem271);
+                  _elem261 = new ColumnStatisticsObj();
+                  _elem261.read(iprot);
+                  struct.statsObj.add(_elem261);
                 }
                 iprot.readListEnd();
               }
@@ -489,9 +489,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(STATS_OBJ_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.statsObj.size()));
-          for (ColumnStatisticsObj _iter273 : struct.statsObj)
+          for (ColumnStatisticsObj _iter263 : struct.statsObj)
           {
-            _iter273.write(oprot);
+            _iter263.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -517,9 +517,9 @@ import org.slf4j.LoggerFactory;
       struct.statsDesc.write(oprot);
       {
         oprot.writeI32(struct.statsObj.size());
-        for (ColumnStatisticsObj _iter274 : struct.statsObj)
+        for (ColumnStatisticsObj _iter264 : struct.statsObj)
         {
-          _iter274.write(oprot);
+          _iter264.write(oprot);
         }
       }
     }
@@ -531,14 +531,14 @@ import org.slf4j.LoggerFactory;
       struct.statsDesc.read(iprot);
       struct.setStatsDescIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list275 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.statsObj = new ArrayList<ColumnStatisticsObj>(_list275.size);
-        ColumnStatisticsObj _elem276;
-        for (int _i277 = 0; _i277 < _list275.size; ++_i277)
+        org.apache.thrift.protocol.TList _list265 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.statsObj = new ArrayList<ColumnStatisticsObj>(_list265.size);
+        ColumnStatisticsObj _elem266;
+        for (int _i267 = 0; _i267 < _list265.size; ++_i267)
         {
-          _elem276 = new ColumnStatisticsObj();
-          _elem276.read(iprot);
-          struct.statsObj.add(_elem276);
+          _elem266 = new ColumnStatisticsObj();
+          _elem266.read(iprot);
+          struct.statsObj.add(_elem266);
         }
       }
       struct.setStatsObjIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionRequest.java
index af84a9c..18581f3 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionRequest.java
@@ -814,15 +814,15 @@ import org.slf4j.LoggerFactory;
           case 6: // PROPERTIES
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map644 = iprot.readMapBegin();
-                struct.properties = new HashMap<String,String>(2*_map644.size);
-                String _key645;
-                String _val646;
-                for (int _i647 = 0; _i647 < _map644.size; ++_i647)
+                org.apache.thrift.protocol.TMap _map634 = iprot.readMapBegin();
+                struct.properties = new HashMap<String,String>(2*_map634.size);
+                String _key635;
+                String _val636;
+                for (int _i637 = 0; _i637 < _map634.size; ++_i637)
                 {
-                  _key645 = iprot.readString();
-                  _val646 = iprot.readString();
-                  struct.properties.put(_key645, _val646);
+                  _key635 = iprot.readString();
+                  _val636 = iprot.readString();
+                  struct.properties.put(_key635, _val636);
                 }
                 iprot.readMapEnd();
               }
@@ -878,10 +878,10 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
-            for (Map.Entry<String, String> _iter648 : struct.properties.entrySet())
+            for (Map.Entry<String, String> _iter638 : struct.properties.entrySet())
             {
-              oprot.writeString(_iter648.getKey());
-              oprot.writeString(_iter648.getValue());
+              oprot.writeString(_iter638.getKey());
+              oprot.writeString(_iter638.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -928,10 +928,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetProperties()) {
         {
           oprot.writeI32(struct.properties.size());
-          for (Map.Entry<String, String> _iter649 : struct.properties.entrySet())
+          for (Map.Entry<String, String> _iter639 : struct.properties.entrySet())
           {
-            oprot.writeString(_iter649.getKey());
-            oprot.writeString(_iter649.getValue());
+            oprot.writeString(_iter639.getKey());
+            oprot.writeString(_iter639.getValue());
           }
         }
       }
@@ -957,15 +957,15 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TMap _map650 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.properties = new HashMap<String,String>(2*_map650.size);
-          String _key651;
-          String _val652;
-          for (int _i653 = 0; _i653 < _map650.size; ++_i653)
+          org.apache.thrift.protocol.TMap _map640 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.properties = new HashMap<String,String>(2*_map640.size);
+          String _key641;
+          String _val642;
+          for (int _i643 = 0; _i643 < _map640.size; ++_i643)
           {
-            _key651 = iprot.readString();
-            _val652 = iprot.readString();
-            struct.properties.put(_key651, _val652);
+            _key641 = iprot.readString();
+            _val642 = iprot.readString();
+            struct.properties.put(_key641, _val642);
           }
         }
         struct.setPropertiesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CreationMetadata.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CreationMetadata.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CreationMetadata.java
index 3da8ed5..ed89b2e 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CreationMetadata.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CreationMetadata.java
@@ -619,13 +619,13 @@ import org.slf4j.LoggerFactory;
           case 3: // TABLES_USED
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set670 = iprot.readSetBegin();
-                struct.tablesUsed = new HashSet<String>(2*_set670.size);
-                String _elem671;
-                for (int _i672 = 0; _i672 < _set670.size; ++_i672)
+                org.apache.thrift.protocol.TSet _set660 = iprot.readSetBegin();
+                struct.tablesUsed = new HashSet<String>(2*_set660.size);
+                String _elem661;
+                for (int _i662 = 0; _i662 < _set660.size; ++_i662)
                 {
-                  _elem671 = iprot.readString();
-                  struct.tablesUsed.add(_elem671);
+                  _elem661 = iprot.readString();
+                  struct.tablesUsed.add(_elem661);
                 }
                 iprot.readSetEnd();
               }
@@ -669,9 +669,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TABLES_USED_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.tablesUsed.size()));
-          for (String _iter673 : struct.tablesUsed)
+          for (String _iter663 : struct.tablesUsed)
           {
-            oprot.writeString(_iter673);
+            oprot.writeString(_iter663);
           }
           oprot.writeSetEnd();
         }
@@ -705,9 +705,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.tblName);
       {
         oprot.writeI32(struct.tablesUsed.size());
-        for (String _iter674 : struct.tablesUsed)
+        for (String _iter664 : struct.tablesUsed)
         {
-          oprot.writeString(_iter674);
+          oprot.writeString(_iter664);
         }
       }
       BitSet optionals = new BitSet();
@@ -728,13 +728,13 @@ import org.slf4j.LoggerFactory;
       struct.tblName = iprot.readString();
       struct.setTblNameIsSet(true);
       {
-        org.apache.thrift.protocol.TSet _set675 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.tablesUsed = new HashSet<String>(2*_set675.size);
-        String _elem676;
-        for (int _i677 = 0; _i677 < _set675.size; ++_i677)
+        org.apache.thrift.protocol.TSet _set665 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.tablesUsed = new HashSet<String>(2*_set665.size);
+        String _elem666;
+        for (int _i667 = 0; _i667 < _set665.size; ++_i667)
         {
-          _elem676 = iprot.readString();
-          struct.tablesUsed.add(_elem676);
+          _elem666 = iprot.readString();
+          struct.tablesUsed.add(_elem666);
         }
       }
       struct.setTablesUsedIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DefaultConstraintsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DefaultConstraintsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DefaultConstraintsResponse.java
index 22514de..f7ee187 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DefaultConstraintsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DefaultConstraintsResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // DEFAULT_CONSTRAINTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list354 = iprot.readListBegin();
-                struct.defaultConstraints = new ArrayList<SQLDefaultConstraint>(_list354.size);
-                SQLDefaultConstraint _elem355;
-                for (int _i356 = 0; _i356 < _list354.size; ++_i356)
+                org.apache.thrift.protocol.TList _list344 = iprot.readListBegin();
+                struct.defaultConstraints = new ArrayList<SQLDefaultConstraint>(_list344.size);
+                SQLDefaultConstraint _elem345;
+                for (int _i346 = 0; _i346 < _list344.size; ++_i346)
                 {
-                  _elem355 = new SQLDefaultConstraint();
-                  _elem355.read(iprot);
-                  struct.defaultConstraints.add(_elem355);
+                  _elem345 = new SQLDefaultConstraint();
+                  _elem345.read(iprot);
+                  struct.defaultConstraints.add(_elem345);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(DEFAULT_CONSTRAINTS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.defaultConstraints.size()));
-          for (SQLDefaultConstraint _iter357 : struct.defaultConstraints)
+          for (SQLDefaultConstraint _iter347 : struct.defaultConstraints)
           {
-            _iter357.write(oprot);
+            _iter347.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.defaultConstraints.size());
-        for (SQLDefaultConstraint _iter358 : struct.defaultConstraints)
+        for (SQLDefaultConstraint _iter348 : struct.defaultConstraints)
         {
-          _iter358.write(oprot);
+          _iter348.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, DefaultConstraintsResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list359 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.defaultConstraints = new ArrayList<SQLDefaultConstraint>(_list359.size);
-        SQLDefaultConstraint _elem360;
-        for (int _i361 = 0; _i361 < _list359.size; ++_i361)
+        org.apache.thrift.protocol.TList _list349 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.defaultConstraints = new ArrayList<SQLDefaultConstraint>(_list349.size);
+        SQLDefaultConstraint _elem350;
+        for (int _i351 = 0; _i351 < _list349.size; ++_i351)
         {
-          _elem360 = new SQLDefaultConstraint();
-          _elem360.read(iprot);
-          struct.defaultConstraints.add(_elem360);
+          _elem350 = new SQLDefaultConstraint();
+          _elem350.read(iprot);
+          struct.defaultConstraints.add(_elem350);
         }
       }
       struct.setDefaultConstraintsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DropPartitionsResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DropPartitionsResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DropPartitionsResult.java
index daf87c5..5237c64 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DropPartitionsResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DropPartitionsResult.java
@@ -346,14 +346,14 @@ import org.slf4j.LoggerFactory;
           case 1: // PARTITIONS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list476 = iprot.readListBegin();
-                struct.partitions = new ArrayList<Partition>(_list476.size);
-                Partition _elem477;
-                for (int _i478 = 0; _i478 < _list476.size; ++_i478)
+                org.apache.thrift.protocol.TList _list466 = iprot.readListBegin();
+                struct.partitions = new ArrayList<Partition>(_list466.size);
+                Partition _elem467;
+                for (int _i468 = 0; _i468 < _list466.size; ++_i468)
                 {
-                  _elem477 = new Partition();
-                  _elem477.read(iprot);
-                  struct.partitions.add(_elem477);
+                  _elem467 = new Partition();
+                  _elem467.read(iprot);
+                  struct.partitions.add(_elem467);
                 }
                 iprot.readListEnd();
               }
@@ -380,9 +380,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(PARTITIONS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.partitions.size()));
-            for (Partition _iter479 : struct.partitions)
+            for (Partition _iter469 : struct.partitions)
             {
-              _iter479.write(oprot);
+              _iter469.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetPartitions()) {
         {
           oprot.writeI32(struct.partitions.size());
-          for (Partition _iter480 : struct.partitions)
+          for (Partition _iter470 : struct.partitions)
           {
-            _iter480.write(oprot);
+            _iter470.write(oprot);
           }
         }
       }
@@ -428,14 +428,14 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list481 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.partitions = new ArrayList<Partition>(_list481.size);
-          Partition _elem482;
-          for (int _i483 = 0; _i483 < _list481.size; ++_i483)
+          org.apache.thrift.protocol.TList _list471 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.partitions = new ArrayList<Partition>(_list471.size);
+          Partition _elem472;
+          for (int _i473 = 0; _i473 < _list471.size; ++_i473)
           {
-            _elem482 = new Partition();
-            _elem482.read(iprot);
-            struct.partitions.add(_elem482);
+            _elem472 = new Partition();
+            _elem472.read(iprot);
+            struct.partitions.add(_elem472);
           }
         }
         struct.setPartitionsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
index 6829cfe..e420b9e 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
@@ -344,15 +344,15 @@ import org.slf4j.LoggerFactory;
           case 1: // PROPERTIES
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map312 = iprot.readMapBegin();
-                struct.properties = new HashMap<String,String>(2*_map312.size);
-                String _key313;
-                String _val314;
-                for (int _i315 = 0; _i315 < _map312.size; ++_i315)
+                org.apache.thrift.protocol.TMap _map302 = iprot.readMapBegin();
+                struct.properties = new HashMap<String,String>(2*_map302.size);
+                String _key303;
+                String _val304;
+                for (int _i305 = 0; _i305 < _map302.size; ++_i305)
                 {
-                  _key313 = iprot.readString();
-                  _val314 = iprot.readString();
-                  struct.properties.put(_key313, _val314);
+                  _key303 = iprot.readString();
+                  _val304 = iprot.readString();
+                  struct.properties.put(_key303, _val304);
                 }
                 iprot.readMapEnd();
               }
@@ -378,10 +378,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
-          for (Map.Entry<String, String> _iter316 : struct.properties.entrySet())
+          for (Map.Entry<String, String> _iter306 : struct.properties.entrySet())
           {
-            oprot.writeString(_iter316.getKey());
-            oprot.writeString(_iter316.getValue());
+            oprot.writeString(_iter306.getKey());
+            oprot.writeString(_iter306.getValue());
           }
           oprot.writeMapEnd();
         }
@@ -412,10 +412,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetProperties()) {
         {
           oprot.writeI32(struct.properties.size());
-          for (Map.Entry<String, String> _iter317 : struct.properties.entrySet())
+          for (Map.Entry<String, String> _iter307 : struct.properties.entrySet())
           {
-            oprot.writeString(_iter317.getKey());
-            oprot.writeString(_iter317.getValue());
+            oprot.writeString(_iter307.getKey());
+            oprot.writeString(_iter307.getValue());
           }
         }
       }
@@ -427,15 +427,15 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TMap _map318 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.properties = new HashMap<String,String>(2*_map318.size);
-          String _key319;
-          String _val320;
-          for (int _i321 = 0; _i321 < _map318.size; ++_i321)
+          org.apache.thrift.protocol.TMap _map308 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.properties = new HashMap<String,String>(2*_map308.size);
+          String _key309;
+          String _val310;
+          for (int _i311 = 0; _i311 < _map308.size; ++_i311)
           {
-            _key319 = iprot.readString();
-            _val320 = iprot.readString();
-            struct.properties.put(_key319, _val320);
+            _key309 = iprot.readString();
+            _val310 = iprot.readString();
+            struct.properties.put(_key309, _val310);
           }
         }
         struct.setPropertiesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FireEventRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FireEventRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FireEventRequest.java
index ca357ed..6433590 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FireEventRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FireEventRequest.java
@@ -713,13 +713,13 @@ import org.slf4j.LoggerFactory;
           case 5: // PARTITION_VALS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list702 = iprot.readListBegin();
-                struct.partitionVals = new ArrayList<String>(_list702.size);
-                String _elem703;
-                for (int _i704 = 0; _i704 < _list702.size; ++_i704)
+                org.apache.thrift.protocol.TList _list692 = iprot.readListBegin();
+                struct.partitionVals = new ArrayList<String>(_list692.size);
+                String _elem693;
+                for (int _i694 = 0; _i694 < _list692.size; ++_i694)
                 {
-                  _elem703 = iprot.readString();
-                  struct.partitionVals.add(_elem703);
+                  _elem693 = iprot.readString();
+                  struct.partitionVals.add(_elem693);
                 }
                 iprot.readListEnd();
               }
@@ -768,9 +768,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(PARTITION_VALS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.partitionVals.size()));
-            for (String _iter705 : struct.partitionVals)
+            for (String _iter695 : struct.partitionVals)
             {
-              oprot.writeString(_iter705);
+              oprot.writeString(_iter695);
             }
             oprot.writeListEnd();
           }
@@ -816,9 +816,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetPartitionVals()) {
         {
           oprot.writeI32(struct.partitionVals.size());
-          for (String _iter706 : struct.partitionVals)
+          for (String _iter696 : struct.partitionVals)
           {
-            oprot.writeString(_iter706);
+            oprot.writeString(_iter696);
           }
         }
       }
@@ -843,13 +843,13 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list707 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.partitionVals = new ArrayList<String>(_list707.size);
-          String _elem708;
-          for (int _i709 = 0; _i709 < _list707.size; ++_i709)
+          org.apache.thrift.protocol.TList _list697 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.partitionVals = new ArrayList<String>(_list697.size);
+          String _elem698;
+          for (int _i699 = 0; _i699 < _list697.size; ++_i699)
           {
-            _elem708 = iprot.readString();
-            struct.partitionVals.add(_elem708);
+            _elem698 = iprot.readString();
+            struct.partitionVals.add(_elem698);
           }
         }
         struct.setPartitionValsIsSet(true);


[04/22] hive git commit: HIVE-17626: Query reoptimization using cached runtime statistics (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
HIVE-17626: Query reoptimization using cached runtime statistics (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Signed-off-by: Zoltan Haindrich <ki...@rxd.hu>


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

Branch: refs/heads/master
Commit: 31e36f01952e7bcc803060351758798f9af9e0b3
Parents: cd8eda8
Author: Zoltan Haindrich <ki...@rxd.hu>
Authored: Wed Mar 7 08:44:14 2018 +0100
Committer: Zoltan Haindrich <ki...@rxd.hu>
Committed: Wed Mar 7 08:44:14 2018 +0100

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/conf/HiveConf.java   |  35 +-
 data/conf/llap/hive-site.xml                    |   5 +
 .../druid/serde/DruidScanQueryRecordReader.java |   2 +-
 .../test/resources/testconfiguration.properties |   3 +
 .../org/apache/hadoop/hive/ql/QTestUtil.java    |   2 +-
 .../apache/hadoop/hive/ql/TestQTestUtil.java    |   2 +-
 .../java/org/apache/hadoop/hive/ql/Context.java |  46 ++-
 .../java/org/apache/hadoop/hive/ql/Driver.java  |  55 ++-
 .../apache/hadoop/hive/ql/DriverFactory.java    |  51 ++-
 .../org/apache/hadoop/hive/ql/HookRunner.java   |   5 +
 .../java/org/apache/hadoop/hive/ql/IDriver.java |   7 +
 .../hive/ql/cache/results/CacheUsage.java       |   2 +-
 .../ql/cache/results/QueryResultsCache.java     |   2 +-
 .../hadoop/hive/ql/exec/FunctionRegistry.java   |   1 +
 .../hive/ql/exec/MaterializedViewDesc.java      |   2 +-
 .../hive/ql/exec/MaterializedViewTask.java      |   2 +-
 .../apache/hadoop/hive/ql/exec/Operator.java    |  54 ++-
 .../hadoop/hive/ql/exec/ReduceSinkOperator.java |  21 +-
 .../hive/ql/exec/tez/HiveInputCounters.java     |   2 +-
 .../hive/ql/exec/tez/LlapObjectSubCache.java    |   2 +-
 .../VectorReduceSinkCommonOperator.java         |  15 +-
 .../VectorReduceSinkEmptyKeyOperator.java       |  38 --
 .../VectorReduceSinkObjectHashOperator.java     |  28 --
 .../VectorReduceSinkUniformHashOperator.java    |  35 --
 .../hive/ql/hooks/PrivateHookContext.java       |  50 +++
 .../hadoop/hive/ql/metadata/HiveException.java  |   1 +
 .../hive/ql/optimizer/SharedWorkOptimizer.java  |   3 +
 .../HiveRelOpMaterializationValidator.java      |   2 +-
 .../hive/ql/optimizer/physical/Vectorizer.java  |  32 +-
 .../ql/optimizer/signature/OpSignature.java     |  94 +++++
 .../ql/optimizer/signature/OpTreeSignature.java |  90 +++++
 .../signature/OpTreeSignatureFactory.java       |  67 ++++
 .../hive/ql/optimizer/signature/Signature.java  |  36 ++
 .../ql/optimizer/signature/SignatureUtils.java  |  95 +++++
 .../spark/SparkPartitionPruningSinkDesc.java    |   3 +
 .../stats/annotation/StatsRulesProcFactory.java |  61 ++-
 .../org/apache/hadoop/hive/ql/parse/HiveLexer.g |   1 +
 .../apache/hadoop/hive/ql/parse/HiveParser.g    |  13 +-
 .../hadoop/hive/ql/parse/IdentifiersParser.g    |   1 +
 .../hive/ql/plan/AbstractOperatorDesc.java      |  12 +-
 .../hadoop/hive/ql/plan/AppMasterEventDesc.java |   7 +-
 .../hive/ql/plan/CommonMergeJoinDesc.java       |   3 +
 .../hive/ql/plan/DynamicPruningEventDesc.java   |   5 +
 .../hadoop/hive/ql/plan/FileSinkDesc.java       |  18 +
 .../apache/hadoop/hive/ql/plan/FilterDesc.java  |   5 +
 .../apache/hadoop/hive/ql/plan/GroupByDesc.java |  13 +-
 .../hadoop/hive/ql/plan/HashTableSinkDesc.java  |   5 +
 .../hadoop/hive/ql/plan/JoinCondDesc.java       |   6 +-
 .../apache/hadoop/hive/ql/plan/JoinDesc.java    |   8 +
 .../hive/ql/plan/LateralViewJoinDesc.java       |   3 +
 .../apache/hadoop/hive/ql/plan/LimitDesc.java   |   3 +
 .../apache/hadoop/hive/ql/plan/MapJoinDesc.java |   6 +
 .../hadoop/hive/ql/plan/OperatorDesc.java       |   3 +
 .../hadoop/hive/ql/plan/ReduceSinkDesc.java     |  13 +-
 .../apache/hadoop/hive/ql/plan/ScriptDesc.java  |   8 +-
 .../apache/hadoop/hive/ql/plan/SelectDesc.java  |   5 +
 .../apache/hadoop/hive/ql/plan/Statistics.java  |  27 +-
 .../hadoop/hive/ql/plan/TableScanDesc.java      |  19 +
 .../apache/hadoop/hive/ql/plan/UDTFDesc.java    |   7 +-
 .../hive/ql/plan/mapper/EmptyStatsSource.java   |  28 ++
 .../hive/ql/plan/mapper/GroupTransformer.java   |  25 ++
 .../hadoop/hive/ql/plan/mapper/PlanMapper.java  | 112 ++++++
 .../hive/ql/plan/mapper/PlanMapperProcess.java  |  47 +++
 .../hive/ql/plan/mapper/RuntimeStatsSource.java |  29 ++
 .../plan/mapper/SimpleRuntimeStatsSource.java   |  65 ++++
 .../hadoop/hive/ql/plan/mapper/StatsSource.java |  25 ++
 .../hive/ql/reexec/IReExecutionPlugin.java      |  64 ++++
 .../hadoop/hive/ql/reexec/ReExecDriver.java     | 263 +++++++++++++
 .../ql/reexec/ReExecutionOverlayPlugin.java     |  83 ++++
 .../hadoop/hive/ql/reexec/ReOptimizePlugin.java | 138 +++++++
 .../hadoop/hive/ql/stats/OperatorStats.java     |  43 +++
 .../hive/ql/stats/OperatorStatsReaderHook.java  |  96 +++++
 .../ql/udf/generic/GenericUDFAssertTrueOOM.java |  74 ++++
 .../GenericUDFEnforceNotNullConstraint.java     |   2 +-
 .../exec/vector/TestVectorGroupByOperator.java  |   6 +-
 .../optimizer/signature/TestOpSigFactory.java   | 120 ++++++
 .../signature/TestOperatorSignature.java        | 159 ++++++++
 .../ql/plan/mapping/TestCounterMapping.java     | 194 ++++++++++
 .../hive/ql/plan/mapping/TestOperatorCmp.java   | 186 +++++++++
 .../ql/plan/mapping/TestReOptimization.java     | 188 +++++++++
 .../apache/hive/testutils/HiveTestEnvSetup.java |   2 +-
 .../hive/testutils/TestHiveTestEnvSetup.java    |   2 +-
 .../queries/clientnegative/bad_exec_hooks.q     |   1 +
 ql/src/test/queries/clientpositive/hook_order.q |   2 +
 .../test/queries/clientpositive/retry_failure.q |  11 +
 .../queries/clientpositive/retry_failure_oom.q  |  12 +
 .../clientpositive/retry_failure_stat_changes.q |  29 ++
 .../clientpositive/llap/dp_counter_mm.q.out     | 110 ++++++
 .../clientpositive/llap/dp_counter_non_mm.q.out | 110 ++++++
 .../clientpositive/llap/orc_llap_counters.q.out | 310 +++++++++++++++
 .../llap/orc_llap_counters1.q.out               |  16 +
 .../clientpositive/llap/orc_ppd_basic.q.out     | 380 +++++++++++++++++++
 .../llap/orc_ppd_schema_evol_3a.q.out           | 380 +++++++++++++++++++
 .../clientpositive/llap/retry_failure.q.out     |  43 +++
 .../clientpositive/llap/retry_failure_oom.q.out |  43 +++
 .../llap/retry_failure_stat_changes.q.out       | 280 ++++++++++++++
 .../llap/tez_input_counters.q.out               |  47 +++
 .../results/clientpositive/show_functions.q.out |   1 +
 .../hive/metastore/hooks/URIResolverHook.java   |   2 +-
 .../messaging/CreateDatabaseMessage.java        |   2 +-
 100 files changed, 4618 insertions(+), 254 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index d955b48..fb926eb 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -1879,7 +1879,6 @@ public class HiveConf extends Configuration {
         "in the number of rows filtered by a certain operator, which in turn might lead to overprovision or\n" +
         "underprovision of resources. This factor is applied to the cardinality estimation of IN clauses in\n" +
         "filter operators."),
-
     // Concurrency
     HIVE_SUPPORT_CONCURRENCY("hive.support.concurrency", false,
         "Whether Hive supports concurrency control or not. \n" +
@@ -3691,22 +3690,29 @@ public class HiveConf extends Configuration {
     HIVE_CONF_INTERNAL_VARIABLE_LIST("hive.conf.internal.variable.list",
         "hive.added.files.path,hive.added.jars.path,hive.added.archives.path",
         "Comma separated list of variables which are used internally and should not be configurable."),
-
     HIVE_SPARK_RSC_CONF_LIST("hive.spark.rsc.conf.list",
         SPARK_OPTIMIZE_SHUFFLE_SERDE.varname + "," +
             SPARK_CLIENT_FUTURE_TIMEOUT.varname,
         "Comma separated list of variables which are related to remote spark context.\n" +
             "Changing these variables will result in re-creating the spark session."),
-
     HIVE_QUERY_TIMEOUT_SECONDS("hive.query.timeout.seconds", "0s",
         new TimeValidator(TimeUnit.SECONDS),
         "Timeout for Running Query in seconds. A nonpositive value means infinite. " +
         "If the query timeout is also set by thrift API call, the smaller one will be taken."),
-
-
     HIVE_EXEC_INPUT_LISTING_MAX_THREADS("hive.exec.input.listing.max.threads", 0, new  SizeValidator(0L, true, 1024L, true),
         "Maximum number of threads that Hive uses to list file information from file systems (recommended > 1 for blobstore)."),
 
+    HIVE_QUERY_REEXECUTION_ENABLED("hive.query.reexecution.enabled", true,
+        "Enable query reexecutions"),
+    HIVE_QUERY_REEXECUTION_STRATEGIES("hive.query.reexecution.strategies", "overlay,reoptimize",
+        "comma separated list of plugin can be used:\n"
+            + "  overlay: hiveconf subtree 'reexec.overlay' is used as an overlay in case of an execution errors out\n"
+            + "  reoptimize: collects operator statistics during execution and recompile the query after a failure"),
+    HIVE_QUERY_MAX_REEXECUTION_COUNT("hive.query.reexecution.max.count", 1,
+        "Maximum number of re-executions for a single query."),
+    HIVE_QUERY_REEXECUTION_ALWAYS_COLLECT_OPERATOR_STATS("hive.query.reexecution.always.collect.operator.stats", false,
+        "Used during testing"),
+
     HIVE_QUERY_RESULTS_CACHE_ENABLED("hive.query.results.cache.enabled", true,
         "If the query results cache is enabled. This will keep results of previously executed queries " +
         "to be reused if the same query is executed again."),
@@ -5090,4 +5096,23 @@ public class HiveConf extends Configuration {
       return reverseMap;
     }
   }
+
+  public void verifyAndSetAll(Map<String, String> overlay) {
+    for (Entry<String, String> entry : overlay.entrySet()) {
+      verifyAndSet(entry.getKey(), entry.getValue());
+    }
+  }
+
+  public Map<String, String> subtree(String string) {
+    Map<String, String> ret = new HashMap<>();
+    for (Entry<Object, Object> entry : getProps().entrySet()) {
+      String key = (String) entry.getKey();
+      String value = (String) entry.getValue();
+      if (key.startsWith(string)) {
+        ret.put(key.substring(string.length() + 1), value);
+      }
+    }
+    return ret;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/data/conf/llap/hive-site.xml
----------------------------------------------------------------------
diff --git a/data/conf/llap/hive-site.xml b/data/conf/llap/hive-site.xml
index c4c299c..990b473 100644
--- a/data/conf/llap/hive-site.xml
+++ b/data/conf/llap/hive-site.xml
@@ -353,4 +353,9 @@
   <value>false</value>
 </property>
 
+<property>
+  <name>tez.counters.max</name>
+  <value>1024</value>
+</property>
+
 </configuration>

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidScanQueryRecordReader.java
----------------------------------------------------------------------
diff --git a/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidScanQueryRecordReader.java b/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidScanQueryRecordReader.java
index cbeac2c..68ac88c 100644
--- a/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidScanQueryRecordReader.java
+++ b/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidScanQueryRecordReader.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index e8aa827..084d5db 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -516,6 +516,9 @@ minillaplocal.query.files=\
   bucketmapjoin6.q,\
   bucketmapjoin7.q,\
   bucketpruning1.q,\
+  retry_failure.q,\
+  retry_failure_stat_changes.q,\
+  retry_failure_oom.q,\
   bucketsortoptimize_insert_2.q,\
   cbo_gby.q,\
   cbo_join.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
index d6acce7..f0f23ca 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
@@ -1827,7 +1827,7 @@ public class QTestUtil {
     ppm.add(new PatternReplacementPair(Pattern.compile("\\{\"writeid\":[1-9][0-9]*,\"bucketid\":"),
       "{\"writeid\":### Masked writeid ###,\"bucketid\":"));
 
-    ppm.add(new PatternReplacementPair(Pattern.compile("attempt_[0-9]+"), "attempt_#ID#"));
+    ppm.add(new PatternReplacementPair(Pattern.compile("attempt_[0-9_]+"), "attempt_#ID#"));
     ppm.add(new PatternReplacementPair(Pattern.compile("vertex_[0-9_]+"), "vertex_#ID#"));
     ppm.add(new PatternReplacementPair(Pattern.compile("task_[0-9_]+"), "task_#ID#"));
     partialPlanMask = ppm.toArray(new PatternReplacementPair[ppm.size()]);

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/itests/util/src/test/java/org/apache/hadoop/hive/ql/TestQTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/test/java/org/apache/hadoop/hive/ql/TestQTestUtil.java b/itests/util/src/test/java/org/apache/hadoop/hive/ql/TestQTestUtil.java
index c01d87b..1a8eb33 100644
--- a/itests/util/src/test/java/org/apache/hadoop/hive/ql/TestQTestUtil.java
+++ b/itests/util/src/test/java/org/apache/hadoop/hive/ql/TestQTestUtil.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/Context.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Context.java b/ql/src/java/org/apache/hadoop/hive/ql/Context.java
index dba2dbb..58fa5f2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/Context.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Context.java
@@ -28,6 +28,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
@@ -58,6 +59,10 @@ import org.apache.hadoop.hive.ql.parse.ExplainConfiguration.AnalyzeState;
 import org.apache.hadoop.hive.ql.parse.HiveParser;
 import org.apache.hadoop.hive.ql.parse.QB;
 import org.apache.hadoop.hive.ql.plan.LoadTableDesc;
+import org.apache.hadoop.hive.ql.plan.mapper.EmptyStatsSource;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+import org.apache.hadoop.hive.ql.plan.mapper.RuntimeStatsSource;
+import org.apache.hadoop.hive.ql.plan.mapper.StatsSource;
 import org.apache.hadoop.hive.ql.session.SessionState;
 import org.apache.hadoop.hive.ql.wm.WmContext;
 import org.apache.hadoop.hive.shims.ShimLoader;
@@ -65,6 +70,7 @@ import org.apache.hadoop.util.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 /**
  * Context for Semantic Analyzers. Usage: not reusable - construct a new one for
  * each query should call clear() at end of use to remove temporary folders
@@ -153,6 +159,11 @@ public class Context {
   private Operation operation = Operation.OTHER;
   private WmContext wmContext;
 
+  private boolean isExplainPlan = false;
+  private PlanMapper planMapper = new PlanMapper();
+  private RuntimeStatsSource runtimeStatsSource;
+  private int executionIndex;
+
   public void setOperation(Operation operation) {
     this.operation = operation;
   }
@@ -229,7 +240,7 @@ public class Context {
       }
       if(!thisIsInASubquery) {
         throw new IllegalStateException("Expected '" + getMatchedText(curNode) + "' to be in sub-query or set operation.");
-      } 
+      }
       return DestClausePrefix.INSERT;
     }
     switch (operation) {
@@ -252,7 +263,7 @@ public class Context {
         assert insert != null && insert.getType() == HiveParser.TOK_INSERT;
         ASTNode query = (ASTNode) insert.getParent();
         assert query != null && query.getType() == HiveParser.TOK_QUERY;
-        
+
         for(int childIdx = 1; childIdx < query.getChildCount(); childIdx++) {//1st child is TOK_FROM
           assert query.getChild(childIdx).getType() == HiveParser.TOK_INSERT;
           if(insert == query.getChild(childIdx)) {
@@ -997,7 +1008,7 @@ public class Context {
   public ExplainConfiguration getExplainConfig() {
     return explainConfig;
   }
-  private boolean isExplainPlan = false;
+
   public boolean isExplainPlan() {
     return isExplainPlan;
   }
@@ -1033,4 +1044,33 @@ public class Context {
   public String getExecutionId() {
     return executionId;
   }
+
+  public PlanMapper getPlanMapper() {
+    return planMapper;
+  }
+
+  public void setRuntimeStatsSource(RuntimeStatsSource runtimeStatsSource) {
+    this.runtimeStatsSource = runtimeStatsSource;
+  }
+
+  public Optional<RuntimeStatsSource> getRuntimeStatsSource() {
+    return Optional.ofNullable(runtimeStatsSource);
+  }
+
+  public StatsSource getStatsSource() {
+    if (runtimeStatsSource != null) {
+      return runtimeStatsSource;
+    } else {
+      // hierarchical; add def stats also here
+      return new EmptyStatsSource();
+    }
+  }
+
+  public int getExecutionIndex() {
+    return executionIndex;
+  }
+
+  public void setExecutionIndex(int executionIndex) {
+    this.executionIndex = executionIndex;
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
index 6999777..d789ed0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
@@ -77,6 +77,7 @@ import org.apache.hadoop.hive.ql.history.HiveHistory.Keys;
 import org.apache.hadoop.hive.ql.hooks.Entity;
 import org.apache.hadoop.hive.ql.hooks.HookContext;
 import org.apache.hadoop.hive.ql.hooks.HookUtils;
+import org.apache.hadoop.hive.ql.hooks.PrivateHookContext;
 import org.apache.hadoop.hive.ql.hooks.ReadEntity;
 import org.apache.hadoop.hive.ql.hooks.WriteEntity;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
@@ -109,6 +110,8 @@ import org.apache.hadoop.hive.ql.parse.SemanticAnalyzerFactory;
 import org.apache.hadoop.hive.ql.plan.FileSinkDesc;
 import org.apache.hadoop.hive.ql.plan.HiveOperation;
 import org.apache.hadoop.hive.ql.plan.TableDesc;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+import org.apache.hadoop.hive.ql.plan.mapper.RuntimeStatsSource;
 import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
 import org.apache.hadoop.hive.ql.security.authorization.AuthorizationUtils;
 import org.apache.hadoop.hive.ql.security.authorization.HiveAuthorizationProvider;
@@ -191,6 +194,7 @@ public class Driver implements IDriver {
   // Transaction manager used for the query. This will be set at compile time based on
   // either initTxnMgr or from the SessionState, in that order.
   private HiveTxnManager queryTxnMgr;
+  private RuntimeStatsSource runtimeStatsSource;
 
   private CacheUsage cacheUsage;
   private CacheEntry usedCacheEntry;
@@ -282,6 +286,15 @@ public class Driver implements IDriver {
     return schema;
   }
 
+  @Override
+  public Context getContext() {
+    return ctx;
+  }
+
+  public PlanMapper getPlanMapper() {
+    return ctx.getPlanMapper();
+  }
+
   /**
    * Get a Schema with fields represented with native Hive types
    */
@@ -557,6 +570,7 @@ public class Driver implements IDriver {
         setTriggerContext(queryId);
       }
 
+      ctx.setRuntimeStatsSource(runtimeStatsSource);
       ctx.setCmd(command);
       ctx.setHDFSCleanup(true);
 
@@ -579,7 +593,6 @@ public class Driver implements IDriver {
       hookRunner.runBeforeCompileHook(command);
 
       perfLogger.PerfLogBegin(CLASS_NAME, PerfLogger.ANALYZE);
-      BaseSemanticAnalyzer sem = SemanticAnalyzerFactory.get(queryState, tree);
 
       // Flush the metastore cache.  This assures that we don't pick up objects from a previous
       // query running in this same thread.  This has to be done after we get our semantic
@@ -587,15 +600,7 @@ public class Driver implements IDriver {
       // because at that point we need access to the objects.
       Hive.get().getMSC().flushCache();
 
-      if(checkConcurrency() && startImplicitTxn(queryTxnMgr)) {
-        String userFromUGI = getUserFromUGI();
-        if (!queryTxnMgr.isTxnOpen()) {
-          if(userFromUGI == null) {
-            throw createProcessorResponse(10);
-          }
-          long txnid = queryTxnMgr.openTxn(ctx, userFromUGI);
-        }
-      }
+      BaseSemanticAnalyzer sem;
       // Do semantic analysis and plan generation
       if (hookRunner.hasPreAnalyzeHooks()) {
         HiveSemanticAnalyzerHookContext hookCtx = new HiveSemanticAnalyzerHookContextImpl();
@@ -606,12 +611,15 @@ public class Driver implements IDriver {
         hookCtx.setHiveOperation(queryState.getHiveOperation());
 
         tree =  hookRunner.runPreAnalyzeHooks(hookCtx, tree);
-
+        sem = SemanticAnalyzerFactory.get(queryState, tree);
+        openTransaction();
         sem.analyze(tree, ctx);
         hookCtx.update(sem);
 
         hookRunner.runPostAnalyzeHooks(hookCtx, sem.getAllRootTasks());
       } else {
+        sem = SemanticAnalyzerFactory.get(queryState, tree);
+        openTransaction();
         sem.analyze(tree, ctx);
       }
       LOG.info("Semantic Analysis Completed");
@@ -749,6 +757,18 @@ public class Driver implements IDriver {
     ctx.setWmContext(wmContext);
   }
 
+  private void openTransaction() throws LockException, CommandProcessorResponse {
+    if (checkConcurrency() && startImplicitTxn(queryTxnMgr)) {
+      String userFromUGI = getUserFromUGI();
+      if (!queryTxnMgr.isTxnOpen()) {
+        if (userFromUGI == null) {
+          throw createProcessorResponse(10);
+        }
+        long txnid = queryTxnMgr.openTxn(ctx, userFromUGI);
+      }
+    }
+  }
+
   private boolean startImplicitTxn(HiveTxnManager txnManager) throws LockException {
     boolean shouldOpenImplicitTxn = !ctx.isExplainPlan();
     //this is dumb. HiveOperation is not always set. see HIVE-16447/HIVE-16443
@@ -1272,7 +1292,9 @@ public class Driver implements IDriver {
         return;
       }
     }
-    if (!AcidUtils.isTransactionalTable(tbl)) return;
+    if (!AcidUtils.isTransactionalTable(tbl)) {
+      return;
+    }
     String fullTableName = AcidUtils.getFullTableName(tbl.getDbName(), tbl.getTableName());
     tableList.add(fullTableName);
   }
@@ -1922,9 +1944,9 @@ public class Driver implements IDriver {
 
       SessionState ss = SessionState.get();
 
-      hookContext = new HookContext(plan, queryState, ctx.getPathToCS(), SessionState.get().getUserName(),
+      hookContext = new PrivateHookContext(plan, queryState, ctx.getPathToCS(), SessionState.get().getUserName(),
           ss.getUserIpAddress(), InetAddress.getLocalHost().getHostAddress(), operationId,
-          ss.getSessionId(), Thread.currentThread().getName(), ss.isHiveServerQuery(), perfLogger, queryInfo);
+          ss.getSessionId(), Thread.currentThread().getName(), ss.isHiveServerQuery(), perfLogger, queryInfo, ctx);
       hookContext.setHookType(HookContext.HookType.PRE_EXEC_HOOK);
 
       hookRunner.runPreHooks(hookContext);
@@ -2591,4 +2613,9 @@ public class Driver implements IDriver {
   public HookRunner getHookRunner() {
     return hookRunner;
   }
+
+  public void setRuntimeStatsSource(RuntimeStatsSource runtimeStatsSource) {
+    this.runtimeStatsSource = runtimeStatsSource;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/DriverFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/DriverFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/DriverFactory.java
index 60e8de8..0f6a80e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/DriverFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/DriverFactory.java
@@ -18,31 +18,54 @@
 
 package org.apache.hadoop.hive.ql;
 
+import java.util.ArrayList;
+
 import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.ql.reexec.IReExecutionPlugin;
+import org.apache.hadoop.hive.ql.reexec.ReExecDriver;
+import org.apache.hadoop.hive.ql.reexec.ReExecutionOverlayPlugin;
+import org.apache.hadoop.hive.ql.reexec.ReOptimizePlugin;
+
+import com.google.common.base.Strings;
 
 /**
- * Constructs a driver for ql clients
+ * Constructs a driver for ql clients.
  */
 public class DriverFactory {
 
-  enum ExecutionStrategy {
-    none {
-      @Override
-      IDriver build(QueryState queryState, String userName, QueryInfo queryInfo) {
-        return new Driver(queryState, userName, queryInfo);
-      }
-    };
-
-    abstract IDriver build(QueryState queryState, String userName, QueryInfo queryInfo);
-  }
-
   public static IDriver newDriver(HiveConf conf) {
     return newDriver(getNewQueryState(conf), null, null);
   }
 
   public static IDriver newDriver(QueryState queryState, String userName, QueryInfo queryInfo) {
-    ExecutionStrategy strategy = ExecutionStrategy.none;
-    return strategy.build(queryState, userName, queryInfo);
+    boolean enabled = queryState.getConf().getBoolVar(ConfVars.HIVE_QUERY_REEXECUTION_ENABLED);
+    if (!enabled) {
+      return new Driver(queryState, userName, queryInfo);
+    }
+
+    String strategies = queryState.getConf().getVar(ConfVars.HIVE_QUERY_REEXECUTION_STRATEGIES);
+    strategies = Strings.nullToEmpty(strategies).trim().toLowerCase();
+    ArrayList<IReExecutionPlugin> plugins = new ArrayList<>();
+    for (String string : strategies.split(",")) {
+      if (string.trim().isEmpty()) {
+        continue;
+      }
+      plugins.add(buildReExecPlugin(string));
+    }
+
+    return new ReExecDriver(queryState, userName, queryInfo, plugins);
+  }
+
+  private static IReExecutionPlugin buildReExecPlugin(String name) throws RuntimeException {
+    if (name.equals("overlay")) {
+      return new ReExecutionOverlayPlugin();
+    }
+    if (name.equals("reoptimize")) {
+      return new ReOptimizePlugin();
+    }
+    throw new RuntimeException(
+        "Unknown re-execution plugin: " + name + " (" + ConfVars.HIVE_QUERY_REEXECUTION_STRATEGIES.varname + ")");
   }
 
   private static QueryState getNewQueryState(HiveConf conf) {

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/HookRunner.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/HookRunner.java b/ql/src/java/org/apache/hadoop/hive/ql/HookRunner.java
index 2a32a51..a3105b6 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/HookRunner.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/HookRunner.java
@@ -318,4 +318,9 @@ public class HookRunner {
   public void addOnFailureHook(ExecuteWithHookContext hook) {
     onFailureHooks.add(hook);
   }
+
+  public void addSemanticAnalyzerHook(HiveSemanticAnalyzerHook hook) {
+    saHooks.add(hook);
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/IDriver.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/IDriver.java b/ql/src/java/org/apache/hadoop/hive/ql/IDriver.java
index 9f13fa8..41737fb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/IDriver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/IDriver.java
@@ -21,6 +21,8 @@ package org.apache.hadoop.hive.ql;
 import java.io.IOException;
 import java.util.List;
 
+import org.apache.hadoop.hive.common.classification.InterfaceAudience;
+import org.apache.hadoop.hive.common.classification.InterfaceStability;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.metastore.api.Schema;
 import org.apache.hadoop.hive.ql.exec.FetchTask;
@@ -30,6 +32,8 @@ import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
 /**
  * Hive query executer driver
  */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
 public interface IDriver extends CommandProcessor {
 
   int compile(String string);
@@ -66,4 +70,7 @@ public interface IDriver extends CommandProcessor {
   void destroy();
 
   HiveConf getConf();
+
+  Context getContext();
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/cache/results/CacheUsage.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/cache/results/CacheUsage.java b/ql/src/java/org/apache/hadoop/hive/ql/cache/results/CacheUsage.java
index 08b791a..bb217a1 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/cache/results/CacheUsage.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/cache/results/CacheUsage.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java b/ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java
index 131127e..88a056b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/cache/results/QueryResultsCache.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
index 77e9263..d59bf1f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
@@ -467,6 +467,7 @@ public final class FunctionRegistry {
 
     system.registerGenericUDF("array", GenericUDFArray.class);
     system.registerGenericUDF("assert_true", GenericUDFAssertTrue.class);
+    system.registerGenericUDF("assert_true_oom", GenericUDFAssertTrueOOM.class);
     system.registerGenericUDF("map", GenericUDFMap.class);
     system.registerGenericUDF("struct", GenericUDFStruct.class);
     system.registerGenericUDF("named_struct", GenericUDFNamedStruct.class);

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewDesc.java
index 1e28ca8..f7af073 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewDesc.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewTask.java
index 2b345d6..de120af 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/MaterializedViewTask.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
index 199b181..c28ef99 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
@@ -84,7 +84,8 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
   protected final AtomicBoolean abortOp;
   private transient ExecMapperContext execContext;
   private transient boolean rootInitializeCalled = false;
-  protected transient long runTimeNumRows;
+  protected transient long numRows = 0;
+  protected transient long runTimeNumRows = 0;
   protected int indexForTezUnion = -1;
   private transient Configuration hconf;
   protected final transient Collection<Future<?>> asyncInitOperations = new HashSet<>();
@@ -108,6 +109,14 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
     // one of its parent is not in state CLOSE..
   }
 
+  /**
+   * Counters.
+   */
+  public enum Counter {
+    RECORDS_OUT_OPERATOR,
+    RECORDS_OUT_INTERMEDIATE
+  }
+
   protected transient State state = State.UNINIT;
 
   private boolean useBucketizedHiveInputFormat;
@@ -224,7 +233,6 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
   @SuppressWarnings("rawtypes")
   protected transient OutputCollector out;
   protected transient final Logger LOG = LoggerFactory.getLogger(getClass().getName());
-  protected transient final Logger PLOG = LoggerFactory.getLogger(Operator.class.getName()); // for simple disabling logs from all operators
   protected transient String alias;
   protected transient Reporter reporter;
   protected String id;
@@ -317,6 +325,7 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
   @SuppressWarnings("unchecked")
   public final void initialize(Configuration hconf, ObjectInspector[] inputOIs)
       throws HiveException {
+
     // String className = this.getClass().getName();
 
     this.done = false;
@@ -490,6 +499,14 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
     rootInitializeCalled = true;
   }
 
+  public String getCounterName(Counter counter, Configuration hconf) {
+    String context = hconf.get(Operator.CONTEXT_NAME_KEY, "");
+    if (context != null && !context.isEmpty()) {
+      context = "_" + context.replace(" ", "_");
+    }
+    return counter + context;
+  }
+
   /**
    * Calls initialize on each of the children with outputObjetInspector as the
    * output row format.
@@ -708,6 +725,10 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
     if (conf != null && conf.getRuntimeStatsTmpDir() != null) {
       publishRunTimeStats();
     }
+    LongWritable runTimeRowsWritable = new LongWritable(runTimeNumRows);
+    LongWritable recordCounter = new LongWritable(numRows);
+    statsMap.put(Counter.RECORDS_OUT_OPERATOR.name() + "_" + getOperatorId(), runTimeRowsWritable);
+    statsMap.put(getCounterName(Counter.RECORDS_OUT_INTERMEDIATE, hconf), recordCounter);
     this.runTimeNumRows = 0;
 
     reporter = null;
@@ -970,12 +991,6 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
     }
   }
 
-  public void resetStats() {
-    for (String e : statsMap.keySet()) {
-      statsMap.get(e).set(0L);
-    }
-  }
-
   public void reset(){
     this.state=State.INIT;
     if (childOperators != null) {
@@ -1562,4 +1577,27 @@ public abstract class Operator<T extends OperatorDesc> implements Serializable,C
         (conf == other.getConf() || (conf != null && other.getConf() != null &&
             conf.isSame(other.getConf())));
   }
+
+  /**
+   * Compares the whole operator tree with the other.
+   */
+  // Currently only used during re-optimization related parts.
+  // FIXME: HIVE-18703 should probably move this method somewhere else
+  public final boolean logicalEqualsTree(Operator<?> o) {
+    // XXX: this could easily become a hot-spot
+    if (!logicalEquals(o)) {
+      return false;
+    }
+    if (o.getNumParent() != getNumParent()) {
+      return false;
+    }
+    for (int i = 0; i < getNumParent(); i++) {
+      Operator<? extends OperatorDesc> copL = parentOperators.get(i);
+      Operator<? extends OperatorDesc> copR = o.parentOperators.get(i);
+      if (!copL.logicalEquals(copR)) {
+        return false;
+      }
+    }
+    return true;
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
index 395a5f4..d4363fd 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
@@ -31,7 +31,6 @@ import java.util.Random;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.ql.CompilationOpContext;
-import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.io.HiveKey;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
 import org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc;
@@ -50,7 +49,6 @@ import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.UnionObjectInspector;
 import org.apache.hadoop.io.BinaryComparable;
 import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.mapred.OutputCollector;
@@ -62,13 +60,6 @@ import org.apache.hadoop.util.hash.MurmurHash;
 public class ReduceSinkOperator extends TerminalOperator<ReduceSinkDesc>
     implements Serializable, TopNHash.BinaryCollector {
 
-  /**
-   * Counters.
-   */
-  public static enum Counter {
-    RECORDS_OUT_INTERMEDIATE
-  }
-
   private static final long serialVersionUID = 1L;
   private static final MurmurHash hash = (MurmurHash) MurmurHash.getInstance();
 
@@ -140,10 +131,8 @@ public class ReduceSinkOperator extends TerminalOperator<ReduceSinkDesc>
   // TODO: we only ever use one row of these at a time. Why do we need to cache multiple?
   protected transient Object[][] cachedKeys;
 
-  protected transient long numRows = 0;
   protected transient long cntr = 1;
   protected transient long logEveryNRows = 0;
-  private final transient LongWritable recordCounter = new LongWritable();
 
   /** Kryo ctor. */
   protected ReduceSinkOperator() {
@@ -163,9 +152,6 @@ public class ReduceSinkOperator extends TerminalOperator<ReduceSinkDesc>
       cntr = 1;
       logEveryNRows = HiveConf.getLongVar(hconf, HiveConf.ConfVars.HIVE_LOG_N_RECORDS);
 
-      final String vertexName = hconf.get(Operator.CONTEXT_NAME_KEY, "");
-      statsMap.put(Utilities.getVertexCounterName(Counter.RECORDS_OUT_INTERMEDIATE.name(), vertexName), recordCounter);
-
       List<ExprNodeDesc> keys = conf.getKeyCols();
 
       if (LOG.isDebugEnabled()) {
@@ -363,7 +349,10 @@ public class ReduceSinkOperator extends TerminalOperator<ReduceSinkDesc>
       // if TopNHashes are active, proceed if not already excluded (i.e order by limit)
       final int firstIndex =
           (reducerHash != null) ? reducerHash.tryStoreKey(firstKey, partKeyNull) : TopNHash.FORWARD;
-      if (firstIndex == TopNHash.EXCLUDE) return; // Nothing to do.
+      if (firstIndex == TopNHash.EXCLUDE)
+       {
+        return; // Nothing to do.
+      }
       // Compute value and hashcode - we'd either store or forward them.
       BytesWritable value = makeValueWritable(row);
 
@@ -531,6 +520,7 @@ public class ReduceSinkOperator extends TerminalOperator<ReduceSinkDesc>
     if (!abort && reducerHash != null) {
       reducerHash.flush();
     }
+    runTimeNumRows = numRows;
     super.closeOp(abort);
     out = null;
     random = null;
@@ -538,7 +528,6 @@ public class ReduceSinkOperator extends TerminalOperator<ReduceSinkDesc>
     if (LOG.isTraceEnabled()) {
       LOG.info(toString() + ": records written - " + numRows);
     }
-    recordCounter.set(numRows);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HiveInputCounters.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HiveInputCounters.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HiveInputCounters.java
index 085d6a7..3100c33 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HiveInputCounters.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HiveInputCounters.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/LlapObjectSubCache.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/LlapObjectSubCache.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/LlapObjectSubCache.java
index 0d31e6e..7c5857c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/LlapObjectSubCache.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/LlapObjectSubCache.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkCommonOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkCommonOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkCommonOperator.java
index 8dd7cfe..cc876d5 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkCommonOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkCommonOperator.java
@@ -28,7 +28,6 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.ql.CompilationOpContext;
 import org.apache.hadoop.hive.ql.exec.Operator;
-import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator.Counter;
 import org.apache.hadoop.hive.ql.exec.TerminalOperator;
 import org.apache.hadoop.hive.ql.exec.TopNHash;
 import org.apache.hadoop.hive.ql.exec.Utilities;
@@ -36,9 +35,7 @@ import org.apache.hadoop.hive.ql.exec.vector.VectorSerializeRow;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContextRegion;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationOperator;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
-import org.apache.hadoop.hive.ql.exec.vector.keyseries.VectorKeySeriesSerialized;
 import org.apache.hadoop.hive.ql.io.HiveKey;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
 import org.apache.hadoop.hive.ql.plan.BaseWork;
@@ -56,10 +53,7 @@ import org.apache.hadoop.hive.serde2.binarysortable.fast.BinarySortableSerialize
 import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinarySerializeWrite;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
 import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.mapred.OutputCollector;
-import org.apache.hive.common.util.HashCodeUtil;
 
 import com.google.common.base.Preconditions;
 
@@ -136,10 +130,8 @@ public abstract class VectorReduceSinkCommonOperator extends TerminalOperator<Re
   // Where to write our key and value pairs.
   private transient OutputCollector out;
 
-  private transient long numRows = 0;
   private transient long cntr = 1;
   private transient long logEveryNRows = 0;
-  private final transient LongWritable recordCounter = new LongWritable();
 
   // For debug tracing: the name of the map or reduce task.
   protected transient String taskName;
@@ -274,7 +266,6 @@ public abstract class VectorReduceSinkCommonOperator extends TerminalOperator<Re
     if (context != null && !context.isEmpty()) {
       context = "_" + context.replace(" ","_");
     }
-    statsMap.put(Counter.RECORDS_OUT_INTERMEDIATE + context, recordCounter);
 
     reduceSkipTag = conf.getSkipTag();
     reduceTagByte = (byte) conf.getTag();
@@ -355,7 +346,9 @@ public abstract class VectorReduceSinkCommonOperator extends TerminalOperator<Re
       final int firstIndex =
           reducerHash.tryStoreKey(keyWritable, /* partColsIsNull */ false);
 
-      if (firstIndex == TopNHash.EXCLUDE) return;   // Nothing to do.
+      if (firstIndex == TopNHash.EXCLUDE) {
+        return; // Nothing to do.
+      }
 
       if (firstIndex == TopNHash.FORWARD) {
         doCollect(keyWritable, valueWritable);
@@ -399,6 +392,7 @@ public abstract class VectorReduceSinkCommonOperator extends TerminalOperator<Re
     if (!abort && reducerHash != null) {
       reducerHash.flush();
     }
+    runTimeNumRows = numRows;
     super.closeOp(abort);
     out = null;
     reducerHash = null;
@@ -406,7 +400,6 @@ public abstract class VectorReduceSinkCommonOperator extends TerminalOperator<Re
       LOG.info(toString() + ": records written - " + numRows);
     }
     this.runTimeNumRows = numRows;
-    recordCounter.set(numRows);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkEmptyKeyOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkEmptyKeyOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkEmptyKeyOperator.java
index 134fc0f..78e64d8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkEmptyKeyOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkEmptyKeyOperator.java
@@ -18,54 +18,16 @@
 
 package org.apache.hadoop.hive.ql.exec.vector.reducesink;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-import java.util.Random;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.ql.CompilationOpContext;
-import org.apache.hadoop.hive.ql.exec.Operator;
-import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator.Counter;
-import org.apache.hadoop.hive.ql.exec.TerminalOperator;
-import org.apache.hadoop.hive.ql.exec.Utilities;
-import org.apache.hadoop.hive.ql.exec.vector.VectorExtractRow;
-import org.apache.hadoop.hive.ql.exec.vector.VectorSerializeRow;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizationContextRegion;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
-import org.apache.hadoop.hive.ql.exec.vector.keyseries.VectorKeySeriesSerialized;
-import org.apache.hadoop.hive.ql.io.HiveKey;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.plan.BaseWork;
 import org.apache.hadoop.hive.ql.plan.OperatorDesc;
-import org.apache.hadoop.hive.ql.plan.ReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.TableDesc;
 import org.apache.hadoop.hive.ql.plan.VectorDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkInfo;
-import org.apache.hadoop.hive.ql.plan.api.OperatorType;
-import org.apache.hadoop.hive.serde.serdeConstants;
-import org.apache.hadoop.hive.serde2.ByteStream.Output;
-import org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe;
-import org.apache.hadoop.hive.serde2.binarysortable.fast.BinarySortableSerializeWrite;
-import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinarySerializeWrite;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
-import org.apache.hadoop.hive.serde2.objectinspector.StructField;
-import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
-import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.Writable;
-import org.apache.hadoop.mapred.OutputCollector;
-import org.apache.hive.common.util.HashCodeUtil;
 
 import com.google.common.base.Preconditions;
 

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkObjectHashOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkObjectHashOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkObjectHashOperator.java
index 1eb72ce..1bc3fda 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkObjectHashOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkObjectHashOperator.java
@@ -18,54 +18,26 @@
 
 package org.apache.hadoop.hive.ql.exec.vector.reducesink;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
 import java.util.Random;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.ql.CompilationOpContext;
-import org.apache.hadoop.hive.ql.exec.Operator;
-import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator.Counter;
-import org.apache.hadoop.hive.ql.exec.TerminalOperator;
-import org.apache.hadoop.hive.ql.exec.Utilities;
 import org.apache.hadoop.hive.ql.exec.vector.VectorExtractRow;
 import org.apache.hadoop.hive.ql.exec.vector.VectorSerializeRow;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizationContextRegion;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
-import org.apache.hadoop.hive.ql.exec.vector.keyseries.VectorKeySeriesSerialized;
-import org.apache.hadoop.hive.ql.io.HiveKey;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.plan.BaseWork;
 import org.apache.hadoop.hive.ql.plan.OperatorDesc;
-import org.apache.hadoop.hive.ql.plan.ReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.TableDesc;
 import org.apache.hadoop.hive.ql.plan.VectorDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkInfo;
-import org.apache.hadoop.hive.ql.plan.api.OperatorType;
-import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.ByteStream.Output;
-import org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe;
 import org.apache.hadoop.hive.serde2.binarysortable.fast.BinarySortableSerializeWrite;
-import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinarySerializeWrite;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
-import org.apache.hadoop.hive.serde2.objectinspector.StructField;
-import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
-import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.Writable;
-import org.apache.hadoop.mapred.OutputCollector;
-import org.apache.hive.common.util.HashCodeUtil;
 
 import com.google.common.base.Preconditions;
 

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkUniformHashOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkUniformHashOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkUniformHashOperator.java
index 384bd74..c98663c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkUniformHashOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/reducesink/VectorReduceSinkUniformHashOperator.java
@@ -18,53 +18,18 @@
 
 package org.apache.hadoop.hive.ql.exec.vector.reducesink;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-import java.util.Random;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.ql.CompilationOpContext;
-import org.apache.hadoop.hive.ql.exec.Operator;
-import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator.Counter;
-import org.apache.hadoop.hive.ql.exec.TerminalOperator;
-import org.apache.hadoop.hive.ql.exec.Utilities;
-import org.apache.hadoop.hive.ql.exec.vector.VectorExtractRow;
-import org.apache.hadoop.hive.ql.exec.vector.VectorSerializeRow;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizationContextRegion;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
 import org.apache.hadoop.hive.ql.exec.vector.keyseries.VectorKeySeriesSerialized;
-import org.apache.hadoop.hive.ql.io.HiveKey;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.plan.BaseWork;
 import org.apache.hadoop.hive.ql.plan.OperatorDesc;
-import org.apache.hadoop.hive.ql.plan.ReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.TableDesc;
 import org.apache.hadoop.hive.ql.plan.VectorDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkInfo;
-import org.apache.hadoop.hive.ql.plan.api.OperatorType;
-import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.ByteStream.Output;
-import org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe;
-import org.apache.hadoop.hive.serde2.binarysortable.fast.BinarySortableSerializeWrite;
-import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinarySerializeWrite;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
-import org.apache.hadoop.hive.serde2.objectinspector.StructField;
-import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
-import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.Writable;
-import org.apache.hadoop.mapred.OutputCollector;
 import org.apache.hive.common.util.HashCodeUtil;
 
 import com.google.common.base.Preconditions;

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/hooks/PrivateHookContext.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/PrivateHookContext.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/PrivateHookContext.java
new file mode 100644
index 0000000..605436b
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/PrivateHookContext.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.hooks;
+
+import java.util.Map;
+
+import org.apache.hadoop.fs.ContentSummary;
+import org.apache.hadoop.hive.common.classification.InterfaceAudience;
+import org.apache.hadoop.hive.common.classification.InterfaceStability;
+import org.apache.hadoop.hive.ql.Context;
+import org.apache.hadoop.hive.ql.QueryInfo;
+import org.apache.hadoop.hive.ql.QueryPlan;
+import org.apache.hadoop.hive.ql.QueryState;
+import org.apache.hadoop.hive.ql.log.PerfLogger;
+
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
+public class PrivateHookContext extends HookContext {
+
+  private final Context ctx;
+
+  public PrivateHookContext(QueryPlan queryPlan, QueryState queryState,
+      Map<String, ContentSummary> inputPathToContentSummary, String userName, String ipAddress,
+      String hiveInstanceAddress, String operationId, String sessionId, String threadId, boolean isHiveServerQuery,
+      PerfLogger perfLogger, QueryInfo queryInfo, Context ctx) throws Exception {
+    super(queryPlan, queryState, inputPathToContentSummary, userName, ipAddress, hiveInstanceAddress, operationId,
+        sessionId, threadId, isHiveServerQuery, perfLogger, queryInfo);
+    this.ctx = ctx;
+  }
+
+  public Context getContext() {
+    return ctx;
+  }
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java
index b758507..bfbbe3a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java
@@ -28,6 +28,7 @@ import org.apache.hadoop.hive.ql.ErrorMsg;
 @InterfaceAudience.Public
 @InterfaceStability.Stable
 public class HiveException extends Exception {
+
   /**
    * Standard predefined message with error code and possibly SQL State, etc.
    */

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java
index b0cf3bd..bc6d0bb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java
@@ -598,6 +598,7 @@ public class SharedWorkOptimizer extends Transform {
         new LinkedList<>(tableToTotalSize.entrySet());
     Collections.sort(sortedTables, Collections.reverseOrder(
         new Comparator<Map.Entry<String, Long>>() {
+          @Override
           public int compare(Map.Entry<String, Long> o1, Map.Entry<String, Long> o2) {
             return (o1.getValue()).compareTo(o2.getValue());
           }
@@ -637,6 +638,7 @@ public class SharedWorkOptimizer extends Transform {
         new LinkedList<>(opToTotalSize.entrySet());
     Collections.sort(sortedOps, Collections.reverseOrder(
         new Comparator<Map.Entry<Operator<?>, Long>>() {
+          @Override
           public int compare(Map.Entry<Operator<?>, Long> o1, Map.Entry<Operator<?>, Long> o2) {
             int valCmp = o1.getValue().compareTo(o2.getValue());
             if (valCmp == 0) {
@@ -648,6 +650,7 @@ public class SharedWorkOptimizer extends Transform {
     return sortedOps;
   }
 
+  // FIXME: probably this should also be integrated with isSame() logics
   private static boolean areMergeable(ParseContext pctx, SharedWorkOptimizerCache optimizerCache,
           TableScanOperator tsOp1, TableScanOperator tsOp2) throws SemanticException {
     // First we check if the two table scan operators can actually be merged

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOpMaterializationValidator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOpMaterializationValidator.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOpMaterializationValidator.java
index 8c1bcb3..df216e7 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOpMaterializationValidator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOpMaterializationValidator.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
index 783a672..13a2fc4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
@@ -28,21 +28,17 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.IdentityHashMap;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
 import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.Set;
 import java.util.Stack;
-import java.util.TreeMap;
 import java.util.TreeSet;
 import java.util.regex.Pattern;
 
 import org.apache.commons.lang.ArrayUtils;
-import org.apache.calcite.util.Pair;
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.hadoop.hive.ql.parse.spark.SparkPartitionPruningSinkOperator;
 import org.slf4j.Logger;
@@ -83,16 +79,10 @@ import org.apache.hadoop.hive.ql.exec.vector.ColumnVector.Type;
 import org.apache.hadoop.hive.ql.exec.vector.VectorAggregationDesc;
 import org.apache.hadoop.hive.ql.exec.vector.VectorColumnOutputMapping;
 import org.apache.hadoop.hive.ql.exec.vector.VectorColumnSourceMapping;
-import org.apache.hadoop.hive.ql.exec.vector.VectorFileSinkOperator;
-import org.apache.hadoop.hive.ql.exec.vector.VectorFilterOperator;
-import org.apache.hadoop.hive.ql.exec.vector.VectorGroupByOperator;
 import org.apache.hadoop.hive.ql.exec.vector.VectorMapJoinOperator;
 import org.apache.hadoop.hive.ql.exec.vector.VectorMapJoinOuterFilteredOperator;
-import org.apache.hadoop.hive.ql.exec.vector.VectorReduceSinkOperator;
-import org.apache.hadoop.hive.ql.exec.vector.VectorSelectOperator;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationOperator;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizedBatchUtil;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizedUDAFs;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.HiveVectorAdaptorUsageMode;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.InConstantType;
@@ -105,22 +95,15 @@ import org.apache.hadoop.hive.ql.io.NullRowsInputFormat;
 import org.apache.hadoop.hive.ql.io.OneNullRowInputFormat;
 import org.apache.hadoop.hive.ql.io.orc.OrcInputFormat;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatchCtx;
-import org.apache.hadoop.hive.ql.lib.DefaultGraphWalker;
-import org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher;
 import org.apache.hadoop.hive.ql.lib.Dispatcher;
-import org.apache.hadoop.hive.ql.lib.GraphWalker;
 import org.apache.hadoop.hive.ql.lib.Node;
 import org.apache.hadoop.hive.ql.lib.NodeProcessor;
-import org.apache.hadoop.hive.ql.lib.NodeProcessorCtx;
-import org.apache.hadoop.hive.ql.lib.PreOrderOnceWalker;
-import org.apache.hadoop.hive.ql.lib.PreOrderWalker;
 import org.apache.hadoop.hive.ql.lib.Rule;
 import org.apache.hadoop.hive.ql.lib.RuleRegExp;
 import org.apache.hadoop.hive.ql.lib.TaskGraphWalker;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
 import org.apache.hadoop.hive.ql.metadata.VirtualColumn;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
-import org.apache.hadoop.hive.ql.parse.WindowingSpec.WindowType;
 import org.apache.hadoop.hive.ql.plan.AbstractOperatorDesc;
 import org.apache.hadoop.hive.ql.plan.AggregationDesc;
 import org.apache.hadoop.hive.ql.plan.AppMasterEventDesc;
@@ -138,11 +121,9 @@ import org.apache.hadoop.hive.ql.plan.LimitDesc;
 import org.apache.hadoop.hive.ql.plan.MapJoinDesc;
 import org.apache.hadoop.hive.ql.plan.MapWork;
 import org.apache.hadoop.hive.ql.plan.MapredWork;
-import org.apache.hadoop.hive.ql.plan.OpTraits;
 import org.apache.hadoop.hive.ql.plan.OperatorDesc;
 import org.apache.hadoop.hive.ql.plan.PTFDesc;
 import org.apache.hadoop.hive.ql.plan.SelectDesc;
-import org.apache.hadoop.hive.ql.plan.Statistics;
 import org.apache.hadoop.hive.ql.plan.VectorAppMasterEventDesc;
 import org.apache.hadoop.hive.ql.plan.VectorDesc;
 import org.apache.hadoop.hive.ql.plan.VectorFileSinkDesc;
@@ -179,13 +160,9 @@ import org.apache.hadoop.hive.ql.plan.VectorReduceSinkDesc;
 import org.apache.hadoop.hive.ql.plan.VectorReduceSinkInfo;
 import org.apache.hadoop.hive.ql.plan.VectorPartitionDesc;
 import org.apache.hadoop.hive.ql.plan.VectorSelectDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkInfo;
-import org.apache.hadoop.hive.ql.plan.VectorPartitionDesc;
 import org.apache.hadoop.hive.ql.plan.api.OperatorType;
 import org.apache.hadoop.hive.ql.plan.ptf.OrderExpressionDef;
 import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef;
-import org.apache.hadoop.hive.ql.plan.ptf.PartitionDef;
 import org.apache.hadoop.hive.ql.plan.ptf.PartitionedTableFunctionDef;
 import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef;
 import org.apache.hadoop.hive.ql.plan.ptf.WindowFunctionDef;
@@ -231,8 +208,6 @@ import org.apache.hadoop.hive.ql.udf.UDFToString;
 import org.apache.hadoop.hive.ql.udf.UDFWeekOfYear;
 import org.apache.hadoop.hive.ql.udf.UDFYear;
 import org.apache.hadoop.hive.ql.udf.generic.*;
-import org.apache.hadoop.hive.ql.udf.ptf.TableFunctionEvaluator;
-import org.apache.hadoop.hive.ql.udf.ptf.WindowingTableFunction;
 import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.Deserializer;
 import org.apache.hadoop.hive.serde2.NullStructSerDe;
@@ -256,8 +231,6 @@ import org.apache.hadoop.mapred.SequenceFileInputFormat;
 import org.apache.hadoop.mapred.TextInputFormat;
 import org.apache.hive.common.util.AnnotationUtils;
 import org.apache.hadoop.util.ReflectionUtils;
-import org.apache.hadoop.util.StringUtils;
-
 import com.google.common.collect.ImmutableSet;
 import com.google.common.base.Preconditions;
 
@@ -1415,7 +1388,9 @@ public class Vectorizer implements PhysicalPlanResolver {
         return false;
       }
       for (Class<?> badClass : excludes) {
-        if (badClass.isAssignableFrom(ifClass)) return true;
+        if (badClass.isAssignableFrom(ifClass)) {
+          return true;
+        }
       }
       return false;
     }
@@ -4792,6 +4767,7 @@ public class Vectorizer implements PhysicalPlanResolver {
       setOperatorIssue(e.getMessage());
       throw new VectorizerCannotVectorizeException();
     }
+
     Preconditions.checkState(vectorOp != null);
     if (vectorTaskColumnInfo != null && !isNative) {
       vectorTaskColumnInfo.setAllNative(false);

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpSignature.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpSignature.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpSignature.java
new file mode 100644
index 0000000..90b2fd3
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpSignature.java
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.signature;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+
+import com.google.common.annotations.VisibleForTesting;
+
+/**
+ * Signature of the operator(non-recursive).
+ */
+public class OpSignature {
+
+  /**
+   * Holds the signature of the operator; the keys are are the methods name marked by {@link Signature}.
+   */
+  private Map<String, Object> sigMap;
+  // FIXME: this is currently retained...
+  // but later the signature should be able to serve the same comparision granulaty level as op.logicalEquals right now
+  private Operator<? extends OperatorDesc> op;
+
+  private OpSignature(Operator<? extends OperatorDesc> op) {
+    this.op = op;
+    sigMap = new HashMap<>();
+    // FIXME: consider to operator info as well..not just conf?
+    SignatureUtils.write(sigMap, op.getConf());
+  }
+
+  public static OpSignature of(Operator<? extends OperatorDesc> op) {
+    return new OpSignature(op);
+  }
+
+  @Override
+  public int hashCode() {
+    return sigMap.hashCode();
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    if (obj == null || !(obj instanceof OpSignature)) {
+      return false;
+    }
+    if (obj == this) {
+      return true;
+    }
+    OpSignature o = (OpSignature) obj;
+    return op.logicalEquals(o.op);
+  }
+
+  public boolean signatureCompare(OpSignature other) {
+    return sigMap.equals(other.sigMap);
+  }
+
+  @VisibleForTesting
+  public void proveEquals(OpSignature other) {
+    proveEquals(sigMap,other.sigMap);
+  }
+
+  private static void proveEquals(Map<String, Object> m1, Map<String, Object> m2) {
+    for (Entry<String, Object> e : m1.entrySet()) {
+      String key = e.getKey();
+      Object v1 = e.getValue();
+      Object v2 = m2.get(key);
+      if (v1 == v2) {
+        continue;
+      }
+      if (v1 == null || v2 == null || !v1.equals(v2)) {
+        throw new RuntimeException(String.format("equals fails: %s (%s!=%s)", key, v1, v2));
+      }
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignature.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignature.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignature.java
new file mode 100644
index 0000000..c6d1a6a
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignature.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.signature;
+
+import java.util.ArrayList;
+import java.util.Objects;
+
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+
+/**
+ * Operator tree signature.
+ */
+public class OpTreeSignature {
+  private Operator<?> op;
+  private int hashCode;
+  private OpSignature sig;
+  private ArrayList<OpTreeSignature> parentSig;
+
+  OpTreeSignature(Operator<?> op, OpTreeSignatureFactory osf) {
+    this.op = op;
+    sig = OpSignature.of(op);
+    parentSig = new ArrayList<>();
+    for (Operator<? extends OperatorDesc> parentOp : op.getParentOperators()) {
+      parentSig.add(osf.getSignature(parentOp));
+    }
+    hashCode = Objects.hash(sig, parentSig);
+  }
+
+  public static OpTreeSignature of(Operator<?> root) {
+    return of(root, OpTreeSignatureFactory.DIRECT);
+  }
+
+  public static OpTreeSignature of(Operator<? extends OperatorDesc> op, OpTreeSignatureFactory osf) {
+    return new OpTreeSignature(op, osf);
+  }
+
+  @Override
+  public int hashCode() {
+    return hashCode;
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    if (obj == null || !(obj instanceof OpTreeSignature)) {
+      return false;
+    }
+    if (obj == this) {
+      return true;
+    }
+    OpTreeSignature o = (OpTreeSignature) obj;
+    // TODO: this should be removed as soon as signatures are able to provide the same level of confidentiality as logicalEquals
+    return logicalEqualsTree(op, o.op);
+  }
+
+  // XXX: this is ain't cheap! :)
+  private final boolean logicalEqualsTree(Operator<?> o1, Operator<?> o) {
+    if (!o1.logicalEquals(o)) {
+      return false;
+    }
+    if (o.getNumParent() != o1.getNumParent()) {
+      return false;
+    }
+    for (int i = 0; i < o1.getNumParent(); i++) {
+      Operator<? extends OperatorDesc> copL = o1.getParentOperators().get(i);
+      Operator<? extends OperatorDesc> copR = o.getParentOperators().get(i);
+      if (!copL.logicalEquals(copR)) {
+        return false;
+      }
+    }
+    return true;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignatureFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignatureFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignatureFactory.java
new file mode 100644
index 0000000..3df5ee9
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignatureFactory.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.signature;
+
+import java.util.IdentityHashMap;
+import java.util.Map;
+
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+
+/**
+ * A simple cache backend to prevent repeated signature computations.
+ */
+public interface OpTreeSignatureFactory {
+
+  public OpTreeSignature getSignature(Operator<? extends OperatorDesc> op);
+
+  static final OpTreeSignatureFactory DIRECT = new Direct();
+
+  public static OpTreeSignatureFactory direct() {
+    return DIRECT;
+  }
+
+  public static OpTreeSignatureFactory newCache() {
+    return new CachedFactory();
+  }
+
+  // FIXME: possible alternative: move both OpSignature/OpTreeSignature into
+  // under some class as nested ones; and that way this factory level caching can be made "transparent"
+
+  static class Direct implements OpTreeSignatureFactory {
+
+    @Override
+    public OpTreeSignature getSignature(Operator<? extends OperatorDesc> op) {
+      return OpTreeSignature.of(op, this);
+    }
+
+  }
+
+  static class CachedFactory implements OpTreeSignatureFactory {
+
+    Map<Operator<? extends OperatorDesc>, OpTreeSignature> cache = new IdentityHashMap<>();
+
+    @Override
+    public OpTreeSignature getSignature(Operator<? extends OperatorDesc> op) {
+      return cache.computeIfAbsent(op, k -> OpTreeSignature.of(op, this));
+    }
+
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/Signature.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/Signature.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/Signature.java
new file mode 100644
index 0000000..c228a8e
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/Signature.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.signature;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Marks the method to be included in the signature.
+ *
+ * The signature is used to enable logical level tree comparisions between operator trees.
+ */
+@Target(value = ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Signature {
+
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/SignatureUtils.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/SignatureUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/SignatureUtils.java
new file mode 100644
index 0000000..2269322
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/SignatureUtils.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.signature;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Enables to calculate the signature of an object.
+ *
+ * If the object has methods annotated with {@link Signature}, they will be used.
+ * If the object has no methods marked with the annotation; the object itself is used in the signature to prevent incorrect matches.
+ */
+public class SignatureUtils {
+
+  private static Map<Class<?>, SignatureMapper> mappers = new HashMap<>();
+
+  public static void write(Map<String, Object> ret, Object o) {
+    SignatureMapper mapper = getSigMapper(o.getClass());
+    mapper.write(ret, o);
+  }
+
+  static class SignatureMapper {
+
+    static final Set<String> acceptedSignatureTypes = Sets.newHashSet();
+
+    private List<Method> sigMethods;
+
+    public SignatureMapper(Class<?> o) {
+      Method[] f = o.getMethods();
+      sigMethods = new ArrayList<>();
+      for (Method method : f) {
+        if (method.isAnnotationPresent(Signature.class)) {
+          Class<?> rType = method.getReturnType();
+          String rTypeName = rType.getName();
+          if (!rType.isPrimitive() && acceptedSignatureTypes.contains(rTypeName)) {
+            throw new RuntimeException("unxepected type (" + rTypeName + ") used in signature");
+          }
+          sigMethods.add(method);
+        }
+      }
+    }
+
+    public void write(Map<String, Object> ret, Object o) {
+      if (sigMethods.isEmpty()) {
+        // by supplying using "o" this enforces identity/equls matching
+        // which will most probably make the signature very unique
+        ret.put(o.getClass().getName(), o);
+      } else {
+        ret.put(o.getClass().getName(), "1");
+        for (Method method : sigMethods) {
+          try {
+            Object res = method.invoke(o);
+            ret.put(method.getName(), res);
+          } catch (Exception e) {
+            throw new RuntimeException("Error invoking signature method", e);
+          }
+        }
+      }
+    }
+
+  }
+
+  private static SignatureMapper getSigMapper(Class<?> o) {
+    SignatureMapper m = mappers.get(o);
+    if (m == null) {
+      m = new SignatureMapper(o);
+      mappers.put(o, m);
+    }
+    return m;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkPartitionPruningSinkDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkPartitionPruningSinkDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkPartitionPruningSinkDesc.java
index d1c53cf..3f928b2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkPartitionPruningSinkDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkPartitionPruningSinkDesc.java
@@ -22,6 +22,7 @@ import com.google.common.base.Preconditions;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.ql.exec.TableScanOperator;
 import org.apache.hadoop.hive.ql.exec.spark.SparkUtilities;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.AbstractOperatorDesc;
 import org.apache.hadoop.hive.ql.plan.Explain;
 import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
@@ -134,6 +135,7 @@ public class SparkPartitionPruningSinkDesc extends AbstractOperatorDesc {
         info -> info.columnName + " (" + info.columnType + ")").toArray());
   }
 
+  @Signature
   public TableDesc getTable() {
     return table;
   }
@@ -156,4 +158,5 @@ public class SparkPartitionPruningSinkDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }


[06/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
index 2ee5433..f58ba04 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
@@ -59,7 +59,6 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
@@ -709,7 +708,9 @@ public class CachedStore implements RawStore, Configurable {
   public void createDatabase(Database db) throws InvalidObjectException, MetaException {
     rawStore.createDatabase(db);
     SharedCache sharedCache = sharedCacheWrapper.get();
-    if (sharedCache == null) return;
+    if (sharedCache == null) {
+      return;
+    }
     try {
       // Wait if background cache update is happening
       databaseCacheLock.readLock().lock();
@@ -746,7 +747,9 @@ public class CachedStore implements RawStore, Configurable {
     boolean succ = rawStore.dropDatabase(dbname);
     if (succ) {
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       try {
         // Wait if background cache update is happening
         databaseCacheLock.readLock().lock();
@@ -765,7 +768,9 @@ public class CachedStore implements RawStore, Configurable {
     boolean succ = rawStore.alterDatabase(dbName, db);
     if (succ) {
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       try {
         // Wait if background cache update is happening
         databaseCacheLock.readLock().lock();
@@ -845,7 +850,9 @@ public class CachedStore implements RawStore, Configurable {
       return;
     }
     SharedCache sharedCache = sharedCacheWrapper.get();
-    if (sharedCache == null) return;
+    if (sharedCache == null) {
+      return;
+    }
     validateTableType(tbl);
     try {
       // Wait if background cache update is happening
@@ -868,7 +875,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       // Remove table
       try {
         // Wait if background table cache update is happening
@@ -917,7 +926,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       try {
         // Wait if background cache update is happening
         partitionCacheLock.readLock().lock();
@@ -950,7 +961,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       try {
         // Wait if background cache update is happening
         partitionCacheLock.readLock().lock();
@@ -985,7 +998,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       try {
         // Wait if background cache update is happening
         partitionCacheLock.readLock().lock();
@@ -1053,7 +1068,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       // Remove partition
       try {
         // Wait if background cache update is happening
@@ -1109,7 +1126,9 @@ public class CachedStore implements RawStore, Configurable {
       return;
     }
     SharedCache sharedCache = sharedCacheWrapper.get();
-    if (sharedCache == null) return;
+    if (sharedCache == null) {
+      return;
+    }
 
     if (shouldCacheTable(dbName, newTblName)) {
       validateTableType(newTable);
@@ -1340,7 +1359,9 @@ public class CachedStore implements RawStore, Configurable {
       return;
     }
     SharedCache sharedCache = sharedCacheWrapper.get();
-    if (sharedCache == null) return;
+    if (sharedCache == null) {
+      return;
+    }
     // Update partition cache
     try {
       // Wait if background cache update is happening
@@ -1380,7 +1401,9 @@ public class CachedStore implements RawStore, Configurable {
       return;
     }
     SharedCache sharedCache = sharedCacheWrapper.get();
-    if (sharedCache == null) return;
+    if (sharedCache == null) {
+      return;
+    }
     // Update partition cache
     try {
       // Wait if background cache update is happening
@@ -1418,42 +1441,6 @@ public class CachedStore implements RawStore, Configurable {
     }
   }
 
-  @Override
-  public boolean addIndex(Index index)
-      throws InvalidObjectException, MetaException {
-    return rawStore.addIndex(index);
-  }
-
-  @Override
-  public Index getIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    return rawStore.getIndex(dbName, origTableName, indexName);
-  }
-
-  @Override
-  public boolean dropIndex(String dbName, String origTableName,
-      String indexName) throws MetaException {
-    return rawStore.dropIndex(dbName, origTableName, indexName);
-  }
-
-  @Override
-  public List<Index> getIndexes(String dbName, String origTableName, int max)
-      throws MetaException {
-    return rawStore.getIndexes(dbName, origTableName, max);
-  }
-
-  @Override
-  public List<String> listIndexNames(String dbName, String origTableName,
-      short max) throws MetaException {
-    return rawStore.listIndexNames(dbName, origTableName, max);
-  }
-
-  @Override
-  public void alterIndex(String dbname, String baseTblName, String name,
-      Index newIndex) throws InvalidObjectException, MetaException {
-    rawStore.alterIndex(dbname, baseTblName, name, newIndex);
-  }
-
   private boolean getPartitionNamesPrunedByExprNoTxn(Table table, byte[] expr,
       String defaultPartName, short maxParts, List<String> result, SharedCache sharedCache)
           throws MetaException, NoSuchObjectException {
@@ -1518,7 +1505,9 @@ public class CachedStore implements RawStore, Configurable {
   }
 
   private static List<String> partNameToVals(String name) {
-    if (name == null) return null;
+    if (name == null) {
+      return null;
+    }
     List<String> vals = new ArrayList<>();
     String[] kvp = name.split("/");
     for (String kv : kvp) {
@@ -1832,7 +1821,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       List<ColumnStatisticsObj> statsObjs = colStats.getStatsObj();
       Table tbl = getTable(dbName, tblName);
       List<String> colNames = new ArrayList<>();
@@ -1898,7 +1889,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       try {
         // Wait if background cache update is happening
         tableColStatsCacheLock.readLock().lock();
@@ -1922,7 +1915,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       List<ColumnStatisticsObj> statsObjs = colStats.getStatsObj();
       Partition part = getPartition(dbName, tblName, partVals);
       List<String> colNames = new ArrayList<>();
@@ -1982,7 +1977,9 @@ public class CachedStore implements RawStore, Configurable {
         return succ;
       }
       SharedCache sharedCache = sharedCacheWrapper.get();
-      if (sharedCache == null) return succ;
+      if (sharedCache == null) {
+        return succ;
+      }
       try {
         // Wait if background cache update is happening
         partitionColStatsCacheLock.readLock().lock();
@@ -2180,7 +2177,9 @@ public class CachedStore implements RawStore, Configurable {
       return;
     }
     SharedCache sharedCache = sharedCacheWrapper.get();
-    if (sharedCache == null) return;
+    if (sharedCache == null) {
+      return;
+    }
     // Remove partitions
     try {
       // Wait if background cache update is happening
@@ -2445,7 +2444,9 @@ public class CachedStore implements RawStore, Configurable {
       return constraintNames;
     }
     SharedCache sharedCache = sharedCacheWrapper.get();
-    if (sharedCache == null) return constraintNames;
+    if (sharedCache == null) {
+      return constraintNames;
+    }
     sharedCache.addTableToCache(StringUtils.normalizeIdentifier(tbl.getDbName()),
         StringUtils.normalizeIdentifier(tbl.getTableName()), tbl);
     return constraintNames;
@@ -2567,7 +2568,9 @@ public class CachedStore implements RawStore, Configurable {
      * Fails on any initialization error, even if the init will be retried later.
      */
     public SharedCache get() throws MetaException {
-      if (!waitForInit()) return null;
+      if (!waitForInit()) {
+        return null;
+      }
       return instance;
     }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/IndexBuilder.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/IndexBuilder.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/IndexBuilder.java
deleted file mode 100644
index 50fc186..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/IndexBuilder.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hive.metastore.client.builder;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.api.Table;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Builder for indices.  You must supply the database name and table name (or table reference), a
- * name for the index, and whatever StorageDescriptorBuilder requires.  All other fields will be
- * given reasonable defaults.
- */
-public class IndexBuilder extends StorageDescriptorBuilder<IndexBuilder> {
-  private String dbName, tableName, indexName, indexTableName, handlerClass;
-  private int createTime, lastAccessTime;
-  private Map<String, String> indexParams;
-  private boolean deferredRebuild;
-
-  public IndexBuilder() {
-    // Set some reasonable defaults
-    indexParams = new HashMap<>();
-    createTime = lastAccessTime = (int)(System.currentTimeMillis() / 1000);
-    super.setChild(this);
-  }
-
-  public IndexBuilder setDbName(String dbName) {
-    this.dbName = dbName;
-    return this;
-  }
-
-  public IndexBuilder setTableName(String tableName) {
-    this.tableName = tableName;
-    return this;
-  }
-
-  public IndexBuilder setDbAndTableName(Table table) {
-    this.dbName = table.getDbName();
-    this.tableName = table.getTableName();
-    return this;
-  }
-
-  public IndexBuilder setCreateTime(int createTime) {
-    this.createTime = createTime;
-    return this;
-  }
-
-  public IndexBuilder setLastAccessTime(int lastAccessTime) {
-    this.lastAccessTime = lastAccessTime;
-    return this;
-  }
-
-  public IndexBuilder setIndexParams(Map<String, String> indexParams) {
-    this.indexParams = indexParams;
-    return this;
-  }
-
-  public IndexBuilder addIndexParam(String key, String value) {
-    indexParams.put(key, value);
-    return this;
-  }
-
-  public IndexBuilder setIndexName(String indexName) {
-    this.indexName = indexName;
-    return this;
-  }
-
-  public IndexBuilder setIndexTableName(String indexTableName) {
-    this.indexTableName = indexTableName;
-    return this;
-  }
-
-  public IndexBuilder setHandlerClass(String handlerClass) {
-    this.handlerClass = handlerClass;
-    return this;
-  }
-
-  public IndexBuilder setDeferredRebuild(boolean deferredRebuild) {
-    this.deferredRebuild = deferredRebuild;
-    return this;
-  }
-
-  public Index build() throws MetaException {
-    if (dbName == null || tableName == null || indexName == null) {
-      throw new MetaException("You must provide database name, table name, and index name");
-    }
-    if (indexTableName == null) indexTableName = tableName + "_" + indexName + "_table";
-    return new Index(indexName, handlerClass, dbName, tableName, createTime, lastAccessTime,
-        indexTableName, buildSd(), indexParams, deferredRebuild);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/TableBuilder.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/TableBuilder.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/TableBuilder.java
index a5325e7..2b9f816 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/TableBuilder.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/client/builder/TableBuilder.java
@@ -20,7 +20,6 @@ package org.apache.hadoop.hive.metastore.client.builder;
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.utils.MetaStoreUtils;
@@ -123,7 +122,9 @@ public class TableBuilder extends StorageDescriptorBuilder<TableBuilder> {
   }
 
   public TableBuilder addTableParam(String key, String value) {
-    if (tableParams == null) tableParams = new HashMap<>();
+    if (tableParams == null) {
+      tableParams = new HashMap<>();
+    }
     tableParams.put(key, value);
     return this;
   }
@@ -138,14 +139,6 @@ public class TableBuilder extends StorageDescriptorBuilder<TableBuilder> {
     return this;
   }
 
-  public TableBuilder fromIndex(Index index) {
-    dbName = index.getDbName();
-    tableName = index.getIndexTableName();
-    setCols(index.getSd().getCols());
-    setType(TableType.INDEX_TABLE.name());
-    return this;
-  }
-
   public Table build() throws MetaException {
     if (dbName == null || tableName == null) {
       throw new MetaException("You must set the database and table name");
@@ -159,8 +152,12 @@ public class TableBuilder extends StorageDescriptorBuilder<TableBuilder> {
     }
     Table t = new Table(tableName, dbName, owner, createTime, lastAccessTime, retention, buildSd(),
         partCols, tableParams, viewOriginalText, viewExpandedText, type);
-    if (rewriteEnabled) t.setRewriteEnabled(true);
-    if (temporary) t.setTemporary(temporary);
+    if (rewriteEnabled) {
+      t.setRewriteEnabled(true);
+    }
+    if (temporary) {
+      t.setTemporary(temporary);
+    }
     return t;
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AddIndexEvent.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AddIndexEvent.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AddIndexEvent.java
deleted file mode 100644
index 0d6cb56..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AddIndexEvent.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.metastore.events;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
-import org.apache.hadoop.hive.metastore.IHMSHandler;
-import org.apache.hadoop.hive.metastore.api.Index;
-
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public class AddIndexEvent extends ListenerEvent {
-
-  private final Index index;
-
-  public AddIndexEvent(Index index, boolean status, IHMSHandler handler) {
-    super(status, handler);
-    this.index = index;
-  }
-
-  public Index getIndex() {
-    return index;
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AlterIndexEvent.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AlterIndexEvent.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AlterIndexEvent.java
deleted file mode 100644
index 2c72b83..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/AlterIndexEvent.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.metastore.events;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
-import org.apache.hadoop.hive.metastore.IHMSHandler;
-import org.apache.hadoop.hive.metastore.api.Index;
-
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public class AlterIndexEvent extends ListenerEvent {
-
-  private final Index newIndex;
-  private final Index oldIndex;
-
-  public AlterIndexEvent(Index oldIndex, Index newIndex, boolean status, IHMSHandler handler) {
-    super(status, handler);
-    this.oldIndex = oldIndex;
-    this.newIndex = newIndex;
-  }
-
-  public Index getOldIndex() {
-    return oldIndex;
-  }
-
-  public Index getNewIndex() {
-    return newIndex;
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/DropIndexEvent.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/DropIndexEvent.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/DropIndexEvent.java
deleted file mode 100644
index 4d69834..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/DropIndexEvent.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.metastore.events;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
-import org.apache.hadoop.hive.metastore.IHMSHandler;
-import org.apache.hadoop.hive.metastore.api.Index;
-
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public class DropIndexEvent extends ListenerEvent {
-
-  private final Index index;
-
-  public DropIndexEvent(Index index, boolean status, IHMSHandler handler) {
-    super(status, handler);
-    this.index = index;
-  }
-
-  public Index getIndex() {
-    return index;
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAddIndexEvent.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAddIndexEvent.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAddIndexEvent.java
deleted file mode 100644
index d9a53f8..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAddIndexEvent.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.metastore.events;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
-import org.apache.hadoop.hive.metastore.IHMSHandler;
-import org.apache.hadoop.hive.metastore.api.Index;
-
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public class PreAddIndexEvent extends PreEventContext {
-
-private final Index table;
-
-  public PreAddIndexEvent(Index table, IHMSHandler handler) {
-    super(PreEventType.ADD_INDEX, handler);
-    this.table = table;
-  }
-
-  public Index getIndex() {
-    return table;
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAlterIndexEvent.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAlterIndexEvent.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAlterIndexEvent.java
deleted file mode 100644
index 2e9d9d7..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreAlterIndexEvent.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.metastore.events;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
-import org.apache.hadoop.hive.metastore.IHMSHandler;
-import org.apache.hadoop.hive.metastore.api.Index;
-
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public class PreAlterIndexEvent extends PreEventContext {
-
-  private final Index newIndex;
-  private final Index oldIndex;
-
-  public PreAlterIndexEvent(Index oldIndex, Index newIndex, IHMSHandler handler) {
-    super(PreEventType.ALTER_INDEX, handler);
-    this.oldIndex = oldIndex;
-    this.newIndex = newIndex;
-  }
-
-  public Index getOldIndex() {
-    return oldIndex;
-  }
-
-  public Index getNewIndex() {
-    return newIndex;
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreDropIndexEvent.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreDropIndexEvent.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreDropIndexEvent.java
deleted file mode 100644
index ad570db..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreDropIndexEvent.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.metastore.events;
-
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
-import org.apache.hadoop.hive.metastore.IHMSHandler;
-import org.apache.hadoop.hive.metastore.api.Index;
-
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public class PreDropIndexEvent extends PreEventContext {
-
-  private final Index index;
-
-  public PreDropIndexEvent(Index index, IHMSHandler handler) {
-    super(PreEventType.DROP_INDEX, handler);
-    this.index = index;
-  }
-
-  public Index getIndex() {
-    return index;
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreEventContext.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreEventContext.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreEventContext.java
index a3f4836..c5efde3 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreEventContext.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/events/PreEventContext.java
@@ -42,9 +42,6 @@ public abstract class PreEventContext {
     AUTHORIZATION_API_CALL,
     READ_TABLE,
     READ_DATABASE,
-    ADD_INDEX,
-    ALTER_INDEX,
-    DROP_INDEX,
     ALTER_DATABASE
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/AlterIndexMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/AlterIndexMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/AlterIndexMessage.java
deleted file mode 100644
index 78259ba..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/AlterIndexMessage.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hadoop.hive.metastore.messaging;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-
-public abstract class AlterIndexMessage extends EventMessage {
-
-  public abstract Index getIndexObjBefore() throws Exception;
-
-  public abstract Index getIndexObjAfter() throws Exception;
-
-  protected AlterIndexMessage() {
-    super(EventType.ALTER_INDEX);
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateIndexMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateIndexMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateIndexMessage.java
deleted file mode 100644
index f107100..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/CreateIndexMessage.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hadoop.hive.metastore.messaging;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-
-public abstract class CreateIndexMessage extends EventMessage {
-
-  protected CreateIndexMessage() {
-    super(EventType.CREATE_INDEX);
-  }
-
-  public abstract Index getIndexObj() throws Exception;
-
-  @Override
-  public EventMessage checkValid() {
-    try {
-      if (getIndexObj() == null)
-        throw new IllegalStateException("Function object unset.");
-    } catch (Exception e) {
-      if (! (e instanceof IllegalStateException)){
-        throw new IllegalStateException("Event not set up correctly", e);
-      } else {
-        throw (IllegalStateException) e;
-      }
-    }
-    return super.checkValid();
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/DropIndexMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/DropIndexMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/DropIndexMessage.java
deleted file mode 100644
index 210b592..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/DropIndexMessage.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hadoop.hive.metastore.messaging;
-
-public abstract class DropIndexMessage extends EventMessage {
-
-  public abstract String getIndexName();
-  public abstract String getOrigTableName();
-  public abstract String getIndexTableName();
-
-  protected DropIndexMessage() {
-    super(EventType.DROP_INDEX);
-  }
-
-  @Override
-  public EventMessage checkValid() {
-    if (getIndexName() == null){
-      throw new IllegalStateException("Index name unset.");
-    }
-    if (getOrigTableName() == null){
-      throw new IllegalStateException("Index original table name unset.");
-    }
-    // NOTE: we do not do a not-null check on getIndexTableName,
-    // since, per the index design wiki, it can actually be null.
-
-    return super.checkValid();
-  }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/EventMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/EventMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/EventMessage.java
index dad2f5b..92d2eb4 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/EventMessage.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/EventMessage.java
@@ -42,9 +42,7 @@ public abstract class EventMessage {
     INSERT(MessageFactory.INSERT_EVENT),
     CREATE_FUNCTION(MessageFactory.CREATE_FUNCTION_EVENT),
     DROP_FUNCTION(MessageFactory.DROP_FUNCTION_EVENT),
-    CREATE_INDEX(MessageFactory.CREATE_INDEX_EVENT),
-    DROP_INDEX(MessageFactory.DROP_INDEX_EVENT),
-    ALTER_INDEX(MessageFactory.ALTER_INDEX_EVENT),
+
     ADD_PRIMARYKEY(MessageFactory.ADD_PRIMARYKEY_EVENT),
     ADD_FOREIGNKEY(MessageFactory.ADD_FOREIGNKEY_EVENT),
     ADD_UNIQUECONSTRAINT(MessageFactory.ADD_UNIQUECONSTRAINT_EVENT),
@@ -100,12 +98,15 @@ public abstract class EventMessage {
    * Class invariant. Checked after construction or deserialization.
    */
   public EventMessage checkValid() {
-    if (getServer() == null || getServicePrincipal() == null)
+    if (getServer() == null || getServicePrincipal() == null) {
       throw new IllegalStateException("Server-URL/Service-Principal shouldn't be null.");
-    if (getEventType() == null)
+    }
+    if (getEventType() == null) {
       throw new IllegalStateException("Event-type unset.");
-    if (getDB() == null)
+    }
+    if (getDB() == null) {
       throw new IllegalArgumentException("DB-name unset.");
+    }
 
     return this;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
index f85dc40..0fd4601 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
@@ -52,12 +52,6 @@ public abstract class MessageDeserializer {
       return getCreateFunctionMessage(messageBody);
     case DROP_FUNCTION:
       return getDropFunctionMessage(messageBody);
-    case CREATE_INDEX:
-      return getCreateIndexMessage(messageBody);
-    case DROP_INDEX:
-      return getDropIndexMessage(messageBody);
-    case ALTER_INDEX:
-      return getAlterIndexMessage(messageBody);
     case INSERT:
       return getInsertMessage(messageBody);
     case ADD_PRIMARYKEY:
@@ -135,21 +129,6 @@ public abstract class MessageDeserializer {
   public abstract DropFunctionMessage getDropFunctionMessage(String messageBody);
 
   /**
-   * Method to de-serialize CreateIndexMessage instance.
-   */
-  public abstract CreateIndexMessage getCreateIndexMessage(String messageBody);
-
-  /**
-   * Method to de-serialize DropIndexMessage instance.
-   */
-  public abstract DropIndexMessage getDropIndexMessage(String messageBody);
-
-  /**
-   * Method to de-serialize AlterIndexMessage instance.
-   */
-  public abstract AlterIndexMessage getAlterIndexMessage(String messageBody);
-
-  /**
    * Method to deserialize InsertMessage
    * @param messageBody the message in serialized form
    * @return message in object form

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
index 0e3357d..c59ca02 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
@@ -22,7 +22,6 @@ package org.apache.hadoop.hive.metastore.messaging;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.SQLForeignKey;
@@ -55,9 +54,6 @@ public abstract class MessageFactory {
   public static final String INSERT_EVENT = "INSERT";
   public static final String CREATE_FUNCTION_EVENT = "CREATE_FUNCTION";
   public static final String DROP_FUNCTION_EVENT = "DROP_FUNCTION";
-  public static final String CREATE_INDEX_EVENT = "CREATE_INDEX";
-  public static final String DROP_INDEX_EVENT = "DROP_INDEX";
-  public static final String ALTER_INDEX_EVENT = "ALTER_INDEX";
   public static final String ADD_PRIMARYKEY_EVENT = "ADD_PRIMARYKEY";
   public static final String ADD_FOREIGNKEY_EVENT = "ADD_FOREIGNKEY";
   public static final String ADD_UNIQUECONSTRAINT_EVENT = "ADD_UNIQUECONSTRAINT";
@@ -220,28 +216,6 @@ public abstract class MessageFactory {
   public abstract DropFunctionMessage buildDropFunctionMessage(Function fn);
 
   /**
-   * Factory method for CreateIndexMessage.
-   * @param idx The Index being added.
-   * @return CreateIndexMessage instance.
-   */
-  public abstract CreateIndexMessage buildCreateIndexMessage(Index idx);
-
-  /**
-   * Factory method for DropIndexMessage.
-   * @param idx The Index being dropped.
-   * @return DropIndexMessage instance.
-   */
-  public abstract DropIndexMessage buildDropIndexMessage(Index idx);
-
-  /**
-   * Factory method for AlterIndexMessage.
-   * @param before The index before the alter
-   * @param after The index after the alter
-   * @return AlterIndexMessage
-   */
-  public abstract AlterIndexMessage buildAlterIndexMessage(Index before, Index after);
-
-  /**
    * Factory method for building insert message
    *
    * @param tableObj Table object where the insert occurred in

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java
deleted file mode 100644
index d1657b4..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterIndexMessage.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hadoop.hive.metastore.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.messaging.AlterIndexMessage;
-import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of AlterIndexMessage.
- */
-public class JSONAlterIndexMessage extends AlterIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, beforeIndexObjJson, afterIndexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONAlterIndexMessage() {}
-
-  public JSONAlterIndexMessage(String server, String servicePrincipal, Index before, Index after,
-                               Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = after.getDbName();
-    this.timestamp = timestamp;
-    try {
-      this.beforeIndexObjJson = JSONMessageFactory.createIndexObjJson(before);
-      this.afterIndexObjJson = JSONMessageFactory.createIndexObjJson(after);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", ex);
-    }
-
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getBeforeIndexObjJson() {
-    return beforeIndexObjJson;
-  }
-
-  public String getAfterIndexObjJson() {
-    return afterIndexObjJson;
-  }
-
-  @Override
-  public Index getIndexObjBefore() throws Exception {
-    return (Index)  JSONMessageFactory.getTObj(beforeIndexObjJson, Index.class);
-  }
-
-  @Override
-  public Index getIndexObjAfter() throws Exception {
-    return (Index)  JSONMessageFactory.getTObj(afterIndexObjJson, Index.class);
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java
deleted file mode 100644
index a40e524..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateIndexMessage.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hadoop.hive.metastore.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.messaging.CreateIndexMessage;
-import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of CreateIndexMessage.
- */
-public class JSONCreateIndexMessage extends CreateIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, indexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONCreateIndexMessage() {}
-
-  public JSONCreateIndexMessage(String server, String servicePrincipal, Index index, Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = index.getDbName();
-    try {
-      this.indexObjJson = JSONMessageFactory.createIndexObjJson(index);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", ex);
-    }
-
-    this.timestamp = timestamp;
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getIndexObjJson() {
-    return indexObjJson;
-  }
-
-  @Override
-  public Index getIndexObj() throws Exception {
-    return (Index)  JSONMessageFactory.getTObj(indexObjJson, Index.class);
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java
deleted file mode 100644
index fb719c2..0000000
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropIndexMessage.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hadoop.hive.metastore.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.messaging.DropIndexMessage;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of DropIndexMessage.
- */
-public class JSONDropIndexMessage extends DropIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, indexName, origTableName, indexTableName;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONDropIndexMessage() {}
-
-  public JSONDropIndexMessage(String server, String servicePrincipal, Index index, Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = index.getDbName();
-    this.indexName = index.getIndexName();
-    this.origTableName = index.getOrigTableName();
-    this.indexTableName = index.getIndexTableName();
-
-    this.timestamp = timestamp;
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  @Override
-  public String getIndexName() {
-    return indexName;
-  }
-
-  @Override
-  public String getOrigTableName() {
-    return origTableName;
-  }
-
-  @Override
-  public String getIndexTableName() {
-    return indexTableName;
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
index 34b62e6..a8ee691 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
@@ -25,17 +25,14 @@ import org.apache.hadoop.hive.metastore.messaging.AddPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.AddPrimaryKeyMessage;
 import org.apache.hadoop.hive.metastore.messaging.AddUniqueConstraintMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterDatabaseMessage;
-import org.apache.hadoop.hive.metastore.messaging.AlterIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.CreateIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropConstraintMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.DropIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.InsertMessage;
@@ -171,36 +168,6 @@ public class JSONMessageDeserializer extends MessageDeserializer {
   }
 
   @Override
-  public CreateIndexMessage getCreateIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONCreateIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct JSONCreateIndexMessage.", exception);
-    }
-  }
-
-  @Override
-  public DropIndexMessage getDropIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONDropIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct JSONDropIndexMessage.", exception);
-    }
-  }
-
-  @Override
-  public AlterIndexMessage getAlterIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONAlterIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct JSONAlterIndexMessage.", exception);
-    }
-  }
-
-  @Override
   public InsertMessage getInsertMessage(String messageBody) {
     try {
       return mapper.readValue(messageBody, JSONInsertMessage.class);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
index 7f46d07..4f03a27 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
@@ -30,7 +30,6 @@ import com.google.common.collect.Iterables;
 
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.NotificationEvent;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.SQLForeignKey;
@@ -44,17 +43,14 @@ import org.apache.hadoop.hive.metastore.messaging.AddPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.AddPrimaryKeyMessage;
 import org.apache.hadoop.hive.metastore.messaging.AddUniqueConstraintMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterDatabaseMessage;
-import org.apache.hadoop.hive.metastore.messaging.AlterIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.CreateIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropConstraintMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.DropIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.InsertMessage;
@@ -161,21 +157,6 @@ public class JSONMessageFactory extends MessageFactory {
   }
 
   @Override
-  public CreateIndexMessage buildCreateIndexMessage(Index idx) {
-    return new JSONCreateIndexMessage(MS_SERVER_URL, MS_SERVICE_PRINCIPAL, idx, now());
-  }
-
-  @Override
-  public DropIndexMessage buildDropIndexMessage(Index idx) {
-    return new JSONDropIndexMessage(MS_SERVER_URL, MS_SERVICE_PRINCIPAL, idx, now());
-  }
-
-  @Override
-  public AlterIndexMessage buildAlterIndexMessage(Index before, Index after) {
-    return new JSONAlterIndexMessage(MS_SERVER_URL, MS_SERVICE_PRINCIPAL, before, after, now());
-  }
-
-  @Override
   public InsertMessage buildInsertMessage(Table tableObj, Partition partObj,
                                           boolean replace, Iterator<String> fileIter) {
     return new JSONInsertMessage(MS_SERVER_URL, MS_SERVICE_PRINCIPAL,
@@ -215,8 +196,9 @@ public class JSONMessageFactory extends MessageFactory {
 
   static Map<String, String> getPartitionKeyValues(Table table, Partition partition) {
     Map<String, String> partitionKeys = new LinkedHashMap<>();
-    for (int i = 0; i < table.getPartitionKeysSize(); ++i)
+    for (int i = 0; i < table.getPartitionKeysSize(); ++i) {
       partitionKeys.put(table.getPartitionKeys().get(i).getName(), partition.getValues().get(i));
+    }
     return partitionKeys;
   }
 
@@ -271,11 +253,6 @@ public class JSONMessageFactory extends MessageFactory {
     return serializer.toString(functionObj, "UTF-8");
   }
 
-  static String createIndexObjJson(Index indexObj) throws TException {
-    TSerializer serializer = new TSerializer(new TJSONProtocol.Factory());
-    return serializer.toString(indexObj, "UTF-8");
-  }
-
   public static ObjectNode getJsonTree(NotificationEvent event) throws Exception {
     return getJsonTree(event.getMessage());
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreUtils.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreUtils.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreUtils.java
index 50f873a..b051961 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreUtils.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreUtils.java
@@ -305,14 +305,6 @@ public class MetaStoreUtils {
     return new BigDecimal(new BigInteger(decimal.getUnscaled()), decimal.getScale()).doubleValue();
   }
 
-  public static String[] getQualifiedName(String defaultDbName, String tableName) {
-    String[] names = tableName.split("\\.");
-    if (names.length == 1) {
-      return new String[] { defaultDbName, tableName};
-    }
-    return names;
-  }
-
   public static void validatePartitionNameCharacters(List<String> partVals,
                                                      Pattern partitionValidationPattern) throws MetaException {
 
@@ -355,7 +347,9 @@ public class MetaStoreUtils {
       for (FieldSchema fs : sd.getCols()) {
         md.update(fs.getName().getBytes(ENCODING));
         md.update(fs.getType().getBytes(ENCODING));
-        if (fs.getComment() != null) md.update(fs.getComment().getBytes(ENCODING));
+        if (fs.getComment() != null) {
+          md.update(fs.getComment().getBytes(ENCODING));
+        }
       }
     }
     if (sd.getInputFormat() != null) {
@@ -384,7 +378,9 @@ public class MetaStoreUtils {
     }
     if (sd.getBucketCols() != null) {
       List<String> bucketCols = new ArrayList<>(sd.getBucketCols());
-      for (String bucket : bucketCols) md.update(bucket.getBytes(ENCODING));
+      for (String bucket : bucketCols) {
+        md.update(bucket.getBytes(ENCODING));
+      }
     }
     if (sd.getSortCols() != null) {
       SortedSet<Order> orders = new TreeSet<>(sd.getSortCols());
@@ -397,7 +393,9 @@ public class MetaStoreUtils {
       SkewedInfo skewed = sd.getSkewedInfo();
       if (skewed.getSkewedColNames() != null) {
         SortedSet<String> colnames = new TreeSet<>(skewed.getSkewedColNames());
-        for (String colname : colnames) md.update(colname.getBytes(ENCODING));
+        for (String colname : colnames) {
+          md.update(colname.getBytes(ENCODING));
+        }
       }
       if (skewed.getSkewedColValues() != null) {
         SortedSet<String> sortedOuterList = new TreeSet<>();
@@ -405,7 +403,9 @@ public class MetaStoreUtils {
           SortedSet<String> sortedInnerList = new TreeSet<>(innerList);
           sortedOuterList.add(org.apache.commons.lang.StringUtils.join(sortedInnerList, "."));
         }
-        for (String colval : sortedOuterList) md.update(colval.getBytes(ENCODING));
+        for (String colval : sortedOuterList) {
+          md.update(colval.getBytes(ENCODING));
+        }
       }
       if (skewed.getSkewedColValueLocationMaps() != null) {
         SortedMap<String, String> sortedMap = new TreeMap<>();
@@ -485,7 +485,9 @@ public class MetaStoreUtils {
   }
 
   private static String validateColumnType(String type) {
-    if (type.equals(TYPE_FROM_DESERIALIZER)) return null;
+    if (type.equals(TYPE_FROM_DESERIALIZER)) {
+      return null;
+    }
     int last = 0;
     boolean lastAlphaDigit = isValidTypeChar(type.charAt(last));
     for (int i = 1; i <= type.length(); i++) {
@@ -871,13 +873,6 @@ public class MetaStoreUtils {
     return (table.getParameters().get(hive_metastoreConstants.META_TABLE_STORAGE) != null);
   }
 
-  public static boolean isIndexTable(Table table) {
-    if (table == null) {
-      return false;
-    }
-    return TableType.INDEX_TABLE.toString().equals(table.getTableType());
-  }
-
   /**
    * Given a list of partition columns and a partial mapping from
    * some partition columns to values the function returns the values
@@ -1593,9 +1588,13 @@ public class MetaStoreUtils {
   }
 
   public static WMPoolSchedulingPolicy parseSchedulingPolicy(String schedulingPolicy) {
-    if (schedulingPolicy == null) return WMPoolSchedulingPolicy.FAIR;
+    if (schedulingPolicy == null) {
+      return WMPoolSchedulingPolicy.FAIR;
+    }
     schedulingPolicy = schedulingPolicy.trim().toUpperCase();
-    if ("DEFAULT".equals(schedulingPolicy)) return WMPoolSchedulingPolicy.FAIR;
+    if ("DEFAULT".equals(schedulingPolicy)) {
+      return WMPoolSchedulingPolicy.FAIR;
+    }
     return Enum.valueOf(WMPoolSchedulingPolicy.class, schedulingPolicy);
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/main/thrift/hive_metastore.thrift
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/thrift/hive_metastore.thrift b/standalone-metastore/src/main/thrift/hive_metastore.thrift
index e95014a..65e2f78 100644
--- a/standalone-metastore/src/main/thrift/hive_metastore.thrift
+++ b/standalone-metastore/src/main/thrift/hive_metastore.thrift
@@ -378,19 +378,6 @@ struct PartitionSpec {
   5: optional PartitionListComposingSpec partitionList
 }
 
-struct Index {
-  1: string       indexName, // unique with in the whole database namespace
-  2: string       indexHandlerClass, // reserved
-  3: string       dbName,
-  4: string       origTableName,
-  5: i32          createTime,
-  6: i32          lastAccessTime,
-  7: string       indexTableName,
-  8: StorageDescriptor   sd,
-  9: map<string, string> parameters,
-  10: bool         deferredRebuild
-}
-
 // column statistics
 struct BooleanColumnStatsData {
 1: required i64 numTrues,
@@ -1365,10 +1352,6 @@ exception NoSuchObjectException {
   1: string message
 }
 
-exception IndexAlreadyExistsException {
-  1: string message
-}
-
 exception InvalidOperationException {
   1: string message
 }
@@ -1699,21 +1682,6 @@ service ThriftHiveMetastore extends fb303.FacebookService
                   3: UnknownDBException o3, 4: UnknownTableException o4, 5: UnknownPartitionException o5,
                   6: InvalidPartitionException o6)
 
-  //index
-  Index add_index(1:Index new_index, 2: Table index_table)
-                       throws(1:InvalidObjectException o1, 2:AlreadyExistsException o2, 3:MetaException o3)
-  void alter_index(1:string dbname, 2:string base_tbl_name, 3:string idx_name, 4:Index new_idx)
-                       throws (1:InvalidOperationException o1, 2:MetaException o2)
-  bool drop_index_by_name(1:string db_name, 2:string tbl_name, 3:string index_name, 4:bool deleteData)
-                       throws(1:NoSuchObjectException o1, 2:MetaException o2)
-  Index get_index_by_name(1:string db_name 2:string tbl_name, 3:string index_name)
-                       throws(1:MetaException o1, 2:NoSuchObjectException o2)
-
-  list<Index> get_indexes(1:string db_name, 2:string tbl_name, 3:i16 max_indexes=-1)
-                       throws(1:NoSuchObjectException o1, 2:MetaException o2)
-  list<string> get_index_names(1:string db_name, 2:string tbl_name, 3:i16 max_indexes=-1)
-                       throws(1:MetaException o2)
-
   //primary keys and foreign keys
   PrimaryKeysResponse get_primary_keys(1:PrimaryKeysRequest request)
                        throws(1:MetaException o1, 2:NoSuchObjectException o2)

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyListener.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyListener.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyListener.java
index baecd12..570379d 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyListener.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyListener.java
@@ -23,9 +23,7 @@ import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.ConfigChangeEvent;
@@ -34,7 +32,6 @@ import org.apache.hadoop.hive.metastore.events.CreateFunctionEvent;
 import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.DropTableEvent;
 import org.apache.hadoop.hive.metastore.events.ListenerEvent;
@@ -114,21 +111,6 @@ public class DummyListener extends MetaStoreEventListener{
   }
 
   @Override
-  public void onAddIndex(AddIndexEvent indexEvent) throws MetaException {
-    addEvent(indexEvent);
-  }
-
-  @Override
-  public void onDropIndex(DropIndexEvent indexEvent) throws MetaException {
-    addEvent(indexEvent);
-  }
-
-  @Override
-  public void onAlterIndex(AlterIndexEvent indexEvent) throws MetaException {
-    addEvent(indexEvent);
-  }
-
-  @Override
   public void onCreateFunction (CreateFunctionEvent fnEvent) throws MetaException {
     addEvent(fnEvent);
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
index 8c0cc26..1c0eafd 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
@@ -38,7 +38,6 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
@@ -318,41 +317,6 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
   }
 
   @Override
-  public boolean addIndex(Index index) throws InvalidObjectException, MetaException {
-    return objectStore.addIndex(index);
-  }
-
-  @Override
-  public Index getIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    return objectStore.getIndex(dbName, origTableName, indexName);
-  }
-
-  @Override
-  public boolean dropIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    return objectStore.dropIndex(dbName, origTableName, indexName);
-  }
-
-  @Override
-  public List<Index> getIndexes(String dbName, String origTableName, int max)
-      throws MetaException {
-    return objectStore.getIndexes(dbName, origTableName, max);
-  }
-
-  @Override
-  public List<String> listIndexNames(String dbName, String origTableName, short max)
-      throws MetaException {
-    return objectStore.listIndexNames(dbName, origTableName, max);
-  }
-
-  @Override
-  public void alterIndex(String dbName, String baseTblName, String name, Index newIndex)
-      throws InvalidObjectException, MetaException {
-    objectStore.alterIndex(dbName, baseTblName, name, newIndex);
-  }
-
-  @Override
   public List<Partition> getPartitionsByFilter(String dbName, String tblName,
       String filter, short maxParts) throws MetaException, NoSuchObjectException {
     return objectStore.getPartitionsByFilter(dbName, tblName, filter, maxParts);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
index a0b2f98..cbd8678 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
@@ -36,7 +36,6 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
@@ -311,57 +310,11 @@ public class DummyRawStoreForJdoConnection implements RawStore {
   @Override
   public void alterPartition(String db_name, String tbl_name, List<String> part_vals,
       Partition new_part) throws InvalidObjectException, MetaException {
-
-
   }
 
   @Override
   public void alterPartitions(String db_name, String tbl_name, List<List<String>> part_vals_list,
       List<Partition> new_parts) throws InvalidObjectException, MetaException {
-
-
-  }
-
-
-  @Override
-  public boolean addIndex(Index index) throws InvalidObjectException, MetaException {
-
-    return false;
-  }
-
-  @Override
-  public Index getIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-
-    return null;
-  }
-
-  @Override
-  public boolean dropIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-
-    return false;
-  }
-
-  @Override
-  public List<Index> getIndexes(String dbName, String origTableName, int max)
-      throws MetaException {
-
-    return null;
-  }
-
-  @Override
-  public List<String> listIndexNames(String dbName, String origTableName, short max)
-      throws MetaException {
-
-    return Collections.emptyList();
-  }
-
-  @Override
-  public void alterIndex(String dbname, String baseTblName, String name, Index newIndex)
-      throws InvalidObjectException, MetaException {
-
-
   }
 
   @Override
@@ -842,6 +795,7 @@ public class DummyRawStoreForJdoConnection implements RawStore {
     return null;
   }
 
+  @Override
   public void flushCache() {
 
   }
@@ -953,6 +907,7 @@ public class DummyRawStoreForJdoConnection implements RawStore {
     return null;
   }
 
+  @Override
   public List<String> addUniqueConstraints(List<SQLUniqueConstraint> uks)
     throws InvalidObjectException, MetaException {
     // TODO Auto-generated method stub

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestFilterHooks.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestFilterHooks.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestFilterHooks.java
index 45a65e0..13ed743 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestFilterHooks.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestFilterHooks.java
@@ -27,14 +27,12 @@ import java.util.List;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest;
 import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PartitionSpec;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.PartitionBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
@@ -134,37 +132,12 @@ public class TestFilterHooks {
       return super.filterPartitionNames(dbName, tblName, partitionNames);
     }
 
-    @Override
-    public Index filterIndex(Index index) throws NoSuchObjectException {
-      if (blockResults) {
-        throw new NoSuchObjectException("Blocked access");
-      }
-      return super.filterIndex(index);
-    }
-
-    @Override
-    public List<String> filterIndexNames(String dbName, String tblName,
-        List<String> indexList) throws MetaException {
-      if (blockResults) {
-        return new ArrayList<>();
-      }
-      return super.filterIndexNames(dbName, tblName, indexList);
-    }
-
-    @Override
-    public List<Index> filterIndexes(List<Index> indexeList) throws MetaException {
-      if (blockResults) {
-        return new ArrayList<>();
-      }
-      return super.filterIndexes(indexeList);
-    }
   }
 
   private static final String DBNAME1 = "testdb1";
   private static final String DBNAME2 = "testdb2";
   private static final String TAB1 = "tab1";
   private static final String TAB2 = "tab2";
-  private static final String INDEX1 = "idx1";
   private static Configuration conf;
   private static HiveMetaStoreClient msc;
 
@@ -217,13 +190,6 @@ public class TestFilterHooks {
         .addValue("value2")
         .build();
     msc.add_partition(part2);
-    Index index = new IndexBuilder()
-        .setDbAndTableName(tab1)
-        .setIndexName(INDEX1)
-        .setDeferredRebuild(true)
-        .addCol("id", "int")
-        .build();
-    msc.createIndex(index, new TableBuilder().fromIndex(index).build());
   }
 
   @AfterClass
@@ -234,8 +200,8 @@ public class TestFilterHooks {
   @Test
   public void testDefaultFilter() throws Exception {
     assertNotNull(msc.getTable(DBNAME1, TAB1));
-    assertEquals(3, msc.getTables(DBNAME1, "*").size());
-    assertEquals(3, msc.getAllTables(DBNAME1).size());
+    assertEquals(2, msc.getTables(DBNAME1, "*").size());
+    assertEquals(2, msc.getAllTables(DBNAME1).size());
     assertEquals(1, msc.getTables(DBNAME1, TAB2).size());
     assertEquals(0, msc.getAllTables(DBNAME2).size());
 
@@ -246,8 +212,6 @@ public class TestFilterHooks {
 
     assertNotNull(msc.getPartition(DBNAME1, TAB2, "name=value1"));
     assertEquals(1, msc.getPartitionsByNames(DBNAME1, TAB2, Lists.newArrayList("name=value1")).size());
-
-    assertNotNull(msc.getIndex(DBNAME1, TAB1, INDEX1));
   }
 
   @Test
@@ -291,15 +255,4 @@ public class TestFilterHooks {
         Lists.newArrayList("name=value1")).size());
   }
 
-  @Test
-  public void testDummyFilterForIndex() throws Exception {
-    DummyMetaStoreFilterHookImpl.blockResults = true;
-    try {
-      assertNotNull(msc.getIndex(DBNAME1, TAB1, INDEX1));
-      fail("getPartition() should fail with blocking mode");
-    } catch (NoSuchObjectException e) {
-      // Excepted
-    }
-  }
-
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java
index 879e611..2a0b5b6 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java
@@ -30,39 +30,31 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PartitionEventType;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.PartitionBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf.ConfVars;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.ConfigChangeEvent;
 import org.apache.hadoop.hive.metastore.events.CreateDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.DropTableEvent;
 import org.apache.hadoop.hive.metastore.events.ListenerEvent;
 import org.apache.hadoop.hive.metastore.events.LoadPartitionDoneEvent;
-import org.apache.hadoop.hive.metastore.events.PreAddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.PreAddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.PreAlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.PreAlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.PreCreateDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.PreCreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.PreDropDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.PreDropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.PreDropTableEvent;
 import org.apache.hadoop.hive.metastore.events.PreEventContext;
@@ -79,7 +71,6 @@ import static org.junit.Assert.assertTrue;
 
 import com.google.common.collect.Lists;
 
-import junit.framework.TestCase;
 import org.junit.experimental.categories.Category;
 
 /**
@@ -202,29 +193,6 @@ public class TestMetaStoreEventListener {
     assertEquals(expectedDb, actualDb);
   }
 
-  private void validateIndex(Index expectedIndex, Index actualIndex) {
-    assertEquals(expectedIndex.getDbName(), actualIndex.getDbName());
-    assertEquals(expectedIndex.getIndexName(), actualIndex.getIndexName());
-    assertEquals(expectedIndex.getIndexHandlerClass(), actualIndex.getIndexHandlerClass());
-    assertEquals(expectedIndex.getOrigTableName(), actualIndex.getOrigTableName());
-    assertEquals(expectedIndex.getIndexTableName(), actualIndex.getIndexTableName());
-    assertEquals(expectedIndex.getSd().getLocation(), actualIndex.getSd().getLocation());
-  }
-
-  private void validateAddIndex(Index expectedIndex, Index actualIndex) {
-    validateIndex(expectedIndex, actualIndex);
-  }
-
-  private void validateAlterIndex(Index expectedOldIndex, Index actualOldIndex,
-      Index expectedNewIndex, Index actualNewIndex) {
-    validateIndex(expectedOldIndex, actualOldIndex);
-    validateIndex(expectedNewIndex, actualNewIndex);
-  }
-
-  private void validateDropIndex(Index expectedIndex, Index actualIndex) {
-    validateIndex(expectedIndex, actualIndex);
-  }
-
   @Test
   public void testListener() throws Exception {
     int listSize = 0;
@@ -266,59 +234,6 @@ public class TestMetaStoreEventListener {
     Assert.assertTrue(tblEvent.getStatus());
     validateCreateTable(tbl, tblEvent.getTable());
 
-    String indexName = "tmptbl_i";
-    Index index = new IndexBuilder()
-        .setDbAndTableName(table)
-        .setIndexName(indexName)
-        .addCol("a", "string")
-        .setDeferredRebuild(true)
-        .addIndexParam("prop1", "val1")
-        .addIndexParam("prop2", "val2")
-        .build();
-    Table indexTable = new TableBuilder()
-        .fromIndex(index)
-        .build();
-    msc.createIndex(index, indexTable);
-    listSize += 2;  // creates index table internally
-    assertEquals(notifyList.size(), listSize);
-
-    AddIndexEvent addIndexEvent = (AddIndexEvent)notifyList.get(listSize - 1);
-    Assert.assertTrue(addIndexEvent.getStatus());
-    PreAddIndexEvent preAddIndexEvent = (PreAddIndexEvent)(preNotifyList.get(preNotifyList.size() - 2));
-
-    Index oldIndex = msc.getIndex(dbName, tblName, indexName);
-
-    validateAddIndex(oldIndex, addIndexEvent.getIndex());
-
-    validateAddIndex(oldIndex, preAddIndexEvent.getIndex());
-
-    Index alteredIndex = new Index(oldIndex);
-    alteredIndex.getParameters().put("prop3", "val3");
-    msc.alter_index(dbName, tblName, indexName, alteredIndex);
-    listSize++;
-    assertEquals(notifyList.size(), listSize);
-
-    Index newIndex = msc.getIndex(dbName, tblName, indexName);
-
-    AlterIndexEvent alterIndexEvent = (AlterIndexEvent) notifyList.get(listSize - 1);
-    Assert.assertTrue(alterIndexEvent.getStatus());
-    validateAlterIndex(oldIndex, alterIndexEvent.getOldIndex(),
-        newIndex, alterIndexEvent.getNewIndex());
-
-    PreAlterIndexEvent preAlterIndexEvent = (PreAlterIndexEvent) (preNotifyList.get(preNotifyList.size() - 1));
-    validateAlterIndex(oldIndex, preAlterIndexEvent.getOldIndex(),
-        newIndex, preAlterIndexEvent.getNewIndex());
-
-    msc.dropIndex(dbName, tblName, indexName, true);
-    listSize++;
-    assertEquals(notifyList.size(), listSize);
-
-    DropIndexEvent dropIndexEvent = (DropIndexEvent) notifyList.get(listSize - 1);
-    Assert.assertTrue(dropIndexEvent.getStatus());
-    validateDropIndex(newIndex, dropIndexEvent.getIndex());
-
-    PreDropIndexEvent preDropIndexEvent = (PreDropIndexEvent) (preNotifyList.get(preNotifyList.size() - 1));
-    validateDropIndex(newIndex, preDropIndexEvent.getIndex());
 
     Partition part = new PartitionBuilder()
         .fromTable(table)


[09/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
index 392e8ca..516be77 100644
--- a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
+++ b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
@@ -757,61 +757,6 @@ class Iface(fb303.FacebookService.Iface):
     """
     pass
 
-  def add_index(self, new_index, index_table):
-    """
-    Parameters:
-     - new_index
-     - index_table
-    """
-    pass
-
-  def alter_index(self, dbname, base_tbl_name, idx_name, new_idx):
-    """
-    Parameters:
-     - dbname
-     - base_tbl_name
-     - idx_name
-     - new_idx
-    """
-    pass
-
-  def drop_index_by_name(self, db_name, tbl_name, index_name, deleteData):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - index_name
-     - deleteData
-    """
-    pass
-
-  def get_index_by_name(self, db_name, tbl_name, index_name):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - index_name
-    """
-    pass
-
-  def get_indexes(self, db_name, tbl_name, max_indexes):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - max_indexes
-    """
-    pass
-
-  def get_index_names(self, db_name, tbl_name, max_indexes):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - max_indexes
-    """
-    pass
-
   def get_primary_keys(self, request):
     """
     Parameters:
@@ -4740,240 +4685,6 @@ class Client(fb303.FacebookService.Client, Iface):
       raise result.o6
     raise TApplicationException(TApplicationException.MISSING_RESULT, "isPartitionMarkedForEvent failed: unknown result")
 
-  def add_index(self, new_index, index_table):
-    """
-    Parameters:
-     - new_index
-     - index_table
-    """
-    self.send_add_index(new_index, index_table)
-    return self.recv_add_index()
-
-  def send_add_index(self, new_index, index_table):
-    self._oprot.writeMessageBegin('add_index', TMessageType.CALL, self._seqid)
-    args = add_index_args()
-    args.new_index = new_index
-    args.index_table = index_table
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_add_index(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = add_index_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.success is not None:
-      return result.success
-    if result.o1 is not None:
-      raise result.o1
-    if result.o2 is not None:
-      raise result.o2
-    if result.o3 is not None:
-      raise result.o3
-    raise TApplicationException(TApplicationException.MISSING_RESULT, "add_index failed: unknown result")
-
-  def alter_index(self, dbname, base_tbl_name, idx_name, new_idx):
-    """
-    Parameters:
-     - dbname
-     - base_tbl_name
-     - idx_name
-     - new_idx
-    """
-    self.send_alter_index(dbname, base_tbl_name, idx_name, new_idx)
-    self.recv_alter_index()
-
-  def send_alter_index(self, dbname, base_tbl_name, idx_name, new_idx):
-    self._oprot.writeMessageBegin('alter_index', TMessageType.CALL, self._seqid)
-    args = alter_index_args()
-    args.dbname = dbname
-    args.base_tbl_name = base_tbl_name
-    args.idx_name = idx_name
-    args.new_idx = new_idx
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_alter_index(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = alter_index_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.o1 is not None:
-      raise result.o1
-    if result.o2 is not None:
-      raise result.o2
-    return
-
-  def drop_index_by_name(self, db_name, tbl_name, index_name, deleteData):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - index_name
-     - deleteData
-    """
-    self.send_drop_index_by_name(db_name, tbl_name, index_name, deleteData)
-    return self.recv_drop_index_by_name()
-
-  def send_drop_index_by_name(self, db_name, tbl_name, index_name, deleteData):
-    self._oprot.writeMessageBegin('drop_index_by_name', TMessageType.CALL, self._seqid)
-    args = drop_index_by_name_args()
-    args.db_name = db_name
-    args.tbl_name = tbl_name
-    args.index_name = index_name
-    args.deleteData = deleteData
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_drop_index_by_name(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = drop_index_by_name_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.success is not None:
-      return result.success
-    if result.o1 is not None:
-      raise result.o1
-    if result.o2 is not None:
-      raise result.o2
-    raise TApplicationException(TApplicationException.MISSING_RESULT, "drop_index_by_name failed: unknown result")
-
-  def get_index_by_name(self, db_name, tbl_name, index_name):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - index_name
-    """
-    self.send_get_index_by_name(db_name, tbl_name, index_name)
-    return self.recv_get_index_by_name()
-
-  def send_get_index_by_name(self, db_name, tbl_name, index_name):
-    self._oprot.writeMessageBegin('get_index_by_name', TMessageType.CALL, self._seqid)
-    args = get_index_by_name_args()
-    args.db_name = db_name
-    args.tbl_name = tbl_name
-    args.index_name = index_name
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_get_index_by_name(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = get_index_by_name_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.success is not None:
-      return result.success
-    if result.o1 is not None:
-      raise result.o1
-    if result.o2 is not None:
-      raise result.o2
-    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_index_by_name failed: unknown result")
-
-  def get_indexes(self, db_name, tbl_name, max_indexes):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - max_indexes
-    """
-    self.send_get_indexes(db_name, tbl_name, max_indexes)
-    return self.recv_get_indexes()
-
-  def send_get_indexes(self, db_name, tbl_name, max_indexes):
-    self._oprot.writeMessageBegin('get_indexes', TMessageType.CALL, self._seqid)
-    args = get_indexes_args()
-    args.db_name = db_name
-    args.tbl_name = tbl_name
-    args.max_indexes = max_indexes
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_get_indexes(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = get_indexes_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.success is not None:
-      return result.success
-    if result.o1 is not None:
-      raise result.o1
-    if result.o2 is not None:
-      raise result.o2
-    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_indexes failed: unknown result")
-
-  def get_index_names(self, db_name, tbl_name, max_indexes):
-    """
-    Parameters:
-     - db_name
-     - tbl_name
-     - max_indexes
-    """
-    self.send_get_index_names(db_name, tbl_name, max_indexes)
-    return self.recv_get_index_names()
-
-  def send_get_index_names(self, db_name, tbl_name, max_indexes):
-    self._oprot.writeMessageBegin('get_index_names', TMessageType.CALL, self._seqid)
-    args = get_index_names_args()
-    args.db_name = db_name
-    args.tbl_name = tbl_name
-    args.max_indexes = max_indexes
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_get_index_names(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = get_index_names_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.success is not None:
-      return result.success
-    if result.o2 is not None:
-      raise result.o2
-    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_index_names failed: unknown result")
-
   def get_primary_keys(self, request):
     """
     Parameters:
@@ -8267,12 +7978,6 @@ class Processor(fb303.FacebookService.Processor, Iface, TProcessor):
     self._processMap["partition_name_to_spec"] = Processor.process_partition_name_to_spec
     self._processMap["markPartitionForEvent"] = Processor.process_markPartitionForEvent
     self._processMap["isPartitionMarkedForEvent"] = Processor.process_isPartitionMarkedForEvent
-    self._processMap["add_index"] = Processor.process_add_index
-    self._processMap["alter_index"] = Processor.process_alter_index
-    self._processMap["drop_index_by_name"] = Processor.process_drop_index_by_name
-    self._processMap["get_index_by_name"] = Processor.process_get_index_by_name
-    self._processMap["get_indexes"] = Processor.process_get_indexes
-    self._processMap["get_index_names"] = Processor.process_get_index_names
     self._processMap["get_primary_keys"] = Processor.process_get_primary_keys
     self._processMap["get_foreign_keys"] = Processor.process_get_foreign_keys
     self._processMap["get_unique_constraints"] = Processor.process_get_unique_constraints
@@ -10596,156 +10301,6 @@ class Processor(fb303.FacebookService.Processor, Iface, TProcessor):
     oprot.writeMessageEnd()
     oprot.trans.flush()
 
-  def process_add_index(self, seqid, iprot, oprot):
-    args = add_index_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = add_index_result()
-    try:
-      result.success = self._handler.add_index(args.new_index, args.index_table)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except InvalidObjectException as o1:
-      msg_type = TMessageType.REPLY
-      result.o1 = o1
-    except AlreadyExistsException as o2:
-      msg_type = TMessageType.REPLY
-      result.o2 = o2
-    except MetaException as o3:
-      msg_type = TMessageType.REPLY
-      result.o3 = o3
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("add_index", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_alter_index(self, seqid, iprot, oprot):
-    args = alter_index_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = alter_index_result()
-    try:
-      self._handler.alter_index(args.dbname, args.base_tbl_name, args.idx_name, args.new_idx)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except InvalidOperationException as o1:
-      msg_type = TMessageType.REPLY
-      result.o1 = o1
-    except MetaException as o2:
-      msg_type = TMessageType.REPLY
-      result.o2 = o2
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("alter_index", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_drop_index_by_name(self, seqid, iprot, oprot):
-    args = drop_index_by_name_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = drop_index_by_name_result()
-    try:
-      result.success = self._handler.drop_index_by_name(args.db_name, args.tbl_name, args.index_name, args.deleteData)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except NoSuchObjectException as o1:
-      msg_type = TMessageType.REPLY
-      result.o1 = o1
-    except MetaException as o2:
-      msg_type = TMessageType.REPLY
-      result.o2 = o2
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("drop_index_by_name", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_get_index_by_name(self, seqid, iprot, oprot):
-    args = get_index_by_name_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = get_index_by_name_result()
-    try:
-      result.success = self._handler.get_index_by_name(args.db_name, args.tbl_name, args.index_name)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except MetaException as o1:
-      msg_type = TMessageType.REPLY
-      result.o1 = o1
-    except NoSuchObjectException as o2:
-      msg_type = TMessageType.REPLY
-      result.o2 = o2
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("get_index_by_name", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_get_indexes(self, seqid, iprot, oprot):
-    args = get_indexes_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = get_indexes_result()
-    try:
-      result.success = self._handler.get_indexes(args.db_name, args.tbl_name, args.max_indexes)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except NoSuchObjectException as o1:
-      msg_type = TMessageType.REPLY
-      result.o1 = o1
-    except MetaException as o2:
-      msg_type = TMessageType.REPLY
-      result.o2 = o2
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("get_indexes", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_get_index_names(self, seqid, iprot, oprot):
-    args = get_index_names_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = get_index_names_result()
-    try:
-      result.success = self._handler.get_index_names(args.db_name, args.tbl_name, args.max_indexes)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except MetaException as o2:
-      msg_type = TMessageType.REPLY
-      result.o2 = o2
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("get_index_names", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
   def process_get_primary_keys(self, seqid, iprot, oprot):
     args = get_primary_keys_args()
     args.read(iprot)
@@ -13865,10 +13420,10 @@ class get_databases_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype772, _size769) = iprot.readListBegin()
-          for _i773 in xrange(_size769):
-            _elem774 = iprot.readString()
-            self.success.append(_elem774)
+          (_etype763, _size760) = iprot.readListBegin()
+          for _i764 in xrange(_size760):
+            _elem765 = iprot.readString()
+            self.success.append(_elem765)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -13891,8 +13446,8 @@ class get_databases_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter775 in self.success:
-        oprot.writeString(iter775)
+      for iter766 in self.success:
+        oprot.writeString(iter766)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -13997,10 +13552,10 @@ class get_all_databases_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype779, _size776) = iprot.readListBegin()
-          for _i780 in xrange(_size776):
-            _elem781 = iprot.readString()
-            self.success.append(_elem781)
+          (_etype770, _size767) = iprot.readListBegin()
+          for _i771 in xrange(_size767):
+            _elem772 = iprot.readString()
+            self.success.append(_elem772)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -14023,8 +13578,8 @@ class get_all_databases_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter782 in self.success:
-        oprot.writeString(iter782)
+      for iter773 in self.success:
+        oprot.writeString(iter773)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -14794,12 +14349,12 @@ class get_type_all_result:
       if fid == 0:
         if ftype == TType.MAP:
           self.success = {}
-          (_ktype784, _vtype785, _size783 ) = iprot.readMapBegin()
-          for _i787 in xrange(_size783):
-            _key788 = iprot.readString()
-            _val789 = Type()
-            _val789.read(iprot)
-            self.success[_key788] = _val789
+          (_ktype775, _vtype776, _size774 ) = iprot.readMapBegin()
+          for _i778 in xrange(_size774):
+            _key779 = iprot.readString()
+            _val780 = Type()
+            _val780.read(iprot)
+            self.success[_key779] = _val780
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -14822,9 +14377,9 @@ class get_type_all_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.MAP, 0)
       oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))
-      for kiter790,viter791 in self.success.items():
-        oprot.writeString(kiter790)
-        viter791.write(oprot)
+      for kiter781,viter782 in self.success.items():
+        oprot.writeString(kiter781)
+        viter782.write(oprot)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     if self.o2 is not None:
@@ -14967,11 +14522,11 @@ class get_fields_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype795, _size792) = iprot.readListBegin()
-          for _i796 in xrange(_size792):
-            _elem797 = FieldSchema()
-            _elem797.read(iprot)
-            self.success.append(_elem797)
+          (_etype786, _size783) = iprot.readListBegin()
+          for _i787 in xrange(_size783):
+            _elem788 = FieldSchema()
+            _elem788.read(iprot)
+            self.success.append(_elem788)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -15006,8 +14561,8 @@ class get_fields_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter798 in self.success:
-        iter798.write(oprot)
+      for iter789 in self.success:
+        iter789.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -15174,11 +14729,11 @@ class get_fields_with_environment_context_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype802, _size799) = iprot.readListBegin()
-          for _i803 in xrange(_size799):
-            _elem804 = FieldSchema()
-            _elem804.read(iprot)
-            self.success.append(_elem804)
+          (_etype793, _size790) = iprot.readListBegin()
+          for _i794 in xrange(_size790):
+            _elem795 = FieldSchema()
+            _elem795.read(iprot)
+            self.success.append(_elem795)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -15213,8 +14768,8 @@ class get_fields_with_environment_context_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter805 in self.success:
-        iter805.write(oprot)
+      for iter796 in self.success:
+        iter796.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -15367,11 +14922,11 @@ class get_schema_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype809, _size806) = iprot.readListBegin()
-          for _i810 in xrange(_size806):
-            _elem811 = FieldSchema()
-            _elem811.read(iprot)
-            self.success.append(_elem811)
+          (_etype800, _size797) = iprot.readListBegin()
+          for _i801 in xrange(_size797):
+            _elem802 = FieldSchema()
+            _elem802.read(iprot)
+            self.success.append(_elem802)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -15406,8 +14961,8 @@ class get_schema_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter812 in self.success:
-        iter812.write(oprot)
+      for iter803 in self.success:
+        iter803.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -15574,11 +15129,11 @@ class get_schema_with_environment_context_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype816, _size813) = iprot.readListBegin()
-          for _i817 in xrange(_size813):
-            _elem818 = FieldSchema()
-            _elem818.read(iprot)
-            self.success.append(_elem818)
+          (_etype807, _size804) = iprot.readListBegin()
+          for _i808 in xrange(_size804):
+            _elem809 = FieldSchema()
+            _elem809.read(iprot)
+            self.success.append(_elem809)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -15613,8 +15168,8 @@ class get_schema_with_environment_context_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter819 in self.success:
-        iter819.write(oprot)
+      for iter810 in self.success:
+        iter810.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -16064,55 +15619,55 @@ class create_table_with_constraints_args:
       elif fid == 2:
         if ftype == TType.LIST:
           self.primaryKeys = []
-          (_etype823, _size820) = iprot.readListBegin()
-          for _i824 in xrange(_size820):
-            _elem825 = SQLPrimaryKey()
-            _elem825.read(iprot)
-            self.primaryKeys.append(_elem825)
+          (_etype814, _size811) = iprot.readListBegin()
+          for _i815 in xrange(_size811):
+            _elem816 = SQLPrimaryKey()
+            _elem816.read(iprot)
+            self.primaryKeys.append(_elem816)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.LIST:
           self.foreignKeys = []
-          (_etype829, _size826) = iprot.readListBegin()
-          for _i830 in xrange(_size826):
-            _elem831 = SQLForeignKey()
-            _elem831.read(iprot)
-            self.foreignKeys.append(_elem831)
+          (_etype820, _size817) = iprot.readListBegin()
+          for _i821 in xrange(_size817):
+            _elem822 = SQLForeignKey()
+            _elem822.read(iprot)
+            self.foreignKeys.append(_elem822)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.LIST:
           self.uniqueConstraints = []
-          (_etype835, _size832) = iprot.readListBegin()
-          for _i836 in xrange(_size832):
-            _elem837 = SQLUniqueConstraint()
-            _elem837.read(iprot)
-            self.uniqueConstraints.append(_elem837)
+          (_etype826, _size823) = iprot.readListBegin()
+          for _i827 in xrange(_size823):
+            _elem828 = SQLUniqueConstraint()
+            _elem828.read(iprot)
+            self.uniqueConstraints.append(_elem828)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 5:
         if ftype == TType.LIST:
           self.notNullConstraints = []
-          (_etype841, _size838) = iprot.readListBegin()
-          for _i842 in xrange(_size838):
-            _elem843 = SQLNotNullConstraint()
-            _elem843.read(iprot)
-            self.notNullConstraints.append(_elem843)
+          (_etype832, _size829) = iprot.readListBegin()
+          for _i833 in xrange(_size829):
+            _elem834 = SQLNotNullConstraint()
+            _elem834.read(iprot)
+            self.notNullConstraints.append(_elem834)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 6:
         if ftype == TType.LIST:
           self.defaultConstraints = []
-          (_etype847, _size844) = iprot.readListBegin()
-          for _i848 in xrange(_size844):
-            _elem849 = SQLDefaultConstraint()
-            _elem849.read(iprot)
-            self.defaultConstraints.append(_elem849)
+          (_etype838, _size835) = iprot.readListBegin()
+          for _i839 in xrange(_size835):
+            _elem840 = SQLDefaultConstraint()
+            _elem840.read(iprot)
+            self.defaultConstraints.append(_elem840)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -16133,36 +15688,36 @@ class create_table_with_constraints_args:
     if self.primaryKeys is not None:
       oprot.writeFieldBegin('primaryKeys', TType.LIST, 2)
       oprot.writeListBegin(TType.STRUCT, len(self.primaryKeys))
-      for iter850 in self.primaryKeys:
-        iter850.write(oprot)
+      for iter841 in self.primaryKeys:
+        iter841.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.foreignKeys is not None:
       oprot.writeFieldBegin('foreignKeys', TType.LIST, 3)
       oprot.writeListBegin(TType.STRUCT, len(self.foreignKeys))
-      for iter851 in self.foreignKeys:
-        iter851.write(oprot)
+      for iter842 in self.foreignKeys:
+        iter842.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.uniqueConstraints is not None:
       oprot.writeFieldBegin('uniqueConstraints', TType.LIST, 4)
       oprot.writeListBegin(TType.STRUCT, len(self.uniqueConstraints))
-      for iter852 in self.uniqueConstraints:
-        iter852.write(oprot)
+      for iter843 in self.uniqueConstraints:
+        iter843.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.notNullConstraints is not None:
       oprot.writeFieldBegin('notNullConstraints', TType.LIST, 5)
       oprot.writeListBegin(TType.STRUCT, len(self.notNullConstraints))
-      for iter853 in self.notNullConstraints:
-        iter853.write(oprot)
+      for iter844 in self.notNullConstraints:
+        iter844.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.defaultConstraints is not None:
       oprot.writeFieldBegin('defaultConstraints', TType.LIST, 6)
       oprot.writeListBegin(TType.STRUCT, len(self.defaultConstraints))
-      for iter854 in self.defaultConstraints:
-        iter854.write(oprot)
+      for iter845 in self.defaultConstraints:
+        iter845.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -17575,10 +17130,10 @@ class truncate_table_args:
       elif fid == 3:
         if ftype == TType.LIST:
           self.partNames = []
-          (_etype858, _size855) = iprot.readListBegin()
-          for _i859 in xrange(_size855):
-            _elem860 = iprot.readString()
-            self.partNames.append(_elem860)
+          (_etype849, _size846) = iprot.readListBegin()
+          for _i850 in xrange(_size846):
+            _elem851 = iprot.readString()
+            self.partNames.append(_elem851)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -17603,8 +17158,8 @@ class truncate_table_args:
     if self.partNames is not None:
       oprot.writeFieldBegin('partNames', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.partNames))
-      for iter861 in self.partNames:
-        oprot.writeString(iter861)
+      for iter852 in self.partNames:
+        oprot.writeString(iter852)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -17804,10 +17359,10 @@ class get_tables_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype865, _size862) = iprot.readListBegin()
-          for _i866 in xrange(_size862):
-            _elem867 = iprot.readString()
-            self.success.append(_elem867)
+          (_etype856, _size853) = iprot.readListBegin()
+          for _i857 in xrange(_size853):
+            _elem858 = iprot.readString()
+            self.success.append(_elem858)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -17830,8 +17385,8 @@ class get_tables_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter868 in self.success:
-        oprot.writeString(iter868)
+      for iter859 in self.success:
+        oprot.writeString(iter859)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -17981,10 +17536,10 @@ class get_tables_by_type_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype872, _size869) = iprot.readListBegin()
-          for _i873 in xrange(_size869):
-            _elem874 = iprot.readString()
-            self.success.append(_elem874)
+          (_etype863, _size860) = iprot.readListBegin()
+          for _i864 in xrange(_size860):
+            _elem865 = iprot.readString()
+            self.success.append(_elem865)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18007,8 +17562,8 @@ class get_tables_by_type_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter875 in self.success:
-        oprot.writeString(iter875)
+      for iter866 in self.success:
+        oprot.writeString(iter866)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -18132,10 +17687,10 @@ class get_materialized_views_for_rewriting_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype879, _size876) = iprot.readListBegin()
-          for _i880 in xrange(_size876):
-            _elem881 = iprot.readString()
-            self.success.append(_elem881)
+          (_etype870, _size867) = iprot.readListBegin()
+          for _i871 in xrange(_size867):
+            _elem872 = iprot.readString()
+            self.success.append(_elem872)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18158,8 +17713,8 @@ class get_materialized_views_for_rewriting_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter882 in self.success:
-        oprot.writeString(iter882)
+      for iter873 in self.success:
+        oprot.writeString(iter873)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -18232,10 +17787,10 @@ class get_table_meta_args:
       elif fid == 3:
         if ftype == TType.LIST:
           self.tbl_types = []
-          (_etype886, _size883) = iprot.readListBegin()
-          for _i887 in xrange(_size883):
-            _elem888 = iprot.readString()
-            self.tbl_types.append(_elem888)
+          (_etype877, _size874) = iprot.readListBegin()
+          for _i878 in xrange(_size874):
+            _elem879 = iprot.readString()
+            self.tbl_types.append(_elem879)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18260,8 +17815,8 @@ class get_table_meta_args:
     if self.tbl_types is not None:
       oprot.writeFieldBegin('tbl_types', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.tbl_types))
-      for iter889 in self.tbl_types:
-        oprot.writeString(iter889)
+      for iter880 in self.tbl_types:
+        oprot.writeString(iter880)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -18317,11 +17872,11 @@ class get_table_meta_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype893, _size890) = iprot.readListBegin()
-          for _i894 in xrange(_size890):
-            _elem895 = TableMeta()
-            _elem895.read(iprot)
-            self.success.append(_elem895)
+          (_etype884, _size881) = iprot.readListBegin()
+          for _i885 in xrange(_size881):
+            _elem886 = TableMeta()
+            _elem886.read(iprot)
+            self.success.append(_elem886)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18344,8 +17899,8 @@ class get_table_meta_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter896 in self.success:
-        iter896.write(oprot)
+      for iter887 in self.success:
+        iter887.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -18469,10 +18024,10 @@ class get_all_tables_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype900, _size897) = iprot.readListBegin()
-          for _i901 in xrange(_size897):
-            _elem902 = iprot.readString()
-            self.success.append(_elem902)
+          (_etype891, _size888) = iprot.readListBegin()
+          for _i892 in xrange(_size888):
+            _elem893 = iprot.readString()
+            self.success.append(_elem893)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18495,8 +18050,8 @@ class get_all_tables_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter903 in self.success:
-        oprot.writeString(iter903)
+      for iter894 in self.success:
+        oprot.writeString(iter894)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -18732,10 +18287,10 @@ class get_table_objects_by_name_args:
       elif fid == 2:
         if ftype == TType.LIST:
           self.tbl_names = []
-          (_etype907, _size904) = iprot.readListBegin()
-          for _i908 in xrange(_size904):
-            _elem909 = iprot.readString()
-            self.tbl_names.append(_elem909)
+          (_etype898, _size895) = iprot.readListBegin()
+          for _i899 in xrange(_size895):
+            _elem900 = iprot.readString()
+            self.tbl_names.append(_elem900)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18756,8 +18311,8 @@ class get_table_objects_by_name_args:
     if self.tbl_names is not None:
       oprot.writeFieldBegin('tbl_names', TType.LIST, 2)
       oprot.writeListBegin(TType.STRING, len(self.tbl_names))
-      for iter910 in self.tbl_names:
-        oprot.writeString(iter910)
+      for iter901 in self.tbl_names:
+        oprot.writeString(iter901)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -18809,11 +18364,11 @@ class get_table_objects_by_name_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype914, _size911) = iprot.readListBegin()
-          for _i915 in xrange(_size911):
-            _elem916 = Table()
-            _elem916.read(iprot)
-            self.success.append(_elem916)
+          (_etype905, _size902) = iprot.readListBegin()
+          for _i906 in xrange(_size902):
+            _elem907 = Table()
+            _elem907.read(iprot)
+            self.success.append(_elem907)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18830,8 +18385,8 @@ class get_table_objects_by_name_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter917 in self.success:
-        iter917.write(oprot)
+      for iter908 in self.success:
+        iter908.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -19223,10 +18778,10 @@ class get_materialization_invalidation_info_args:
       elif fid == 2:
         if ftype == TType.LIST:
           self.tbl_names = []
-          (_etype921, _size918) = iprot.readListBegin()
-          for _i922 in xrange(_size918):
-            _elem923 = iprot.readString()
-            self.tbl_names.append(_elem923)
+          (_etype912, _size909) = iprot.readListBegin()
+          for _i913 in xrange(_size909):
+            _elem914 = iprot.readString()
+            self.tbl_names.append(_elem914)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -19247,8 +18802,8 @@ class get_materialization_invalidation_info_args:
     if self.tbl_names is not None:
       oprot.writeFieldBegin('tbl_names', TType.LIST, 2)
       oprot.writeListBegin(TType.STRING, len(self.tbl_names))
-      for iter924 in self.tbl_names:
-        oprot.writeString(iter924)
+      for iter915 in self.tbl_names:
+        oprot.writeString(iter915)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -19309,12 +18864,12 @@ class get_materialization_invalidation_info_result:
       if fid == 0:
         if ftype == TType.MAP:
           self.success = {}
-          (_ktype926, _vtype927, _size925 ) = iprot.readMapBegin()
-          for _i929 in xrange(_size925):
-            _key930 = iprot.readString()
-            _val931 = Materialization()
-            _val931.read(iprot)
-            self.success[_key930] = _val931
+          (_ktype917, _vtype918, _size916 ) = iprot.readMapBegin()
+          for _i920 in xrange(_size916):
+            _key921 = iprot.readString()
+            _val922 = Materialization()
+            _val922.read(iprot)
+            self.success[_key921] = _val922
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -19349,9 +18904,9 @@ class get_materialization_invalidation_info_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.MAP, 0)
       oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))
-      for kiter932,viter933 in self.success.items():
-        oprot.writeString(kiter932)
-        viter933.write(oprot)
+      for kiter923,viter924 in self.success.items():
+        oprot.writeString(kiter923)
+        viter924.write(oprot)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -19703,10 +19258,10 @@ class get_table_names_by_filter_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype937, _size934) = iprot.readListBegin()
-          for _i938 in xrange(_size934):
-            _elem939 = iprot.readString()
-            self.success.append(_elem939)
+          (_etype928, _size925) = iprot.readListBegin()
+          for _i929 in xrange(_size925):
+            _elem930 = iprot.readString()
+            self.success.append(_elem930)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -19741,8 +19296,8 @@ class get_table_names_by_filter_result:
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter940 in self.success:
-        oprot.writeString(iter940)
+      for iter931 in self.success:
+        oprot.writeString(iter931)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -20712,11 +20267,11 @@ class add_partitions_args:
       if fid == 1:
         if ftype == TType.LIST:
           self.new_parts = []
-          (_etype944, _size941) = iprot.readListBegin()
-          for _i945 in xrange(_size941):
-            _elem946 = Partition()
-            _elem946.read(iprot)
-            self.new_parts.append(_elem946)
+          (_etype935, _size932) = iprot.readListBegin()
+          for _i936 in xrange(_size932):
+            _elem937 = Partition()
+            _elem937.read(iprot)
+            self.new_parts.append(_elem937)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -20733,8 +20288,8 @@ class add_partitions_args:
     if self.new_parts is not None:
       oprot.writeFieldBegin('new_parts', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.new_parts))
-      for iter947 in self.new_parts:
-        iter947.write(oprot)
+      for iter938 in self.new_parts:
+        iter938.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -20892,11 +20447,11 @@ class add_partitions_pspec_args:
       if fid == 1:
         if ftype == TType.LIST:
           self.new_parts = []
-          (_etype951, _size948) = iprot.readListBegin()
-          for _i952 in xrange(_size948):
-            _elem953 = PartitionSpec()
-            _elem953.read(iprot)
-            self.new_parts.append(_elem953)
+          (_etype942, _size939) = iprot.readListBegin()
+          for _i943 in xrange(_size939):
+            _elem944 = PartitionSpec()
+            _elem944.read(iprot)
+            self.new_parts.append(_elem944)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -20913,8 +20468,8 @@ class add_partitions_pspec_args:
     if self.new_parts is not None:
       oprot.writeFieldBegin('new_parts', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.new_parts))
-      for iter954 in self.new_parts:
-        iter954.write(oprot)
+      for iter945 in self.new_parts:
+        iter945.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -21088,10 +20643,10 @@ class append_partition_args:
       elif fid == 3:
         if ftype == TType.LIST:
           self.part_vals = []
-          (_etype958, _size955) = iprot.readListBegin()
-          for _i959 in xrange(_size955):
-            _elem960 = iprot.readString()
-            self.part_vals.append(_elem960)
+          (_etype949, _size946) = iprot.readListBegin()
+          for _i950 in xrange(_size946):
+            _elem951 = iprot.readString()
+            self.part_vals.append(_elem951)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -21116,8 +20671,8 @@ class append_partition_args:
     if self.part_vals is not None:
       oprot.writeFieldBegin('part_vals', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.part_vals))
-      for iter961 in self.part_vals:
-        oprot.writeString(iter961)
+      for iter952 in self.part_vals:
+        oprot.writeString(iter952)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -21470,10 +21025,10 @@ class append_partition_with_environment_context_args:
       elif fid == 3:
         if ftype == TType.LIST:
           self.part_vals = []
-          (_etype965, _size962) = iprot.readListBegin()
-          for _i966 in xrange(_size962):
-            _elem967 = iprot.readString()
-            self.part_vals.append(_elem967)
+          (_etype956, _size953) = iprot.readListBegin()
+          for _i957 in xrange(_size953):
+            _elem958 = iprot.readString()
+            self.part_vals.append(_elem958)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -21504,8 +21059,8 @@ class append_partition_with_environment_context_args:
     if self.part_vals is not None:
       oprot.writeFieldBegin('part_vals', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.part_vals))
-      for iter968 in self.part_vals:
-        oprot.writeString(iter968)
+      for iter959 in self.part_vals:
+        oprot.writeString(iter959)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.environment_context is not None:
@@ -22100,10 +21655,10 @@ class drop_partition_args:
       elif fid == 3:
         if ftype == TType.LIST:
           self.part_vals = []
-          (_etype972, _size969) = iprot.readListBegin()
-          for _i973 in xrange(_size969):
-            _elem974 = iprot.readString()
-            self.part_vals.append(_elem974)
+          (_etype963, _size960) = iprot.readListBegin()
+          for _i964 in xrange(_size960):
+            _elem965 = iprot.readString()
+            self.part_vals.append(_elem965)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -22133,8 +21688,8 @@ class drop_partition_args:
     if self.part_vals is not None:
       oprot.writeFieldBegin('part_vals', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.part_vals))
-      for iter975 in self.part_vals:
-        oprot.writeString(iter975)
+      for iter966 in self.part_vals:
+        oprot.writeString(iter966)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.deleteData is not None:
@@ -22307,10 +21862,10 @@ class drop_partition_with_environment_context_args:
       elif fid == 3:
         if ftype == TType.LIST:
           self.part_vals = []
-          (_etype979, _size976) = iprot.readListBegin()
-          for _i980 in xrange(_size976):
-            _elem981 = iprot.readString()
-            self.part_vals.append(_elem981)
+          (_etype970, _size967) = iprot.readListBegin()
+          for _i971 in xrange(_size967):
+            _elem972 = iprot.readString()
+            self.part_vals.append(_elem972)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -22346,8 +21901,8 @@ class drop_partition_with_environment_context_args:
     if self.part_vals is not None:
       oprot.writeFieldBegin('part_vals', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.part_vals))
-      for iter982 in self.part_vals:
-        oprot.writeString(iter982)
+      for iter973 in self.part_vals:
+        oprot.writeString(iter973)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.deleteData is not None:
@@ -23084,10 +22639,10 @@ class get_partition_args:
       elif fid == 3:
         if ftype == TType.LIST:
           self.part_vals = []
-          (_etype986, _size983) = iprot.readListBegin()
-          for _i987 in xrange(_size983):
-            _elem988 = iprot.readString()
-            self.part_vals.append(_elem988)
+          (_etype977, _size974) = iprot.readListBegin()
+          for _i978 in xrange(_size974):
+            _elem979 = iprot.readString()
+            self.part_vals.append(_elem979)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -23112,8 +22667,8 @@ class get_partition_args:
     if self.part_vals is not None:
       oprot.writeFieldBegin('part_vals', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.part_vals))
-      for iter989 in self.part_vals:
-        oprot.writeString(iter989)
+      for iter980 in self.part_vals:
+        oprot.writeString(iter980)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -23272,6 +22827,254 @@ class exchange_partition_args:
       if fid == 1:
         if ftype == TType.MAP:
           self.partitionSpecs = {}
+          (_ktype982, _vtype983, _size981 ) = iprot.readMapBegin()
+          for _i985 in xrange(_size981):
+            _key986 = iprot.readString()
+            _val987 = iprot.readString()
+            self.partitionSpecs[_key986] = _val987
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.source_db = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.source_table_name = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.dest_db = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.dest_table_name = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('exchange_partition_args')
+    if self.partitionSpecs is not None:
+      oprot.writeFieldBegin('partitionSpecs', TType.MAP, 1)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.partitionSpecs))
+      for kiter988,viter989 in self.partitionSpecs.items():
+        oprot.writeString(kiter988)
+        oprot.writeString(viter989)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    if self.source_db is not None:
+      oprot.writeFieldBegin('source_db', TType.STRING, 2)
+      oprot.writeString(self.source_db)
+      oprot.writeFieldEnd()
+    if self.source_table_name is not None:
+      oprot.writeFieldBegin('source_table_name', TType.STRING, 3)
+      oprot.writeString(self.source_table_name)
+      oprot.writeFieldEnd()
+    if self.dest_db is not None:
+      oprot.writeFieldBegin('dest_db', TType.STRING, 4)
+      oprot.writeString(self.dest_db)
+      oprot.writeFieldEnd()
+    if self.dest_table_name is not None:
+      oprot.writeFieldBegin('dest_table_name', TType.STRING, 5)
+      oprot.writeString(self.dest_table_name)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.partitionSpecs)
+    value = (value * 31) ^ hash(self.source_db)
+    value = (value * 31) ^ hash(self.source_table_name)
+    value = (value * 31) ^ hash(self.dest_db)
+    value = (value * 31) ^ hash(self.dest_table_name)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class exchange_partition_result:
+  """
+  Attributes:
+   - success
+   - o1
+   - o2
+   - o3
+   - o4
+  """
+
+  thrift_spec = (
+    (0, TType.STRUCT, 'success', (Partition, Partition.thrift_spec), None, ), # 0
+    (1, TType.STRUCT, 'o1', (MetaException, MetaException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'o2', (NoSuchObjectException, NoSuchObjectException.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'o3', (InvalidObjectException, InvalidObjectException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'o4', (InvalidInputException, InvalidInputException.thrift_spec), None, ), # 4
+  )
+
+  def __init__(self, success=None, o1=None, o2=None, o3=None, o4=None,):
+    self.success = success
+    self.o1 = o1
+    self.o2 = o2
+    self.o3 = o3
+    self.o4 = o4
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.STRUCT:
+          self.success = Partition()
+          self.success.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 1:
+        if ftype == TType.STRUCT:
+          self.o1 = MetaException()
+          self.o1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.o2 = NoSuchObjectException()
+          self.o2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.o3 = InvalidObjectException()
+          self.o3.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.o4 = InvalidInputException()
+          self.o4.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('exchange_partition_result')
+    if self.success is not None:
+      oprot.writeFieldBegin('success', TType.STRUCT, 0)
+      self.success.write(oprot)
+      oprot.writeFieldEnd()
+    if self.o1 is not None:
+      oprot.writeFieldBegin('o1', TType.STRUCT, 1)
+      self.o1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.o2 is not None:
+      oprot.writeFieldBegin('o2', TType.STRUCT, 2)
+      self.o2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.o3 is not None:
+      oprot.writeFieldBegin('o3', TType.STRUCT, 3)
+      self.o3.write(oprot)
+      oprot.writeFieldEnd()
+    if self.o4 is not None:
+      oprot.writeFieldBegin('o4', TType.STRUCT, 4)
+      self.o4.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.o1)
+    value = (value * 31) ^ hash(self.o2)
+    value = (value * 31) ^ hash(self.o3)
+    value = (value * 31) ^ hash(self.o4)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class exchange_partitions_args:
+  """
+  Attributes:
+   - partitionSpecs
+   - source_db
+   - source_table_name
+   - dest_db
+   - dest_table_name
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.MAP, 'partitionSpecs', (TType.STRING,None,TType.STRING,None), None, ), # 1
+    (2, TType.STRING, 'source_db', None, None, ), # 2
+    (3, TType.STRING, 'source_table_name', None, None, ), # 3
+    (4, TType.STRING, 'dest_db', None, None, ), # 4
+    (5, TType.STRING, 'dest_table_name', None, None, ), # 5
+  )
+
+  def __init__(self, partitionSpecs=None, source_db=None, source_table_name=None, dest_db=None, dest_table_name=None,):
+    self.partitionSpecs = partitionSpecs
+    self.source_db = source_db
+    self.source_table_name = source_table_name
+    self.dest_db = dest_db
+    self.dest_table_name = dest_table_name
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.MAP:
+          self.partitionSpecs = {}
           (_ktype991, _vtype992, _size990 ) = iprot.readMapBegin()
           for _i994 in xrange(_size990):
             _key995 = iprot.readString()
@@ -23309,7 +23112,7 @@ class exchange_partition_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('exchange_partition_args')
+    oprot.writeStructBegin('exchange_partitions_args')
     if self.partitionSpecs is not None:
       oprot.writeFieldBegin('partitionSpecs', TType.MAP, 1)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.partitionSpecs))
@@ -23361,7 +23164,7 @@ class exchange_partition_args:
   def __ne__(self, other):
     return not (self == other)
 
-class exchange_partition_result:
+class exchange_partitions_result:
   """
   Attributes:
    - success
@@ -23372,7 +23175,7 @@ class exchange_partition_result:
   """
 
   thrift_spec = (
-    (0, TType.STRUCT, 'success', (Partition, Partition.thrift_spec), None, ), # 0
+    (0, TType.LIST, 'success', (TType.STRUCT,(Partition, Partition.thrift_spec)), None, ), # 0
     (1, TType.STRUCT, 'o1', (MetaException, MetaException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'o2', (NoSuchObjectException, NoSuchObjectException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'o3', (InvalidObjectException, InvalidObjectException.thrift_spec), None, ), # 3
@@ -23396,9 +23199,14 @@ class exchange_partition_result:
       if ftype == TType.STOP:
         break
       if fid == 0:
-        if ftype == TType.STRUCT:
-          self.success = Partition()
-          self.success.read(iprot)
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype1002, _size999) = iprot.readListBegin()
+          for _i1003 in xrange(_size999):
+            _elem1004 = Partition()
+            _elem1004.read(iprot)
+            self.success.append(_elem1004)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 1:
@@ -23434,10 +23242,13 @@ class exchange_partition_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('exchange_partition_result')
+    oprot.writeStructBegin('exchange_partitions_result')
     if self.success is not None:
-      oprot.writeFieldBegin('success', TType.STRUCT, 0)
-      self.success.write(oprot)
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRUCT, len(self.success))
+      for iter1005 in self.success:
+        iter1005.write(oprot)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
       oprot.writeFieldBegin('o1', TType.STRUCT, 1)
@@ -23482,31 +23293,31 @@ class exchange_partition_result:
   def __ne__(self, other):
     return not (self == other)
 
-class exchange_partitions_args:
+class get_partition_with_auth_args:
   """
   Attributes:
-   - partitionSpecs
-   - source_db
-   - source_table_name
-   - dest_db
-   - dest_table_name
+   - db_name
+   - tbl_name
+   - part_vals
+   - user_name
+   - group_names
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.MAP, 'partitionSpecs', (TType.STRING,None,TType.STRING,None), None, ), # 1
-    (2, TType.STRING, 'source_db', None, None, ), # 2
-    (3, TType.STRING, 'source_table_name', None, None, ), # 3
-    (4, TType.STRING, 'dest_db', None, None, ), # 4
-    (5, TType.STRING, 'dest_table_name', None, None, ), # 5
+    (1, TType.STRING, 'db_name', None, None, ), # 1
+    (2, TType.STRING, 'tbl_name', None, None, ), # 2
+    (3, TType.LIST, 'part_vals', (TType.STRING,None), None, ), # 3
+    (4, TType.STRING, 'user_name', None, None, ), # 4
+    (5, TType.LIST, 'group_names', (TType.STRING,None), None, ), # 5
   )
 
-  def __init__(self, partitionSpecs=None, source_db=None, source_table_name=None, dest_db=None, dest_table_name=None,):
-    self.partitionSpecs = partitionSpecs
-    self.source_db = source_db
-    self.source_table_name = source_table_name
-    self.dest_db = dest_db
-    self.dest_table_name = dest_table_name
+  def __init__(self, db_name=None, tbl_name=None, part_vals=None, user_name=None, group_names=None,):
+    self.db_name = db_name
+    self.tbl_name = tbl_name
+    self.part_vals = part_vals
+    self.user_name = user_name
+    self.group_names = group_names
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -23518,34 +23329,38 @@ class exchange_partitions_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
-        if ftype == TType.MAP:
-          self.partitionSpecs = {}
-          (_ktype1000, _vtype1001, _size999 ) = iprot.readMapBegin()
-          for _i1003 in xrange(_size999):
-            _key1004 = iprot.readString()
-            _val1005 = iprot.readString()
-            self.partitionSpecs[_key1004] = _val1005
-          iprot.readMapEnd()
+        if ftype == TType.STRING:
+          self.db_name = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.source_db = iprot.readString()
+          self.tbl_name = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
-        if ftype == TType.STRING:
-          self.source_table_name = iprot.readString()
+        if ftype == TType.LIST:
+          self.part_vals = []
+          (_etype1009, _size1006) = iprot.readListBegin()
+          for _i1010 in xrange(_size1006):
+            _elem1011 = iprot.readString()
+            self.part_vals.append(_elem1011)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.STRING:
-          self.dest_db = iprot.readString()
+          self.user_name = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 5:
-        if ftype == TType.STRING:
-          self.dest_table_name = iprot.readString()
+        if ftype == TType.LIST:
+          self.group_names = []
+          (_etype1015, _size1012) = iprot.readListBegin()
+          for _i1016 in xrange(_size1012):
+            _elem1017 = iprot.readString()
+            self.group_names.append(_elem1017)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       else:
@@ -23557,30 +23372,32 @@ class exchange_partitions_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('exchange_partitions_args')
-    if self.partitionSpecs is not None:
-      oprot.writeFieldBegin('partitionSpecs', TType.MAP, 1)
-      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.partitionSpecs))
-      for kiter1006,viter1007 in self.partitionSpecs.items():
-        oprot.writeString(kiter1006)
-        oprot.writeString(viter1007)
-      oprot.writeMapEnd()
+    oprot.writeStructBegin('get_partition_with_auth_args')
+    if self.db_name is not None:
+      oprot.writeFieldBegin('db_name', TType.STRING, 1)
+      oprot.writeString(self.db_name)
       oprot.writeFieldEnd()
-    if self.source_db is not None:
-      oprot.writeFieldBegin('source_db', TType.STRING, 2)
-      oprot.writeString(self.source_db)
+    if self.tbl_name is not None:
+      oprot.writeFieldBegin('tbl_name', TType.STRING, 2)
+      oprot.writeString(self.tbl_name)
       oprot.writeFieldEnd()
-    if self.source_table_name is not None:
-      oprot.writeFieldBegin('source_table_name', TType.STRING, 3)
-      oprot.writeString(self.source_table_name)
+    if self.part_vals is not None:
+      oprot.writeFieldBegin('part_vals', TType.LIST, 3)
+      oprot.writeListBegin(TType.STRING, len(self.part_vals))
+      for iter1018 in self.part_vals:
+        oprot.writeString(iter1018)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
-    if self.dest_db is not None:
-      oprot.writeFieldBegin('dest_db', TType.STRING, 4)
-      oprot.writeString(self.dest_db)
+    if self.user_name is not None:
+      oprot.writeFieldBegin('user_name', TType.STRING, 4)
+      oprot.writeString(self.user_name)
       oprot.writeFieldEnd()
-    if self.dest_table_name is not None:
-      oprot.writeFieldBegin('dest_table_name', TType.STRING, 5)
-      oprot.writeString(self.dest_table_name)
+    if self.group_names is not None:
+      oprot.writeFieldBegin('group_names', TType.LIST, 5)
+      oprot.writeListBegin(TType.STRING, len(self.group_names))
+      for iter1019 in self.group_names:
+        oprot.writeString(iter1019)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -23591,11 +23408,11 @@ class exchange_partitions_args:
 
   def __hash__(self):
     value = 17
-    value = (value * 31) ^ hash(self.partitionSpecs)
-    value = (value * 31) ^ hash(self.source_db)
-    value = (value * 31) ^ hash(self.source_table_name)
-    value = (value * 31) ^ hash(self.dest_db)
-    value = (value * 31) ^ hash(self.dest_table_name)
+    value = (value * 31) ^ hash(self.db_name)
+    value = (value * 31) ^ hash(self.tbl_name)
+    value = (value * 31) ^ hash(self.part_vals)
+    value = (value * 31) ^ hash(self.user_name)
+    value = (value * 31) ^ hash(self.group_names)
     return value
 
   def __repr__(self):
@@ -23609,30 +23426,24 @@ class exchange_partitions_args:
   def __ne__(self, other):
     return not (self == other)
 
-class exchange_partitions_result:
+class get_partition_with_auth_result:
   """
   Attributes:
    - success
    - o1
    - o2
-   - o3
-   - o4
   """
 
   thrift_spec = (
-    (0, TType.LIST, 'success', (TType.STRUCT,(Partition, Partition.thrift_spec)), None, ), # 0
+    (0, TType.STRUCT, 'success', (Partition, Partition.thrift_spec), None, ), # 0
     (1, TType.STRUCT, 'o1', (MetaException, MetaException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'o2', (NoSuchObjectException, NoSuchObjectException.thrift_spec), None, ), # 2
-    (3, TType.STRUCT, 'o3', (InvalidObjectException, InvalidObjectException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'o4', (InvalidInputException, InvalidInputException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, o1=None, o2=None, o3=None, o4=None,):
+  def __init__(self, success=None, o1=None, o2=None,):
     self.success = success
     self.o1 = o1
     self.o2 = o2
-    self.o3 = o3
-    self.o4 = o4
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -23644,14 +23455,9 @@ class exchange_partitions_result:
       if ftype == TType.STOP:
         break
       if fid == 0:
-        if ftype == TType.LIST:
-          self.success = []
-          (_etype1011, _size1008) = iprot.readListBegin()
-          for _i1012 in xrange(_size1008):
-            _elem1013 = Partition()
-            _elem1013.read(iprot)
-            self.success.append(_elem1013)
-          iprot.readListEnd()
+        if ftype == TType.STRUCT:
+          self.success = Partition()
+          self.success.read(iprot)
         else:
           iprot.skip(ftype)
       elif fid == 1:
@@ -23666,18 +23472,6 @@ class exchange_partitions_result:
           self.o2.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRUCT:
-          self.o3 = InvalidObjectException()
-          self.o3.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.o4 = InvalidInputException()
-          self.o4.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -23687,13 +23481,10 @@ class exchange_partitions_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('exchange_partitions_result')
+    oprot.writeStructBegin('get_partition_with_auth_result')
     if self.success is not None:
-      oprot.writeFieldBegin('success', TType.LIST, 0)
-      oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter1014 in self.success:
-        iter1014.write(oprot)
-      oprot.writeListEnd()
+      oprot.writeFieldBegin('success', TType.STRUCT, 0)
+      self.success.write(oprot)
       oprot.writeFieldEnd()
     if self.o1 is not None:
       oprot.writeFieldBegin('o1', TType.STRUCT, 1)
@@ -23703,14 +23494,6 @@ class exchange_partitions_result:
       oprot.writeFieldBegin('o2', TType.STRUCT, 2)
       self.o2.write(oprot)
       oprot.writeFieldEnd()
-    if self.o3 is not None:
-      oprot.writeFieldBegin('o3', TType.STRUCT, 3)
-      self.o3.write(oprot)
-      oprot.writeFieldEnd()
-    if self.o4 is not None:
-      oprot.writeFieldBegin('o4', TType.STRUCT, 4)
-      self.o4.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -23723,8 +23506,6 @@ class exchange_partitions_result:
     value = (value * 31) ^ hash(self.success)
     value = (value * 31) ^ hash(self.o1)
     value = (value * 31) ^ hash(self.o2)
-    value = (value * 31) ^ hash(self.o3)
-    value = (value * 31) ^ hash(self.o4)
     return value
 
   def __repr__(self):
@@ -23738,31 +23519,25 @@ class exchange_partitions_result:
   def __ne__(self, other):
     return not (self == other)
 
-class get_partition_with_auth_args:
+class get_partition_by_name_args:
   """
   Attributes:
    - db_name
    - tbl_name
-   - part_vals
-   - user_name
-   - group_names
+   - part_name
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRING, 'db_name', None, None, ), # 1
     (2, TType.STRING, 'tbl_name', None, None, ), # 2
-    (3, TType.LIST, 'part_vals', (TType.STRING,None), None, ), # 3
-    (4, TType.STRING, 'user_name', None, None, ), # 4
-    (5, TType.LIST, 'group_names', (TType.STRING,None), None, ), # 5
+    (3, TType.STRING, 'part_name', None, None, ), # 3
   )
 
-  def __init__(self, db_name=None, tbl_name=None, part_vals=None, user_name=None, group_names=None,):
+  def __init__(self, db_name=None, tbl_name=None, part_name=None,):
     self.db_name = db_name
     self.tbl_name = tbl_name
-    self.part_vals = part_vals
-    self.user_name = user_name
-    self.group_names = group_names
+    self.part_name = part_name
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -23784,28 +23559,8 @@ class get_partition_with_auth_args:
         else:
           iprot.skip(ftype)
       elif fid == 3:
-        if ftype == TType.LIST:
-          self.part_vals = []
-          (_etype1018, _size1015) = iprot.readListBegin()
-          for _i1019 in xrange(_size1015):
-            _elem1020 = iprot.readString()
-            self.part_vals.append(_elem1020)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
         if ftype == TType.STRING:
-          self.user_name = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 5:
-        if ftype == TType.LIST:
-          self.group_names = []
-          (_etype1024, _size1021) = iprot.readListBegin()
-          for _i1025 in xrange(_size1021):
-            _elem1026 = iprot.readString()
-            self.group_names.append(_elem1026)
-          iprot.readListEnd()
+          self.part_name = iprot.readString()
         else:
           iprot.skip(ftype)
       else:
@@ -23817,7 +23572,7 @@ class get_partition_with_auth_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('get_partition_with_auth_args')
+    oprot.writeStructBegin('get_partition_by_name_args')
     if self.db_name is not None:
       oprot.writeFieldBegin('db_name', TType.STRING, 1)
       oprot.writeString(self.db_name)
@@ -23826,23 +23581,9 @@ class get_partition_with_auth_args:
       oprot.writeFieldBegin('tbl_name', TType.STRING, 2)
       oprot.writeString(self.tbl_name)
       oprot.writeFieldEnd()
-    if self.part_vals is not None:
-      oprot.writeFieldBegin('part_vals', TType.LIST, 3)
-      oprot.writeListBegin(TType.STRING, len(self.part_vals))
-      for iter1027 in self.part_vals:
-        oprot.writeString(iter1027)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.user_name is not None:
-      oprot.writeFieldBegin('user_name', TType.STRING, 4)
-      oprot.writeString(self.user_name)
-      oprot.writeFieldEnd()
-    if self.group_names is not None:
-      oprot.writeFieldBegin('group_names', TType.LIST, 5)
-      oprot.writeListBegin(TType.STRING, len(self.group_names))
-      for iter1028 in self.group_names:
-        oprot.writeString(iter1028)
-      oprot.writeListEnd()
+    if self.part_name is not None:
+      oprot.writeFieldBegin('part_name', TType.STRING, 3)
+      oprot.writeString(self.part_name)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -23855,9 +23596,7 @@ class get_partition_with_auth_args:
     value = 17
     value = (value * 31) ^ hash(self.db_name)
     value = (value * 31) ^ hash(self.tbl_name)
-    value = (value * 31) ^ hash(self.part_vals)
-    value = (value * 31) ^ hash(self.user_name)
-    value = (value * 31) ^ hash(self.group_names)
+    value = (value * 31) ^ hash(self.part_name)
     return value
 
   def __repr__(self):
@@ -23871,7 +23610,7 @@ class get_partition_with_auth_args:
   def __ne__(self, other):
     return not (self == other)
 
-class get_partition_with_auth_result:
+class get_partition_by_name_result:
   """
   Attributes:
    - success
@@ -23926,7 +23665,7 @@ class get_partition_with_auth_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('get_partition_with_auth_result')
+    oprot.writeStructBegin('get_partition_by_name_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.STRUCT, 0)
       self.success.write(oprot)
@@ -23964,25 +23703,25 @@ class get_partition_with_auth_result:
   def __ne__(self, other):
     return not (self == other)
 
-class get_partition_by_name_args:
+class get_partitions_args:
   """
   Attributes:
    - db_name
    - tbl_name
-   - part_name
+   - max_parts
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRING, 'db_name', None, None, ), # 1
     (2, TType.STRING, 'tbl_name', None, None, ), # 2
-    (3, TType.STRING, 'part_name', None, None, ), # 3
+    (3, TType.I16, 'max_parts', None, -1, ), # 3
   )
 
-  def __init__(self, db_name=None, tbl_name=None, part_name=None,):
+  def __init__(self, db_name=None, tbl_name=None, max_parts=thrift_spec[3][4],):
     self.db_name = db_name
     self.tbl_name = tbl_name
-    self.part_name = part_name
+    self.max_parts = max_parts
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -24004,8 +23743,8 @@ class get_partition_by_name_args:
         else:
           iprot.skip(ftype)
       elif fid == 3:
-        if ftype == TType.STRING:
-          self.part_name = iprot.readString()
+        if ftype == TType.I16:
+          self.max_parts = iprot.readI16()
         else:
           iprot.skip(ftype)
       else:
@@ -24017,7 +23756,7 @@ class get_partition_by_name_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('get_partition_by_name_args')
+    oprot.writeStructBegin('get_partitions_args')
     if self.db_name is not None:
       oprot.writeFieldBegin('db_name', TType.STRING, 1)
       oprot.writeString(self.db_name)
@@ -24026,9 +23765,9 @@ class get_partition_by_name_args:
       oprot.writeFieldBegin('tbl_name', TType.STRING, 2)
       oprot.writeString(self.tbl_name)
       oprot.writeFieldEnd()
-    if self.part_name is not None:
-      oprot.writeFieldBegin('part_name', TType.STRING, 3)
-      oprot.writeString(self.part_name)
+    if self.max_parts is not None:
+      oprot.writeFieldBegin('max_parts', TType.I16, 3)
+      oprot.writeI16(self.max_parts)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -24041,7 +23780,7 @@ class get_partition_by_name_args:
     value = 17
     value = (value * 31) ^ hash(self.db_name)
     value = (value * 31) ^ hash(self.tbl_name)
-    value = (value * 31) ^ hash(self.part_name)
+    value = (value * 31) ^ hash(self.max_parts)
     return value
 
   def __repr__(self):
@@ -24055,7 +23794,7 @@ class get_partition_by_name_args:
   def __ne__(self, other):
     return not (self == other)
 
-class get_partition_by_name_result:
+class get_partitions_result:
   """
   Attributes:
    - success
@@ -24064,9 +23803,9 @@ class get_partition_by_name_result:
   """
 
   thrift_spec = (
-    (0, TType.STRUCT, 'success', (Partition, Partition.thrift_spec), None, ), # 0
-    (1, TType.STRUCT, 'o1', (MetaException, MetaException.thrift_spec), None, ), # 1
-    (2, TType.STRUCT, 'o2', (NoSuchObjectException, NoSuchObjectException.thrift_spec), None, ), # 2
+    (0, TType.LIST, 'success', (TType.STRUCT,(Partition, Partition.thrift_spec)), None, ), # 0
+    (1, TType.STRUCT, 'o1', (NoSuchObjectException, NoSuchObjectException.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'o2', (MetaException, MetaException.thrift_spec), None, ), # 2
   )
 
   def __init__(self, success=None, o1=None, o2=None,):
@@ -24084,20 +23823,25 @@ class get_partition_by_name_result:
       if ftype == TType.STOP:
         break
       if fid == 0:
-        if ftype == TType.STRUCT:
-          self.success = Partition()
-          self.success.read(iprot)
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype1023, _size1020) = iprot.readListBegin()
+          for _i1024 in xrange(_size1020):
+            _elem1025 = Partition()
+            _elem1025.read(iprot)
+            self.success.append(_elem1025)
+          iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 1:
         if ftype == TType.STRUCT:
-          self.o1 = MetaException()
+          self.o1 = NoSuchObjectException()
           self.o1.read(iprot)
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRUCT:
-          self.o2 = NoSuchObjectException()
+          self.o2 = MetaException()
           self.o2.read(iprot)
         else:
           iprot.skip(ftype)
@@ -24110,10 +23854,13 @@ class get_partition_by_name_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('get_partition_by_name_result')
+    oprot.writeStructBegin('get_partitions_result')
     if self.success is not None:
-      oprot.writeFieldBegin('success', TType.STRUCT, 0)
-      self.success.write(oprot)
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRUCT, len(self.success))
+      for iter1026 in self.success:
+        iter1026.write(oprot)
+      oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
       oprot.writeFieldBegin('o1', TType.STRUCT, 1)
@@ -24148,12 +23895,14 @@ class get_partition_by_name_result:
   def __ne__(self, other):
     return not (self == other)
 
-class get_partitions_args:
+class get_partitions_with_auth_args:
   """
   Attributes:
    - db_name
    - tbl_name
    - max_parts
+   - user_name
+   - group_names
   """
 
   thrift_spec = (
@@ -24161,12 +23910,16 @@ class get_partitions_args:
     (1, TType.STRING, 'db_name', None, None, ), # 1
     (2, TType.STRING, 'tbl_name', None, None, ), # 2
     (3, TType.I16, 'max_parts', None, -1, ), # 3
+    (4, TType.STRING, 'user_name', None, None, ), # 4
+    (5, TType.LIST, 'group_names', (TType.STRING,None), None, ), # 5
   )
 
-  def __init__(self, db_name=None, tbl_name=None, max_parts=thrift_spec[3][4],):
+  def __init__(self, db_name=None, tbl_name=None, max_parts=thrift_spec[3][4], user_name=None, group_names=None,):
     self.db_name = db_name
     self.tbl_name = tbl_name
     self.max_parts = max_parts
+    self.user_name = user_name
+    self.group_names = group_names
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -24192,6 +23945,21 @@ class get_partitions_args:
           self.max_parts = iprot.readI16()
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.user_name = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.LIST:
+          self.group_names = []
+          (_etype1030, _size1027) = iprot.readListBegin()
+          for _i1031 in xrange(_size1027):
+            _elem1032 = iprot.readString()
+            self.group_names.append(_elem1032)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -24201,7 +23969,7 @@ class get_partitions_args:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('get_partitions_args')
+    oprot.writeStructBegin('get_partitions_with_auth_args')
     if self.db_name is not None:
       oprot.writeFieldBegin('db_name', TType.STRING, 1)
       oprot.writeString(self.db_name)
@@ -24214,6 +23982,17 @@ class get_partitions_args:
       oprot.writeFieldBegin('max_parts', TType.I16, 3)
       oprot.writeI16(self.max_parts)
       oprot.writeFieldEnd()
+    if self.user_name is not None:
+      oprot.writeFieldBegin('user_name', TType.STRING, 4)
+      oprot.writeString(self.user_name)
+      oprot.writeFieldEnd()
+    if self.group_names is not None:
+      oprot.writeFieldBegin('group_names', TType.LIST, 5)
+      oprot.writeListBegin(TType.STRING, len(self.group_names))
+      for iter1033 in self.group_names:
+        oprot.writeString(iter1033)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -24226,6 +24005,8 @@ class get_partitions_args:
     value = (value * 31) ^ hash(self.db_name)
     value = (value * 31) ^ hash(self.tbl_name)
     value = (value * 31) ^ hash(self.max_parts)
+    value = (value * 31) ^ hash(self.user_name)
+    value = (value * 31) ^ hash(self.group_names)
     return value
 
   def __repr__(self):
@@ -24239,7 +24020,7 @@ class get_partitions_args:
   def __ne__(self, other):
     return not (self == other)
 
-class get_partitions_result:
+class get_partitions_with_auth_result:
   """
   Attributes:
    - success
@@ -24270,11 +24051,11 @@ class get_partitions_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype1032, _size1029) = iprot.readListBegin()
-          for _i1033 in xrange(_size1029):
-            _elem1034 = Partition()
-            _elem1034.read(iprot)
-            self.success.append(_elem1034)
+          (_etype1037, _size1034) = iprot.readListBegin()
+          for _i1038 in xrange(_size1034):
+            _elem1039 = Partition()
+            _elem1039.read(iprot)
+            self.success.append(_elem1039)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -24299,12 +24080,12 @@ class get_partitions_result:
     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
-    oprot.writeStructBegin('get_partitions_result')
+    oprot.writeStructBegin('get_partitions_with_auth_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter1035 in self.success:
-        iter1035.write(oprot)
+      for iter1040 in self.success:
+        iter1040.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.o1 is not None:
@@ -24340,31 +24121,25 @@ class get_partitions_result:
   def __ne__(self, other):
     return not (self == other)
 
-class get_partitions_with_auth_args:
+class get_partitions_pspec_args:
   """
   Attributes:
    - db_name
    - tbl_name
    - max_parts
-   - user_name
-   - group_names
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRING, 'db_name', None, None, ), # 1
     (2, TType.STRING, 'tbl_name', None, None, ), # 2
-    (3, TType.I16, 'max_parts', None, -1, ), # 3
-    (4, TType.STRING, 'user_name', None, None, ), # 4
-    (5, TType.LIST, 'group_names', (TType.STRING,None), None, ), # 5
+    (3, TType.I32, 'max_parts', None, -1, ), # 3
   )
 
-  def __init__(self, db_name=None, tbl_name=None, max_parts=thrift_spec[3][4], user_name=None, group_names=None,):
+  def __init__(self, db_name=None, tbl_name=None, max_parts=thrift_spec[3][4],):
     self.db_name = db_name
     self.tbl_name = tbl_name
     self.max_parts = max_parts
-    self.user_name = user_name
-    self.group_names = group_names
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -24386,23 +24161,8 @@ class get_partitions_with_auth_args:
         else:
           iprot.skip(ftype)
       elif fid == 3:
- 

<TRUNCATED>

[21/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
index 1510d4f..32a7086 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
@@ -1240,14 +1240,14 @@ uint32_t ThriftHiveMetastore_get_databases_result::read(::apache::thrift::protoc
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1111;
-            ::apache::thrift::protocol::TType _etype1114;
-            xfer += iprot->readListBegin(_etype1114, _size1111);
-            this->success.resize(_size1111);
-            uint32_t _i1115;
-            for (_i1115 = 0; _i1115 < _size1111; ++_i1115)
+            uint32_t _size1099;
+            ::apache::thrift::protocol::TType _etype1102;
+            xfer += iprot->readListBegin(_etype1102, _size1099);
+            this->success.resize(_size1099);
+            uint32_t _i1103;
+            for (_i1103 = 0; _i1103 < _size1099; ++_i1103)
             {
-              xfer += iprot->readString(this->success[_i1115]);
+              xfer += iprot->readString(this->success[_i1103]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1286,10 +1286,10 @@ uint32_t ThriftHiveMetastore_get_databases_result::write(::apache::thrift::proto
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter1116;
-      for (_iter1116 = this->success.begin(); _iter1116 != this->success.end(); ++_iter1116)
+      std::vector<std::string> ::const_iterator _iter1104;
+      for (_iter1104 = this->success.begin(); _iter1104 != this->success.end(); ++_iter1104)
       {
-        xfer += oprot->writeString((*_iter1116));
+        xfer += oprot->writeString((*_iter1104));
       }
       xfer += oprot->writeListEnd();
     }
@@ -1334,14 +1334,14 @@ uint32_t ThriftHiveMetastore_get_databases_presult::read(::apache::thrift::proto
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1117;
-            ::apache::thrift::protocol::TType _etype1120;
-            xfer += iprot->readListBegin(_etype1120, _size1117);
-            (*(this->success)).resize(_size1117);
-            uint32_t _i1121;
-            for (_i1121 = 0; _i1121 < _size1117; ++_i1121)
+            uint32_t _size1105;
+            ::apache::thrift::protocol::TType _etype1108;
+            xfer += iprot->readListBegin(_etype1108, _size1105);
+            (*(this->success)).resize(_size1105);
+            uint32_t _i1109;
+            for (_i1109 = 0; _i1109 < _size1105; ++_i1109)
             {
-              xfer += iprot->readString((*(this->success))[_i1121]);
+              xfer += iprot->readString((*(this->success))[_i1109]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1458,14 +1458,14 @@ uint32_t ThriftHiveMetastore_get_all_databases_result::read(::apache::thrift::pr
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1122;
-            ::apache::thrift::protocol::TType _etype1125;
-            xfer += iprot->readListBegin(_etype1125, _size1122);
-            this->success.resize(_size1122);
-            uint32_t _i1126;
-            for (_i1126 = 0; _i1126 < _size1122; ++_i1126)
+            uint32_t _size1110;
+            ::apache::thrift::protocol::TType _etype1113;
+            xfer += iprot->readListBegin(_etype1113, _size1110);
+            this->success.resize(_size1110);
+            uint32_t _i1114;
+            for (_i1114 = 0; _i1114 < _size1110; ++_i1114)
             {
-              xfer += iprot->readString(this->success[_i1126]);
+              xfer += iprot->readString(this->success[_i1114]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1504,10 +1504,10 @@ uint32_t ThriftHiveMetastore_get_all_databases_result::write(::apache::thrift::p
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter1127;
-      for (_iter1127 = this->success.begin(); _iter1127 != this->success.end(); ++_iter1127)
+      std::vector<std::string> ::const_iterator _iter1115;
+      for (_iter1115 = this->success.begin(); _iter1115 != this->success.end(); ++_iter1115)
       {
-        xfer += oprot->writeString((*_iter1127));
+        xfer += oprot->writeString((*_iter1115));
       }
       xfer += oprot->writeListEnd();
     }
@@ -1552,14 +1552,14 @@ uint32_t ThriftHiveMetastore_get_all_databases_presult::read(::apache::thrift::p
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1128;
-            ::apache::thrift::protocol::TType _etype1131;
-            xfer += iprot->readListBegin(_etype1131, _size1128);
-            (*(this->success)).resize(_size1128);
-            uint32_t _i1132;
-            for (_i1132 = 0; _i1132 < _size1128; ++_i1132)
+            uint32_t _size1116;
+            ::apache::thrift::protocol::TType _etype1119;
+            xfer += iprot->readListBegin(_etype1119, _size1116);
+            (*(this->success)).resize(_size1116);
+            uint32_t _i1120;
+            for (_i1120 = 0; _i1120 < _size1116; ++_i1120)
             {
-              xfer += iprot->readString((*(this->success))[_i1132]);
+              xfer += iprot->readString((*(this->success))[_i1120]);
             }
             xfer += iprot->readListEnd();
           }
@@ -2621,17 +2621,17 @@ uint32_t ThriftHiveMetastore_get_type_all_result::read(::apache::thrift::protoco
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size1133;
-            ::apache::thrift::protocol::TType _ktype1134;
-            ::apache::thrift::protocol::TType _vtype1135;
-            xfer += iprot->readMapBegin(_ktype1134, _vtype1135, _size1133);
-            uint32_t _i1137;
-            for (_i1137 = 0; _i1137 < _size1133; ++_i1137)
+            uint32_t _size1121;
+            ::apache::thrift::protocol::TType _ktype1122;
+            ::apache::thrift::protocol::TType _vtype1123;
+            xfer += iprot->readMapBegin(_ktype1122, _vtype1123, _size1121);
+            uint32_t _i1125;
+            for (_i1125 = 0; _i1125 < _size1121; ++_i1125)
             {
-              std::string _key1138;
-              xfer += iprot->readString(_key1138);
-              Type& _val1139 = this->success[_key1138];
-              xfer += _val1139.read(iprot);
+              std::string _key1126;
+              xfer += iprot->readString(_key1126);
+              Type& _val1127 = this->success[_key1126];
+              xfer += _val1127.read(iprot);
             }
             xfer += iprot->readMapEnd();
           }
@@ -2670,11 +2670,11 @@ uint32_t ThriftHiveMetastore_get_type_all_result::write(::apache::thrift::protoc
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string, Type> ::const_iterator _iter1140;
-      for (_iter1140 = this->success.begin(); _iter1140 != this->success.end(); ++_iter1140)
+      std::map<std::string, Type> ::const_iterator _iter1128;
+      for (_iter1128 = this->success.begin(); _iter1128 != this->success.end(); ++_iter1128)
       {
-        xfer += oprot->writeString(_iter1140->first);
-        xfer += _iter1140->second.write(oprot);
+        xfer += oprot->writeString(_iter1128->first);
+        xfer += _iter1128->second.write(oprot);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -2719,17 +2719,17 @@ uint32_t ThriftHiveMetastore_get_type_all_presult::read(::apache::thrift::protoc
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size1141;
-            ::apache::thrift::protocol::TType _ktype1142;
-            ::apache::thrift::protocol::TType _vtype1143;
-            xfer += iprot->readMapBegin(_ktype1142, _vtype1143, _size1141);
-            uint32_t _i1145;
-            for (_i1145 = 0; _i1145 < _size1141; ++_i1145)
+            uint32_t _size1129;
+            ::apache::thrift::protocol::TType _ktype1130;
+            ::apache::thrift::protocol::TType _vtype1131;
+            xfer += iprot->readMapBegin(_ktype1130, _vtype1131, _size1129);
+            uint32_t _i1133;
+            for (_i1133 = 0; _i1133 < _size1129; ++_i1133)
             {
-              std::string _key1146;
-              xfer += iprot->readString(_key1146);
-              Type& _val1147 = (*(this->success))[_key1146];
-              xfer += _val1147.read(iprot);
+              std::string _key1134;
+              xfer += iprot->readString(_key1134);
+              Type& _val1135 = (*(this->success))[_key1134];
+              xfer += _val1135.read(iprot);
             }
             xfer += iprot->readMapEnd();
           }
@@ -2883,14 +2883,14 @@ uint32_t ThriftHiveMetastore_get_fields_result::read(::apache::thrift::protocol:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1148;
-            ::apache::thrift::protocol::TType _etype1151;
-            xfer += iprot->readListBegin(_etype1151, _size1148);
-            this->success.resize(_size1148);
-            uint32_t _i1152;
-            for (_i1152 = 0; _i1152 < _size1148; ++_i1152)
+            uint32_t _size1136;
+            ::apache::thrift::protocol::TType _etype1139;
+            xfer += iprot->readListBegin(_etype1139, _size1136);
+            this->success.resize(_size1136);
+            uint32_t _i1140;
+            for (_i1140 = 0; _i1140 < _size1136; ++_i1140)
             {
-              xfer += this->success[_i1152].read(iprot);
+              xfer += this->success[_i1140].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2945,10 +2945,10 @@ uint32_t ThriftHiveMetastore_get_fields_result::write(::apache::thrift::protocol
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector<FieldSchema> ::const_iterator _iter1153;
-      for (_iter1153 = this->success.begin(); _iter1153 != this->success.end(); ++_iter1153)
+      std::vector<FieldSchema> ::const_iterator _iter1141;
+      for (_iter1141 = this->success.begin(); _iter1141 != this->success.end(); ++_iter1141)
       {
-        xfer += (*_iter1153).write(oprot);
+        xfer += (*_iter1141).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3001,14 +3001,14 @@ uint32_t ThriftHiveMetastore_get_fields_presult::read(::apache::thrift::protocol
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1154;
-            ::apache::thrift::protocol::TType _etype1157;
-            xfer += iprot->readListBegin(_etype1157, _size1154);
-            (*(this->success)).resize(_size1154);
-            uint32_t _i1158;
-            for (_i1158 = 0; _i1158 < _size1154; ++_i1158)
+            uint32_t _size1142;
+            ::apache::thrift::protocol::TType _etype1145;
+            xfer += iprot->readListBegin(_etype1145, _size1142);
+            (*(this->success)).resize(_size1142);
+            uint32_t _i1146;
+            for (_i1146 = 0; _i1146 < _size1142; ++_i1146)
             {
-              xfer += (*(this->success))[_i1158].read(iprot);
+              xfer += (*(this->success))[_i1146].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3194,14 +3194,14 @@ uint32_t ThriftHiveMetastore_get_fields_with_environment_context_result::read(::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1159;
-            ::apache::thrift::protocol::TType _etype1162;
-            xfer += iprot->readListBegin(_etype1162, _size1159);
-            this->success.resize(_size1159);
-            uint32_t _i1163;
-            for (_i1163 = 0; _i1163 < _size1159; ++_i1163)
+            uint32_t _size1147;
+            ::apache::thrift::protocol::TType _etype1150;
+            xfer += iprot->readListBegin(_etype1150, _size1147);
+            this->success.resize(_size1147);
+            uint32_t _i1151;
+            for (_i1151 = 0; _i1151 < _size1147; ++_i1151)
             {
-              xfer += this->success[_i1163].read(iprot);
+              xfer += this->success[_i1151].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3256,10 +3256,10 @@ uint32_t ThriftHiveMetastore_get_fields_with_environment_context_result::write(:
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector<FieldSchema> ::const_iterator _iter1164;
-      for (_iter1164 = this->success.begin(); _iter1164 != this->success.end(); ++_iter1164)
+      std::vector<FieldSchema> ::const_iterator _iter1152;
+      for (_iter1152 = this->success.begin(); _iter1152 != this->success.end(); ++_iter1152)
       {
-        xfer += (*_iter1164).write(oprot);
+        xfer += (*_iter1152).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3312,14 +3312,14 @@ uint32_t ThriftHiveMetastore_get_fields_with_environment_context_presult::read(:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1165;
-            ::apache::thrift::protocol::TType _etype1168;
-            xfer += iprot->readListBegin(_etype1168, _size1165);
-            (*(this->success)).resize(_size1165);
-            uint32_t _i1169;
-            for (_i1169 = 0; _i1169 < _size1165; ++_i1169)
+            uint32_t _size1153;
+            ::apache::thrift::protocol::TType _etype1156;
+            xfer += iprot->readListBegin(_etype1156, _size1153);
+            (*(this->success)).resize(_size1153);
+            uint32_t _i1157;
+            for (_i1157 = 0; _i1157 < _size1153; ++_i1157)
             {
-              xfer += (*(this->success))[_i1169].read(iprot);
+              xfer += (*(this->success))[_i1157].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3489,14 +3489,14 @@ uint32_t ThriftHiveMetastore_get_schema_result::read(::apache::thrift::protocol:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1170;
-            ::apache::thrift::protocol::TType _etype1173;
-            xfer += iprot->readListBegin(_etype1173, _size1170);
-            this->success.resize(_size1170);
-            uint32_t _i1174;
-            for (_i1174 = 0; _i1174 < _size1170; ++_i1174)
+            uint32_t _size1158;
+            ::apache::thrift::protocol::TType _etype1161;
+            xfer += iprot->readListBegin(_etype1161, _size1158);
+            this->success.resize(_size1158);
+            uint32_t _i1162;
+            for (_i1162 = 0; _i1162 < _size1158; ++_i1162)
             {
-              xfer += this->success[_i1174].read(iprot);
+              xfer += this->success[_i1162].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3551,10 +3551,10 @@ uint32_t ThriftHiveMetastore_get_schema_result::write(::apache::thrift::protocol
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector<FieldSchema> ::const_iterator _iter1175;
-      for (_iter1175 = this->success.begin(); _iter1175 != this->success.end(); ++_iter1175)
+      std::vector<FieldSchema> ::const_iterator _iter1163;
+      for (_iter1163 = this->success.begin(); _iter1163 != this->success.end(); ++_iter1163)
       {
-        xfer += (*_iter1175).write(oprot);
+        xfer += (*_iter1163).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3607,14 +3607,14 @@ uint32_t ThriftHiveMetastore_get_schema_presult::read(::apache::thrift::protocol
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1176;
-            ::apache::thrift::protocol::TType _etype1179;
-            xfer += iprot->readListBegin(_etype1179, _size1176);
-            (*(this->success)).resize(_size1176);
-            uint32_t _i1180;
-            for (_i1180 = 0; _i1180 < _size1176; ++_i1180)
+            uint32_t _size1164;
+            ::apache::thrift::protocol::TType _etype1167;
+            xfer += iprot->readListBegin(_etype1167, _size1164);
+            (*(this->success)).resize(_size1164);
+            uint32_t _i1168;
+            for (_i1168 = 0; _i1168 < _size1164; ++_i1168)
             {
-              xfer += (*(this->success))[_i1180].read(iprot);
+              xfer += (*(this->success))[_i1168].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3800,14 +3800,14 @@ uint32_t ThriftHiveMetastore_get_schema_with_environment_context_result::read(::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1181;
-            ::apache::thrift::protocol::TType _etype1184;
-            xfer += iprot->readListBegin(_etype1184, _size1181);
-            this->success.resize(_size1181);
-            uint32_t _i1185;
-            for (_i1185 = 0; _i1185 < _size1181; ++_i1185)
+            uint32_t _size1169;
+            ::apache::thrift::protocol::TType _etype1172;
+            xfer += iprot->readListBegin(_etype1172, _size1169);
+            this->success.resize(_size1169);
+            uint32_t _i1173;
+            for (_i1173 = 0; _i1173 < _size1169; ++_i1173)
             {
-              xfer += this->success[_i1185].read(iprot);
+              xfer += this->success[_i1173].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -3862,10 +3862,10 @@ uint32_t ThriftHiveMetastore_get_schema_with_environment_context_result::write(:
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector<FieldSchema> ::const_iterator _iter1186;
-      for (_iter1186 = this->success.begin(); _iter1186 != this->success.end(); ++_iter1186)
+      std::vector<FieldSchema> ::const_iterator _iter1174;
+      for (_iter1174 = this->success.begin(); _iter1174 != this->success.end(); ++_iter1174)
       {
-        xfer += (*_iter1186).write(oprot);
+        xfer += (*_iter1174).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -3918,14 +3918,14 @@ uint32_t ThriftHiveMetastore_get_schema_with_environment_context_presult::read(:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1187;
-            ::apache::thrift::protocol::TType _etype1190;
-            xfer += iprot->readListBegin(_etype1190, _size1187);
-            (*(this->success)).resize(_size1187);
-            uint32_t _i1191;
-            for (_i1191 = 0; _i1191 < _size1187; ++_i1191)
+            uint32_t _size1175;
+            ::apache::thrift::protocol::TType _etype1178;
+            xfer += iprot->readListBegin(_etype1178, _size1175);
+            (*(this->success)).resize(_size1175);
+            uint32_t _i1179;
+            for (_i1179 = 0; _i1179 < _size1175; ++_i1179)
             {
-              xfer += (*(this->success))[_i1191].read(iprot);
+              xfer += (*(this->success))[_i1179].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -4518,14 +4518,14 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::read(::apache::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->primaryKeys.clear();
-            uint32_t _size1192;
-            ::apache::thrift::protocol::TType _etype1195;
-            xfer += iprot->readListBegin(_etype1195, _size1192);
-            this->primaryKeys.resize(_size1192);
-            uint32_t _i1196;
-            for (_i1196 = 0; _i1196 < _size1192; ++_i1196)
+            uint32_t _size1180;
+            ::apache::thrift::protocol::TType _etype1183;
+            xfer += iprot->readListBegin(_etype1183, _size1180);
+            this->primaryKeys.resize(_size1180);
+            uint32_t _i1184;
+            for (_i1184 = 0; _i1184 < _size1180; ++_i1184)
             {
-              xfer += this->primaryKeys[_i1196].read(iprot);
+              xfer += this->primaryKeys[_i1184].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -4538,14 +4538,14 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::read(::apache::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->foreignKeys.clear();
-            uint32_t _size1197;
-            ::apache::thrift::protocol::TType _etype1200;
-            xfer += iprot->readListBegin(_etype1200, _size1197);
-            this->foreignKeys.resize(_size1197);
-            uint32_t _i1201;
-            for (_i1201 = 0; _i1201 < _size1197; ++_i1201)
+            uint32_t _size1185;
+            ::apache::thrift::protocol::TType _etype1188;
+            xfer += iprot->readListBegin(_etype1188, _size1185);
+            this->foreignKeys.resize(_size1185);
+            uint32_t _i1189;
+            for (_i1189 = 0; _i1189 < _size1185; ++_i1189)
             {
-              xfer += this->foreignKeys[_i1201].read(iprot);
+              xfer += this->foreignKeys[_i1189].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -4558,14 +4558,14 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::read(::apache::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->uniqueConstraints.clear();
-            uint32_t _size1202;
-            ::apache::thrift::protocol::TType _etype1205;
-            xfer += iprot->readListBegin(_etype1205, _size1202);
-            this->uniqueConstraints.resize(_size1202);
-            uint32_t _i1206;
-            for (_i1206 = 0; _i1206 < _size1202; ++_i1206)
+            uint32_t _size1190;
+            ::apache::thrift::protocol::TType _etype1193;
+            xfer += iprot->readListBegin(_etype1193, _size1190);
+            this->uniqueConstraints.resize(_size1190);
+            uint32_t _i1194;
+            for (_i1194 = 0; _i1194 < _size1190; ++_i1194)
             {
-              xfer += this->uniqueConstraints[_i1206].read(iprot);
+              xfer += this->uniqueConstraints[_i1194].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -4578,14 +4578,14 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::read(::apache::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->notNullConstraints.clear();
-            uint32_t _size1207;
-            ::apache::thrift::protocol::TType _etype1210;
-            xfer += iprot->readListBegin(_etype1210, _size1207);
-            this->notNullConstraints.resize(_size1207);
-            uint32_t _i1211;
-            for (_i1211 = 0; _i1211 < _size1207; ++_i1211)
+            uint32_t _size1195;
+            ::apache::thrift::protocol::TType _etype1198;
+            xfer += iprot->readListBegin(_etype1198, _size1195);
+            this->notNullConstraints.resize(_size1195);
+            uint32_t _i1199;
+            for (_i1199 = 0; _i1199 < _size1195; ++_i1199)
             {
-              xfer += this->notNullConstraints[_i1211].read(iprot);
+              xfer += this->notNullConstraints[_i1199].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -4598,14 +4598,14 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::read(::apache::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->defaultConstraints.clear();
-            uint32_t _size1212;
-            ::apache::thrift::protocol::TType _etype1215;
-            xfer += iprot->readListBegin(_etype1215, _size1212);
-            this->defaultConstraints.resize(_size1212);
-            uint32_t _i1216;
-            for (_i1216 = 0; _i1216 < _size1212; ++_i1216)
+            uint32_t _size1200;
+            ::apache::thrift::protocol::TType _etype1203;
+            xfer += iprot->readListBegin(_etype1203, _size1200);
+            this->defaultConstraints.resize(_size1200);
+            uint32_t _i1204;
+            for (_i1204 = 0; _i1204 < _size1200; ++_i1204)
             {
-              xfer += this->defaultConstraints[_i1216].read(iprot);
+              xfer += this->defaultConstraints[_i1204].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -4638,10 +4638,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::write(::apache:
   xfer += oprot->writeFieldBegin("primaryKeys", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->primaryKeys.size()));
-    std::vector<SQLPrimaryKey> ::const_iterator _iter1217;
-    for (_iter1217 = this->primaryKeys.begin(); _iter1217 != this->primaryKeys.end(); ++_iter1217)
+    std::vector<SQLPrimaryKey> ::const_iterator _iter1205;
+    for (_iter1205 = this->primaryKeys.begin(); _iter1205 != this->primaryKeys.end(); ++_iter1205)
     {
-      xfer += (*_iter1217).write(oprot);
+      xfer += (*_iter1205).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4650,10 +4650,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::write(::apache:
   xfer += oprot->writeFieldBegin("foreignKeys", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->foreignKeys.size()));
-    std::vector<SQLForeignKey> ::const_iterator _iter1218;
-    for (_iter1218 = this->foreignKeys.begin(); _iter1218 != this->foreignKeys.end(); ++_iter1218)
+    std::vector<SQLForeignKey> ::const_iterator _iter1206;
+    for (_iter1206 = this->foreignKeys.begin(); _iter1206 != this->foreignKeys.end(); ++_iter1206)
     {
-      xfer += (*_iter1218).write(oprot);
+      xfer += (*_iter1206).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4662,10 +4662,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::write(::apache:
   xfer += oprot->writeFieldBegin("uniqueConstraints", ::apache::thrift::protocol::T_LIST, 4);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->uniqueConstraints.size()));
-    std::vector<SQLUniqueConstraint> ::const_iterator _iter1219;
-    for (_iter1219 = this->uniqueConstraints.begin(); _iter1219 != this->uniqueConstraints.end(); ++_iter1219)
+    std::vector<SQLUniqueConstraint> ::const_iterator _iter1207;
+    for (_iter1207 = this->uniqueConstraints.begin(); _iter1207 != this->uniqueConstraints.end(); ++_iter1207)
     {
-      xfer += (*_iter1219).write(oprot);
+      xfer += (*_iter1207).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4674,10 +4674,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::write(::apache:
   xfer += oprot->writeFieldBegin("notNullConstraints", ::apache::thrift::protocol::T_LIST, 5);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->notNullConstraints.size()));
-    std::vector<SQLNotNullConstraint> ::const_iterator _iter1220;
-    for (_iter1220 = this->notNullConstraints.begin(); _iter1220 != this->notNullConstraints.end(); ++_iter1220)
+    std::vector<SQLNotNullConstraint> ::const_iterator _iter1208;
+    for (_iter1208 = this->notNullConstraints.begin(); _iter1208 != this->notNullConstraints.end(); ++_iter1208)
     {
-      xfer += (*_iter1220).write(oprot);
+      xfer += (*_iter1208).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4686,10 +4686,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_args::write(::apache:
   xfer += oprot->writeFieldBegin("defaultConstraints", ::apache::thrift::protocol::T_LIST, 6);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->defaultConstraints.size()));
-    std::vector<SQLDefaultConstraint> ::const_iterator _iter1221;
-    for (_iter1221 = this->defaultConstraints.begin(); _iter1221 != this->defaultConstraints.end(); ++_iter1221)
+    std::vector<SQLDefaultConstraint> ::const_iterator _iter1209;
+    for (_iter1209 = this->defaultConstraints.begin(); _iter1209 != this->defaultConstraints.end(); ++_iter1209)
     {
-      xfer += (*_iter1221).write(oprot);
+      xfer += (*_iter1209).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4717,10 +4717,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_pargs::write(::apache
   xfer += oprot->writeFieldBegin("primaryKeys", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->primaryKeys)).size()));
-    std::vector<SQLPrimaryKey> ::const_iterator _iter1222;
-    for (_iter1222 = (*(this->primaryKeys)).begin(); _iter1222 != (*(this->primaryKeys)).end(); ++_iter1222)
+    std::vector<SQLPrimaryKey> ::const_iterator _iter1210;
+    for (_iter1210 = (*(this->primaryKeys)).begin(); _iter1210 != (*(this->primaryKeys)).end(); ++_iter1210)
     {
-      xfer += (*_iter1222).write(oprot);
+      xfer += (*_iter1210).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4729,10 +4729,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_pargs::write(::apache
   xfer += oprot->writeFieldBegin("foreignKeys", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->foreignKeys)).size()));
-    std::vector<SQLForeignKey> ::const_iterator _iter1223;
-    for (_iter1223 = (*(this->foreignKeys)).begin(); _iter1223 != (*(this->foreignKeys)).end(); ++_iter1223)
+    std::vector<SQLForeignKey> ::const_iterator _iter1211;
+    for (_iter1211 = (*(this->foreignKeys)).begin(); _iter1211 != (*(this->foreignKeys)).end(); ++_iter1211)
     {
-      xfer += (*_iter1223).write(oprot);
+      xfer += (*_iter1211).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4741,10 +4741,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_pargs::write(::apache
   xfer += oprot->writeFieldBegin("uniqueConstraints", ::apache::thrift::protocol::T_LIST, 4);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->uniqueConstraints)).size()));
-    std::vector<SQLUniqueConstraint> ::const_iterator _iter1224;
-    for (_iter1224 = (*(this->uniqueConstraints)).begin(); _iter1224 != (*(this->uniqueConstraints)).end(); ++_iter1224)
+    std::vector<SQLUniqueConstraint> ::const_iterator _iter1212;
+    for (_iter1212 = (*(this->uniqueConstraints)).begin(); _iter1212 != (*(this->uniqueConstraints)).end(); ++_iter1212)
     {
-      xfer += (*_iter1224).write(oprot);
+      xfer += (*_iter1212).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4753,10 +4753,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_pargs::write(::apache
   xfer += oprot->writeFieldBegin("notNullConstraints", ::apache::thrift::protocol::T_LIST, 5);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->notNullConstraints)).size()));
-    std::vector<SQLNotNullConstraint> ::const_iterator _iter1225;
-    for (_iter1225 = (*(this->notNullConstraints)).begin(); _iter1225 != (*(this->notNullConstraints)).end(); ++_iter1225)
+    std::vector<SQLNotNullConstraint> ::const_iterator _iter1213;
+    for (_iter1213 = (*(this->notNullConstraints)).begin(); _iter1213 != (*(this->notNullConstraints)).end(); ++_iter1213)
     {
-      xfer += (*_iter1225).write(oprot);
+      xfer += (*_iter1213).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -4765,10 +4765,10 @@ uint32_t ThriftHiveMetastore_create_table_with_constraints_pargs::write(::apache
   xfer += oprot->writeFieldBegin("defaultConstraints", ::apache::thrift::protocol::T_LIST, 6);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->defaultConstraints)).size()));
-    std::vector<SQLDefaultConstraint> ::const_iterator _iter1226;
-    for (_iter1226 = (*(this->defaultConstraints)).begin(); _iter1226 != (*(this->defaultConstraints)).end(); ++_iter1226)
+    std::vector<SQLDefaultConstraint> ::const_iterator _iter1214;
+    for (_iter1214 = (*(this->defaultConstraints)).begin(); _iter1214 != (*(this->defaultConstraints)).end(); ++_iter1214)
     {
-      xfer += (*_iter1226).write(oprot);
+      xfer += (*_iter1214).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -6729,14 +6729,14 @@ uint32_t ThriftHiveMetastore_truncate_table_args::read(::apache::thrift::protoco
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->partNames.clear();
-            uint32_t _size1227;
-            ::apache::thrift::protocol::TType _etype1230;
-            xfer += iprot->readListBegin(_etype1230, _size1227);
-            this->partNames.resize(_size1227);
-            uint32_t _i1231;
-            for (_i1231 = 0; _i1231 < _size1227; ++_i1231)
+            uint32_t _size1215;
+            ::apache::thrift::protocol::TType _etype1218;
+            xfer += iprot->readListBegin(_etype1218, _size1215);
+            this->partNames.resize(_size1215);
+            uint32_t _i1219;
+            for (_i1219 = 0; _i1219 < _size1215; ++_i1219)
             {
-              xfer += iprot->readString(this->partNames[_i1231]);
+              xfer += iprot->readString(this->partNames[_i1219]);
             }
             xfer += iprot->readListEnd();
           }
@@ -6773,10 +6773,10 @@ uint32_t ThriftHiveMetastore_truncate_table_args::write(::apache::thrift::protoc
   xfer += oprot->writeFieldBegin("partNames", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->partNames.size()));
-    std::vector<std::string> ::const_iterator _iter1232;
-    for (_iter1232 = this->partNames.begin(); _iter1232 != this->partNames.end(); ++_iter1232)
+    std::vector<std::string> ::const_iterator _iter1220;
+    for (_iter1220 = this->partNames.begin(); _iter1220 != this->partNames.end(); ++_iter1220)
     {
-      xfer += oprot->writeString((*_iter1232));
+      xfer += oprot->writeString((*_iter1220));
     }
     xfer += oprot->writeListEnd();
   }
@@ -6808,10 +6808,10 @@ uint32_t ThriftHiveMetastore_truncate_table_pargs::write(::apache::thrift::proto
   xfer += oprot->writeFieldBegin("partNames", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->partNames)).size()));
-    std::vector<std::string> ::const_iterator _iter1233;
-    for (_iter1233 = (*(this->partNames)).begin(); _iter1233 != (*(this->partNames)).end(); ++_iter1233)
+    std::vector<std::string> ::const_iterator _iter1221;
+    for (_iter1221 = (*(this->partNames)).begin(); _iter1221 != (*(this->partNames)).end(); ++_iter1221)
     {
-      xfer += oprot->writeString((*_iter1233));
+      xfer += oprot->writeString((*_iter1221));
     }
     xfer += oprot->writeListEnd();
   }
@@ -7055,14 +7055,14 @@ uint32_t ThriftHiveMetastore_get_tables_result::read(::apache::thrift::protocol:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1234;
-            ::apache::thrift::protocol::TType _etype1237;
-            xfer += iprot->readListBegin(_etype1237, _size1234);
-            this->success.resize(_size1234);
-            uint32_t _i1238;
-            for (_i1238 = 0; _i1238 < _size1234; ++_i1238)
+            uint32_t _size1222;
+            ::apache::thrift::protocol::TType _etype1225;
+            xfer += iprot->readListBegin(_etype1225, _size1222);
+            this->success.resize(_size1222);
+            uint32_t _i1226;
+            for (_i1226 = 0; _i1226 < _size1222; ++_i1226)
             {
-              xfer += iprot->readString(this->success[_i1238]);
+              xfer += iprot->readString(this->success[_i1226]);
             }
             xfer += iprot->readListEnd();
           }
@@ -7101,10 +7101,10 @@ uint32_t ThriftHiveMetastore_get_tables_result::write(::apache::thrift::protocol
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter1239;
-      for (_iter1239 = this->success.begin(); _iter1239 != this->success.end(); ++_iter1239)
+      std::vector<std::string> ::const_iterator _iter1227;
+      for (_iter1227 = this->success.begin(); _iter1227 != this->success.end(); ++_iter1227)
       {
-        xfer += oprot->writeString((*_iter1239));
+        xfer += oprot->writeString((*_iter1227));
       }
       xfer += oprot->writeListEnd();
     }
@@ -7149,14 +7149,14 @@ uint32_t ThriftHiveMetastore_get_tables_presult::read(::apache::thrift::protocol
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1240;
-            ::apache::thrift::protocol::TType _etype1243;
-            xfer += iprot->readListBegin(_etype1243, _size1240);
-            (*(this->success)).resize(_size1240);
-            uint32_t _i1244;
-            for (_i1244 = 0; _i1244 < _size1240; ++_i1244)
+            uint32_t _size1228;
+            ::apache::thrift::protocol::TType _etype1231;
+            xfer += iprot->readListBegin(_etype1231, _size1228);
+            (*(this->success)).resize(_size1228);
+            uint32_t _i1232;
+            for (_i1232 = 0; _i1232 < _size1228; ++_i1232)
             {
-              xfer += iprot->readString((*(this->success))[_i1244]);
+              xfer += iprot->readString((*(this->success))[_i1232]);
             }
             xfer += iprot->readListEnd();
           }
@@ -7326,14 +7326,14 @@ uint32_t ThriftHiveMetastore_get_tables_by_type_result::read(::apache::thrift::p
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1245;
-            ::apache::thrift::protocol::TType _etype1248;
-            xfer += iprot->readListBegin(_etype1248, _size1245);
-            this->success.resize(_size1245);
-            uint32_t _i1249;
-            for (_i1249 = 0; _i1249 < _size1245; ++_i1249)
+            uint32_t _size1233;
+            ::apache::thrift::protocol::TType _etype1236;
+            xfer += iprot->readListBegin(_etype1236, _size1233);
+            this->success.resize(_size1233);
+            uint32_t _i1237;
+            for (_i1237 = 0; _i1237 < _size1233; ++_i1237)
             {
-              xfer += iprot->readString(this->success[_i1249]);
+              xfer += iprot->readString(this->success[_i1237]);
             }
             xfer += iprot->readListEnd();
           }
@@ -7372,10 +7372,10 @@ uint32_t ThriftHiveMetastore_get_tables_by_type_result::write(::apache::thrift::
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter1250;
-      for (_iter1250 = this->success.begin(); _iter1250 != this->success.end(); ++_iter1250)
+      std::vector<std::string> ::const_iterator _iter1238;
+      for (_iter1238 = this->success.begin(); _iter1238 != this->success.end(); ++_iter1238)
       {
-        xfer += oprot->writeString((*_iter1250));
+        xfer += oprot->writeString((*_iter1238));
       }
       xfer += oprot->writeListEnd();
     }
@@ -7420,14 +7420,14 @@ uint32_t ThriftHiveMetastore_get_tables_by_type_presult::read(::apache::thrift::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1251;
-            ::apache::thrift::protocol::TType _etype1254;
-            xfer += iprot->readListBegin(_etype1254, _size1251);
-            (*(this->success)).resize(_size1251);
-            uint32_t _i1255;
-            for (_i1255 = 0; _i1255 < _size1251; ++_i1255)
+            uint32_t _size1239;
+            ::apache::thrift::protocol::TType _etype1242;
+            xfer += iprot->readListBegin(_etype1242, _size1239);
+            (*(this->success)).resize(_size1239);
+            uint32_t _i1243;
+            for (_i1243 = 0; _i1243 < _size1239; ++_i1243)
             {
-              xfer += iprot->readString((*(this->success))[_i1255]);
+              xfer += iprot->readString((*(this->success))[_i1243]);
             }
             xfer += iprot->readListEnd();
           }
@@ -7565,14 +7565,14 @@ uint32_t ThriftHiveMetastore_get_materialized_views_for_rewriting_result::read(:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1256;
-            ::apache::thrift::protocol::TType _etype1259;
-            xfer += iprot->readListBegin(_etype1259, _size1256);
-            this->success.resize(_size1256);
-            uint32_t _i1260;
-            for (_i1260 = 0; _i1260 < _size1256; ++_i1260)
+            uint32_t _size1244;
+            ::apache::thrift::protocol::TType _etype1247;
+            xfer += iprot->readListBegin(_etype1247, _size1244);
+            this->success.resize(_size1244);
+            uint32_t _i1248;
+            for (_i1248 = 0; _i1248 < _size1244; ++_i1248)
             {
-              xfer += iprot->readString(this->success[_i1260]);
+              xfer += iprot->readString(this->success[_i1248]);
             }
             xfer += iprot->readListEnd();
           }
@@ -7611,10 +7611,10 @@ uint32_t ThriftHiveMetastore_get_materialized_views_for_rewriting_result::write(
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter1261;
-      for (_iter1261 = this->success.begin(); _iter1261 != this->success.end(); ++_iter1261)
+      std::vector<std::string> ::const_iterator _iter1249;
+      for (_iter1249 = this->success.begin(); _iter1249 != this->success.end(); ++_iter1249)
       {
-        xfer += oprot->writeString((*_iter1261));
+        xfer += oprot->writeString((*_iter1249));
       }
       xfer += oprot->writeListEnd();
     }
@@ -7659,14 +7659,14 @@ uint32_t ThriftHiveMetastore_get_materialized_views_for_rewriting_presult::read(
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1262;
-            ::apache::thrift::protocol::TType _etype1265;
-            xfer += iprot->readListBegin(_etype1265, _size1262);
-            (*(this->success)).resize(_size1262);
-            uint32_t _i1266;
-            for (_i1266 = 0; _i1266 < _size1262; ++_i1266)
+            uint32_t _size1250;
+            ::apache::thrift::protocol::TType _etype1253;
+            xfer += iprot->readListBegin(_etype1253, _size1250);
+            (*(this->success)).resize(_size1250);
+            uint32_t _i1254;
+            for (_i1254 = 0; _i1254 < _size1250; ++_i1254)
             {
-              xfer += iprot->readString((*(this->success))[_i1266]);
+              xfer += iprot->readString((*(this->success))[_i1254]);
             }
             xfer += iprot->readListEnd();
           }
@@ -7741,14 +7741,14 @@ uint32_t ThriftHiveMetastore_get_table_meta_args::read(::apache::thrift::protoco
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->tbl_types.clear();
-            uint32_t _size1267;
-            ::apache::thrift::protocol::TType _etype1270;
-            xfer += iprot->readListBegin(_etype1270, _size1267);
-            this->tbl_types.resize(_size1267);
-            uint32_t _i1271;
-            for (_i1271 = 0; _i1271 < _size1267; ++_i1271)
+            uint32_t _size1255;
+            ::apache::thrift::protocol::TType _etype1258;
+            xfer += iprot->readListBegin(_etype1258, _size1255);
+            this->tbl_types.resize(_size1255);
+            uint32_t _i1259;
+            for (_i1259 = 0; _i1259 < _size1255; ++_i1259)
             {
-              xfer += iprot->readString(this->tbl_types[_i1271]);
+              xfer += iprot->readString(this->tbl_types[_i1259]);
             }
             xfer += iprot->readListEnd();
           }
@@ -7785,10 +7785,10 @@ uint32_t ThriftHiveMetastore_get_table_meta_args::write(::apache::thrift::protoc
   xfer += oprot->writeFieldBegin("tbl_types", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->tbl_types.size()));
-    std::vector<std::string> ::const_iterator _iter1272;
-    for (_iter1272 = this->tbl_types.begin(); _iter1272 != this->tbl_types.end(); ++_iter1272)
+    std::vector<std::string> ::const_iterator _iter1260;
+    for (_iter1260 = this->tbl_types.begin(); _iter1260 != this->tbl_types.end(); ++_iter1260)
     {
-      xfer += oprot->writeString((*_iter1272));
+      xfer += oprot->writeString((*_iter1260));
     }
     xfer += oprot->writeListEnd();
   }
@@ -7820,10 +7820,10 @@ uint32_t ThriftHiveMetastore_get_table_meta_pargs::write(::apache::thrift::proto
   xfer += oprot->writeFieldBegin("tbl_types", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->tbl_types)).size()));
-    std::vector<std::string> ::const_iterator _iter1273;
-    for (_iter1273 = (*(this->tbl_types)).begin(); _iter1273 != (*(this->tbl_types)).end(); ++_iter1273)
+    std::vector<std::string> ::const_iterator _iter1261;
+    for (_iter1261 = (*(this->tbl_types)).begin(); _iter1261 != (*(this->tbl_types)).end(); ++_iter1261)
     {
-      xfer += oprot->writeString((*_iter1273));
+      xfer += oprot->writeString((*_iter1261));
     }
     xfer += oprot->writeListEnd();
   }
@@ -7864,14 +7864,14 @@ uint32_t ThriftHiveMetastore_get_table_meta_result::read(::apache::thrift::proto
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1274;
-            ::apache::thrift::protocol::TType _etype1277;
-            xfer += iprot->readListBegin(_etype1277, _size1274);
-            this->success.resize(_size1274);
-            uint32_t _i1278;
-            for (_i1278 = 0; _i1278 < _size1274; ++_i1278)
+            uint32_t _size1262;
+            ::apache::thrift::protocol::TType _etype1265;
+            xfer += iprot->readListBegin(_etype1265, _size1262);
+            this->success.resize(_size1262);
+            uint32_t _i1266;
+            for (_i1266 = 0; _i1266 < _size1262; ++_i1266)
             {
-              xfer += this->success[_i1278].read(iprot);
+              xfer += this->success[_i1266].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -7910,10 +7910,10 @@ uint32_t ThriftHiveMetastore_get_table_meta_result::write(::apache::thrift::prot
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector<TableMeta> ::const_iterator _iter1279;
-      for (_iter1279 = this->success.begin(); _iter1279 != this->success.end(); ++_iter1279)
+      std::vector<TableMeta> ::const_iterator _iter1267;
+      for (_iter1267 = this->success.begin(); _iter1267 != this->success.end(); ++_iter1267)
       {
-        xfer += (*_iter1279).write(oprot);
+        xfer += (*_iter1267).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -7958,14 +7958,14 @@ uint32_t ThriftHiveMetastore_get_table_meta_presult::read(::apache::thrift::prot
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1280;
-            ::apache::thrift::protocol::TType _etype1283;
-            xfer += iprot->readListBegin(_etype1283, _size1280);
-            (*(this->success)).resize(_size1280);
-            uint32_t _i1284;
-            for (_i1284 = 0; _i1284 < _size1280; ++_i1284)
+            uint32_t _size1268;
+            ::apache::thrift::protocol::TType _etype1271;
+            xfer += iprot->readListBegin(_etype1271, _size1268);
+            (*(this->success)).resize(_size1268);
+            uint32_t _i1272;
+            for (_i1272 = 0; _i1272 < _size1268; ++_i1272)
             {
-              xfer += (*(this->success))[_i1284].read(iprot);
+              xfer += (*(this->success))[_i1272].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -8103,14 +8103,14 @@ uint32_t ThriftHiveMetastore_get_all_tables_result::read(::apache::thrift::proto
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1285;
-            ::apache::thrift::protocol::TType _etype1288;
-            xfer += iprot->readListBegin(_etype1288, _size1285);
-            this->success.resize(_size1285);
-            uint32_t _i1289;
-            for (_i1289 = 0; _i1289 < _size1285; ++_i1289)
+            uint32_t _size1273;
+            ::apache::thrift::protocol::TType _etype1276;
+            xfer += iprot->readListBegin(_etype1276, _size1273);
+            this->success.resize(_size1273);
+            uint32_t _i1277;
+            for (_i1277 = 0; _i1277 < _size1273; ++_i1277)
             {
-              xfer += iprot->readString(this->success[_i1289]);
+              xfer += iprot->readString(this->success[_i1277]);
             }
             xfer += iprot->readListEnd();
           }
@@ -8149,10 +8149,10 @@ uint32_t ThriftHiveMetastore_get_all_tables_result::write(::apache::thrift::prot
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter1290;
-      for (_iter1290 = this->success.begin(); _iter1290 != this->success.end(); ++_iter1290)
+      std::vector<std::string> ::const_iterator _iter1278;
+      for (_iter1278 = this->success.begin(); _iter1278 != this->success.end(); ++_iter1278)
       {
-        xfer += oprot->writeString((*_iter1290));
+        xfer += oprot->writeString((*_iter1278));
       }
       xfer += oprot->writeListEnd();
     }
@@ -8197,14 +8197,14 @@ uint32_t ThriftHiveMetastore_get_all_tables_presult::read(::apache::thrift::prot
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1291;
-            ::apache::thrift::protocol::TType _etype1294;
-            xfer += iprot->readListBegin(_etype1294, _size1291);
-            (*(this->success)).resize(_size1291);
-            uint32_t _i1295;
-            for (_i1295 = 0; _i1295 < _size1291; ++_i1295)
+            uint32_t _size1279;
+            ::apache::thrift::protocol::TType _etype1282;
+            xfer += iprot->readListBegin(_etype1282, _size1279);
+            (*(this->success)).resize(_size1279);
+            uint32_t _i1283;
+            for (_i1283 = 0; _i1283 < _size1279; ++_i1283)
             {
-              xfer += iprot->readString((*(this->success))[_i1295]);
+              xfer += iprot->readString((*(this->success))[_i1283]);
             }
             xfer += iprot->readListEnd();
           }
@@ -8514,14 +8514,14 @@ uint32_t ThriftHiveMetastore_get_table_objects_by_name_args::read(::apache::thri
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->tbl_names.clear();
-            uint32_t _size1296;
-            ::apache::thrift::protocol::TType _etype1299;
-            xfer += iprot->readListBegin(_etype1299, _size1296);
-            this->tbl_names.resize(_size1296);
-            uint32_t _i1300;
-            for (_i1300 = 0; _i1300 < _size1296; ++_i1300)
+            uint32_t _size1284;
+            ::apache::thrift::protocol::TType _etype1287;
+            xfer += iprot->readListBegin(_etype1287, _size1284);
+            this->tbl_names.resize(_size1284);
+            uint32_t _i1288;
+            for (_i1288 = 0; _i1288 < _size1284; ++_i1288)
             {
-              xfer += iprot->readString(this->tbl_names[_i1300]);
+              xfer += iprot->readString(this->tbl_names[_i1288]);
             }
             xfer += iprot->readListEnd();
           }
@@ -8554,10 +8554,10 @@ uint32_t ThriftHiveMetastore_get_table_objects_by_name_args::write(::apache::thr
   xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->tbl_names.size()));
-    std::vector<std::string> ::const_iterator _iter1301;
-    for (_iter1301 = this->tbl_names.begin(); _iter1301 != this->tbl_names.end(); ++_iter1301)
+    std::vector<std::string> ::const_iterator _iter1289;
+    for (_iter1289 = this->tbl_names.begin(); _iter1289 != this->tbl_names.end(); ++_iter1289)
     {
-      xfer += oprot->writeString((*_iter1301));
+      xfer += oprot->writeString((*_iter1289));
     }
     xfer += oprot->writeListEnd();
   }
@@ -8585,10 +8585,10 @@ uint32_t ThriftHiveMetastore_get_table_objects_by_name_pargs::write(::apache::th
   xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->tbl_names)).size()));
-    std::vector<std::string> ::const_iterator _iter1302;
-    for (_iter1302 = (*(this->tbl_names)).begin(); _iter1302 != (*(this->tbl_names)).end(); ++_iter1302)
+    std::vector<std::string> ::const_iterator _iter1290;
+    for (_iter1290 = (*(this->tbl_names)).begin(); _iter1290 != (*(this->tbl_names)).end(); ++_iter1290)
     {
-      xfer += oprot->writeString((*_iter1302));
+      xfer += oprot->writeString((*_iter1290));
     }
     xfer += oprot->writeListEnd();
   }
@@ -8629,14 +8629,14 @@ uint32_t ThriftHiveMetastore_get_table_objects_by_name_result::read(::apache::th
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1303;
-            ::apache::thrift::protocol::TType _etype1306;
-            xfer += iprot->readListBegin(_etype1306, _size1303);
-            this->success.resize(_size1303);
-            uint32_t _i1307;
-            for (_i1307 = 0; _i1307 < _size1303; ++_i1307)
+            uint32_t _size1291;
+            ::apache::thrift::protocol::TType _etype1294;
+            xfer += iprot->readListBegin(_etype1294, _size1291);
+            this->success.resize(_size1291);
+            uint32_t _i1295;
+            for (_i1295 = 0; _i1295 < _size1291; ++_i1295)
             {
-              xfer += this->success[_i1307].read(iprot);
+              xfer += this->success[_i1295].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -8667,10 +8667,10 @@ uint32_t ThriftHiveMetastore_get_table_objects_by_name_result::write(::apache::t
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector<Table> ::const_iterator _iter1308;
-      for (_iter1308 = this->success.begin(); _iter1308 != this->success.end(); ++_iter1308)
+      std::vector<Table> ::const_iterator _iter1296;
+      for (_iter1296 = this->success.begin(); _iter1296 != this->success.end(); ++_iter1296)
       {
-        xfer += (*_iter1308).write(oprot);
+        xfer += (*_iter1296).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -8711,14 +8711,14 @@ uint32_t ThriftHiveMetastore_get_table_objects_by_name_presult::read(::apache::t
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1309;
-            ::apache::thrift::protocol::TType _etype1312;
-            xfer += iprot->readListBegin(_etype1312, _size1309);
-            (*(this->success)).resize(_size1309);
-            uint32_t _i1313;
-            for (_i1313 = 0; _i1313 < _size1309; ++_i1313)
+            uint32_t _size1297;
+            ::apache::thrift::protocol::TType _etype1300;
+            xfer += iprot->readListBegin(_etype1300, _size1297);
+            (*(this->success)).resize(_size1297);
+            uint32_t _i1301;
+            for (_i1301 = 0; _i1301 < _size1297; ++_i1301)
             {
-              xfer += (*(this->success))[_i1313].read(iprot);
+              xfer += (*(this->success))[_i1301].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -9251,14 +9251,14 @@ uint32_t ThriftHiveMetastore_get_materialization_invalidation_info_args::read(::
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->tbl_names.clear();
-            uint32_t _size1314;
-            ::apache::thrift::protocol::TType _etype1317;
-            xfer += iprot->readListBegin(_etype1317, _size1314);
-            this->tbl_names.resize(_size1314);
-            uint32_t _i1318;
-            for (_i1318 = 0; _i1318 < _size1314; ++_i1318)
+            uint32_t _size1302;
+            ::apache::thrift::protocol::TType _etype1305;
+            xfer += iprot->readListBegin(_etype1305, _size1302);
+            this->tbl_names.resize(_size1302);
+            uint32_t _i1306;
+            for (_i1306 = 0; _i1306 < _size1302; ++_i1306)
             {
-              xfer += iprot->readString(this->tbl_names[_i1318]);
+              xfer += iprot->readString(this->tbl_names[_i1306]);
             }
             xfer += iprot->readListEnd();
           }
@@ -9291,10 +9291,10 @@ uint32_t ThriftHiveMetastore_get_materialization_invalidation_info_args::write(:
   xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->tbl_names.size()));
-    std::vector<std::string> ::const_iterator _iter1319;
-    for (_iter1319 = this->tbl_names.begin(); _iter1319 != this->tbl_names.end(); ++_iter1319)
+    std::vector<std::string> ::const_iterator _iter1307;
+    for (_iter1307 = this->tbl_names.begin(); _iter1307 != this->tbl_names.end(); ++_iter1307)
     {
-      xfer += oprot->writeString((*_iter1319));
+      xfer += oprot->writeString((*_iter1307));
     }
     xfer += oprot->writeListEnd();
   }
@@ -9322,10 +9322,10 @@ uint32_t ThriftHiveMetastore_get_materialization_invalidation_info_pargs::write(
   xfer += oprot->writeFieldBegin("tbl_names", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->tbl_names)).size()));
-    std::vector<std::string> ::const_iterator _iter1320;
-    for (_iter1320 = (*(this->tbl_names)).begin(); _iter1320 != (*(this->tbl_names)).end(); ++_iter1320)
+    std::vector<std::string> ::const_iterator _iter1308;
+    for (_iter1308 = (*(this->tbl_names)).begin(); _iter1308 != (*(this->tbl_names)).end(); ++_iter1308)
     {
-      xfer += oprot->writeString((*_iter1320));
+      xfer += oprot->writeString((*_iter1308));
     }
     xfer += oprot->writeListEnd();
   }
@@ -9366,17 +9366,17 @@ uint32_t ThriftHiveMetastore_get_materialization_invalidation_info_result::read(
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size1321;
-            ::apache::thrift::protocol::TType _ktype1322;
-            ::apache::thrift::protocol::TType _vtype1323;
-            xfer += iprot->readMapBegin(_ktype1322, _vtype1323, _size1321);
-            uint32_t _i1325;
-            for (_i1325 = 0; _i1325 < _size1321; ++_i1325)
+            uint32_t _size1309;
+            ::apache::thrift::protocol::TType _ktype1310;
+            ::apache::thrift::protocol::TType _vtype1311;
+            xfer += iprot->readMapBegin(_ktype1310, _vtype1311, _size1309);
+            uint32_t _i1313;
+            for (_i1313 = 0; _i1313 < _size1309; ++_i1313)
             {
-              std::string _key1326;
-              xfer += iprot->readString(_key1326);
-              Materialization& _val1327 = this->success[_key1326];
-              xfer += _val1327.read(iprot);
+              std::string _key1314;
+              xfer += iprot->readString(_key1314);
+              Materialization& _val1315 = this->success[_key1314];
+              xfer += _val1315.read(iprot);
             }
             xfer += iprot->readMapEnd();
           }
@@ -9431,11 +9431,11 @@ uint32_t ThriftHiveMetastore_get_materialization_invalidation_info_result::write
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string, Materialization> ::const_iterator _iter1328;
-      for (_iter1328 = this->success.begin(); _iter1328 != this->success.end(); ++_iter1328)
+      std::map<std::string, Materialization> ::const_iterator _iter1316;
+      for (_iter1316 = this->success.begin(); _iter1316 != this->success.end(); ++_iter1316)
       {
-        xfer += oprot->writeString(_iter1328->first);
-        xfer += _iter1328->second.write(oprot);
+        xfer += oprot->writeString(_iter1316->first);
+        xfer += _iter1316->second.write(oprot);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -9488,17 +9488,17 @@ uint32_t ThriftHiveMetastore_get_materialization_invalidation_info_presult::read
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size1329;
-            ::apache::thrift::protocol::TType _ktype1330;
-            ::apache::thrift::protocol::TType _vtype1331;
-            xfer += iprot->readMapBegin(_ktype1330, _vtype1331, _size1329);
-            uint32_t _i1333;
-            for (_i1333 = 0; _i1333 < _size1329; ++_i1333)
+            uint32_t _size1317;
+            ::apache::thrift::protocol::TType _ktype1318;
+            ::apache::thrift::protocol::TType _vtype1319;
+            xfer += iprot->readMapBegin(_ktype1318, _vtype1319, _size1317);
+            uint32_t _i1321;
+            for (_i1321 = 0; _i1321 < _size1317; ++_i1321)
             {
-              std::string _key1334;
-              xfer += iprot->readString(_key1334);
-              Materialization& _val1335 = (*(this->success))[_key1334];
-              xfer += _val1335.read(iprot);
+              std::string _key1322;
+              xfer += iprot->readString(_key1322);
+              Materialization& _val1323 = (*(this->success))[_key1322];
+              xfer += _val1323.read(iprot);
             }
             xfer += iprot->readMapEnd();
           }
@@ -9943,14 +9943,14 @@ uint32_t ThriftHiveMetastore_get_table_names_by_filter_result::read(::apache::th
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size1336;
-            ::apache::thrift::protocol::TType _etype1339;
-            xfer += iprot->readListBegin(_etype1339, _size1336);
-            this->success.resize(_size1336);
-            uint32_t _i1340;
-            for (_i1340 = 0; _i1340 < _size1336; ++_i1340)
+            uint32_t _size1324;
+            ::apache::thrift::protocol::TType _etype1327;
+            xfer += iprot->readListBegin(_etype1327, _size1324);
+            this->success.resize(_size1324);
+            uint32_t _i1328;
+            for (_i1328 = 0; _i1328 < _size1324; ++_i1328)
             {
-              xfer += iprot->readString(this->success[_i1340]);
+              xfer += iprot->readString(this->success[_i1328]);
             }
             xfer += iprot->readListEnd();
           }
@@ -10005,10 +10005,10 @@ uint32_t ThriftHiveMetastore_get_table_names_by_filter_result::write(::apache::t
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter1341;
-      for (_iter1341 = this->success.begin(); _iter1341 != this->success.end(); ++_iter1341)
+      std::vector<std::string> ::const_iterator _iter1329;
+      for (_iter1329 = this->success.begin(); _iter1329 != this->success.end(); ++_iter1329)
       {
-        xfer += oprot->writeString((*_iter1341));
+        xfer += oprot->writeString((*_iter1329));
       }
       xfer += oprot->writeListEnd();
     }
@@ -10061,14 +10061,14 @@ uint32_t ThriftHiveMetastore_get_table_names_by_filter_presult::read(::apache::t
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size1342;
-            ::apache::thrift::protocol::TType _etype1345;
-            xfer += iprot->readListBegin(_etype1345, _size1342);
-            (*(this->success)).resize(_size1342);
-            uint32_t _i1346;
-            for (_i1346 = 0; _i1346 < _size1342; ++_i1346)
+            uint32_t _size1330;
+            ::apache::thrift::protocol::TType _etype1333;
+            xfer += iprot->readListBegin(_etype1333, _size1330);
+            (*(this->success)).resize(_size1330);
+            uint32_t _i1334;
+            for (_i1334 = 0; _i1334 < _size1330; ++_i1334)
             {
-              xfer += iprot->readString((*(this->success))[_i1346]);
+              xfer += iprot->readString((*(this->success))[_i1334]);
             }
             xfer += iprot->readListEnd();
           }
@@ -11402,14 +11402,14 @@ uint32_t ThriftHiveMetastore_add_partitions_args::read(::apache::thrift::protoco
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->new_parts.clear();
-            uint32_t _size1347;
-            ::apache::thrift::protocol::TType _etype1350;
-            xfer += iprot->readListBegin(_etype1350, _size1347);
-            this->new_parts.resize(_size1347);
-            uint32_t _i1351;
-            for (_i1351 = 0; _i1351 < _size1347; ++_i1351)
+            uint32_t _size1335;
+            ::apache::thrift::protocol::TType _etype1338;
+            xfer += iprot->readListBegin(_etype1338, _size1335);
+            this->new_parts.resize(_size1335);
+            uint32_t _i1339;
+            for (_i1339 = 0; _i1339 < _size1335; ++_i1339)
             {
-              xfer += this->new_parts[_i1351].read(iprot);
+              xfer += this->new_parts[_i1339].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -11438,10 +11438,10 @@ uint32_t ThriftHiveMetastore_add_partitions_args::write(::apache::thrift::protoc
   xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->new_parts.size()));
-    std::vector<Partition> ::const_iterator _iter1352;
-    for (_iter1352 = this->new_parts.begin(); _iter1352 != this->new_parts.end(); ++_iter1352)
+    std::vector<Partition> ::const_iterator _iter1340;
+    for (_iter1340 = this->new_parts.begin(); _iter1340 != this->new_parts.end(); ++_iter1340)
     {
-      xfer += (*_iter1352).write(oprot);
+      xfer += (*_iter1340).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -11465,10 +11465,10 @@ uint32_t ThriftHiveMetastore_add_partitions_pargs::write(::apache::thrift::proto
   xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->new_parts)).size()));
-    std::vector<Partition> ::const_iterator _iter1353;
-    for (_iter1353 = (*(this->new_parts)).begin(); _iter1353 != (*(this->new_parts)).end(); ++_iter1353)
+    std::vector<Partition> ::const_iterator _iter1341;
+    for (_iter1341 = (*(this->new_parts)).begin(); _iter1341 != (*(this->new_parts)).end(); ++_iter1341)
     {
-      xfer += (*_iter1353).write(oprot);
+      xfer += (*_iter1341).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -11677,14 +11677,14 @@ uint32_t ThriftHiveMetastore_add_partitions_pspec_args::read(::apache::thrift::p
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->new_parts.clear();
-            uint32_t _size1354;
-            ::apache::thrift::protocol::TType _etype1357;
-            xfer += iprot->readListBegin(_etype1357, _size1354);
-            this->new_parts.resize(_size1354);
-            uint32_t _i1358;
-            for (_i1358 = 0; _i1358 < _size1354; ++_i1358)
+            uint32_t _size1342;
+            ::apache::thrift::protocol::TType _etype1345;
+            xfer += iprot->readListBegin(_etype1345, _size1342);
+            this->new_parts.resize(_size1342);
+            uint32_t _i1346;
+            for (_i1346 = 0; _i1346 < _size1342; ++_i1346)
             {
-              xfer += this->new_parts[_i1358].read(iprot);
+              xfer += this->new_parts[_i1346].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -11713,10 +11713,10 @@ uint32_t ThriftHiveMetastore_add_partitions_pspec_args::write(::apache::thrift::
   xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->new_parts.size()));
-    std::vector<PartitionSpec> ::const_iterator _iter1359;
-    for (_iter1359 = this->new_parts.begin(); _iter1359 != this->new_parts.end(); ++_iter1359)
+    std::vector<PartitionSpec> ::const_iterator _iter1347;
+    for (_iter1347 = this->new_parts.begin(); _iter1347 != this->new_parts.end(); ++_iter1347)
     {
-      xfer += (*_iter1359).write(oprot);
+      xfer += (*_iter1347).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -11740,10 +11740,10 @@ uint32_t ThriftHiveMetastore_add_partitions_pspec_pargs::write(::apache::thrift:
   xfer += oprot->writeFieldBegin("new_parts", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>((*(this->new_parts)).size()));
-    std::vector<PartitionSpec> ::const_iterator _iter1360;
-    for (_iter1360 = (*(this->new_parts)).begin(); _iter1360 != (*(this->new_parts)).end(); ++_iter1360)
+    std::vector<PartitionSpec> ::const_iterator _iter1348;
+    for (_iter1348 = (*(this->new_parts)).begin(); _iter1348 != (*(this->new_parts)).end(); ++_iter1348)
     {
-      xfer += (*_iter1360).write(oprot);
+      xfer += (*_iter1348).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -11968,14 +11968,14 @@ uint32_t ThriftHiveMetastore_append_partition_args::read(::apache::thrift::proto
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->part_vals.clear();
-            uint32_t _size1361;
-            ::apache::thrift::protocol::TType _etype1364;
-            xfer += iprot->readListBegin(_etype1364, _size1361);
-            this->part_vals.resize(_size1361);
-            uint32_t _i1365;
-            for (_i1365 = 0; _i1365 < _size1361; ++_i1365)
+            uint32_t _size1349;
+            ::apache::thrift::protocol::TType _etype1352;
+            xfer += iprot->readListBegin(_etype1352, _size1349);
+            this->part_vals.resize(_size1349);
+            uint32_t _i1353;
+            for (_i1353 = 0; _i1353 < _size1349; ++_i1353)
             {
-              xfer += iprot->readString(this->part_vals[_i1365]);
+              xfer += iprot->readString(this->part_vals[_i1353]);
             }
             xfer += iprot->readListEnd();
           }
@@ -12012,10 +12012,10 @@ uint32_t ThriftHiveMetastore_append_partition_args::write(::apache::thrift::prot
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
-    std::vector<std::string> ::const_iterator _iter1366;
-    for (_iter1366 = this->part_vals.begin(); _iter1366 != this->part_vals.end(); ++_iter1366)
+    std::vector<std::string> ::const_iterator _iter1354;
+    for (_iter1354 = this->part_vals.begin(); _iter1354 != this->part_vals.end(); ++_iter1354)
     {
-      xfer += oprot->writeString((*_iter1366));
+      xfer += oprot->writeString((*_iter1354));
     }
     xfer += oprot->writeListEnd();
   }
@@ -12047,10 +12047,10 @@ uint32_t ThriftHiveMetastore_append_partition_pargs::write(::apache::thrift::pro
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
-    std::vector<std::string> ::const_iterator _iter1367;
-    for (_iter1367 = (*(this->part_vals)).begin(); _iter1367 != (*(this->part_vals)).end(); ++_iter1367)
+    std::vector<std::string> ::const_iterator _iter1355;
+    for (_iter1355 = (*(this->part_vals)).begin(); _iter1355 != (*(this->part_vals)).end(); ++_iter1355)
     {
-      xfer += oprot->writeString((*_iter1367));
+      xfer += oprot->writeString((*_iter1355));
     }
     xfer += oprot->writeListEnd();
   }
@@ -12522,14 +12522,14 @@ uint32_t ThriftHiveMetastore_append_partition_with_environment_context_args::rea
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->part_vals.clear();
-            uint32_t _size1368;
-            ::apache::thrift::protocol::TType _etype1371;
-            xfer += iprot->readListBegin(_etype1371, _size1368);
-            this->part_vals.resize(_size1368);
-            uint32_t _i1372;
-            for (_i1372 = 0; _i1372 < _size1368; ++_i1372)
+            uint32_t _size1356;
+            ::apache::thrift::protocol::TType _etype1359;
+            xfer += iprot->readListBegin(_etype1359, _size1356);
+            this->part_vals.resize(_size1356);
+            uint32_t _i1360;
+            for (_i1360 = 0; _i1360 < _size1356; ++_i1360)
             {
-              xfer += iprot->readString(this->part_vals[_i1372]);
+              xfer += iprot->readString(this->part_vals[_i1360]);
             }
             xfer += iprot->readListEnd();
           }
@@ -12574,10 +12574,10 @@ uint32_t ThriftHiveMetastore_append_partition_with_environment_context_args::wri
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
-    std::vector<std::string> ::const_iterator _iter1373;
-    for (_iter1373 = this->part_vals.begin(); _iter1373 != this->part_vals.end(); ++_iter1373)
+    std::vector<std::string> ::const_iterator _iter1361;
+    for (_iter1361 = this->part_vals.begin(); _iter1361 != this->part_vals.end(); ++_iter1361)
     {
-      xfer += oprot->writeString((*_iter1373));
+      xfer += oprot->writeString((*_iter1361));
     }
     xfer += oprot->writeListEnd();
   }
@@ -12613,10 +12613,10 @@ uint32_t ThriftHiveMetastore_append_partition_with_environment_context_pargs::wr
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
-    std::vector<std::string> ::const_iterator _iter1374;
-    for (_iter1374 = (*(this->part_vals)).begin(); _iter1374 != (*(this->part_vals)).end(); ++_iter1374)
+    std::vector<std::string> ::const_iterator _iter1362;
+    for (_iter1362 = (*(this->part_vals)).begin(); _iter1362 != (*(this->part_vals)).end(); ++_iter1362)
     {
-      xfer += oprot->writeString((*_iter1374));
+      xfer += oprot->writeString((*_iter1362));
     }
     xfer += oprot->writeListEnd();
   }
@@ -13419,14 +13419,14 @@ uint32_t ThriftHiveMetastore_drop_partition_args::read(::apache::thrift::protoco
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->part_vals.clear();
-            uint32_t _size1375;
-            ::apache::thrift::protocol::TType _etype1378;
-            xfer += iprot->readListBegin(_etype1378, _size1375);
-            this->part_vals.resize(_size1375);
-            uint32_t _i1379;
-            for (_i1379 = 0; _i1379 < _size1375; ++_i1379)
+            uint32_t _size1363;
+            ::apache::thrift::protocol::TType _etype1366;
+            xfer += iprot->readListBegin(_etype1366, _size1363);
+            this->part_vals.resize(_size1363);
+            uint32_t _i1367;
+            for (_i1367 = 0; _i1367 < _size1363; ++_i1367)
             {
-              xfer += iprot->readString(this->part_vals[_i1379]);
+              xfer += iprot->readString(this->part_vals[_i1367]);
             }
             xfer += iprot->readListEnd();
           }
@@ -13471,10 +13471,10 @@ uint32_t ThriftHiveMetastore_drop_partition_args::write(::apache::thrift::protoc
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
-    std::vector<std::string> ::const_iterator _iter1380;
-    for (_iter1380 = this->part_vals.begin(); _iter1380 != this->part_vals.end(); ++_iter1380)
+    std::vector<std::string> ::const_iterator _iter1368;
+    for (_iter1368 = this->part_vals.begin(); _iter1368 != this->part_vals.end(); ++_iter1368)
     {
-      xfer += oprot->writeString((*_iter1380));
+      xfer += oprot->writeString((*_iter1368));
     }
     xfer += oprot->writeListEnd();
   }
@@ -13510,10 +13510,10 @@ uint32_t ThriftHiveMetastore_drop_partition_pargs::write(::apache::thrift::proto
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
-    std::vector<std::string> ::const_iterator _iter1381;
-    for (_iter1381 = (*(this->part_vals)).begin(); _iter1381 != (*(this->part_vals)).end(); ++_iter1381)
+    std::vector<std::string> ::const_iterator _iter1369;
+    for (_iter1369 = (*(this->part_vals)).begin(); _iter1369 != (*(this->part_vals)).end(); ++_iter1369)
     {
-      xfer += oprot->writeString((*_iter1381));
+      xfer += oprot->writeString((*_iter1369));
     }
     xfer += oprot->writeListEnd();
   }
@@ -13722,14 +13722,14 @@ uint32_t ThriftHiveMetastore_drop_partition_with_environment_context_args::read(
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->part_vals.clear();
-            uint32_t _size1382;
-            ::apache::thrift::protocol::TType _etype1385;
-            xfer += iprot->readListBegin(_etype1385, _size1382);
-            this->part_vals.resize(_size1382);
-            uint32_t _i1386;
-            for (_i1386 = 0; _i1386 < _size1382; ++_i1386)
+            uint32_t _size1370;
+            ::apache::thrift::protocol::TType _etype1373;
+            xfer += iprot->readListBegin(_etype1373, _size1370);
+            this->part_vals.resize(_size1370);
+            uint32_t _i1374;
+            for (_i1374 = 0; _i1374 < _size1370; ++_i1374)
             {
-              xfer += iprot->readString(this->part_vals[_i1386]);
+              xfer += iprot->readString(this->part_vals[_i1374]);
             }
             xfer += iprot->readListEnd();
           }
@@ -13782,10 +13782,10 @@ uint32_t ThriftHiveMetastore_drop_partition_with_environment_context_args::write
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
-    std::vector<std::string> ::const_iterator _iter1387;
-    for (_iter1387 = this->part_vals.begin(); _iter1387 != this->part_vals.end(); ++_iter1387)
+    std::vector<std::string> ::const_iterator _iter1375;
+    for (_iter1375 = this->part_vals.begin(); _iter1375 != this->part_vals.end(); ++_iter1375)
     {
-      xfer += oprot->writeString((*_iter1387));
+      xfer += oprot->writeString((*_iter1375));
     }
     xfer += oprot->writeListEnd();
   }
@@ -13825,10 +13825,10 @@ uint32_t ThriftHiveMetastore_drop_partition_with_environment_context_pargs::writ
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
-    std::vector<std::string> ::const_iterator _iter1388;
-    for (_iter1388 = (*(this->part_vals)).begin(); _iter1388 != (*(this->part_vals)).end(); ++_iter1388)
+    std::vector<std::string> ::const_iterator _iter1376;
+    for (_iter1376 = (*(this->part_vals)).begin(); _iter1376 != (*(this->part_vals)).end(); ++_iter1376)
     {
-      xfer += oprot->writeString((*_iter1388));
+      xfer += oprot->writeString((*_iter1376));
     }
     xfer += oprot->writeListEnd();
   }
@@ -14834,14 +14834,14 @@ uint32_t ThriftHiveMetastore_get_partition_args::read(::apache::thrift::protocol
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->part_vals.clear();
-            uint32_t _size1389;
-            ::apache::thrift::protocol::TType _etype1392;
-            xfer += iprot->readListBegin(_etype1392, _size1389);
-            this->part_vals.resize(_size1389);
-            uint32_t _i1393;
-            for (_i1393 = 0; _i1393 < _size1389; ++_i1393)
+            uint32_t _size1377;
+            ::apache::thrift::protocol::TType _etype1380;
+            xfer += iprot->readListBegin(_etype1380, _size1377);
+            this->part_vals.resize(_size1377);
+            uint32_t _i1381;
+            for (_i1381 = 0; _i1381 < _size1377; ++_i1381)
             {
-              xfer += iprot->readString(this->part_vals[_i1393]);
+              xfer += iprot->readString(this->part_vals[_i1381]);
             }
             xfer += iprot->readListEnd();
           }
@@ -14878,10 +14878,10 @@ uint32_t ThriftHiveMetastore_get_partition_args::write(::apache::thrift::protoco
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->part_vals.size()));
-    std::vector<std::string> ::const_iterator _iter1394;
-    for (_iter1394 = this->part_vals.begin(); _iter1394 != this->part_vals.end(); ++_iter1394)
+    std::vector<std::string> ::const_iterator _iter1382;
+    for (_iter1382 = this->part_vals.begin(); _iter1382 != this->part_vals.end(); ++_iter1382)
     {
-      xfer += oprot->writeString((*_iter1394));
+      xfer += oprot->writeString((*_iter1382));
     }
     xfer += oprot->writeListEnd();
   }
@@ -14913,10 +14913,10 @@ uint32_t ThriftHiveMetastore_get_partition_pargs::write(::apache::thrift::protoc
   xfer += oprot->writeFieldBegin("part_vals", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->part_vals)).size()));
-    std::vector<std::string> ::const_iterator _iter1395;
-    for (_iter1395 = (*(this->part_vals)).begin(); _iter1395 != (*(this->part_vals)).end(); ++_iter1395)
+    std::vector<std::string> ::const_iterator _iter1383;
+    for (_iter1383 = (*(this->part_vals)).begin(); _iter1383 != (*(this->part_vals)).end(); ++_iter1383)
     {
-      xfer += oprot->writeString((*_iter1395));
+      xfer += oprot->writeString((*_iter1383));
     }
     xfer += oprot->writeListEnd();
   }
@@ -15105,17 +15105,17 @@ uint32_t ThriftHiveMetastore_exchange_partition_args::read(::apache::thrift::pro
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->partitionSpecs.clear();
-            uint32_t _size1396;
-            ::apache::thrift::protocol::TType _ktype1397;
-            ::apache::thrift::protocol::TType _vtype1398;
-            xfer += iprot->readMapBegin(_ktype1397, _vtype1398, _size1396);
-            uint32_t _i1400;
-            for (_i1400 = 0; _i1400 < _size1396; ++_i1400)
+            uint32_t _size1384;
+            ::apache::thrift::protocol::TType _ktype1385;
+            ::apache::thrift::protocol::TType _vtype1386;
+            xfer += iprot->readMapBegin(_ktype1385, _vtype1386, _size1384);
+            uint32_t _i1388;
+            for (_i1388 = 0; _i1388 < _size1384; ++_i1388)
             {
-              std::string _key1401;
-              xfer += iprot->readString(_key1401);
-              std::string& _val1402 = this->partitionSpecs[_key1401];
-              xfer += iprot->readString(_val1402);
+              std::string _key1389;
+              xfer += iprot->readString(_key1389);
+              std::string& _val1390 = this->partitionSpecs[_key1389];
+              xfer += iprot->readString(_val1390);
             }
             xfer += iprot->readMapEnd();
           }
@@ -15176,11 +15176,11 @@ uint32_t ThriftHiveMetastore_exchange_partition_args::write(::apache::thrift::pr
   xfer += oprot->writeFieldBegin("partitionSpecs", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->partitionSpecs.size()));
-    std::map<std::string, std::string> ::const_iterator _iter1403;
-    for (_iter1403 = this->partitionSpecs.begin(); _iter1403 != this->partitionSpecs.end(); ++_iter1403)
+    std::map<std::string, std::string> ::const_iterator _iter1391;
+    for (_iter1391 = this->partitionSpecs.begin(); _iter1391 != this->partitionSpecs.end(); ++_iter1391)
     {
-      xfer += oprot->writeString(_iter1403->first);
-      xfer += oprot->writeString(_iter1403->second);
+      xfer += oprot->writeString(_iter1391->first);
+      xfer += oprot->writeString(_iter1391->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -15220,11 +15220,11 @@ uint32_t ThriftHiveMetastore_exchange_partition_pargs::write(::apache::thrift::p
   xfer += oprot->writeFieldBegin("partitionSpecs", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->partitionSpecs)).size()));
-    std::

<TRUNCATED>

[05/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
index a9d9e78..508b2c6 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListenerWithOldConf.java
@@ -18,69 +18,19 @@
 
 package org.apache.hadoop.hive.metastore;
 
-import com.google.common.collect.Lists;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.annotation.MetastoreUnitTest;
-import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.api.Partition;
-import org.apache.hadoop.hive.metastore.api.PartitionEventType;
-import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.PartitionBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf.ConfVars;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
-import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
-import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.ConfigChangeEvent;
-import org.apache.hadoop.hive.metastore.events.CreateDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
-import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
-import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.DropTableEvent;
-import org.apache.hadoop.hive.metastore.events.ListenerEvent;
-import org.apache.hadoop.hive.metastore.events.LoadPartitionDoneEvent;
-import org.apache.hadoop.hive.metastore.events.PreAddIndexEvent;
-import org.apache.hadoop.hive.metastore.events.PreAddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterIndexEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.PreAlterTableEvent;
-import org.apache.hadoop.hive.metastore.events.PreCreateDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.PreCreateTableEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropIndexEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.PreDropTableEvent;
-import org.apache.hadoop.hive.metastore.events.PreEventContext;
-import org.apache.hadoop.hive.metastore.events.PreLoadPartitionDoneEvent;
 import org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
 /**
  * Mostly same tests as TestMetaStoreEventListener, but using old hive conf values instead of new
  * metastore conf values.

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
index f9bd495..b7f7be92 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
@@ -29,7 +29,6 @@ import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -398,12 +397,6 @@ public class TestObjectStore {
       for (String db : dbs) {
         List<String> tbls = store.getAllTables(db);
         for (String tbl : tbls) {
-          List<Index> indexes = store.getIndexes(db, tbl, 100);
-          for (Index index : indexes) {
-            store.dropIndex(db, tbl, index.getIndexName());
-          }
-        }
-        for (String tbl : tbls) {
           Deadline.startTimer("getPartition");
           List<Partition> parts = store.getPartitions(db, tbl, 100);
           for (Partition part : parts) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java
deleted file mode 100644
index 2b8f297..0000000
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestAddAlterDropIndexes.java
+++ /dev/null
@@ -1,845 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hive.metastore.client;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.metastore.IMetaStoreClient;
-import org.apache.hadoop.hive.metastore.TableType;
-import org.apache.hadoop.hive.metastore.annotation.MetastoreCheckinTest;
-import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
-import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
-import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
-import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
-import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.api.UnknownTableException;
-import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
-import org.apache.hadoop.hive.metastore.minihms.AbstractMetaStoreService;
-import org.apache.thrift.TException;
-import org.apache.thrift.transport.TTransportException;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-/**
- * Tests for creating, altering and dropping indexes.
- */
-@RunWith(Parameterized.class)
-@Category(MetastoreCheckinTest.class)
-public class TestAddAlterDropIndexes extends MetaStoreClientTest {
-  private AbstractMetaStoreService metaStore;
-  private IMetaStoreClient client;
-
-  private static final String DB_NAME = "testindexdb";
-  private static final String TABLE_NAME = "testindextable";
-  private static final String INDEX_NAME = "testcreateindex";
-  private static final String INDEX_TABLE_NAME = TABLE_NAME + "__" + INDEX_NAME + "__";
-  private static final short MAX = -1;
-
-  public TestAddAlterDropIndexes(String name, AbstractMetaStoreService metaStore) {
-    this.metaStore = metaStore;
-  }
-
-  @Before
-  public void setUp() throws Exception {
-    // Get new client
-    client = metaStore.getClient();
-
-    // Clean up the database
-    client.dropDatabase(DB_NAME, true, true, true);
-    metaStore.cleanWarehouseDirs();
-    createDB(DB_NAME);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    try {
-      if (client != null) {
-        client.close();
-      }
-    } finally {
-      client = null;
-    }
-  }
-
-  @Test
-  public void testCreateGetAndDropIndex() throws Exception {
-
-    String indexHandlerName = "TestIndexHandlerClass";
-    String inputFormatName = "TestInputFormat";
-    String outputFormatName = "TestOutputFormat";
-    String indexParamKey = "indexParamKey";
-    String indexParamValue = "indexParamValue";
-    String sdParamKey = "indexSdParamKey";
-    String sdParamValue = "indexSdParamValue";
-    int createTime = (int) (System.currentTimeMillis() / 1000);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put(indexParamKey, indexParamValue);
-
-    createTable(DB_NAME, TABLE_NAME);
-
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(INDEX_TABLE_NAME)
-        .setCreateTime(createTime)
-        .setLastAccessTime(createTime)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .setIndexParams(params)
-        .setHandlerClass(indexHandlerName)
-        .setInputFormat(inputFormatName)
-        .setOutputFormat(outputFormatName)
-        .setSerdeName(INDEX_TABLE_NAME)
-        .addStorageDescriptorParam(sdParamKey, sdParamValue)
-        .build();
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-
-    Index resultIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    Assert.assertNotNull(resultIndex);
-    Assert.assertEquals(DB_NAME, resultIndex.getDbName());
-    Assert.assertEquals(TABLE_NAME, resultIndex.getOrigTableName());
-    Assert.assertEquals(INDEX_NAME, resultIndex.getIndexName());
-    Assert.assertEquals(INDEX_TABLE_NAME, resultIndex.getIndexTableName());
-    Assert.assertEquals(createTime, resultIndex.getLastAccessTime());
-    Assert.assertNotNull(resultIndex.getParameters());
-    Assert.assertEquals(indexParamValue, resultIndex.getParameters().get(indexParamKey));
-    Assert.assertEquals(indexHandlerName, resultIndex.getIndexHandlerClass());
-    StorageDescriptor sd = resultIndex.getSd();
-    Assert.assertNotNull(sd);
-    Map<String, FieldSchema> cols = new HashMap<>();
-    for (FieldSchema col : sd.getCols()) {
-      cols.put(col.getName(), col);
-    }
-    Assert.assertEquals(2, cols.size());
-    Assert.assertNotNull(cols.get("id"));
-    Assert.assertNotNull(cols.get("value"));
-    Assert.assertEquals("int", cols.get("id").getType());
-    Assert.assertEquals("string", cols.get("value").getType());
-    Assert.assertEquals(inputFormatName, sd.getInputFormat());
-    Assert.assertEquals(outputFormatName, sd.getOutputFormat());
-    Assert.assertEquals(INDEX_TABLE_NAME, sd.getSerdeInfo().getName());
-    Assert.assertNotNull(sd.getParameters());
-    Assert.assertEquals(sdParamValue, sd.getParameters().get(sdParamKey));
-
-    Table indexTable = client.getTable(DB_NAME, INDEX_TABLE_NAME);
-    Assert.assertNotNull(indexTable);
-    Assert.assertTrue(metaStore.isPathExists(new Path(indexTable.getSd().getLocation())));
-
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-    List<String> indexNames = client.listIndexNames(DB_NAME, TABLE_NAME, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(0, indexNames.size());
-    List<String> tableNames = client.listTableNamesByFilter(DB_NAME, "", MAX);
-    Assert.assertNotNull(tableNames);
-    Assert.assertFalse(tableNames.contains(INDEX_TABLE_NAME));
-    Assert.assertFalse(metaStore.isPathExists(new Path(indexTable.getSd().getLocation())));
-  }
-
-  // Create index tests
-
-  @Test
-  public void testCreateIndexesSameNameDifferentOrigAndIndexTables() throws Exception {
-
-    String origTableName1 = TABLE_NAME + "1";
-    String origTableName2 = TABLE_NAME + "2";
-    String indexNameTableName1 = origTableName1 + "__" + INDEX_NAME;
-    String indexNameTableName2 = origTableName2 + "__" + INDEX_NAME;
-    Table origTable1 = createTable(DB_NAME, origTableName1);
-    Table origTable2 = createTable(DB_NAME, origTableName2);
-
-    createIndex(DB_NAME, origTable1, INDEX_NAME, buildIndexTable(DB_NAME, indexNameTableName1));
-    createIndex(DB_NAME, origTable2, INDEX_NAME, buildIndexTable(DB_NAME, indexNameTableName2));
-
-    verifyIndex(DB_NAME, origTableName1, INDEX_NAME, indexNameTableName1);
-    verifyIndex(DB_NAME, origTableName2, INDEX_NAME, indexNameTableName2);
-
-    client.dropIndex(DB_NAME, origTableName1, INDEX_NAME, true);
-    client.dropIndex(DB_NAME, origTableName2, INDEX_NAME, true);
-  }
-
-  @Test
-  public void testCreateIndexStrangeCharsInName() throws Exception {
-
-    // TODO: Special character should not be allowed in index name.
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    String indexName = "§±!;@#$%^&*()_+}{|-=[]\':|?><";
-    createIndex(DB_NAME, origTable, indexName, indexTable);
-    verifyIndex(DB_NAME, TABLE_NAME, indexName, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, indexName, true);
-  }
-
-  @Test
-  public void testCreateIndexWithUpperCaseName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    String indexName = "UPPERCASE_INDEX_NAME";
-    String indexTableName = "UPPERCASE_INDEX_TABLE_NAME";
-    Table indexTable = buildIndexTable(DB_NAME, indexTableName);
-    createIndex(DB_NAME, origTable, indexName, indexTable);
-    verifyIndex(DB_NAME, TABLE_NAME, indexName.toLowerCase(), indexTableName.toLowerCase());
-    client.dropIndex(DB_NAME, TABLE_NAME, indexName, true);
-  }
-
-  @Test(expected = AlreadyExistsException.class)
-  public void testCreateIndexesWithSameOrigAndIndexTable() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexExists(DB_NAME, TABLE_NAME, INDEX_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = AlreadyExistsException.class)
-  public void testCreateIndexesWithSameNameAndOrigTableDifferentIndexTable() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    String indexTableName1 = origTable.getTableName() + "__" + INDEX_NAME + "_1";
-    String indexTableName2 = origTable.getTableName() + "__" + INDEX_NAME + "_2";
-    createIndex(DB_NAME, origTable, INDEX_NAME, buildIndexTable(DB_NAME, indexTableName1));
-    createIndex(DB_NAME, origTable, INDEX_NAME, buildIndexTable(DB_NAME, indexTableName2));
-    checkIfIndexExists(DB_NAME, TABLE_NAME, INDEX_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithExistingIndexTable() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = createTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexNullIndexTableName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, null);
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexExists(DB_NAME, TABLE_NAME, INDEX_NAME);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexEmptyIndexTableName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, "");
-    createIndex(DB_NAME, origTable, INDEX_NAME, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexesWithSameIndexTable() throws Exception {
-
-    String origTableName1 = "testindextable1";
-    String origTableName2 = "testindextable2";
-    String indexName1 = "testindex1";
-    String indexName2 = "testindex2";
-    String indexTableName = origTableName1 + "__" + indexName1;
-    Table origTable1 = createTable(DB_NAME, origTableName1);
-    Table origTable2 = createTable(DB_NAME, origTableName2);
-    Table indexTable = buildIndexTable(DB_NAME, indexTableName);
-
-    createIndex(DB_NAME, origTable1, indexName1, indexTable);
-    createIndex(DB_NAME, origTable2, indexName2, indexTable);
-
-    checkIfIndexExists(DB_NAME, origTableName1, indexName1);
-    checkIfIndexListEmpty(DB_NAME, origTableName2);
-    client.dropIndex(DB_NAME, origTableName1, indexName1, true);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithNonExistingDB() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex("nonexistingdb", origTable, INDEX_NAME, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexWithNullDBName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(null, origTable, INDEX_NAME, indexTable);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexNonExistingOrigTable() throws Exception {
-
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setOrigTableName("nonexistingtable");
-    client.createIndex(index, indexTable);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexNullOrigTable() throws Exception {
-
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setOrigTableName(null);
-    client.createIndex(index, indexTable);
-  }
-
-  @Test
-  public void testCreateIndexNullIndex() throws Exception {
-    // TODO: NPE should not be thrown.
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    try {
-      client.createIndex(null, indexTable);
-      Assert.fail("TTransportException or NullPointerException should have happened");
-    } catch (TTransportException | NullPointerException e) {
-      // Expected exception
-    }
-  }
-
-  @Test
-  public void testCreateIndexNullIndexTable() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(null)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .build();
-    client.createIndex(index, null);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithEmptyOrigTable() throws Exception {
-
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setOrigTableName("");
-    client.createIndex(index, indexTable);
-  }
-
-  @Test(expected = InvalidObjectException.class)
-  public void testCreateIndexWithEmptyDBName() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setDbName("");
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-  }
-
-  @Test(expected = MetaException.class)
-  public void testCreateIndexNullIndexName() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setIndexTableName(null);
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-  }
-
-  @Test
-  public void testCreateIndexEmptyIndexName() throws Exception {
-
-    Table origTable = createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    createIndex(DB_NAME, origTable, "", indexTable);
-    checkIfIndexExists(DB_NAME, TABLE_NAME, "");
-    client.dropIndex(DB_NAME, TABLE_NAME, "", true);
-  }
-
-  @Test
-  public void testCreateIndexWithDifferentIndexTableName() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setIndexTableName("differentindextablename");
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    client.createIndex(index, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-    List<String> tableNames = client.listTableNamesByFilter(DB_NAME, "", MAX);
-    Assert.assertNotNull(tableNames);
-    Assert.assertEquals(1, tableNames.size());
-    Assert.assertEquals(TABLE_NAME, tableNames.get(0));
-    Assert.assertTrue(metaStore.isPathExists(new Path(indexTable.getSd().getLocation())));
-  }
-
-  @Test
-  public void testCreateIndexWithDifferentDBInIndexTableAndIndex() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    String dbName = "second_index_db";
-    createDB(dbName);
-    Index index = buildIndexWithDefaultValues();
-    Table indexTable = buildIndexTable(dbName, INDEX_TABLE_NAME);
-    Assert.assertFalse(metaStore.isPathExists(new Path(indexTable.getSd().getLocation())));
-    client.createIndex(index, indexTable);
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-    checkIfIndexListEmpty(dbName, TABLE_NAME);
-    List<String> tableNames = client.listTableNamesByFilter(DB_NAME, "", MAX);
-    Assert.assertFalse(tableNames.contains(INDEX_TABLE_NAME));
-    tableNames = client.listTableNamesByFilter(dbName, "", MAX);
-    Assert.assertFalse(tableNames.contains(INDEX_TABLE_NAME));
-    Assert.assertTrue(metaStore.isPathExists(new Path(indexTable.getSd().getLocation())));
-    client.dropDatabase(dbName);
-  }
-
-  @Test
-  public void testCreateIndexDifferentColsInIndexAndIndexTable() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Table indexTable = buildIndexTable(DB_NAME, INDEX_TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(INDEX_TABLE_NAME)
-        .addCol("test_name", "string", "test col name")
-        .setDeferredRebuild(false)
-        .build();
-    client.createIndex(index, indexTable);
-
-    Index resultIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    Assert.assertNotNull(resultIndex);
-    Assert.assertEquals(INDEX_NAME, resultIndex.getIndexName());
-    Assert.assertEquals(TABLE_NAME, resultIndex.getOrigTableName());
-    Assert.assertEquals(INDEX_TABLE_NAME, resultIndex.getIndexTableName());
-    List<FieldSchema> colsInIndex = resultIndex.getSd().getCols();
-    Assert.assertEquals(1, colsInIndex.size());
-    Assert.assertEquals("test_name", colsInIndex.get(0).getName());
-
-    Table indexTableResult = client.getTable(DB_NAME, INDEX_TABLE_NAME);
-    Assert.assertNotNull(indexTableResult);
-    List<FieldSchema> colsInIndexTable = indexTableResult.getSd().getCols();
-    Assert.assertNotNull(colsInIndexTable);
-    Assert.assertEquals(2, colsInIndexTable.size());
-    Assert.assertEquals("id", colsInIndexTable.get(0).getName());
-    Assert.assertEquals("value", colsInIndexTable.get(1).getName());
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test
-  public void testCreateIndexWithNullSd() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setSd(null);
-    client.createIndex(index, buildIndexTable(DB_NAME, INDEX_TABLE_NAME));
-    checkIfIndexListEmpty(DB_NAME, TABLE_NAME);
-  }
-
-  // Drop index tests
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexInvalidDB() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    client.dropIndex("nonexistingdb", TABLE_NAME, INDEX_NAME, true);
-    verifyIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexInvalidTable() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    client.dropIndex(DB_NAME, "wrongtablename", INDEX_NAME, true);
-    verifyIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexInvalidIndex() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, "invalidindexname", true);
-    verifyIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testDropIndexNullDBName() throws Exception {
-
-    client.dropIndex(null, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testDropIndexNullTableName() throws Exception {
-
-    client.dropIndex(DB_NAME, null, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexNullIndexName() throws Exception {
-
-    client.dropIndex(DB_NAME, TABLE_NAME, null, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexEmptyDBName() throws Exception {
-
-    client.dropIndex("", TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexEmptyTableName() throws Exception {
-
-    client.dropIndex(DB_NAME, "", INDEX_NAME, true);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testDropIndexEmptyIndexName() throws Exception {
-
-    client.dropIndex(DB_NAME, TABLE_NAME, "", true);
-  }
-
-  // Alter index tests
-
-  @Test
-  public void testAlterIndex() throws Exception {
-
-    // Only index parameters are allowed to be altered
-    String indexTableName = TABLE_NAME + "__" + INDEX_NAME + "__";
-    int oldCreateTime = (int) (System.currentTimeMillis() / 1000);
-    String oldHandlerClassName = "TestHandlerClass1";
-    String oldLocation = "/index/test/path1";
-    String oldInputFormat = "org.apache.hadoop.hive.ql.io.HiveInputFormat";
-    String oldOutputFormat = "org.apache.hadoop.hive.ql.io.HiveOutputFormat";
-    String oldIndexParamKey = "indexParamKey1";
-    String oldIndexParamValue = "indexParamValue1";
-    String oldIndexSdParamKey = "sdparamkey1";
-    String oldIndexSdParamValue = "sdparamvalue1";
-    Map<String, String> indexParams = new HashMap<String, String>();
-    indexParams.put(oldIndexParamKey, oldIndexParamValue);
-
-    createTable(DB_NAME, TABLE_NAME);
-
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(indexTableName)
-        .setCreateTime(oldCreateTime)
-        .setLastAccessTime(oldCreateTime)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .setIndexParams(indexParams)
-        .setHandlerClass(oldHandlerClassName)
-        .setLocation(oldLocation)
-        .setInputFormat(oldInputFormat)
-        .setOutputFormat(oldOutputFormat)
-        .addStorageDescriptorParam(oldIndexSdParamKey, oldIndexSdParamValue)
-        .build();
-    client.createIndex(index, buildIndexTable(DB_NAME, indexTableName));
-    Index oldIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-
-    int newCreateTime = (int) (System.currentTimeMillis() / 1000);
-    String newHandlerClassName = "TestHandlerClass2";
-    String newLocation = "/index/test/path2";
-    String newInputFormat = "NewInputFormat";
-    String newOutputFormat = "NewOutputFormat";
-    String newIndexParamValue = "indexParamValue2";
-    String newIndexSdParamKey = "sdparamkey2";
-    String newIndexSdParamValue = "sdparamvalue2";
-    Map<String, String> newIndexParams = new HashMap<String, String>();
-    newIndexParams.put(oldIndexParamKey, newIndexParamValue);
-
-    Index newIndex = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(indexTableName)
-        .setCreateTime(newCreateTime)
-        .setLastAccessTime(newCreateTime)
-        .addCol("id", "int", "test col id")
-        .setDeferredRebuild(true)
-        .setIndexParams(newIndexParams)
-        .setHandlerClass(newHandlerClassName)
-        .setLocation(newLocation)
-        .setInputFormat(newInputFormat)
-        .setOutputFormat(newOutputFormat)
-        .addStorageDescriptorParam(newIndexSdParamKey, newIndexSdParamValue)
-        .build();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, newIndex);
-
-    Index createdNewIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    // Check if the index parameters are changed
-    Map<String, String> params = createdNewIndex.getParameters();
-    Assert.assertEquals(newIndexParamValue, params.get(oldIndexParamKey));
-    // Reset the index parameters and compare the old and new indexes to
-    // check that the other attributes remained the same.
-    createdNewIndex.setParameters(oldIndex.getParameters());
-    Assert.assertEquals(oldIndex, createdNewIndex);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNonExistingIndex() throws Exception {
-
-    createTable(DB_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNonExistingDb() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index("nonexistingdb", TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNonExistingTable() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNullIndexName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, null, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNullDbName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(null, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexNullTableName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, null, INDEX_NAME, index);
-  }
-
-  @Test
-  public void testAlterIndexNullIndex() throws Exception {
-
-    try {
-      client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, null);
-      Assert.fail("Exception should have happened");
-    } catch (TTransportException | NullPointerException e) {
-      // TODO: NPE should not be thrown.
-    }
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexEmptyIndexName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, TABLE_NAME, "", index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexEmptyDbName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index("", TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testAlterIndexEmptyTableName() throws Exception {
-
-    Index index = buildIndexWithDefaultValues();
-    client.alter_index(DB_NAME, "", INDEX_NAME, index);
-  }
-
-  @Test(expected = InvalidOperationException.class)
-  public void testAlterIndexNullSd() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setSd(null);
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-  }
-
-  @Test(expected = InvalidOperationException.class)
-  public void testAlterIndexDifferentIndexTable() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = buildIndexWithDefaultValues();
-    index.setIndexTableName("newindextable");
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  public void testAlterIndexNullIndexNameInNewIndex() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(null)
-        .setTableName(null)
-        .setIndexName(null)
-        .setIndexTableName(null)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .build();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-
-    Index resultIndex = client.getIndex(DB_NAME, TABLE_NAME, INDEX_NAME);
-    Assert.assertNotNull(resultIndex);
-    Assert.assertEquals(DB_NAME, resultIndex.getDbName());
-    Assert.assertEquals(TABLE_NAME, resultIndex.getOrigTableName());
-    Assert.assertEquals(INDEX_NAME, resultIndex.getIndexName());
-    Assert.assertEquals(INDEX_TABLE_NAME, resultIndex.getIndexTableName());
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  @Test(expected=MetaException.class)
-  public void testAlterIndexNullCols() throws Exception {
-
-    createIndex(INDEX_NAME, TABLE_NAME);
-    Index index = new IndexBuilder()
-        .setDbName(DB_NAME)
-        .setTableName(TABLE_NAME)
-        .setIndexName(INDEX_NAME)
-        .setIndexTableName(INDEX_TABLE_NAME)
-        .setCols(null)
-        .build();
-    client.alter_index(DB_NAME, TABLE_NAME, INDEX_NAME, index);
-    client.dropIndex(DB_NAME, TABLE_NAME, INDEX_NAME, true);
-  }
-
-  // Helper methods
-
-  private Table createTable(String dbName, String tableName) throws Exception {
-    Table table = buildTable(dbName, tableName, null);
-    client.createTable(table);
-    return table;
-  }
-
-  private Table buildIndexTable(String dbName, String tableName) throws Exception {
-    return buildTable(dbName, tableName, TableType.INDEX_TABLE);
-  }
-
-  private Table buildTable(String dbName, String tableName, TableType tableType) throws Exception {
-    TableBuilder tableBuilder = new TableBuilder()
-        .setDbName(dbName)
-        .setTableName(tableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .addStorageDescriptorParam("testSDParamKey", "testSDParamValue")
-        .setSerdeName(tableName)
-        .setStoredAsSubDirectories(false)
-        .addSerdeParam("testSerdeParamKey", "testSerdeParamValue")
-        .setLocation(metaStore.getWarehouseRoot() + "/" + tableName);
-
-    if (tableType != null) {
-      tableBuilder.setType(tableType.name());
-    }
-
-    return tableBuilder.build();
-  }
-
-  private void createIndex(String indexName, String origTableName) throws Exception {
-    Table origTable = createTable(DB_NAME, origTableName);
-    String indexTableName = origTableName + "__" + indexName + "__";
-    createIndex(DB_NAME, origTable, indexName, buildTable(DB_NAME, indexTableName,
-            TableType.INDEX_TABLE));
-  }
-
-  private void createIndex(String dbName, Table origTable, String indexName, Table indexTable)
-      throws Exception {
-    int createTime = (int) (System.currentTimeMillis() / 1000);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("indexParamKey", "indexParamValue");
-
-    Index index =
-        buildIndex(dbName, origTable.getTableName(), indexName, indexTable.getTableName());
-    index.setCreateTime(createTime);
-    index.setLastAccessTime(createTime);
-    index.setParameters(params);
-    client.createIndex(index, indexTable);
-  }
-
-  private Index buildIndexWithDefaultValues() throws MetaException {
-    return buildIndex(DB_NAME, TABLE_NAME, INDEX_NAME, INDEX_TABLE_NAME);
-  }
-
-  private Index buildIndex(String dbName, String origTableName, String indexName,
-      String indexTableName) throws MetaException {
-    Index index = new IndexBuilder()
-        .setDbName(dbName)
-        .setTableName(origTableName)
-        .setIndexName(indexName)
-        .setIndexTableName(indexTableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .setDeferredRebuild(false)
-        .build();
-    return index;
-  }
-
-  private void createDB(String dbName) throws TException {
-    Database db = new DatabaseBuilder().
-        setName(dbName).
-        build();
-    client.createDatabase(db);
-  }
-
-  private void checkIfIndexListEmpty(String dbName, String origTableName)
-      throws MetaException, TException {
-    List<String> indexes = client.listIndexNames(dbName, origTableName, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  private void checkIfIndexExists(String dbName, String origTableName, String indexName)
-      throws MetaException, TException {
-    List<String> indexes = client.listIndexNames(dbName, origTableName, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(1, indexes.size());
-    Assert.assertEquals(indexName, indexes.get(0));
-  }
-
-  private void verifyIndex(String dbName, String origTableName, String indexName,
-      String indexTableName)
-      throws MetaException, UnknownTableException, NoSuchObjectException, TException {
-    Index index = client.getIndex(dbName, origTableName, indexName);
-    Assert.assertNotNull(index);
-    Assert.assertEquals(dbName, index.getDbName());
-    Assert.assertEquals(origTableName, index.getOrigTableName());
-    Assert.assertEquals(indexName, index.getIndexName());
-    Assert.assertEquals(indexTableName, index.getIndexTableName());
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
index 8f97b19..f2d745e 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestDatabases.java
@@ -20,12 +20,10 @@ package org.apache.hadoop.hive.metastore.client;
 
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.metastore.IMetaStoreClient;
-import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.annotation.MetastoreCheckinTest;
 import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -34,10 +32,8 @@ import org.apache.hadoop.hive.metastore.api.PrincipalType;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.FunctionBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
 import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
 import org.apache.hadoop.hive.metastore.minihms.AbstractMetaStoreService;
-import org.apache.thrift.TException;
 import org.apache.thrift.transport.TTransportException;
 import org.junit.After;
 import org.junit.Assert;
@@ -378,72 +374,6 @@ public class TestDatabases extends MetaStoreClientTest {
         metaStore.isPathExists(new Path(database.getLocationUri())));
   }
 
-  /**
-   * Creates an index in the given database for testing purposes.
-   * @param databaseName The database name in which the index should be creatd
-   * @throws TException If there is an error during the index creation
-   */
-  private void createIndex(String databaseName) throws TException {
-    Table testTable =
-        new TableBuilder()
-            .setDbName(databaseName)
-            .setTableName("test_table")
-            .addCol("test_col", "int")
-            .build();
-
-    Index testIndex =
-        new IndexBuilder()
-            .setIndexName("test_index")
-            .setIndexTableName("test_index_table")
-            .setDbAndTableName(testTable)
-            .addCol("test_col", "int")
-            .build();
-    Table testIndexTable =
-        new TableBuilder()
-            .setDbName(databaseName)
-            .setType(TableType.INDEX_TABLE.name())
-            .setTableName("test_index_table")
-            .addCol("test_col", "int")
-            .build();
-
-    // Drop database with index
-    client.createTable(testTable);
-    client.createIndex(testIndex, testIndexTable);
-  }
-
-  @Test
-  public void testDropDatabaseWithIndex() throws Exception {
-    Database database = testDatabases[0];
-    createIndex(database.getName());
-
-    // TODO: Known error, should be fixed
-    // client.dropDatabase(database.getName(), true, true, true);
-    // Need to drop index to clean up the mess
-    try {
-      // Without cascade
-      client.dropDatabase(database.getName(), true, true, false);
-      Assert.fail("Expected an InvalidOperationException to be thrown");
-    } catch (InvalidOperationException exception) {
-      // Expected exception
-    }
-    client.dropIndex(database.getName(), "test_table", "test_index", true);
-    // TODO: End index hack
-  }
-
-  @Test
-  public void testDropDatabaseWithIndexCascade() throws Exception {
-    Database database = testDatabases[0];
-    createIndex(database.getName());
-
-    // With cascade
-    // TODO: Known error, should be fixed
-    // client.dropDatabase(database.getName(), true, true, true);
-    // Need to drop index to clean up the mess
-    client.dropIndex(database.getName(), "test_table", "test_index", true);
-    client.dropDatabase(database.getName(), true, true, true);
-    Assert.assertFalse("The directory should be removed",
-        metaStore.isPathExists(new Path(database.getLocationUri())));
-  }
 
   @Test
   public void testGetAllDatabases() throws Exception {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java
deleted file mode 100644
index 5d226a8..0000000
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/client/TestGetListIndexes.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hive.metastore.client;
-
-import java.util.List;
-
-import org.apache.hadoop.hive.metastore.IMetaStoreClient;
-import org.apache.hadoop.hive.metastore.TableType;
-import org.apache.hadoop.hive.metastore.annotation.MetastoreCheckinTest;
-import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hadoop.hive.metastore.api.MetaException;
-import org.apache.hadoop.hive.metastore.api.NoSuchObjectException;
-import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.client.builder.DatabaseBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.IndexBuilder;
-import org.apache.hadoop.hive.metastore.client.builder.TableBuilder;
-import org.apache.hadoop.hive.metastore.minihms.AbstractMetaStoreService;
-import org.apache.thrift.TException;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import com.google.common.collect.Lists;
-
-/**
- * Tests for getting and listing indexes.
- */
-@RunWith(Parameterized.class)
-@Category(MetastoreCheckinTest.class)
-public class TestGetListIndexes extends MetaStoreClientTest {
-  private AbstractMetaStoreService metaStore;
-  private IMetaStoreClient client;
-
-  private static final String DB_NAME_1 = "testindexdb_1";
-  private static final String DB_NAME_2 = "testindexdb_2";
-  private static final String ORIG_TABLE_NAME_1 = "testindextable_1";
-  private static final String ORIG_TABLE_NAME_2 = "testindextable_2";
-  private static final String ORIG_TABLE_NAME_3 = "testindextable_3";
-  private static final String INDEX_NAME_1 = "testindexname_1";
-  private static final String INDEX_NAME_2 = "testindexname_2";
-  private static final String INDEX_NAME_3 = "testindexname_3";
-  private static final String INDEX_NAME_4 = "testindexname_4";
-  private static final String INDEX_NAME_5 = "testindexname_4";
-  private static final Index[] INDEXES = new Index[5];
-  private static final short MAX = -1;
-
-  public TestGetListIndexes(String name, AbstractMetaStoreService metaStore) {
-    this.metaStore = metaStore;
-  }
-
-  @Before
-  public void setUp() throws Exception {
-    // Get new client
-    client = metaStore.getClient();
-
-    // Clean up the database
-    client.dropDatabase(DB_NAME_1, true, true, true);
-    client.dropDatabase(DB_NAME_2, true, true, true);
-    metaStore.cleanWarehouseDirs();
-
-    createDB(DB_NAME_1);
-    createDB(DB_NAME_2);
-
-    Table origTable1 = createTable(DB_NAME_1, ORIG_TABLE_NAME_1);
-    Table origTable2 = createTable(DB_NAME_1, ORIG_TABLE_NAME_2);
-    Table origTable3 = createTable(DB_NAME_2, ORIG_TABLE_NAME_1);
-    createTable(DB_NAME_1, ORIG_TABLE_NAME_3);
-
-    INDEXES[0] = createIndex(origTable1, INDEX_NAME_1);
-    INDEXES[1] = createIndex(origTable1, INDEX_NAME_2);
-    INDEXES[2] = createIndex(origTable1, INDEX_NAME_3);
-    INDEXES[3] = createIndex(origTable2, INDEX_NAME_4);
-    INDEXES[4] = createIndex(origTable3, INDEX_NAME_5);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    try {
-      for (Index index : INDEXES) {
-        client.dropIndex(index.getDbName(), index.getOrigTableName(), index.getIndexName(), true);
-      }
-
-      if (client != null) {
-        client.close();
-      }
-    } finally {
-      client = null;
-    }
-  }
-
-  // Get index tests
-
-  public void testGetIndex() throws Exception {
-
-    Index indexToGet = INDEXES[0];
-    Index index = client.getIndex(indexToGet.getDbName(), indexToGet.getOrigTableName(),
-        indexToGet.getIndexName());
-    Assert.assertNotNull(index);
-    Assert.assertEquals(indexToGet, index);
-
-    indexToGet = INDEXES[4];
-    index = client.getIndex(indexToGet.getDbName(), indexToGet.getOrigTableName(),
-        indexToGet.getIndexName());
-    Assert.assertNotNull(index);
-    Assert.assertEquals(indexToGet, index);
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetNonExistingIndex() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), index.getOrigTableName(), "nonexisingindex");
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexNonExistingTable() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), "nonexistingtable", index.getIndexName());
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexNonExistingDatabase() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex("nonexistingdb", index.getOrigTableName(), index.getIndexName());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testGetIndexNullName() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), index.getOrigTableName(), null);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testGetIndexNullTableName() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), null, index.getIndexName());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testGetIndexNullDBName() throws Exception {
-
-    Index index = INDEXES[0];
-    client.getIndex(null, index.getOrigTableName(), index.getIndexName());
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexEmptyName() throws Exception {
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), index.getOrigTableName(), "");
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexEmptyTableName() throws Exception {
-    Index index = INDEXES[0];
-    client.getIndex(index.getDbName(), "", index.getIndexName());
-  }
-
-  @Test(expected = NoSuchObjectException.class)
-  public void testGetIndexEmptyDBName() throws Exception {
-    Index index = INDEXES[0];
-    client.getIndex("", index.getOrigTableName(), index.getIndexName());
-  }
-
-  // List index tests
-
-  @Test
-  public void testListIndexes() throws Exception {
-
-    List<Index> indexes = client.listIndexes(DB_NAME_1, ORIG_TABLE_NAME_1, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(3, indexes.size());
-    for (Index index : indexes) {
-      if (INDEX_NAME_1.equals(index.getIndexName())) {
-        Assert.assertEquals(INDEXES[0], index);
-      } else if (INDEX_NAME_2.equals(index.getIndexName())) {
-        Assert.assertEquals(INDEXES[1], index);
-      } else {
-        Assert.assertEquals(INDEXES[2], index);
-      }
-    }
-
-    indexes = client.listIndexes(DB_NAME_1, ORIG_TABLE_NAME_2, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(1, indexes.size());
-    Assert.assertEquals(INDEXES[3], indexes.get(0));
-
-    indexes = client.listIndexes(DB_NAME_2, ORIG_TABLE_NAME_1, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertEquals(1, indexes.size());
-    Assert.assertEquals(INDEXES[4], indexes.get(0));
-  }
-
-  @Test
-  public void testListIndexesEmptyList() throws Exception {
-
-    List<Index> indexes = client.listIndexes(DB_NAME_1, ORIG_TABLE_NAME_3, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesInvalidDb() throws Exception {
-
-    List<Index> indexes = client.listIndexes("nonexistingdb", INDEXES[0].getOrigTableName(), MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesInvalidTable() throws Exception {
-
-    List<Index> indexes = client.listIndexes(INDEXES[0].getDbName(), "nonexsitingtable", MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexesNullDb() throws Exception {
-
-    client.listIndexes(null, INDEXES[0].getOrigTableName(), MAX);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexesNullTable() throws Exception {
-
-    client.listIndexes(INDEXES[0].getDbName(), null, MAX);
-  }
-
-  @Test
-  public void testListIndexesEmptyDb() throws Exception {
-
-    List<Index> indexes = client.listIndexes("", INDEXES[0].getOrigTableName(), MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesEmptyTable() throws Exception {
-
-    List<Index> indexes = client.listIndexes(INDEXES[0].getDbName(), "", MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexesWithDifferentNums() throws Exception {
-
-    Index index = INDEXES[0];
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) 2);
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) 1);
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) 0);
-    checkListIndexes(index.getDbName(), index.getOrigTableName(), (short) -1);
-  }
-
-  // List index names tests
-
-  @Test
-  public void testListIndexNames() throws Exception {
-
-    List<String> indexNames = client.listIndexNames(DB_NAME_1, ORIG_TABLE_NAME_1, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(3, indexNames.size());
-    List<String> expectedIndexNames = Lists.newArrayList(INDEXES[0].getIndexName(),
-        INDEXES[1].getIndexName(), INDEXES[2].getIndexName());
-    Assert.assertEquals(expectedIndexNames, indexNames);
-
-    indexNames = client.listIndexNames(DB_NAME_1, ORIG_TABLE_NAME_2, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(1, indexNames.size());
-    Assert.assertEquals(INDEXES[3].getIndexName(), indexNames.get(0));
-
-    indexNames = client.listIndexNames(DB_NAME_2, ORIG_TABLE_NAME_1, MAX);
-    Assert.assertNotNull(indexNames);
-    Assert.assertEquals(1, indexNames.size());
-    Assert.assertEquals(INDEXES[4].getIndexName(), indexNames.get(0));
-  }
-
-  @Test
-  public void testListIndexNamesEmptyList() throws Exception {
-
-    List<String> indexes = client.listIndexNames(DB_NAME_1, ORIG_TABLE_NAME_3, MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesInvalidDb() throws Exception {
-
-    List<String> indexes =
-        client.listIndexNames("nonexistingdb", INDEXES[0].getOrigTableName(), MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesInvalidTable() throws Exception {
-
-    List<String> indexes = client.listIndexNames(INDEXES[0].getDbName(), "nonexsitingtable", MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexNamesNullDb() throws Exception {
-
-    client.listIndexNames(null, INDEXES[0].getOrigTableName(), MAX);
-  }
-
-  @Test(expected = MetaException.class)
-  public void testListIndexNamesNullTable() throws Exception {
-
-    client.listIndexNames(INDEXES[0].getDbName(), null, MAX);
-  }
-
-  @Test
-  public void testListIndexNamesEmptyDb() throws Exception {
-
-    List<String> indexes = client.listIndexNames("", INDEXES[0].getOrigTableName(), MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesEmptyTable() throws Exception {
-
-    List<String> indexes = client.listIndexNames(INDEXES[0].getDbName(), "", MAX);
-    Assert.assertNotNull(indexes);
-    Assert.assertTrue(indexes.isEmpty());
-  }
-
-  @Test
-  public void testListIndexNamesWithDifferentNums() throws Exception {
-
-    Index index = INDEXES[0];
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) 2);
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) 1);
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) 0);
-    checkListIndexNames(index.getDbName(), index.getOrigTableName(), (short) -1);
-  }
-
-  // Helper methods
-
-  private Table createTable(String dbName, String tableName) throws Exception {
-    Table table = buildTable(dbName, tableName, null);
-    client.createTable(table);
-    return table;
-  }
-
-  private Table buildIndexTable(String dbName, String tableName) throws Exception {
-    return buildTable(dbName, tableName, TableType.INDEX_TABLE);
-  }
-
-  private Table buildTable(String dbName, String tableName, TableType tableType) throws Exception {
-    TableBuilder tableBuilder = new TableBuilder()
-        .setDbName(dbName)
-        .setTableName(tableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .addStorageDescriptorParam("testSDParamKey", "testSDParamValue")
-        .setSerdeName(tableName)
-        .setStoredAsSubDirectories(false)
-        .addSerdeParam("testSerdeParamKey", "testSerdeParamValue")
-        .setLocation(metaStore.getWarehouseRoot() + "/" + tableName);
-
-    if (tableType != null){
-      tableBuilder.setType(tableType.name());
-    }
-
-    return tableBuilder.build();
-  }
-
-  private Index createIndex(Table origTable, String indexName) throws Exception {
-
-    String dbName = origTable.getDbName();
-    String origTableName = origTable.getTableName();
-    String indexTableName = origTableName + "__" + indexName + "__";
-    Index index = buildIndex(dbName, origTableName, indexName, indexTableName);
-    client.createIndex(index, buildTable(dbName, indexTableName, TableType.INDEX_TABLE));
-    return client.getIndex(dbName, origTableName, indexName);
-  }
-
-  private Index buildIndex(String dbName, String origTableName, String indexName,
-      String indexTableName) throws MetaException {
-    Index index = new IndexBuilder()
-        .setDbName(dbName)
-        .setTableName(origTableName)
-        .setIndexName(indexName)
-        .setIndexTableName(indexTableName)
-        .addCol("id", "int", "test col id")
-        .addCol("value", "string", "test col value")
-        .addIndexParam("test_get_index_param_key", "test_get_index_param_value")
-        .setDeferredRebuild(false)
-        .build();
-    return index;
-  }
-
-  private void createDB(String dbName) throws TException {
-    Database db = new DatabaseBuilder()
-        .setName(dbName)
-        .build();
-    client.createDatabase(db);
-  }
-
-  private void checkListIndexNames(String dbName, String origTableName, short num)
-      throws Exception {
-    List<String> indexNames = client.listIndexNames(dbName, origTableName, num);
-    Assert.assertNotNull(indexNames);
-    // TODO: The num parameter doesn't have any effect
-    Assert.assertEquals(3, indexNames.size());
-  }
-
-  private void checkListIndexes(String dbName, String origTableName, short num) throws Exception {
-    List<Index> indexes = client.listIndexes(dbName, origTableName, num);
-    Assert.assertNotNull(indexes);
-    // TODO: The num parameter doesn't have any effect
-    Assert.assertEquals(3, indexes.size());
-  }
-}


[11/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php b/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
index fcdf235..0b11532 100644
--- a/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
+++ b/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
@@ -6680,327 +6680,6 @@ class PartitionSpec {
 
 }
 
-class Index {
-  static $_TSPEC;
-
-  /**
-   * @var string
-   */
-  public $indexName = null;
-  /**
-   * @var string
-   */
-  public $indexHandlerClass = null;
-  /**
-   * @var string
-   */
-  public $dbName = null;
-  /**
-   * @var string
-   */
-  public $origTableName = null;
-  /**
-   * @var int
-   */
-  public $createTime = null;
-  /**
-   * @var int
-   */
-  public $lastAccessTime = null;
-  /**
-   * @var string
-   */
-  public $indexTableName = null;
-  /**
-   * @var \metastore\StorageDescriptor
-   */
-  public $sd = null;
-  /**
-   * @var array
-   */
-  public $parameters = null;
-  /**
-   * @var bool
-   */
-  public $deferredRebuild = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'indexName',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'indexHandlerClass',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'dbName',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'origTableName',
-          'type' => TType::STRING,
-          ),
-        5 => array(
-          'var' => 'createTime',
-          'type' => TType::I32,
-          ),
-        6 => array(
-          'var' => 'lastAccessTime',
-          'type' => TType::I32,
-          ),
-        7 => array(
-          'var' => 'indexTableName',
-          'type' => TType::STRING,
-          ),
-        8 => array(
-          'var' => 'sd',
-          'type' => TType::STRUCT,
-          'class' => '\metastore\StorageDescriptor',
-          ),
-        9 => array(
-          'var' => 'parameters',
-          'type' => TType::MAP,
-          'ktype' => TType::STRING,
-          'vtype' => TType::STRING,
-          'key' => array(
-            'type' => TType::STRING,
-          ),
-          'val' => array(
-            'type' => TType::STRING,
-            ),
-          ),
-        10 => array(
-          'var' => 'deferredRebuild',
-          'type' => TType::BOOL,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['indexName'])) {
-        $this->indexName = $vals['indexName'];
-      }
-      if (isset($vals['indexHandlerClass'])) {
-        $this->indexHandlerClass = $vals['indexHandlerClass'];
-      }
-      if (isset($vals['dbName'])) {
-        $this->dbName = $vals['dbName'];
-      }
-      if (isset($vals['origTableName'])) {
-        $this->origTableName = $vals['origTableName'];
-      }
-      if (isset($vals['createTime'])) {
-        $this->createTime = $vals['createTime'];
-      }
-      if (isset($vals['lastAccessTime'])) {
-        $this->lastAccessTime = $vals['lastAccessTime'];
-      }
-      if (isset($vals['indexTableName'])) {
-        $this->indexTableName = $vals['indexTableName'];
-      }
-      if (isset($vals['sd'])) {
-        $this->sd = $vals['sd'];
-      }
-      if (isset($vals['parameters'])) {
-        $this->parameters = $vals['parameters'];
-      }
-      if (isset($vals['deferredRebuild'])) {
-        $this->deferredRebuild = $vals['deferredRebuild'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Index';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
-    {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->indexName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->indexHandlerClass);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->dbName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->origTableName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->createTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->lastAccessTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->indexTableName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 8:
-          if ($ftype == TType::STRUCT) {
-            $this->sd = new \metastore\StorageDescriptor();
-            $xfer += $this->sd->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 9:
-          if ($ftype == TType::MAP) {
-            $this->parameters = array();
-            $_size230 = 0;
-            $_ktype231 = 0;
-            $_vtype232 = 0;
-            $xfer += $input->readMapBegin($_ktype231, $_vtype232, $_size230);
-            for ($_i234 = 0; $_i234 < $_size230; ++$_i234)
-            {
-              $key235 = '';
-              $val236 = '';
-              $xfer += $input->readString($key235);
-              $xfer += $input->readString($val236);
-              $this->parameters[$key235] = $val236;
-            }
-            $xfer += $input->readMapEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 10:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->deferredRebuild);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('Index');
-    if ($this->indexName !== null) {
-      $xfer += $output->writeFieldBegin('indexName', TType::STRING, 1);
-      $xfer += $output->writeString($this->indexName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->indexHandlerClass !== null) {
-      $xfer += $output->writeFieldBegin('indexHandlerClass', TType::STRING, 2);
-      $xfer += $output->writeString($this->indexHandlerClass);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->dbName !== null) {
-      $xfer += $output->writeFieldBegin('dbName', TType::STRING, 3);
-      $xfer += $output->writeString($this->dbName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->origTableName !== null) {
-      $xfer += $output->writeFieldBegin('origTableName', TType::STRING, 4);
-      $xfer += $output->writeString($this->origTableName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->createTime !== null) {
-      $xfer += $output->writeFieldBegin('createTime', TType::I32, 5);
-      $xfer += $output->writeI32($this->createTime);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->lastAccessTime !== null) {
-      $xfer += $output->writeFieldBegin('lastAccessTime', TType::I32, 6);
-      $xfer += $output->writeI32($this->lastAccessTime);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->indexTableName !== null) {
-      $xfer += $output->writeFieldBegin('indexTableName', TType::STRING, 7);
-      $xfer += $output->writeString($this->indexTableName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->sd !== null) {
-      if (!is_object($this->sd)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('sd', TType::STRUCT, 8);
-      $xfer += $this->sd->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->parameters !== null) {
-      if (!is_array($this->parameters)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('parameters', TType::MAP, 9);
-      {
-        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->parameters));
-        {
-          foreach ($this->parameters as $kiter237 => $viter238)
-          {
-            $xfer += $output->writeString($kiter237);
-            $xfer += $output->writeString($viter238);
-          }
-        }
-        $output->writeMapEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->deferredRebuild !== null) {
-      $xfer += $output->writeFieldBegin('deferredRebuild', TType::BOOL, 10);
-      $xfer += $output->writeBool($this->deferredRebuild);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
 class BooleanColumnStatsData {
   static $_TSPEC;
 
@@ -8929,15 +8608,15 @@ class ColumnStatistics {
         case 2:
           if ($ftype == TType::LST) {
             $this->statsObj = array();
-            $_size239 = 0;
-            $_etype242 = 0;
-            $xfer += $input->readListBegin($_etype242, $_size239);
-            for ($_i243 = 0; $_i243 < $_size239; ++$_i243)
+            $_size230 = 0;
+            $_etype233 = 0;
+            $xfer += $input->readListBegin($_etype233, $_size230);
+            for ($_i234 = 0; $_i234 < $_size230; ++$_i234)
             {
-              $elem244 = null;
-              $elem244 = new \metastore\ColumnStatisticsObj();
-              $xfer += $elem244->read($input);
-              $this->statsObj []= $elem244;
+              $elem235 = null;
+              $elem235 = new \metastore\ColumnStatisticsObj();
+              $xfer += $elem235->read($input);
+              $this->statsObj []= $elem235;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -8973,9 +8652,9 @@ class ColumnStatistics {
       {
         $output->writeListBegin(TType::STRUCT, count($this->statsObj));
         {
-          foreach ($this->statsObj as $iter245)
+          foreach ($this->statsObj as $iter236)
           {
-            $xfer += $iter245->write($output);
+            $xfer += $iter236->write($output);
           }
         }
         $output->writeListEnd();
@@ -9051,15 +8730,15 @@ class AggrStats {
         case 1:
           if ($ftype == TType::LST) {
             $this->colStats = array();
-            $_size246 = 0;
-            $_etype249 = 0;
-            $xfer += $input->readListBegin($_etype249, $_size246);
-            for ($_i250 = 0; $_i250 < $_size246; ++$_i250)
+            $_size237 = 0;
+            $_etype240 = 0;
+            $xfer += $input->readListBegin($_etype240, $_size237);
+            for ($_i241 = 0; $_i241 < $_size237; ++$_i241)
             {
-              $elem251 = null;
-              $elem251 = new \metastore\ColumnStatisticsObj();
-              $xfer += $elem251->read($input);
-              $this->colStats []= $elem251;
+              $elem242 = null;
+              $elem242 = new \metastore\ColumnStatisticsObj();
+              $xfer += $elem242->read($input);
+              $this->colStats []= $elem242;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -9094,9 +8773,9 @@ class AggrStats {
       {
         $output->writeListBegin(TType::STRUCT, count($this->colStats));
         {
-          foreach ($this->colStats as $iter252)
+          foreach ($this->colStats as $iter243)
           {
-            $xfer += $iter252->write($output);
+            $xfer += $iter243->write($output);
           }
         }
         $output->writeListEnd();
@@ -9177,15 +8856,15 @@ class SetPartitionsStatsRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->colStats = array();
-            $_size253 = 0;
-            $_etype256 = 0;
-            $xfer += $input->readListBegin($_etype256, $_size253);
-            for ($_i257 = 0; $_i257 < $_size253; ++$_i257)
+            $_size244 = 0;
+            $_etype247 = 0;
+            $xfer += $input->readListBegin($_etype247, $_size244);
+            for ($_i248 = 0; $_i248 < $_size244; ++$_i248)
             {
-              $elem258 = null;
-              $elem258 = new \metastore\ColumnStatistics();
-              $xfer += $elem258->read($input);
-              $this->colStats []= $elem258;
+              $elem249 = null;
+              $elem249 = new \metastore\ColumnStatistics();
+              $xfer += $elem249->read($input);
+              $this->colStats []= $elem249;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -9220,9 +8899,9 @@ class SetPartitionsStatsRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->colStats));
         {
-          foreach ($this->colStats as $iter259)
+          foreach ($this->colStats as $iter250)
           {
-            $xfer += $iter259->write($output);
+            $xfer += $iter250->write($output);
           }
         }
         $output->writeListEnd();
@@ -9311,15 +8990,15 @@ class Schema {
         case 1:
           if ($ftype == TType::LST) {
             $this->fieldSchemas = array();
-            $_size260 = 0;
-            $_etype263 = 0;
-            $xfer += $input->readListBegin($_etype263, $_size260);
-            for ($_i264 = 0; $_i264 < $_size260; ++$_i264)
+            $_size251 = 0;
+            $_etype254 = 0;
+            $xfer += $input->readListBegin($_etype254, $_size251);
+            for ($_i255 = 0; $_i255 < $_size251; ++$_i255)
             {
-              $elem265 = null;
-              $elem265 = new \metastore\FieldSchema();
-              $xfer += $elem265->read($input);
-              $this->fieldSchemas []= $elem265;
+              $elem256 = null;
+              $elem256 = new \metastore\FieldSchema();
+              $xfer += $elem256->read($input);
+              $this->fieldSchemas []= $elem256;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -9329,17 +9008,17 @@ class Schema {
         case 2:
           if ($ftype == TType::MAP) {
             $this->properties = array();
-            $_size266 = 0;
-            $_ktype267 = 0;
-            $_vtype268 = 0;
-            $xfer += $input->readMapBegin($_ktype267, $_vtype268, $_size266);
-            for ($_i270 = 0; $_i270 < $_size266; ++$_i270)
+            $_size257 = 0;
+            $_ktype258 = 0;
+            $_vtype259 = 0;
+            $xfer += $input->readMapBegin($_ktype258, $_vtype259, $_size257);
+            for ($_i261 = 0; $_i261 < $_size257; ++$_i261)
             {
-              $key271 = '';
-              $val272 = '';
-              $xfer += $input->readString($key271);
-              $xfer += $input->readString($val272);
-              $this->properties[$key271] = $val272;
+              $key262 = '';
+              $val263 = '';
+              $xfer += $input->readString($key262);
+              $xfer += $input->readString($val263);
+              $this->properties[$key262] = $val263;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -9367,9 +9046,9 @@ class Schema {
       {
         $output->writeListBegin(TType::STRUCT, count($this->fieldSchemas));
         {
-          foreach ($this->fieldSchemas as $iter273)
+          foreach ($this->fieldSchemas as $iter264)
           {
-            $xfer += $iter273->write($output);
+            $xfer += $iter264->write($output);
           }
         }
         $output->writeListEnd();
@@ -9384,10 +9063,10 @@ class Schema {
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->properties));
         {
-          foreach ($this->properties as $kiter274 => $viter275)
+          foreach ($this->properties as $kiter265 => $viter266)
           {
-            $xfer += $output->writeString($kiter274);
-            $xfer += $output->writeString($viter275);
+            $xfer += $output->writeString($kiter265);
+            $xfer += $output->writeString($viter266);
           }
         }
         $output->writeMapEnd();
@@ -9455,17 +9134,17 @@ class EnvironmentContext {
         case 1:
           if ($ftype == TType::MAP) {
             $this->properties = array();
-            $_size276 = 0;
-            $_ktype277 = 0;
-            $_vtype278 = 0;
-            $xfer += $input->readMapBegin($_ktype277, $_vtype278, $_size276);
-            for ($_i280 = 0; $_i280 < $_size276; ++$_i280)
+            $_size267 = 0;
+            $_ktype268 = 0;
+            $_vtype269 = 0;
+            $xfer += $input->readMapBegin($_ktype268, $_vtype269, $_size267);
+            for ($_i271 = 0; $_i271 < $_size267; ++$_i271)
             {
-              $key281 = '';
-              $val282 = '';
-              $xfer += $input->readString($key281);
-              $xfer += $input->readString($val282);
-              $this->properties[$key281] = $val282;
+              $key272 = '';
+              $val273 = '';
+              $xfer += $input->readString($key272);
+              $xfer += $input->readString($val273);
+              $this->properties[$key272] = $val273;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -9493,10 +9172,10 @@ class EnvironmentContext {
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->properties));
         {
-          foreach ($this->properties as $kiter283 => $viter284)
+          foreach ($this->properties as $kiter274 => $viter275)
           {
-            $xfer += $output->writeString($kiter283);
-            $xfer += $output->writeString($viter284);
+            $xfer += $output->writeString($kiter274);
+            $xfer += $output->writeString($viter275);
           }
         }
         $output->writeMapEnd();
@@ -9659,15 +9338,15 @@ class PrimaryKeysResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->primaryKeys = array();
-            $_size285 = 0;
-            $_etype288 = 0;
-            $xfer += $input->readListBegin($_etype288, $_size285);
-            for ($_i289 = 0; $_i289 < $_size285; ++$_i289)
+            $_size276 = 0;
+            $_etype279 = 0;
+            $xfer += $input->readListBegin($_etype279, $_size276);
+            for ($_i280 = 0; $_i280 < $_size276; ++$_i280)
             {
-              $elem290 = null;
-              $elem290 = new \metastore\SQLPrimaryKey();
-              $xfer += $elem290->read($input);
-              $this->primaryKeys []= $elem290;
+              $elem281 = null;
+              $elem281 = new \metastore\SQLPrimaryKey();
+              $xfer += $elem281->read($input);
+              $this->primaryKeys []= $elem281;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -9695,9 +9374,9 @@ class PrimaryKeysResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->primaryKeys));
         {
-          foreach ($this->primaryKeys as $iter291)
+          foreach ($this->primaryKeys as $iter282)
           {
-            $xfer += $iter291->write($output);
+            $xfer += $iter282->write($output);
           }
         }
         $output->writeListEnd();
@@ -9906,15 +9585,15 @@ class ForeignKeysResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->foreignKeys = array();
-            $_size292 = 0;
-            $_etype295 = 0;
-            $xfer += $input->readListBegin($_etype295, $_size292);
-            for ($_i296 = 0; $_i296 < $_size292; ++$_i296)
+            $_size283 = 0;
+            $_etype286 = 0;
+            $xfer += $input->readListBegin($_etype286, $_size283);
+            for ($_i287 = 0; $_i287 < $_size283; ++$_i287)
             {
-              $elem297 = null;
-              $elem297 = new \metastore\SQLForeignKey();
-              $xfer += $elem297->read($input);
-              $this->foreignKeys []= $elem297;
+              $elem288 = null;
+              $elem288 = new \metastore\SQLForeignKey();
+              $xfer += $elem288->read($input);
+              $this->foreignKeys []= $elem288;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -9942,9 +9621,9 @@ class ForeignKeysResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->foreignKeys));
         {
-          foreach ($this->foreignKeys as $iter298)
+          foreach ($this->foreignKeys as $iter289)
           {
-            $xfer += $iter298->write($output);
+            $xfer += $iter289->write($output);
           }
         }
         $output->writeListEnd();
@@ -10107,15 +9786,15 @@ class UniqueConstraintsResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->uniqueConstraints = array();
-            $_size299 = 0;
-            $_etype302 = 0;
-            $xfer += $input->readListBegin($_etype302, $_size299);
-            for ($_i303 = 0; $_i303 < $_size299; ++$_i303)
+            $_size290 = 0;
+            $_etype293 = 0;
+            $xfer += $input->readListBegin($_etype293, $_size290);
+            for ($_i294 = 0; $_i294 < $_size290; ++$_i294)
             {
-              $elem304 = null;
-              $elem304 = new \metastore\SQLUniqueConstraint();
-              $xfer += $elem304->read($input);
-              $this->uniqueConstraints []= $elem304;
+              $elem295 = null;
+              $elem295 = new \metastore\SQLUniqueConstraint();
+              $xfer += $elem295->read($input);
+              $this->uniqueConstraints []= $elem295;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -10143,9 +9822,9 @@ class UniqueConstraintsResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->uniqueConstraints));
         {
-          foreach ($this->uniqueConstraints as $iter305)
+          foreach ($this->uniqueConstraints as $iter296)
           {
-            $xfer += $iter305->write($output);
+            $xfer += $iter296->write($output);
           }
         }
         $output->writeListEnd();
@@ -10308,15 +9987,15 @@ class NotNullConstraintsResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->notNullConstraints = array();
-            $_size306 = 0;
-            $_etype309 = 0;
-            $xfer += $input->readListBegin($_etype309, $_size306);
-            for ($_i310 = 0; $_i310 < $_size306; ++$_i310)
+            $_size297 = 0;
+            $_etype300 = 0;
+            $xfer += $input->readListBegin($_etype300, $_size297);
+            for ($_i301 = 0; $_i301 < $_size297; ++$_i301)
             {
-              $elem311 = null;
-              $elem311 = new \metastore\SQLNotNullConstraint();
-              $xfer += $elem311->read($input);
-              $this->notNullConstraints []= $elem311;
+              $elem302 = null;
+              $elem302 = new \metastore\SQLNotNullConstraint();
+              $xfer += $elem302->read($input);
+              $this->notNullConstraints []= $elem302;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -10344,9 +10023,9 @@ class NotNullConstraintsResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->notNullConstraints));
         {
-          foreach ($this->notNullConstraints as $iter312)
+          foreach ($this->notNullConstraints as $iter303)
           {
-            $xfer += $iter312->write($output);
+            $xfer += $iter303->write($output);
           }
         }
         $output->writeListEnd();
@@ -10509,15 +10188,15 @@ class DefaultConstraintsResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->defaultConstraints = array();
-            $_size313 = 0;
-            $_etype316 = 0;
-            $xfer += $input->readListBegin($_etype316, $_size313);
-            for ($_i317 = 0; $_i317 < $_size313; ++$_i317)
+            $_size304 = 0;
+            $_etype307 = 0;
+            $xfer += $input->readListBegin($_etype307, $_size304);
+            for ($_i308 = 0; $_i308 < $_size304; ++$_i308)
             {
-              $elem318 = null;
-              $elem318 = new \metastore\SQLDefaultConstraint();
-              $xfer += $elem318->read($input);
-              $this->defaultConstraints []= $elem318;
+              $elem309 = null;
+              $elem309 = new \metastore\SQLDefaultConstraint();
+              $xfer += $elem309->read($input);
+              $this->defaultConstraints []= $elem309;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -10545,9 +10224,9 @@ class DefaultConstraintsResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->defaultConstraints));
         {
-          foreach ($this->defaultConstraints as $iter319)
+          foreach ($this->defaultConstraints as $iter310)
           {
-            $xfer += $iter319->write($output);
+            $xfer += $iter310->write($output);
           }
         }
         $output->writeListEnd();
@@ -10733,15 +10412,15 @@ class AddPrimaryKeyRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->primaryKeyCols = array();
-            $_size320 = 0;
-            $_etype323 = 0;
-            $xfer += $input->readListBegin($_etype323, $_size320);
-            for ($_i324 = 0; $_i324 < $_size320; ++$_i324)
+            $_size311 = 0;
+            $_etype314 = 0;
+            $xfer += $input->readListBegin($_etype314, $_size311);
+            for ($_i315 = 0; $_i315 < $_size311; ++$_i315)
             {
-              $elem325 = null;
-              $elem325 = new \metastore\SQLPrimaryKey();
-              $xfer += $elem325->read($input);
-              $this->primaryKeyCols []= $elem325;
+              $elem316 = null;
+              $elem316 = new \metastore\SQLPrimaryKey();
+              $xfer += $elem316->read($input);
+              $this->primaryKeyCols []= $elem316;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -10769,9 +10448,9 @@ class AddPrimaryKeyRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->primaryKeyCols));
         {
-          foreach ($this->primaryKeyCols as $iter326)
+          foreach ($this->primaryKeyCols as $iter317)
           {
-            $xfer += $iter326->write($output);
+            $xfer += $iter317->write($output);
           }
         }
         $output->writeListEnd();
@@ -10836,15 +10515,15 @@ class AddForeignKeyRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->foreignKeyCols = array();
-            $_size327 = 0;
-            $_etype330 = 0;
-            $xfer += $input->readListBegin($_etype330, $_size327);
-            for ($_i331 = 0; $_i331 < $_size327; ++$_i331)
+            $_size318 = 0;
+            $_etype321 = 0;
+            $xfer += $input->readListBegin($_etype321, $_size318);
+            for ($_i322 = 0; $_i322 < $_size318; ++$_i322)
             {
-              $elem332 = null;
-              $elem332 = new \metastore\SQLForeignKey();
-              $xfer += $elem332->read($input);
-              $this->foreignKeyCols []= $elem332;
+              $elem323 = null;
+              $elem323 = new \metastore\SQLForeignKey();
+              $xfer += $elem323->read($input);
+              $this->foreignKeyCols []= $elem323;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -10872,9 +10551,9 @@ class AddForeignKeyRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->foreignKeyCols));
         {
-          foreach ($this->foreignKeyCols as $iter333)
+          foreach ($this->foreignKeyCols as $iter324)
           {
-            $xfer += $iter333->write($output);
+            $xfer += $iter324->write($output);
           }
         }
         $output->writeListEnd();
@@ -10939,15 +10618,15 @@ class AddUniqueConstraintRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->uniqueConstraintCols = array();
-            $_size334 = 0;
-            $_etype337 = 0;
-            $xfer += $input->readListBegin($_etype337, $_size334);
-            for ($_i338 = 0; $_i338 < $_size334; ++$_i338)
+            $_size325 = 0;
+            $_etype328 = 0;
+            $xfer += $input->readListBegin($_etype328, $_size325);
+            for ($_i329 = 0; $_i329 < $_size325; ++$_i329)
             {
-              $elem339 = null;
-              $elem339 = new \metastore\SQLUniqueConstraint();
-              $xfer += $elem339->read($input);
-              $this->uniqueConstraintCols []= $elem339;
+              $elem330 = null;
+              $elem330 = new \metastore\SQLUniqueConstraint();
+              $xfer += $elem330->read($input);
+              $this->uniqueConstraintCols []= $elem330;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -10975,9 +10654,9 @@ class AddUniqueConstraintRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->uniqueConstraintCols));
         {
-          foreach ($this->uniqueConstraintCols as $iter340)
+          foreach ($this->uniqueConstraintCols as $iter331)
           {
-            $xfer += $iter340->write($output);
+            $xfer += $iter331->write($output);
           }
         }
         $output->writeListEnd();
@@ -11042,15 +10721,15 @@ class AddNotNullConstraintRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->notNullConstraintCols = array();
-            $_size341 = 0;
-            $_etype344 = 0;
-            $xfer += $input->readListBegin($_etype344, $_size341);
-            for ($_i345 = 0; $_i345 < $_size341; ++$_i345)
+            $_size332 = 0;
+            $_etype335 = 0;
+            $xfer += $input->readListBegin($_etype335, $_size332);
+            for ($_i336 = 0; $_i336 < $_size332; ++$_i336)
             {
-              $elem346 = null;
-              $elem346 = new \metastore\SQLNotNullConstraint();
-              $xfer += $elem346->read($input);
-              $this->notNullConstraintCols []= $elem346;
+              $elem337 = null;
+              $elem337 = new \metastore\SQLNotNullConstraint();
+              $xfer += $elem337->read($input);
+              $this->notNullConstraintCols []= $elem337;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -11078,9 +10757,9 @@ class AddNotNullConstraintRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->notNullConstraintCols));
         {
-          foreach ($this->notNullConstraintCols as $iter347)
+          foreach ($this->notNullConstraintCols as $iter338)
           {
-            $xfer += $iter347->write($output);
+            $xfer += $iter338->write($output);
           }
         }
         $output->writeListEnd();
@@ -11145,15 +10824,15 @@ class AddDefaultConstraintRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->defaultConstraintCols = array();
-            $_size348 = 0;
-            $_etype351 = 0;
-            $xfer += $input->readListBegin($_etype351, $_size348);
-            for ($_i352 = 0; $_i352 < $_size348; ++$_i352)
+            $_size339 = 0;
+            $_etype342 = 0;
+            $xfer += $input->readListBegin($_etype342, $_size339);
+            for ($_i343 = 0; $_i343 < $_size339; ++$_i343)
             {
-              $elem353 = null;
-              $elem353 = new \metastore\SQLDefaultConstraint();
-              $xfer += $elem353->read($input);
-              $this->defaultConstraintCols []= $elem353;
+              $elem344 = null;
+              $elem344 = new \metastore\SQLDefaultConstraint();
+              $xfer += $elem344->read($input);
+              $this->defaultConstraintCols []= $elem344;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -11181,9 +10860,9 @@ class AddDefaultConstraintRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->defaultConstraintCols));
         {
-          foreach ($this->defaultConstraintCols as $iter354)
+          foreach ($this->defaultConstraintCols as $iter345)
           {
-            $xfer += $iter354->write($output);
+            $xfer += $iter345->write($output);
           }
         }
         $output->writeListEnd();
@@ -11259,15 +10938,15 @@ class PartitionsByExprResult {
         case 1:
           if ($ftype == TType::LST) {
             $this->partitions = array();
-            $_size355 = 0;
-            $_etype358 = 0;
-            $xfer += $input->readListBegin($_etype358, $_size355);
-            for ($_i359 = 0; $_i359 < $_size355; ++$_i359)
+            $_size346 = 0;
+            $_etype349 = 0;
+            $xfer += $input->readListBegin($_etype349, $_size346);
+            for ($_i350 = 0; $_i350 < $_size346; ++$_i350)
             {
-              $elem360 = null;
-              $elem360 = new \metastore\Partition();
-              $xfer += $elem360->read($input);
-              $this->partitions []= $elem360;
+              $elem351 = null;
+              $elem351 = new \metastore\Partition();
+              $xfer += $elem351->read($input);
+              $this->partitions []= $elem351;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -11302,9 +10981,9 @@ class PartitionsByExprResult {
       {
         $output->writeListBegin(TType::STRUCT, count($this->partitions));
         {
-          foreach ($this->partitions as $iter361)
+          foreach ($this->partitions as $iter352)
           {
-            $xfer += $iter361->write($output);
+            $xfer += $iter352->write($output);
           }
         }
         $output->writeListEnd();
@@ -11541,15 +11220,15 @@ class TableStatsResult {
         case 1:
           if ($ftype == TType::LST) {
             $this->tableStats = array();
-            $_size362 = 0;
-            $_etype365 = 0;
-            $xfer += $input->readListBegin($_etype365, $_size362);
-            for ($_i366 = 0; $_i366 < $_size362; ++$_i366)
+            $_size353 = 0;
+            $_etype356 = 0;
+            $xfer += $input->readListBegin($_etype356, $_size353);
+            for ($_i357 = 0; $_i357 < $_size353; ++$_i357)
             {
-              $elem367 = null;
-              $elem367 = new \metastore\ColumnStatisticsObj();
-              $xfer += $elem367->read($input);
-              $this->tableStats []= $elem367;
+              $elem358 = null;
+              $elem358 = new \metastore\ColumnStatisticsObj();
+              $xfer += $elem358->read($input);
+              $this->tableStats []= $elem358;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -11577,9 +11256,9 @@ class TableStatsResult {
       {
         $output->writeListBegin(TType::STRUCT, count($this->tableStats));
         {
-          foreach ($this->tableStats as $iter368)
+          foreach ($this->tableStats as $iter359)
           {
-            $xfer += $iter368->write($output);
+            $xfer += $iter359->write($output);
           }
         }
         $output->writeListEnd();
@@ -11652,28 +11331,28 @@ class PartitionsStatsResult {
         case 1:
           if ($ftype == TType::MAP) {
             $this->partStats = array();
-            $_size369 = 0;
-            $_ktype370 = 0;
-            $_vtype371 = 0;
-            $xfer += $input->readMapBegin($_ktype370, $_vtype371, $_size369);
-            for ($_i373 = 0; $_i373 < $_size369; ++$_i373)
+            $_size360 = 0;
+            $_ktype361 = 0;
+            $_vtype362 = 0;
+            $xfer += $input->readMapBegin($_ktype361, $_vtype362, $_size360);
+            for ($_i364 = 0; $_i364 < $_size360; ++$_i364)
             {
-              $key374 = '';
-              $val375 = array();
-              $xfer += $input->readString($key374);
-              $val375 = array();
-              $_size376 = 0;
-              $_etype379 = 0;
-              $xfer += $input->readListBegin($_etype379, $_size376);
-              for ($_i380 = 0; $_i380 < $_size376; ++$_i380)
+              $key365 = '';
+              $val366 = array();
+              $xfer += $input->readString($key365);
+              $val366 = array();
+              $_size367 = 0;
+              $_etype370 = 0;
+              $xfer += $input->readListBegin($_etype370, $_size367);
+              for ($_i371 = 0; $_i371 < $_size367; ++$_i371)
               {
-                $elem381 = null;
-                $elem381 = new \metastore\ColumnStatisticsObj();
-                $xfer += $elem381->read($input);
-                $val375 []= $elem381;
+                $elem372 = null;
+                $elem372 = new \metastore\ColumnStatisticsObj();
+                $xfer += $elem372->read($input);
+                $val366 []= $elem372;
               }
               $xfer += $input->readListEnd();
-              $this->partStats[$key374] = $val375;
+              $this->partStats[$key365] = $val366;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -11701,15 +11380,15 @@ class PartitionsStatsResult {
       {
         $output->writeMapBegin(TType::STRING, TType::LST, count($this->partStats));
         {
-          foreach ($this->partStats as $kiter382 => $viter383)
+          foreach ($this->partStats as $kiter373 => $viter374)
           {
-            $xfer += $output->writeString($kiter382);
+            $xfer += $output->writeString($kiter373);
             {
-              $output->writeListBegin(TType::STRUCT, count($viter383));
+              $output->writeListBegin(TType::STRUCT, count($viter374));
               {
-                foreach ($viter383 as $iter384)
+                foreach ($viter374 as $iter375)
                 {
-                  $xfer += $iter384->write($output);
+                  $xfer += $iter375->write($output);
                 }
               }
               $output->writeListEnd();
@@ -11813,14 +11492,14 @@ class TableStatsRequest {
         case 3:
           if ($ftype == TType::LST) {
             $this->colNames = array();
-            $_size385 = 0;
-            $_etype388 = 0;
-            $xfer += $input->readListBegin($_etype388, $_size385);
-            for ($_i389 = 0; $_i389 < $_size385; ++$_i389)
+            $_size376 = 0;
+            $_etype379 = 0;
+            $xfer += $input->readListBegin($_etype379, $_size376);
+            for ($_i380 = 0; $_i380 < $_size376; ++$_i380)
             {
-              $elem390 = null;
-              $xfer += $input->readString($elem390);
-              $this->colNames []= $elem390;
+              $elem381 = null;
+              $xfer += $input->readString($elem381);
+              $this->colNames []= $elem381;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -11858,9 +11537,9 @@ class TableStatsRequest {
       {
         $output->writeListBegin(TType::STRING, count($this->colNames));
         {
-          foreach ($this->colNames as $iter391)
+          foreach ($this->colNames as $iter382)
           {
-            $xfer += $output->writeString($iter391);
+            $xfer += $output->writeString($iter382);
           }
         }
         $output->writeListEnd();
@@ -11975,14 +11654,14 @@ class PartitionsStatsRequest {
         case 3:
           if ($ftype == TType::LST) {
             $this->colNames = array();
-            $_size392 = 0;
-            $_etype395 = 0;
-            $xfer += $input->readListBegin($_etype395, $_size392);
-            for ($_i396 = 0; $_i396 < $_size392; ++$_i396)
+            $_size383 = 0;
+            $_etype386 = 0;
+            $xfer += $input->readListBegin($_etype386, $_size383);
+            for ($_i387 = 0; $_i387 < $_size383; ++$_i387)
             {
-              $elem397 = null;
-              $xfer += $input->readString($elem397);
-              $this->colNames []= $elem397;
+              $elem388 = null;
+              $xfer += $input->readString($elem388);
+              $this->colNames []= $elem388;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -11992,14 +11671,14 @@ class PartitionsStatsRequest {
         case 4:
           if ($ftype == TType::LST) {
             $this->partNames = array();
-            $_size398 = 0;
-            $_etype401 = 0;
-            $xfer += $input->readListBegin($_etype401, $_size398);
-            for ($_i402 = 0; $_i402 < $_size398; ++$_i402)
+            $_size389 = 0;
+            $_etype392 = 0;
+            $xfer += $input->readListBegin($_etype392, $_size389);
+            for ($_i393 = 0; $_i393 < $_size389; ++$_i393)
             {
-              $elem403 = null;
-              $xfer += $input->readString($elem403);
-              $this->partNames []= $elem403;
+              $elem394 = null;
+              $xfer += $input->readString($elem394);
+              $this->partNames []= $elem394;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -12037,9 +11716,9 @@ class PartitionsStatsRequest {
       {
         $output->writeListBegin(TType::STRING, count($this->colNames));
         {
-          foreach ($this->colNames as $iter404)
+          foreach ($this->colNames as $iter395)
           {
-            $xfer += $output->writeString($iter404);
+            $xfer += $output->writeString($iter395);
           }
         }
         $output->writeListEnd();
@@ -12054,9 +11733,9 @@ class PartitionsStatsRequest {
       {
         $output->writeListBegin(TType::STRING, count($this->partNames));
         {
-          foreach ($this->partNames as $iter405)
+          foreach ($this->partNames as $iter396)
           {
-            $xfer += $output->writeString($iter405);
+            $xfer += $output->writeString($iter396);
           }
         }
         $output->writeListEnd();
@@ -12121,15 +11800,15 @@ class AddPartitionsResult {
         case 1:
           if ($ftype == TType::LST) {
             $this->partitions = array();
-            $_size406 = 0;
-            $_etype409 = 0;
-            $xfer += $input->readListBegin($_etype409, $_size406);
-            for ($_i410 = 0; $_i410 < $_size406; ++$_i410)
+            $_size397 = 0;
+            $_etype400 = 0;
+            $xfer += $input->readListBegin($_etype400, $_size397);
+            for ($_i401 = 0; $_i401 < $_size397; ++$_i401)
             {
-              $elem411 = null;
-              $elem411 = new \metastore\Partition();
-              $xfer += $elem411->read($input);
-              $this->partitions []= $elem411;
+              $elem402 = null;
+              $elem402 = new \metastore\Partition();
+              $xfer += $elem402->read($input);
+              $this->partitions []= $elem402;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -12157,9 +11836,9 @@ class AddPartitionsResult {
       {
         $output->writeListBegin(TType::STRUCT, count($this->partitions));
         {
-          foreach ($this->partitions as $iter412)
+          foreach ($this->partitions as $iter403)
           {
-            $xfer += $iter412->write($output);
+            $xfer += $iter403->write($output);
           }
         }
         $output->writeListEnd();
@@ -12282,15 +11961,15 @@ class AddPartitionsRequest {
         case 3:
           if ($ftype == TType::LST) {
             $this->parts = array();
-            $_size413 = 0;
-            $_etype416 = 0;
-            $xfer += $input->readListBegin($_etype416, $_size413);
-            for ($_i417 = 0; $_i417 < $_size413; ++$_i417)
+            $_size404 = 0;
+            $_etype407 = 0;
+            $xfer += $input->readListBegin($_etype407, $_size404);
+            for ($_i408 = 0; $_i408 < $_size404; ++$_i408)
             {
-              $elem418 = null;
-              $elem418 = new \metastore\Partition();
-              $xfer += $elem418->read($input);
-              $this->parts []= $elem418;
+              $elem409 = null;
+              $elem409 = new \metastore\Partition();
+              $xfer += $elem409->read($input);
+              $this->parts []= $elem409;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -12342,9 +12021,9 @@ class AddPartitionsRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->parts));
         {
-          foreach ($this->parts as $iter419)
+          foreach ($this->parts as $iter410)
           {
-            $xfer += $iter419->write($output);
+            $xfer += $iter410->write($output);
           }
         }
         $output->writeListEnd();
@@ -12419,15 +12098,15 @@ class DropPartitionsResult {
         case 1:
           if ($ftype == TType::LST) {
             $this->partitions = array();
-            $_size420 = 0;
-            $_etype423 = 0;
-            $xfer += $input->readListBegin($_etype423, $_size420);
-            for ($_i424 = 0; $_i424 < $_size420; ++$_i424)
+            $_size411 = 0;
+            $_etype414 = 0;
+            $xfer += $input->readListBegin($_etype414, $_size411);
+            for ($_i415 = 0; $_i415 < $_size411; ++$_i415)
             {
-              $elem425 = null;
-              $elem425 = new \metastore\Partition();
-              $xfer += $elem425->read($input);
-              $this->partitions []= $elem425;
+              $elem416 = null;
+              $elem416 = new \metastore\Partition();
+              $xfer += $elem416->read($input);
+              $this->partitions []= $elem416;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -12455,9 +12134,9 @@ class DropPartitionsResult {
       {
         $output->writeListBegin(TType::STRUCT, count($this->partitions));
         {
-          foreach ($this->partitions as $iter426)
+          foreach ($this->partitions as $iter417)
           {
-            $xfer += $iter426->write($output);
+            $xfer += $iter417->write($output);
           }
         }
         $output->writeListEnd();
@@ -12635,14 +12314,14 @@ class RequestPartsSpec {
         case 1:
           if ($ftype == TType::LST) {
             $this->names = array();
-            $_size427 = 0;
-            $_etype430 = 0;
-            $xfer += $input->readListBegin($_etype430, $_size427);
-            for ($_i431 = 0; $_i431 < $_size427; ++$_i431)
+            $_size418 = 0;
+            $_etype421 = 0;
+            $xfer += $input->readListBegin($_etype421, $_size418);
+            for ($_i422 = 0; $_i422 < $_size418; ++$_i422)
             {
-              $elem432 = null;
-              $xfer += $input->readString($elem432);
-              $this->names []= $elem432;
+              $elem423 = null;
+              $xfer += $input->readString($elem423);
+              $this->names []= $elem423;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -12652,15 +12331,15 @@ class RequestPartsSpec {
         case 2:
           if ($ftype == TType::LST) {
             $this->exprs = array();
-            $_size433 = 0;
-            $_etype436 = 0;
-            $xfer += $input->readListBegin($_etype436, $_size433);
-            for ($_i437 = 0; $_i437 < $_size433; ++$_i437)
+            $_size424 = 0;
+            $_etype427 = 0;
+            $xfer += $input->readListBegin($_etype427, $_size424);
+            for ($_i428 = 0; $_i428 < $_size424; ++$_i428)
             {
-              $elem438 = null;
-              $elem438 = new \metastore\DropPartitionsExpr();
-              $xfer += $elem438->read($input);
-              $this->exprs []= $elem438;
+              $elem429 = null;
+              $elem429 = new \metastore\DropPartitionsExpr();
+              $xfer += $elem429->read($input);
+              $this->exprs []= $elem429;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -12688,9 +12367,9 @@ class RequestPartsSpec {
       {
         $output->writeListBegin(TType::STRING, count($this->names));
         {
-          foreach ($this->names as $iter439)
+          foreach ($this->names as $iter430)
           {
-            $xfer += $output->writeString($iter439);
+            $xfer += $output->writeString($iter430);
           }
         }
         $output->writeListEnd();
@@ -12705,9 +12384,9 @@ class RequestPartsSpec {
       {
         $output->writeListBegin(TType::STRUCT, count($this->exprs));
         {
-          foreach ($this->exprs as $iter440)
+          foreach ($this->exprs as $iter431)
           {
-            $xfer += $iter440->write($output);
+            $xfer += $iter431->write($output);
           }
         }
         $output->writeListEnd();
@@ -13114,15 +12793,15 @@ class PartitionValuesRequest {
         case 3:
           if ($ftype == TType::LST) {
             $this->partitionKeys = array();
-            $_size441 = 0;
-            $_etype444 = 0;
-            $xfer += $input->readListBegin($_etype444, $_size441);
-            for ($_i445 = 0; $_i445 < $_size441; ++$_i445)
+            $_size432 = 0;
+            $_etype435 = 0;
+            $xfer += $input->readListBegin($_etype435, $_size432);
+            for ($_i436 = 0; $_i436 < $_size432; ++$_i436)
             {
-              $elem446 = null;
-              $elem446 = new \metastore\FieldSchema();
-              $xfer += $elem446->read($input);
-              $this->partitionKeys []= $elem446;
+              $elem437 = null;
+              $elem437 = new \metastore\FieldSchema();
+              $xfer += $elem437->read($input);
+              $this->partitionKeys []= $elem437;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -13146,15 +12825,15 @@ class PartitionValuesRequest {
         case 6:
           if ($ftype == TType::LST) {
             $this->partitionOrder = array();
-            $_size447 = 0;
-            $_etype450 = 0;
-            $xfer += $input->readListBegin($_etype450, $_size447);
-            for ($_i451 = 0; $_i451 < $_size447; ++$_i451)
+            $_size438 = 0;
+            $_etype441 = 0;
+            $xfer += $input->readListBegin($_etype441, $_size438);
+            for ($_i442 = 0; $_i442 < $_size438; ++$_i442)
             {
-              $elem452 = null;
-              $elem452 = new \metastore\FieldSchema();
-              $xfer += $elem452->read($input);
-              $this->partitionOrder []= $elem452;
+              $elem443 = null;
+              $elem443 = new \metastore\FieldSchema();
+              $xfer += $elem443->read($input);
+              $this->partitionOrder []= $elem443;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -13206,9 +12885,9 @@ class PartitionValuesRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->partitionKeys));
         {
-          foreach ($this->partitionKeys as $iter453)
+          foreach ($this->partitionKeys as $iter444)
           {
-            $xfer += $iter453->write($output);
+            $xfer += $iter444->write($output);
           }
         }
         $output->writeListEnd();
@@ -13233,9 +12912,9 @@ class PartitionValuesRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->partitionOrder));
         {
-          foreach ($this->partitionOrder as $iter454)
+          foreach ($this->partitionOrder as $iter445)
           {
-            $xfer += $iter454->write($output);
+            $xfer += $iter445->write($output);
           }
         }
         $output->writeListEnd();
@@ -13309,14 +12988,14 @@ class PartitionValuesRow {
         case 1:
           if ($ftype == TType::LST) {
             $this->row = array();
-            $_size455 = 0;
-            $_etype458 = 0;
-            $xfer += $input->readListBegin($_etype458, $_size455);
-            for ($_i459 = 0; $_i459 < $_size455; ++$_i459)
+            $_size446 = 0;
+            $_etype449 = 0;
+            $xfer += $input->readListBegin($_etype449, $_size446);
+            for ($_i450 = 0; $_i450 < $_size446; ++$_i450)
             {
-              $elem460 = null;
-              $xfer += $input->readString($elem460);
-              $this->row []= $elem460;
+              $elem451 = null;
+              $xfer += $input->readString($elem451);
+              $this->row []= $elem451;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -13344,9 +13023,9 @@ class PartitionValuesRow {
       {
         $output->writeListBegin(TType::STRING, count($this->row));
         {
-          foreach ($this->row as $iter461)
+          foreach ($this->row as $iter452)
           {
-            $xfer += $output->writeString($iter461);
+            $xfer += $output->writeString($iter452);
           }
         }
         $output->writeListEnd();
@@ -13411,15 +13090,15 @@ class PartitionValuesResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->partitionValues = array();
-            $_size462 = 0;
-            $_etype465 = 0;
-            $xfer += $input->readListBegin($_etype465, $_size462);
-            for ($_i466 = 0; $_i466 < $_size462; ++$_i466)
+            $_size453 = 0;
+            $_etype456 = 0;
+            $xfer += $input->readListBegin($_etype456, $_size453);
+            for ($_i457 = 0; $_i457 < $_size453; ++$_i457)
             {
-              $elem467 = null;
-              $elem467 = new \metastore\PartitionValuesRow();
-              $xfer += $elem467->read($input);
-              $this->partitionValues []= $elem467;
+              $elem458 = null;
+              $elem458 = new \metastore\PartitionValuesRow();
+              $xfer += $elem458->read($input);
+              $this->partitionValues []= $elem458;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -13447,9 +13126,9 @@ class PartitionValuesResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->partitionValues));
         {
-          foreach ($this->partitionValues as $iter468)
+          foreach ($this->partitionValues as $iter459)
           {
-            $xfer += $iter468->write($output);
+            $xfer += $iter459->write($output);
           }
         }
         $output->writeListEnd();
@@ -13738,15 +13417,15 @@ class Function {
         case 8:
           if ($ftype == TType::LST) {
             $this->resourceUris = array();
-            $_size469 = 0;
-            $_etype472 = 0;
-            $xfer += $input->readListBegin($_etype472, $_size469);
-            for ($_i473 = 0; $_i473 < $_size469; ++$_i473)
+            $_size460 = 0;
+            $_etype463 = 0;
+            $xfer += $input->readListBegin($_etype463, $_size460);
+            for ($_i464 = 0; $_i464 < $_size460; ++$_i464)
             {
-              $elem474 = null;
-              $elem474 = new \metastore\ResourceUri();
-              $xfer += $elem474->read($input);
-              $this->resourceUris []= $elem474;
+              $elem465 = null;
+              $elem465 = new \metastore\ResourceUri();
+              $xfer += $elem465->read($input);
+              $this->resourceUris []= $elem465;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -13809,9 +13488,9 @@ class Function {
       {
         $output->writeListBegin(TType::STRUCT, count($this->resourceUris));
         {
-          foreach ($this->resourceUris as $iter475)
+          foreach ($this->resourceUris as $iter466)
           {
-            $xfer += $iter475->write($output);
+            $xfer += $iter466->write($output);
           }
         }
         $output->writeListEnd();
@@ -14153,15 +13832,15 @@ class GetOpenTxnsInfoResponse {
         case 2:
           if ($ftype == TType::LST) {
             $this->open_txns = array();
-            $_size476 = 0;
-            $_etype479 = 0;
-            $xfer += $input->readListBegin($_etype479, $_size476);
-            for ($_i480 = 0; $_i480 < $_size476; ++$_i480)
+            $_size467 = 0;
+            $_etype470 = 0;
+            $xfer += $input->readListBegin($_etype470, $_size467);
+            for ($_i471 = 0; $_i471 < $_size467; ++$_i471)
             {
-              $elem481 = null;
-              $elem481 = new \metastore\TxnInfo();
-              $xfer += $elem481->read($input);
-              $this->open_txns []= $elem481;
+              $elem472 = null;
+              $elem472 = new \metastore\TxnInfo();
+              $xfer += $elem472->read($input);
+              $this->open_txns []= $elem472;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -14194,9 +13873,9 @@ class GetOpenTxnsInfoResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->open_txns));
         {
-          foreach ($this->open_txns as $iter482)
+          foreach ($this->open_txns as $iter473)
           {
-            $xfer += $iter482->write($output);
+            $xfer += $iter473->write($output);
           }
         }
         $output->writeListEnd();
@@ -14300,14 +13979,14 @@ class GetOpenTxnsResponse {
         case 2:
           if ($ftype == TType::LST) {
             $this->open_txns = array();
-            $_size483 = 0;
-            $_etype486 = 0;
-            $xfer += $input->readListBegin($_etype486, $_size483);
-            for ($_i487 = 0; $_i487 < $_size483; ++$_i487)
+            $_size474 = 0;
+            $_etype477 = 0;
+            $xfer += $input->readListBegin($_etype477, $_size474);
+            for ($_i478 = 0; $_i478 < $_size474; ++$_i478)
             {
-              $elem488 = null;
-              $xfer += $input->readI64($elem488);
-              $this->open_txns []= $elem488;
+              $elem479 = null;
+              $xfer += $input->readI64($elem479);
+              $this->open_txns []= $elem479;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -14354,9 +14033,9 @@ class GetOpenTxnsResponse {
       {
         $output->writeListBegin(TType::I64, count($this->open_txns));
         {
-          foreach ($this->open_txns as $iter489)
+          foreach ($this->open_txns as $iter480)
           {
-            $xfer += $output->writeI64($iter489);
+            $xfer += $output->writeI64($iter480);
           }
         }
         $output->writeListEnd();
@@ -14574,14 +14253,14 @@ class OpenTxnsResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->txn_ids = array();
-            $_size490 = 0;
-            $_etype493 = 0;
-            $xfer += $input->readListBegin($_etype493, $_size490);
-            for ($_i494 = 0; $_i494 < $_size490; ++$_i494)
+            $_size481 = 0;
+            $_etype484 = 0;
+            $xfer += $input->readListBegin($_etype484, $_size481);
+            for ($_i485 = 0; $_i485 < $_size481; ++$_i485)
             {
-              $elem495 = null;
-              $xfer += $input->readI64($elem495);
-              $this->txn_ids []= $elem495;
+              $elem486 = null;
+              $xfer += $input->readI64($elem486);
+              $this->txn_ids []= $elem486;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -14609,9 +14288,9 @@ class OpenTxnsResponse {
       {
         $output->writeListBegin(TType::I64, count($this->txn_ids));
         {
-          foreach ($this->txn_ids as $iter496)
+          foreach ($this->txn_ids as $iter487)
           {
-            $xfer += $output->writeI64($iter496);
+            $xfer += $output->writeI64($iter487);
           }
         }
         $output->writeListEnd();
@@ -14750,14 +14429,14 @@ class AbortTxnsRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->txn_ids = array();
-            $_size497 = 0;
-            $_etype500 = 0;
-            $xfer += $input->readListBegin($_etype500, $_size497);
-            for ($_i501 = 0; $_i501 < $_size497; ++$_i501)
+            $_size488 = 0;
+            $_etype491 = 0;
+            $xfer += $input->readListBegin($_etype491, $_size488);
+            for ($_i492 = 0; $_i492 < $_size488; ++$_i492)
             {
-              $elem502 = null;
-              $xfer += $input->readI64($elem502);
-              $this->txn_ids []= $elem502;
+              $elem493 = null;
+              $xfer += $input->readI64($elem493);
+              $this->txn_ids []= $elem493;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -14785,9 +14464,9 @@ class AbortTxnsRequest {
       {
         $output->writeListBegin(TType::I64, count($this->txn_ids));
         {
-          foreach ($this->txn_ids as $iter503)
+          foreach ($this->txn_ids as $iter494)
           {
-            $xfer += $output->writeI64($iter503);
+            $xfer += $output->writeI64($iter494);
           }
         }
         $output->writeListEnd();
@@ -14937,14 +14616,14 @@ class GetValidWriteIdsRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->fullTableNames = array();
-            $_size504 = 0;
-            $_etype507 = 0;
-            $xfer += $input->readListBegin($_etype507, $_size504);
-            for ($_i508 = 0; $_i508 < $_size504; ++$_i508)
+            $_size495 = 0;
+            $_etype498 = 0;
+            $xfer += $input->readListBegin($_etype498, $_size495);
+            for ($_i499 = 0; $_i499 < $_size495; ++$_i499)
             {
-              $elem509 = null;
-              $xfer += $input->readString($elem509);
-              $this->fullTableNames []= $elem509;
+              $elem500 = null;
+              $xfer += $input->readString($elem500);
+              $this->fullTableNames []= $elem500;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -14979,9 +14658,9 @@ class GetValidWriteIdsRequest {
       {
         $output->writeListBegin(TType::STRING, count($this->fullTableNames));
         {
-          foreach ($this->fullTableNames as $iter510)
+          foreach ($this->fullTableNames as $iter501)
           {
-            $xfer += $output->writeString($iter510);
+            $xfer += $output->writeString($iter501);
           }
         }
         $output->writeListEnd();
@@ -15108,14 +14787,14 @@ class TableValidWriteIds {
         case 3:
           if ($ftype == TType::LST) {
             $this->invalidWriteIds = array();
-            $_size511 = 0;
-            $_etype514 = 0;
-            $xfer += $input->readListBegin($_etype514, $_size511);
-            for ($_i515 = 0; $_i515 < $_size511; ++$_i515)
+            $_size502 = 0;
+            $_etype505 = 0;
+            $xfer += $input->readListBegin($_etype505, $_size502);
+            for ($_i506 = 0; $_i506 < $_size502; ++$_i506)
             {
-              $elem516 = null;
-              $xfer += $input->readI64($elem516);
-              $this->invalidWriteIds []= $elem516;
+              $elem507 = null;
+              $xfer += $input->readI64($elem507);
+              $this->invalidWriteIds []= $elem507;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -15167,9 +14846,9 @@ class TableValidWriteIds {
       {
         $output->writeListBegin(TType::I64, count($this->invalidWriteIds));
         {
-          foreach ($this->invalidWriteIds as $iter517)
+          foreach ($this->invalidWriteIds as $iter508)
           {
-            $xfer += $output->writeI64($iter517);
+            $xfer += $output->writeI64($iter508);
           }
         }
         $output->writeListEnd();
@@ -15244,15 +14923,15 @@ class GetValidWriteIdsResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->tblValidWriteIds = array();
-            $_size518 = 0;
-            $_etype521 = 0;
-            $xfer += $input->readListBegin($_etype521, $_size518);
-            for ($_i522 = 0; $_i522 < $_size518; ++$_i522)
+            $_size509 = 0;
+            $_etype512 = 0;
+            $xfer += $input->readListBegin($_etype512, $_size509);
+            for ($_i513 = 0; $_i513 < $_size509; ++$_i513)
             {
-              $elem523 = null;
-              $elem523 = new \metastore\TableValidWriteIds();
-              $xfer += $elem523->read($input);
-              $this->tblValidWriteIds []= $elem523;
+              $elem514 = null;
+              $elem514 = new \metastore\TableValidWriteIds();
+              $xfer += $elem514->read($input);
+              $this->tblValidWriteIds []= $elem514;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -15280,9 +14959,9 @@ class GetValidWriteIdsResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->tblValidWriteIds));
         {
-          foreach ($this->tblValidWriteIds as $iter524)
+          foreach ($this->tblValidWriteIds as $iter515)
           {
-            $xfer += $iter524->write($output);
+            $xfer += $iter515->write($output);
           }
         }
         $output->writeListEnd();
@@ -15368,14 +15047,14 @@ class AllocateTableWriteIdsRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->txnIds = array();
-            $_size525 = 0;
-            $_etype528 = 0;
-            $xfer += $input->readListBegin($_etype528, $_size525);
-            for ($_i529 = 0; $_i529 < $_size525; ++$_i529)
+            $_size516 = 0;
+            $_etype519 = 0;
+            $xfer += $input->readListBegin($_etype519, $_size516);
+            for ($_i520 = 0; $_i520 < $_size516; ++$_i520)
             {
-              $elem530 = null;
-              $xfer += $input->readI64($elem530);
-              $this->txnIds []= $elem530;
+              $elem521 = null;
+              $xfer += $input->readI64($elem521);
+              $this->txnIds []= $elem521;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -15417,9 +15096,9 @@ class AllocateTableWriteIdsRequest {
       {
         $output->writeListBegin(TType::I64, count($this->txnIds));
         {
-          foreach ($this->txnIds as $iter531)
+          foreach ($this->txnIds as $iter522)
           {
-            $xfer += $output->writeI64($iter531);
+            $xfer += $output->writeI64($iter522);
           }
         }
         $output->writeListEnd();
@@ -15592,15 +15271,15 @@ class AllocateTableWriteIdsResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->txnToWriteIds = array();
-            $_size532 = 0;
-            $_etype535 = 0;
-            $xfer += $input->readListBegin($_etype535, $_size532);
-            for ($_i536 = 0; $_i536 < $_size532; ++$_i536)
+            $_size523 = 0;
+            $_etype526 = 0;
+            $xfer += $input->readListBegin($_etype526, $_size523);
+            for ($_i527 = 0; $_i527 < $_size523; ++$_i527)
             {
-              $elem537 = null;
-              $elem537 = new \metastore\TxnToWriteId();
-              $xfer += $elem537->read($input);
-              $this->txnToWriteIds []= $elem537;
+              $elem528 = null;
+              $elem528 = new \metastore\TxnToWriteId();
+              $xfer += $elem528->read($input);
+              $this->txnToWriteIds []= $elem528;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -15628,9 +15307,9 @@ class AllocateTableWriteIdsResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->txnToWriteIds));
         {
-          foreach ($this->txnToWriteIds as $iter538)
+          foreach ($this->txnToWriteIds as $iter529)
           {
-            $xfer += $iter538->write($output);
+            $xfer += $iter529->write($output);
           }
         }
         $output->writeListEnd();
@@ -15975,15 +15654,15 @@ class LockRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->component = array();
-            $_size539 = 0;
-            $_etype542 = 0;
-            $xfer += $input->readListBegin($_etype542, $_size539);
-            for ($_i543 = 0; $_i543 < $_size539; ++$_i543)
+            $_size530 = 0;
+            $_etype533 = 0;
+            $xfer += $input->readListBegin($_etype533, $_size530);
+            for ($_i534 = 0; $_i534 < $_size530; ++$_i534)
             {
-              $elem544 = null;
-              $elem544 = new \metastore\LockComponent();
-              $xfer += $elem544->read($input);
-              $this->component []= $elem544;
+              $elem535 = null;
+              $elem535 = new \metastore\LockComponent();
+              $xfer += $elem535->read($input);
+              $this->component []= $elem535;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -16039,9 +15718,9 @@ class LockRequest {
       {
         $output->writeListBegin(TType::STRUCT, count($this->component));
         {
-          foreach ($this->component as $iter545)
+          foreach ($this->component as $iter536)
           {
-            $xfer += $iter545->write($output);
+            $xfer += $iter536->write($output);
           }
         }
         $output->writeListEnd();
@@ -16984,15 +16663,15 @@ class ShowLocksResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->locks = array();
-            $_size546 = 0;
-            $_etype549 = 0;
-            $xfer += $input->readListBegin($_etype549, $_size546);
-            for ($_i550 = 0; $_i550 < $_size546; ++$_i550)
+            $_size537 = 0;
+            $_etype540 = 0;
+            $xfer += $input->readListBegin($_etype540, $_size537);
+            for ($_i541 = 0; $_i541 < $_size537; ++$_i541)
             {
-              $elem551 = null;
-              $elem551 = new \metastore\ShowLocksResponseElement();
-              $xfer += $elem551->read($input);
-              $this->locks []= $elem551;
+              $elem542 = null;
+              $elem542 = new \metastore\ShowLocksResponseElement();
+              $xfer += $elem542->read($input);
+              $this->locks []= $elem542;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -17020,9 +16699,9 @@ class ShowLocksResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->locks));
         {
-          foreach ($this->locks as $iter552)
+          foreach ($this->locks as $iter543)
           {
-            $xfer += $iter552->write($output);
+            $xfer += $iter543->write($output);
           }
         }
         $output->writeListEnd();
@@ -17297,17 +16976,17 @@ class HeartbeatTxnRangeResponse {
         case 1:
           if ($ftype == TType::SET) {
             $this->aborted = array();
-            $_size553 = 0;
-            $_etype556 = 0;
-            $xfer += $input->readSetBegin($_etype556, $_size553);
-            for ($_i557 = 0; $_i557 < $_size553; ++$_i557)
+            $_size544 = 0;
+            $_etype547 = 0;
+            $xfer += $input->readSetBegin($_etype547, $_size544);
+            for ($_i548 = 0; $_i548 < $_size544; ++$_i548)
             {
-              $elem558 = null;
-              $xfer += $input->readI64($elem558);
-              if (is_scalar($elem558)) {
-                $this->aborted[$elem558] = true;
+              $elem549 = null;
+              $xfer += $input->readI64($elem549);
+              if (is_scalar($elem549)) {
+                $this->aborted[$elem549] = true;
               } else {
-                $this->aborted []= $elem558;
+                $this->aborted []= $elem549;
               }
             }
             $xfer += $input->readSetEnd();
@@ -17318,17 +16997,17 @@ class HeartbeatTxnRangeResponse {
         case 2:
           if ($ftype == TType::SET) {
             $this->nosuch = array();
-            $_size559 = 0;
-            $_etype562 = 0;
-            $xfer += $input->readSetBegin($_etype562, $_size559);
-            for ($_i563 = 0; $_i563 < $_size559; ++$_i563)
+            $_size550 = 0;
+            $_etype553 = 0;
+            $xfer += $input->readSetBegin($_etype553, $_size550);
+            for ($_i554 = 0; $_i554 < $_size550; ++$_i554)
             {
-              $elem564 = null;
-              $xfer += $input->readI64($elem564);
-              if (is_scalar($elem564)) {
-                $this->nosuch[$elem564] = true;
+              $elem555 = null;
+              $xfer += $input->readI64($elem555);
+              if (is_scalar($elem555)) {
+                $this->nosuch[$elem555] = true;
               } else {
-                $this->nosuch []= $elem564;
+                $this->nosuch []= $elem555;
               }
             }
             $xfer += $input->readSetEnd();
@@ -17357,12 +17036,12 @@ class HeartbeatTxnRangeResponse {
       {
         $output->writeSetBegin(TType::I64, count($this->aborted));
         {
-          foreach ($this->aborted as $iter565 => $iter566)
+          foreach ($this->aborted as $iter556 => $iter557)
           {
-            if (is_scalar($iter566)) {
-            $xfer += $output->writeI64($iter565);
+            if (is_scalar($iter557)) {
+            $xfer += $output->writeI64($iter556);
             } else {
-            $xfer += $output->writeI64($iter566);
+            $xfer += $output->writeI64($iter557);
             }
           }
         }
@@ -17378,12 +17057,12 @@ class HeartbeatTxnRangeResponse {
       {
         $output->writeSetBegin(TType::I64, count($this->nosuch));
         {
-          foreach ($this->nosuch as $iter567 => $iter568)
+          foreach ($this->nosuch as $iter558 => $iter559)
           {
-            if (is_scalar($iter568)) {
-            $xfer += $output->writeI64($iter567);
+            if (is_scalar($iter559)) {
+            $xfer += $output->writeI64($iter558);
             } else {
-            $xfer += $output->writeI64($iter568);
+            $xfer += $output->writeI64($iter559);
             }
           }
         }
@@ -17542,17 +17221,17 @@ class CompactionRequest {
         case 6:
           if ($ftype == TType::MAP) {
             $this->properties = array();
-            $_size569 = 0;
-            $_ktype570 = 0;
-            $_vtype571 = 0;
-            $xfer += $input->readMapBegin($_ktype570, $_vtype571, $_size569);
-            for ($_i573 = 0; $_i573 < $_size569; ++$_i573)
+            $_size560 = 0;
+            $_ktype561 = 0;
+            $_vtype562 = 0;
+            $xfer += $input->readMapBegin($_ktype561, $_vtype562, $_size560);
+            for ($_i564 = 0; $_i564 < $_size560; ++$_i564)
             {
-              $key574 = '';
-              $val575 = '';
-              $xfer += $input->readString($key574);
-              $xfer += $input->readString($val575);
-              $this->properties[$key574] = $val575;
+              $key565 = '';
+              $val566 = '';
+              $xfer += $input->readString($key565);
+              $xfer += $input->readString($val566);
+              $this->properties[$key565] = $val566;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -17605,10 +17284,10 @@ class CompactionRequest {
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->properties));
         {
-          foreach ($this->properties as $kiter576 => $viter577)
+          foreach ($this->properties as $kiter567 => $viter568)
           {
-            $xfer += $output->writeString($kiter576);
-            $xfer += $output->writeString($viter577);
+            $xfer += $output->writeString($kiter567);
+            $xfer += $output->writeString($viter568);
           }
         }
         $output->writeMapEnd();
@@ -18195,15 +17874,15 @@ class ShowCompactResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->compacts = array();
-            $_size578 = 0;
-            $_etype581 = 0;
-            $xfer += $input->readListBegin($_etype581, $_size578);
-            for ($_i582 = 0; $_i582 < $_size578; ++$_i582)
+            $_size569 = 0;
+            $_etype572 = 0;
+            $xfer += $input->readListBegin($_etype572, $_size569);
+            for ($_i573 = 0; $_i573 < $_size569; ++$_i573)
             {
-              $elem583 = null;
-              $elem583 = new \metastore\ShowCompactResponseElement();
-              $xfer += $elem583->read($input);
-              $this->compacts []= $elem583;
+              $elem574 = null;
+              $elem574 = new \metastore\ShowCompactResponseElement();
+              $xfer += $elem574->read($input);
+              $this->compacts []= $elem574;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -18231,9 +17910,9 @@ class ShowCompactResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->compacts));
         {
-          foreach ($this->compacts as $iter584)
+          foreach ($this->compacts as $iter575)
           {
-            $xfer += $iter584->write($output);
+            $xfer += $iter575->write($output);
           }
         }
         $output->writeListEnd();
@@ -18380,14 +18059,14 @@ class AddDynamicPartitions {
         case 5:
           if ($ftype == TType::LST) {
             $this->partitionnames = array();
-            $_size585 = 0;
-            $_etype588 = 0;
-            $xfer += $input->readListBegin($_etype588, $_size585);
-            for ($_i589 = 0; $_i589 < $_size585; ++$_i589)
+            $_size576 = 0;
+            $_etype579 = 0;
+            $xfer += $input->readListBegin($_etype579, $_size576);
+            for ($_i580 = 0; $_i580 < $_size576; ++$_i580)
             {
-              $elem590 = null;
-              $xfer += $input->readString($elem590);
-              $this->partitionnames []= $elem590;
+              $elem581 = null;
+              $xfer += $input->readString($elem581);
+              $this->partitionnames []= $elem581;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -18442,9 +18121,9 @@ class AddDynamicPartitions {
       {
         $output->writeListBegin(TType::STRING, count($this->partitionnames));
         {
-          foreach ($this->partitionnames as $iter591)
+          foreach ($this->partitionnames as $iter582)
           {
-            $xfer += $output->writeString($iter591);
+            $xfer += $output->writeString($iter582);
           }
         }
         $output->writeListEnd();
@@ -18750,17 +18429,17 @@ class CreationMetadata {
         case 3:
           if ($ftype == TType::SET) {
             $this->tablesUsed = array();
-            $_size592 = 0;
-            $_etype595 = 0;
-            $xfer += $input->readSetBegin($_etype595, $_size592);
-            for ($_i596 = 0; $_i596 < $_size592; ++$_i596)
+            $_size583 = 0;
+            $_etype586 = 0;
+            $xfer += $input->readSetBegin($_etype586, $_size583);
+            for ($_i587 = 0; $_i587 < $_size583; ++$_i587)
             {
-              $elem597 = null;
-              $xfer += $input->readString($elem597);
-              if (is_scalar($elem597)) {
-                $this->tablesUsed[$elem597] = true;
+              $elem588 = null;
+              $xfer += $input->readString($elem588);
+              if (is_scalar($elem588)) {
+                $this->tablesUsed[$elem588] = true;
               } else {
-                $this->tablesUsed []= $elem597;
+                $this->tablesUsed []= $elem588;
               }
             }
             $xfer += $input->readSetEnd();
@@ -18806,12 +18485,12 @@ class CreationMetadata {
       {
         $output->writeSetBegin(TType::STRING, count($this->tablesUsed));
         {
-          foreach ($this->tablesUsed as $iter598 => $iter599)
+          foreach ($this->tablesUsed as $iter589 => $iter590)
           {
-            if (is_scalar($iter599)) {
-            $xfer += $output->writeString($iter598);
+            if (is_scalar($iter590)) {
+            $xfer += $output->writeString($iter589);
             } else {
-            $xfer += $output->writeString($iter599);
+            $xfer += $output->writeString($iter590);
             }
           }
         }
@@ -19193,15 +18872,15 @@ class NotificationEventResponse {
         case 1:
           if ($ftype == TType::LST) {
             $this->events = array();
-            $_size600 = 0;
-            $_etype603 = 0;
-            $xfer += $input->readListBegin($_etype603, $_size600);
-            for ($_i604 = 0; $_i604 < $_size600; ++$_i604)
+            $_size591 = 0;
+            $_etype594 = 0;
+            $xfer += $input->readListBegin($_etype594, $_size591);
+            for ($_i595 = 0; $_i595 < $_size591; ++$_i595)
             {
-              $elem605 = null;
-              $elem605 = new \metastore\NotificationEvent();
-              $xfer += $elem605->read($input);
-              $this->events []= $elem605;
+              $elem596 = null;
+              $elem596 = new \metastore\NotificationEvent();
+              $xfer += $elem596->read($input);
+              $this->events []= $elem596;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19229,9 +18908,9 @@ class NotificationEventResponse {
       {
         $output->writeListBegin(TType::STRUCT, count($this->events));
         {
-          foreach ($this->events as $iter606)
+          foreach ($this->events as $iter597)
           {
-            $xfer += $iter606->write($output);
+            $xfer += $iter597->write($output);
           }
         }
         $output->writeListEnd();
@@ -19576,14 +19255,14 @@ class InsertEventRequestData {
         case 2:
           if ($ftype == TType::LST) {
             $this->filesAdded = array();
-            $_size607 = 0;
-            $_etype610 = 0;
-            $xfer += $input->readListBegin($_etype610, $_size607);
-            for ($_i611 = 0; $_i611 < $_size607; ++$_i611)
+            $_size598 = 0;
+            $_etype601 = 0;
+            $xfer += $input->readListBegin($_etype601, $_size598);
+            for ($_i602 = 0; $_i602 < $_size598; ++$_i602)
             {
-              $elem612 = null;
-              $xfer += $input->readString($elem612);
-              $this->filesAdded []= $elem612;
+              $elem603 = null;
+              $xfer += $input->readString($elem603);
+              $this->filesAdded []= $elem603;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19593,14 +19272,14 @@ class InsertEventRequestData {
         case 3:
           if ($ftype == TType::LST) {
             $this->filesAddedChecksum = array();
-            $_size613 = 0;
-            $_etype616 = 0;
-            $xfer += $input->readListBegin($_etype616, $_size613);
-            for ($_i617 = 0; $_i617 < $_size613; ++$_i617)
+            $_size604 = 0;
+            $_etype607 = 0;
+            $xfer += $input->readListBegin($_etype607, $_size604);
+            for ($_i608 = 0; $_i608 < $_size604; ++$_i608)
             {
-              $elem618 = null;
-              $xfer += $input->readString($elem618);
-              $this->filesAddedChecksum []= $elem618;
+              $elem609 = null;
+              $xfer += $input->readString($elem609);
+              $this->filesAddedChecksum []= $elem609;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19633,9 +19312,9 @@ class InsertEventRequestData {
       {
         $output->writeListBegin(TType::STRING, count($this->filesAdded));
         {
-          foreach ($this->filesAdded as $iter619)
+          foreach ($this->filesAdded as $iter610)
           {
-            $xfer += $output->writeString($iter619);
+            $xfer += $output->writeString($iter610);
           }
         }
         $output->writeListEnd();
@@ -19650,9 +19329,9 @@ class InsertEventRequestData {
       {
         $output->writeListBegin(TType::STRING, count($this->filesAddedChecksum));
         {
-          foreach ($this->filesAddedChecksum as $iter620)
+          foreach ($this->filesAddedChecksum as $iter611)
           {
-            $xfer += $output->writeString($iter620);
+            $xfer += $output->writeString($iter611);
           }
         }
         $output->writeListEnd();
@@ -19870,14 +19549,14 @@ class FireEventRequest {
         case 5:
           if ($ftype == TType::LST) {
             $this->partitionVals = array();
-            $_size621 = 0;
-            $_etype624 = 0;
-            $xfer += $input->readListBegin($_etype624, $_size621);
-            for ($_i625 = 0; $_i625 < $_size621; ++$_i625)
+            $_size612 = 0;
+            $_etype615 = 0;
+            $xfer += $input->readListBegin($_etype615, $_size612);
+            for ($_i616 = 0; $_i616 < $_size612; ++$_i616)
             {
-              $elem626 = null;
-              $xfer += $input->readString($elem626);
-              $this->partitionVals []= $elem626;
+              $elem617 = null;
+              $xfer += $input->readString($elem617);
+              $this->partitionVals []= $elem617;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19928,9 +19607,9 @@ class FireEventRequest {
       {
         $output->writeListBegin(TType::STRING, count($this->partitionVals));
         {
-          foreach ($this->partitionVals as $iter627)
+          foreach ($this->partitionVals as $iter618)
           {
-            $xfer += $output->writeString($iter627);
+            $xfer += $output->writeString($iter618);
           }
         }
         $output->writeListEnd();
@@ -20158,18 +19837,18 @@ class GetFileMetadataByExprResult {
         case 1:
           if ($ftype == TType::MAP) {
             $this->metadata = array();
-            $_size628 = 0;
-            $_ktype629 = 0;
-            $_vtype630 = 0;
-            $xfer += $input->readMapBegin($_ktype629, $_vtype630, $_size628);
-            for ($_i632 = 0; $_i632 < $_size628; ++$_i632)
+            $_size619 = 0;
+            $_ktype620 = 0;
+            $_vtype621 = 0;
+            $xfer += $input->readMapBegin($_ktype620, $_vtype621, $_size619);
+            for ($_i623 = 0; $_i623 < $_size619; ++$_i623)
             {
-              $key633 = 0;
-              $val634 = new \metastore\MetadataPpdResult();
-              $xfer += $input->readI64($key633);
-              $val634 = new \metastore\MetadataPpdResult();
-              $xfer += $val634->read($input);
-              $this->metadata[$key633] = $val634;
+              $key624 = 0;
+              $val625 = new \metastore\MetadataPpdResult();
+              $xfer += $input->readI64($key624);
+              $val625 = new \metastore\MetadataPpdResult();
+              $xfer += $val625->read($input);
+              $this->metadata[$key624] = $val625;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -20204,10 +19883,10 @@ class GetFileMetadataByExprResult {
       {
         $output->writeMapBegin(TType::I64, TType::STRUCT, count($this->metadata));
         {
-          foreach ($this->metadata as $kiter635 => $viter636)
+          foreach ($this->metadata as $kiter626 => $viter627)
           {
-            $xfer += $output->writeI64($kiter635);
-            $xfer += $viter636->write($output);
+            $xfer += $output->writeI64($kiter626);
+            $xfer += $viter627->write($output);
           }
         }
         $output->writeMapEnd();
@@ -20309,14 +19988,14 @@ class GetFileMetadataByExprRequest {
         case 1:
           if ($ftype == TType::LST) {
             $this->fileIds = array();
-            $_size637 = 0;
-            $_etype640 = 0;
-            $xfer += $input->readListBegin($_etype640, $_size637);
-            for ($_i641 = 0; $_i641 < $_size637; ++$_i641)
+            $_size628 = 0;
+            $_etype631 = 0;
+            $xfer += $input->readListBegin($_etype631, $_size628);
+            for ($_i632 = 0; $_i632 < $_size628; ++$_i632)
             {
-              $elem642 = null;
-              $xfer += $input->readI64($elem642);
-              $this->fileIds []= $elem642;
+              $elem633 = null;
+              $xfer += $input->readI64($elem633);
+              $this->fileIds []= $

<TRUNCATED>

[20/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
index 353d7d9..0f9ba5d 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
@@ -108,12 +108,6 @@ class ThriftHiveMetastoreIf : virtual public  ::facebook::fb303::FacebookService
   virtual void partition_name_to_spec(std::map<std::string, std::string> & _return, const std::string& part_name) = 0;
   virtual void markPartitionForEvent(const std::string& db_name, const std::string& tbl_name, const std::map<std::string, std::string> & part_vals, const PartitionEventType::type eventType) = 0;
   virtual bool isPartitionMarkedForEvent(const std::string& db_name, const std::string& tbl_name, const std::map<std::string, std::string> & part_vals, const PartitionEventType::type eventType) = 0;
-  virtual void add_index(Index& _return, const Index& new_index, const Table& index_table) = 0;
-  virtual void alter_index(const std::string& dbname, const std::string& base_tbl_name, const std::string& idx_name, const Index& new_idx) = 0;
-  virtual bool drop_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name, const bool deleteData) = 0;
-  virtual void get_index_by_name(Index& _return, const std::string& db_name, const std::string& tbl_name, const std::string& index_name) = 0;
-  virtual void get_indexes(std::vector<Index> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes) = 0;
-  virtual void get_index_names(std::vector<std::string> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes) = 0;
   virtual void get_primary_keys(PrimaryKeysResponse& _return, const PrimaryKeysRequest& request) = 0;
   virtual void get_foreign_keys(ForeignKeysResponse& _return, const ForeignKeysRequest& request) = 0;
   virtual void get_unique_constraints(UniqueConstraintsResponse& _return, const UniqueConstraintsRequest& request) = 0;
@@ -506,25 +500,6 @@ class ThriftHiveMetastoreNull : virtual public ThriftHiveMetastoreIf , virtual p
     bool _return = false;
     return _return;
   }
-  void add_index(Index& /* _return */, const Index& /* new_index */, const Table& /* index_table */) {
-    return;
-  }
-  void alter_index(const std::string& /* dbname */, const std::string& /* base_tbl_name */, const std::string& /* idx_name */, const Index& /* new_idx */) {
-    return;
-  }
-  bool drop_index_by_name(const std::string& /* db_name */, const std::string& /* tbl_name */, const std::string& /* index_name */, const bool /* deleteData */) {
-    bool _return = false;
-    return _return;
-  }
-  void get_index_by_name(Index& /* _return */, const std::string& /* db_name */, const std::string& /* tbl_name */, const std::string& /* index_name */) {
-    return;
-  }
-  void get_indexes(std::vector<Index> & /* _return */, const std::string& /* db_name */, const std::string& /* tbl_name */, const int16_t /* max_indexes */) {
-    return;
-  }
-  void get_index_names(std::vector<std::string> & /* _return */, const std::string& /* db_name */, const std::string& /* tbl_name */, const int16_t /* max_indexes */) {
-    return;
-  }
   void get_primary_keys(PrimaryKeysResponse& /* _return */, const PrimaryKeysRequest& /* request */) {
     return;
   }
@@ -11644,993 +11619,118 @@ class ThriftHiveMetastore_partition_name_to_spec_pargs {
 
 };
 
-typedef struct _ThriftHiveMetastore_partition_name_to_spec_result__isset {
-  _ThriftHiveMetastore_partition_name_to_spec_result__isset() : success(false), o1(false) {}
-  bool success :1;
-  bool o1 :1;
-} _ThriftHiveMetastore_partition_name_to_spec_result__isset;
-
-class ThriftHiveMetastore_partition_name_to_spec_result {
- public:
-
-  ThriftHiveMetastore_partition_name_to_spec_result(const ThriftHiveMetastore_partition_name_to_spec_result&);
-  ThriftHiveMetastore_partition_name_to_spec_result& operator=(const ThriftHiveMetastore_partition_name_to_spec_result&);
-  ThriftHiveMetastore_partition_name_to_spec_result() {
-  }
-
-  virtual ~ThriftHiveMetastore_partition_name_to_spec_result() throw();
-  std::map<std::string, std::string>  success;
-  MetaException o1;
-
-  _ThriftHiveMetastore_partition_name_to_spec_result__isset __isset;
-
-  void __set_success(const std::map<std::string, std::string> & val);
-
-  void __set_o1(const MetaException& val);
-
-  bool operator == (const ThriftHiveMetastore_partition_name_to_spec_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(o1 == rhs.o1))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_partition_name_to_spec_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_partition_name_to_spec_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_partition_name_to_spec_presult__isset {
-  _ThriftHiveMetastore_partition_name_to_spec_presult__isset() : success(false), o1(false) {}
-  bool success :1;
-  bool o1 :1;
-} _ThriftHiveMetastore_partition_name_to_spec_presult__isset;
-
-class ThriftHiveMetastore_partition_name_to_spec_presult {
- public:
-
-
-  virtual ~ThriftHiveMetastore_partition_name_to_spec_presult() throw();
-  std::map<std::string, std::string> * success;
-  MetaException o1;
-
-  _ThriftHiveMetastore_partition_name_to_spec_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _ThriftHiveMetastore_markPartitionForEvent_args__isset {
-  _ThriftHiveMetastore_markPartitionForEvent_args__isset() : db_name(false), tbl_name(false), part_vals(false), eventType(false) {}
-  bool db_name :1;
-  bool tbl_name :1;
-  bool part_vals :1;
-  bool eventType :1;
-} _ThriftHiveMetastore_markPartitionForEvent_args__isset;
-
-class ThriftHiveMetastore_markPartitionForEvent_args {
- public:
-
-  ThriftHiveMetastore_markPartitionForEvent_args(const ThriftHiveMetastore_markPartitionForEvent_args&);
-  ThriftHiveMetastore_markPartitionForEvent_args& operator=(const ThriftHiveMetastore_markPartitionForEvent_args&);
-  ThriftHiveMetastore_markPartitionForEvent_args() : db_name(), tbl_name(), eventType((PartitionEventType::type)0) {
-  }
-
-  virtual ~ThriftHiveMetastore_markPartitionForEvent_args() throw();
-  std::string db_name;
-  std::string tbl_name;
-  std::map<std::string, std::string>  part_vals;
-  PartitionEventType::type eventType;
-
-  _ThriftHiveMetastore_markPartitionForEvent_args__isset __isset;
-
-  void __set_db_name(const std::string& val);
-
-  void __set_tbl_name(const std::string& val);
-
-  void __set_part_vals(const std::map<std::string, std::string> & val);
-
-  void __set_eventType(const PartitionEventType::type val);
-
-  bool operator == (const ThriftHiveMetastore_markPartitionForEvent_args & rhs) const
-  {
-    if (!(db_name == rhs.db_name))
-      return false;
-    if (!(tbl_name == rhs.tbl_name))
-      return false;
-    if (!(part_vals == rhs.part_vals))
-      return false;
-    if (!(eventType == rhs.eventType))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_markPartitionForEvent_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_markPartitionForEvent_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ThriftHiveMetastore_markPartitionForEvent_pargs {
- public:
-
-
-  virtual ~ThriftHiveMetastore_markPartitionForEvent_pargs() throw();
-  const std::string* db_name;
-  const std::string* tbl_name;
-  const std::map<std::string, std::string> * part_vals;
-  const PartitionEventType::type* eventType;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_markPartitionForEvent_result__isset {
-  _ThriftHiveMetastore_markPartitionForEvent_result__isset() : o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
-  bool o1 :1;
-  bool o2 :1;
-  bool o3 :1;
-  bool o4 :1;
-  bool o5 :1;
-  bool o6 :1;
-} _ThriftHiveMetastore_markPartitionForEvent_result__isset;
-
-class ThriftHiveMetastore_markPartitionForEvent_result {
- public:
-
-  ThriftHiveMetastore_markPartitionForEvent_result(const ThriftHiveMetastore_markPartitionForEvent_result&);
-  ThriftHiveMetastore_markPartitionForEvent_result& operator=(const ThriftHiveMetastore_markPartitionForEvent_result&);
-  ThriftHiveMetastore_markPartitionForEvent_result() {
-  }
-
-  virtual ~ThriftHiveMetastore_markPartitionForEvent_result() throw();
-  MetaException o1;
-  NoSuchObjectException o2;
-  UnknownDBException o3;
-  UnknownTableException o4;
-  UnknownPartitionException o5;
-  InvalidPartitionException o6;
-
-  _ThriftHiveMetastore_markPartitionForEvent_result__isset __isset;
-
-  void __set_o1(const MetaException& val);
-
-  void __set_o2(const NoSuchObjectException& val);
-
-  void __set_o3(const UnknownDBException& val);
-
-  void __set_o4(const UnknownTableException& val);
-
-  void __set_o5(const UnknownPartitionException& val);
-
-  void __set_o6(const InvalidPartitionException& val);
-
-  bool operator == (const ThriftHiveMetastore_markPartitionForEvent_result & rhs) const
-  {
-    if (!(o1 == rhs.o1))
-      return false;
-    if (!(o2 == rhs.o2))
-      return false;
-    if (!(o3 == rhs.o3))
-      return false;
-    if (!(o4 == rhs.o4))
-      return false;
-    if (!(o5 == rhs.o5))
-      return false;
-    if (!(o6 == rhs.o6))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_markPartitionForEvent_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_markPartitionForEvent_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_markPartitionForEvent_presult__isset {
-  _ThriftHiveMetastore_markPartitionForEvent_presult__isset() : o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
-  bool o1 :1;
-  bool o2 :1;
-  bool o3 :1;
-  bool o4 :1;
-  bool o5 :1;
-  bool o6 :1;
-} _ThriftHiveMetastore_markPartitionForEvent_presult__isset;
-
-class ThriftHiveMetastore_markPartitionForEvent_presult {
- public:
-
-
-  virtual ~ThriftHiveMetastore_markPartitionForEvent_presult() throw();
-  MetaException o1;
-  NoSuchObjectException o2;
-  UnknownDBException o3;
-  UnknownTableException o4;
-  UnknownPartitionException o5;
-  InvalidPartitionException o6;
-
-  _ThriftHiveMetastore_markPartitionForEvent_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset {
-  _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset() : db_name(false), tbl_name(false), part_vals(false), eventType(false) {}
-  bool db_name :1;
-  bool tbl_name :1;
-  bool part_vals :1;
-  bool eventType :1;
-} _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset;
-
-class ThriftHiveMetastore_isPartitionMarkedForEvent_args {
- public:
-
-  ThriftHiveMetastore_isPartitionMarkedForEvent_args(const ThriftHiveMetastore_isPartitionMarkedForEvent_args&);
-  ThriftHiveMetastore_isPartitionMarkedForEvent_args& operator=(const ThriftHiveMetastore_isPartitionMarkedForEvent_args&);
-  ThriftHiveMetastore_isPartitionMarkedForEvent_args() : db_name(), tbl_name(), eventType((PartitionEventType::type)0) {
-  }
-
-  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_args() throw();
-  std::string db_name;
-  std::string tbl_name;
-  std::map<std::string, std::string>  part_vals;
-  PartitionEventType::type eventType;
-
-  _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset __isset;
-
-  void __set_db_name(const std::string& val);
-
-  void __set_tbl_name(const std::string& val);
-
-  void __set_part_vals(const std::map<std::string, std::string> & val);
-
-  void __set_eventType(const PartitionEventType::type val);
-
-  bool operator == (const ThriftHiveMetastore_isPartitionMarkedForEvent_args & rhs) const
-  {
-    if (!(db_name == rhs.db_name))
-      return false;
-    if (!(tbl_name == rhs.tbl_name))
-      return false;
-    if (!(part_vals == rhs.part_vals))
-      return false;
-    if (!(eventType == rhs.eventType))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_isPartitionMarkedForEvent_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_isPartitionMarkedForEvent_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ThriftHiveMetastore_isPartitionMarkedForEvent_pargs {
- public:
-
-
-  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_pargs() throw();
-  const std::string* db_name;
-  const std::string* tbl_name;
-  const std::map<std::string, std::string> * part_vals;
-  const PartitionEventType::type* eventType;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset {
-  _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset() : success(false), o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
-  bool success :1;
-  bool o1 :1;
-  bool o2 :1;
-  bool o3 :1;
-  bool o4 :1;
-  bool o5 :1;
-  bool o6 :1;
-} _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset;
-
-class ThriftHiveMetastore_isPartitionMarkedForEvent_result {
- public:
-
-  ThriftHiveMetastore_isPartitionMarkedForEvent_result(const ThriftHiveMetastore_isPartitionMarkedForEvent_result&);
-  ThriftHiveMetastore_isPartitionMarkedForEvent_result& operator=(const ThriftHiveMetastore_isPartitionMarkedForEvent_result&);
-  ThriftHiveMetastore_isPartitionMarkedForEvent_result() : success(0) {
-  }
-
-  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_result() throw();
-  bool success;
-  MetaException o1;
-  NoSuchObjectException o2;
-  UnknownDBException o3;
-  UnknownTableException o4;
-  UnknownPartitionException o5;
-  InvalidPartitionException o6;
-
-  _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset __isset;
-
-  void __set_success(const bool val);
-
-  void __set_o1(const MetaException& val);
-
-  void __set_o2(const NoSuchObjectException& val);
-
-  void __set_o3(const UnknownDBException& val);
-
-  void __set_o4(const UnknownTableException& val);
-
-  void __set_o5(const UnknownPartitionException& val);
-
-  void __set_o6(const InvalidPartitionException& val);
-
-  bool operator == (const ThriftHiveMetastore_isPartitionMarkedForEvent_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(o1 == rhs.o1))
-      return false;
-    if (!(o2 == rhs.o2))
-      return false;
-    if (!(o3 == rhs.o3))
-      return false;
-    if (!(o4 == rhs.o4))
-      return false;
-    if (!(o5 == rhs.o5))
-      return false;
-    if (!(o6 == rhs.o6))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_isPartitionMarkedForEvent_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_isPartitionMarkedForEvent_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset {
-  _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset() : success(false), o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
-  bool success :1;
-  bool o1 :1;
-  bool o2 :1;
-  bool o3 :1;
-  bool o4 :1;
-  bool o5 :1;
-  bool o6 :1;
-} _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset;
-
-class ThriftHiveMetastore_isPartitionMarkedForEvent_presult {
- public:
-
-
-  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_presult() throw();
-  bool* success;
-  MetaException o1;
-  NoSuchObjectException o2;
-  UnknownDBException o3;
-  UnknownTableException o4;
-  UnknownPartitionException o5;
-  InvalidPartitionException o6;
-
-  _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _ThriftHiveMetastore_add_index_args__isset {
-  _ThriftHiveMetastore_add_index_args__isset() : new_index(false), index_table(false) {}
-  bool new_index :1;
-  bool index_table :1;
-} _ThriftHiveMetastore_add_index_args__isset;
-
-class ThriftHiveMetastore_add_index_args {
- public:
-
-  ThriftHiveMetastore_add_index_args(const ThriftHiveMetastore_add_index_args&);
-  ThriftHiveMetastore_add_index_args& operator=(const ThriftHiveMetastore_add_index_args&);
-  ThriftHiveMetastore_add_index_args() {
-  }
-
-  virtual ~ThriftHiveMetastore_add_index_args() throw();
-  Index new_index;
-  Table index_table;
-
-  _ThriftHiveMetastore_add_index_args__isset __isset;
-
-  void __set_new_index(const Index& val);
-
-  void __set_index_table(const Table& val);
-
-  bool operator == (const ThriftHiveMetastore_add_index_args & rhs) const
-  {
-    if (!(new_index == rhs.new_index))
-      return false;
-    if (!(index_table == rhs.index_table))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_add_index_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_add_index_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ThriftHiveMetastore_add_index_pargs {
- public:
-
-
-  virtual ~ThriftHiveMetastore_add_index_pargs() throw();
-  const Index* new_index;
-  const Table* index_table;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_add_index_result__isset {
-  _ThriftHiveMetastore_add_index_result__isset() : success(false), o1(false), o2(false), o3(false) {}
-  bool success :1;
-  bool o1 :1;
-  bool o2 :1;
-  bool o3 :1;
-} _ThriftHiveMetastore_add_index_result__isset;
-
-class ThriftHiveMetastore_add_index_result {
- public:
-
-  ThriftHiveMetastore_add_index_result(const ThriftHiveMetastore_add_index_result&);
-  ThriftHiveMetastore_add_index_result& operator=(const ThriftHiveMetastore_add_index_result&);
-  ThriftHiveMetastore_add_index_result() {
-  }
-
-  virtual ~ThriftHiveMetastore_add_index_result() throw();
-  Index success;
-  InvalidObjectException o1;
-  AlreadyExistsException o2;
-  MetaException o3;
-
-  _ThriftHiveMetastore_add_index_result__isset __isset;
-
-  void __set_success(const Index& val);
-
-  void __set_o1(const InvalidObjectException& val);
-
-  void __set_o2(const AlreadyExistsException& val);
-
-  void __set_o3(const MetaException& val);
-
-  bool operator == (const ThriftHiveMetastore_add_index_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(o1 == rhs.o1))
-      return false;
-    if (!(o2 == rhs.o2))
-      return false;
-    if (!(o3 == rhs.o3))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_add_index_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_add_index_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_add_index_presult__isset {
-  _ThriftHiveMetastore_add_index_presult__isset() : success(false), o1(false), o2(false), o3(false) {}
-  bool success :1;
-  bool o1 :1;
-  bool o2 :1;
-  bool o3 :1;
-} _ThriftHiveMetastore_add_index_presult__isset;
-
-class ThriftHiveMetastore_add_index_presult {
- public:
-
-
-  virtual ~ThriftHiveMetastore_add_index_presult() throw();
-  Index* success;
-  InvalidObjectException o1;
-  AlreadyExistsException o2;
-  MetaException o3;
-
-  _ThriftHiveMetastore_add_index_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _ThriftHiveMetastore_alter_index_args__isset {
-  _ThriftHiveMetastore_alter_index_args__isset() : dbname(false), base_tbl_name(false), idx_name(false), new_idx(false) {}
-  bool dbname :1;
-  bool base_tbl_name :1;
-  bool idx_name :1;
-  bool new_idx :1;
-} _ThriftHiveMetastore_alter_index_args__isset;
-
-class ThriftHiveMetastore_alter_index_args {
- public:
-
-  ThriftHiveMetastore_alter_index_args(const ThriftHiveMetastore_alter_index_args&);
-  ThriftHiveMetastore_alter_index_args& operator=(const ThriftHiveMetastore_alter_index_args&);
-  ThriftHiveMetastore_alter_index_args() : dbname(), base_tbl_name(), idx_name() {
-  }
-
-  virtual ~ThriftHiveMetastore_alter_index_args() throw();
-  std::string dbname;
-  std::string base_tbl_name;
-  std::string idx_name;
-  Index new_idx;
-
-  _ThriftHiveMetastore_alter_index_args__isset __isset;
-
-  void __set_dbname(const std::string& val);
-
-  void __set_base_tbl_name(const std::string& val);
-
-  void __set_idx_name(const std::string& val);
-
-  void __set_new_idx(const Index& val);
-
-  bool operator == (const ThriftHiveMetastore_alter_index_args & rhs) const
-  {
-    if (!(dbname == rhs.dbname))
-      return false;
-    if (!(base_tbl_name == rhs.base_tbl_name))
-      return false;
-    if (!(idx_name == rhs.idx_name))
-      return false;
-    if (!(new_idx == rhs.new_idx))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_alter_index_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_alter_index_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ThriftHiveMetastore_alter_index_pargs {
- public:
-
-
-  virtual ~ThriftHiveMetastore_alter_index_pargs() throw();
-  const std::string* dbname;
-  const std::string* base_tbl_name;
-  const std::string* idx_name;
-  const Index* new_idx;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_alter_index_result__isset {
-  _ThriftHiveMetastore_alter_index_result__isset() : o1(false), o2(false) {}
-  bool o1 :1;
-  bool o2 :1;
-} _ThriftHiveMetastore_alter_index_result__isset;
-
-class ThriftHiveMetastore_alter_index_result {
- public:
-
-  ThriftHiveMetastore_alter_index_result(const ThriftHiveMetastore_alter_index_result&);
-  ThriftHiveMetastore_alter_index_result& operator=(const ThriftHiveMetastore_alter_index_result&);
-  ThriftHiveMetastore_alter_index_result() {
-  }
-
-  virtual ~ThriftHiveMetastore_alter_index_result() throw();
-  InvalidOperationException o1;
-  MetaException o2;
-
-  _ThriftHiveMetastore_alter_index_result__isset __isset;
-
-  void __set_o1(const InvalidOperationException& val);
-
-  void __set_o2(const MetaException& val);
-
-  bool operator == (const ThriftHiveMetastore_alter_index_result & rhs) const
-  {
-    if (!(o1 == rhs.o1))
-      return false;
-    if (!(o2 == rhs.o2))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_alter_index_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_alter_index_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_alter_index_presult__isset {
-  _ThriftHiveMetastore_alter_index_presult__isset() : o1(false), o2(false) {}
-  bool o1 :1;
-  bool o2 :1;
-} _ThriftHiveMetastore_alter_index_presult__isset;
-
-class ThriftHiveMetastore_alter_index_presult {
- public:
-
-
-  virtual ~ThriftHiveMetastore_alter_index_presult() throw();
-  InvalidOperationException o1;
-  MetaException o2;
-
-  _ThriftHiveMetastore_alter_index_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _ThriftHiveMetastore_drop_index_by_name_args__isset {
-  _ThriftHiveMetastore_drop_index_by_name_args__isset() : db_name(false), tbl_name(false), index_name(false), deleteData(false) {}
-  bool db_name :1;
-  bool tbl_name :1;
-  bool index_name :1;
-  bool deleteData :1;
-} _ThriftHiveMetastore_drop_index_by_name_args__isset;
-
-class ThriftHiveMetastore_drop_index_by_name_args {
- public:
-
-  ThriftHiveMetastore_drop_index_by_name_args(const ThriftHiveMetastore_drop_index_by_name_args&);
-  ThriftHiveMetastore_drop_index_by_name_args& operator=(const ThriftHiveMetastore_drop_index_by_name_args&);
-  ThriftHiveMetastore_drop_index_by_name_args() : db_name(), tbl_name(), index_name(), deleteData(0) {
-  }
-
-  virtual ~ThriftHiveMetastore_drop_index_by_name_args() throw();
-  std::string db_name;
-  std::string tbl_name;
-  std::string index_name;
-  bool deleteData;
-
-  _ThriftHiveMetastore_drop_index_by_name_args__isset __isset;
-
-  void __set_db_name(const std::string& val);
-
-  void __set_tbl_name(const std::string& val);
-
-  void __set_index_name(const std::string& val);
-
-  void __set_deleteData(const bool val);
-
-  bool operator == (const ThriftHiveMetastore_drop_index_by_name_args & rhs) const
-  {
-    if (!(db_name == rhs.db_name))
-      return false;
-    if (!(tbl_name == rhs.tbl_name))
-      return false;
-    if (!(index_name == rhs.index_name))
-      return false;
-    if (!(deleteData == rhs.deleteData))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_drop_index_by_name_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_drop_index_by_name_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ThriftHiveMetastore_drop_index_by_name_pargs {
- public:
-
-
-  virtual ~ThriftHiveMetastore_drop_index_by_name_pargs() throw();
-  const std::string* db_name;
-  const std::string* tbl_name;
-  const std::string* index_name;
-  const bool* deleteData;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_drop_index_by_name_result__isset {
-  _ThriftHiveMetastore_drop_index_by_name_result__isset() : success(false), o1(false), o2(false) {}
-  bool success :1;
-  bool o1 :1;
-  bool o2 :1;
-} _ThriftHiveMetastore_drop_index_by_name_result__isset;
-
-class ThriftHiveMetastore_drop_index_by_name_result {
- public:
-
-  ThriftHiveMetastore_drop_index_by_name_result(const ThriftHiveMetastore_drop_index_by_name_result&);
-  ThriftHiveMetastore_drop_index_by_name_result& operator=(const ThriftHiveMetastore_drop_index_by_name_result&);
-  ThriftHiveMetastore_drop_index_by_name_result() : success(0) {
-  }
-
-  virtual ~ThriftHiveMetastore_drop_index_by_name_result() throw();
-  bool success;
-  NoSuchObjectException o1;
-  MetaException o2;
-
-  _ThriftHiveMetastore_drop_index_by_name_result__isset __isset;
-
-  void __set_success(const bool val);
-
-  void __set_o1(const NoSuchObjectException& val);
-
-  void __set_o2(const MetaException& val);
-
-  bool operator == (const ThriftHiveMetastore_drop_index_by_name_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(o1 == rhs.o1))
-      return false;
-    if (!(o2 == rhs.o2))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_drop_index_by_name_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_drop_index_by_name_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_drop_index_by_name_presult__isset {
-  _ThriftHiveMetastore_drop_index_by_name_presult__isset() : success(false), o1(false), o2(false) {}
-  bool success :1;
-  bool o1 :1;
-  bool o2 :1;
-} _ThriftHiveMetastore_drop_index_by_name_presult__isset;
-
-class ThriftHiveMetastore_drop_index_by_name_presult {
- public:
-
-
-  virtual ~ThriftHiveMetastore_drop_index_by_name_presult() throw();
-  bool* success;
-  NoSuchObjectException o1;
-  MetaException o2;
-
-  _ThriftHiveMetastore_drop_index_by_name_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _ThriftHiveMetastore_get_index_by_name_args__isset {
-  _ThriftHiveMetastore_get_index_by_name_args__isset() : db_name(false), tbl_name(false), index_name(false) {}
-  bool db_name :1;
-  bool tbl_name :1;
-  bool index_name :1;
-} _ThriftHiveMetastore_get_index_by_name_args__isset;
-
-class ThriftHiveMetastore_get_index_by_name_args {
- public:
-
-  ThriftHiveMetastore_get_index_by_name_args(const ThriftHiveMetastore_get_index_by_name_args&);
-  ThriftHiveMetastore_get_index_by_name_args& operator=(const ThriftHiveMetastore_get_index_by_name_args&);
-  ThriftHiveMetastore_get_index_by_name_args() : db_name(), tbl_name(), index_name() {
-  }
-
-  virtual ~ThriftHiveMetastore_get_index_by_name_args() throw();
-  std::string db_name;
-  std::string tbl_name;
-  std::string index_name;
-
-  _ThriftHiveMetastore_get_index_by_name_args__isset __isset;
-
-  void __set_db_name(const std::string& val);
-
-  void __set_tbl_name(const std::string& val);
-
-  void __set_index_name(const std::string& val);
-
-  bool operator == (const ThriftHiveMetastore_get_index_by_name_args & rhs) const
-  {
-    if (!(db_name == rhs.db_name))
-      return false;
-    if (!(tbl_name == rhs.tbl_name))
-      return false;
-    if (!(index_name == rhs.index_name))
-      return false;
-    return true;
-  }
-  bool operator != (const ThriftHiveMetastore_get_index_by_name_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ThriftHiveMetastore_get_index_by_name_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ThriftHiveMetastore_get_index_by_name_pargs {
- public:
-
-
-  virtual ~ThriftHiveMetastore_get_index_by_name_pargs() throw();
-  const std::string* db_name;
-  const std::string* tbl_name;
-  const std::string* index_name;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ThriftHiveMetastore_get_index_by_name_result__isset {
-  _ThriftHiveMetastore_get_index_by_name_result__isset() : success(false), o1(false), o2(false) {}
+typedef struct _ThriftHiveMetastore_partition_name_to_spec_result__isset {
+  _ThriftHiveMetastore_partition_name_to_spec_result__isset() : success(false), o1(false) {}
   bool success :1;
   bool o1 :1;
-  bool o2 :1;
-} _ThriftHiveMetastore_get_index_by_name_result__isset;
+} _ThriftHiveMetastore_partition_name_to_spec_result__isset;
 
-class ThriftHiveMetastore_get_index_by_name_result {
+class ThriftHiveMetastore_partition_name_to_spec_result {
  public:
 
-  ThriftHiveMetastore_get_index_by_name_result(const ThriftHiveMetastore_get_index_by_name_result&);
-  ThriftHiveMetastore_get_index_by_name_result& operator=(const ThriftHiveMetastore_get_index_by_name_result&);
-  ThriftHiveMetastore_get_index_by_name_result() {
+  ThriftHiveMetastore_partition_name_to_spec_result(const ThriftHiveMetastore_partition_name_to_spec_result&);
+  ThriftHiveMetastore_partition_name_to_spec_result& operator=(const ThriftHiveMetastore_partition_name_to_spec_result&);
+  ThriftHiveMetastore_partition_name_to_spec_result() {
   }
 
-  virtual ~ThriftHiveMetastore_get_index_by_name_result() throw();
-  Index success;
+  virtual ~ThriftHiveMetastore_partition_name_to_spec_result() throw();
+  std::map<std::string, std::string>  success;
   MetaException o1;
-  NoSuchObjectException o2;
 
-  _ThriftHiveMetastore_get_index_by_name_result__isset __isset;
+  _ThriftHiveMetastore_partition_name_to_spec_result__isset __isset;
 
-  void __set_success(const Index& val);
+  void __set_success(const std::map<std::string, std::string> & val);
 
   void __set_o1(const MetaException& val);
 
-  void __set_o2(const NoSuchObjectException& val);
-
-  bool operator == (const ThriftHiveMetastore_get_index_by_name_result & rhs) const
+  bool operator == (const ThriftHiveMetastore_partition_name_to_spec_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
     if (!(o1 == rhs.o1))
       return false;
-    if (!(o2 == rhs.o2))
-      return false;
     return true;
   }
-  bool operator != (const ThriftHiveMetastore_get_index_by_name_result &rhs) const {
+  bool operator != (const ThriftHiveMetastore_partition_name_to_spec_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const ThriftHiveMetastore_get_index_by_name_result & ) const;
+  bool operator < (const ThriftHiveMetastore_partition_name_to_spec_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _ThriftHiveMetastore_get_index_by_name_presult__isset {
-  _ThriftHiveMetastore_get_index_by_name_presult__isset() : success(false), o1(false), o2(false) {}
+typedef struct _ThriftHiveMetastore_partition_name_to_spec_presult__isset {
+  _ThriftHiveMetastore_partition_name_to_spec_presult__isset() : success(false), o1(false) {}
   bool success :1;
   bool o1 :1;
-  bool o2 :1;
-} _ThriftHiveMetastore_get_index_by_name_presult__isset;
+} _ThriftHiveMetastore_partition_name_to_spec_presult__isset;
 
-class ThriftHiveMetastore_get_index_by_name_presult {
+class ThriftHiveMetastore_partition_name_to_spec_presult {
  public:
 
 
-  virtual ~ThriftHiveMetastore_get_index_by_name_presult() throw();
-  Index* success;
+  virtual ~ThriftHiveMetastore_partition_name_to_spec_presult() throw();
+  std::map<std::string, std::string> * success;
   MetaException o1;
-  NoSuchObjectException o2;
 
-  _ThriftHiveMetastore_get_index_by_name_presult__isset __isset;
+  _ThriftHiveMetastore_partition_name_to_spec_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
-typedef struct _ThriftHiveMetastore_get_indexes_args__isset {
-  _ThriftHiveMetastore_get_indexes_args__isset() : db_name(false), tbl_name(false), max_indexes(true) {}
+typedef struct _ThriftHiveMetastore_markPartitionForEvent_args__isset {
+  _ThriftHiveMetastore_markPartitionForEvent_args__isset() : db_name(false), tbl_name(false), part_vals(false), eventType(false) {}
   bool db_name :1;
   bool tbl_name :1;
-  bool max_indexes :1;
-} _ThriftHiveMetastore_get_indexes_args__isset;
+  bool part_vals :1;
+  bool eventType :1;
+} _ThriftHiveMetastore_markPartitionForEvent_args__isset;
 
-class ThriftHiveMetastore_get_indexes_args {
+class ThriftHiveMetastore_markPartitionForEvent_args {
  public:
 
-  ThriftHiveMetastore_get_indexes_args(const ThriftHiveMetastore_get_indexes_args&);
-  ThriftHiveMetastore_get_indexes_args& operator=(const ThriftHiveMetastore_get_indexes_args&);
-  ThriftHiveMetastore_get_indexes_args() : db_name(), tbl_name(), max_indexes(-1) {
+  ThriftHiveMetastore_markPartitionForEvent_args(const ThriftHiveMetastore_markPartitionForEvent_args&);
+  ThriftHiveMetastore_markPartitionForEvent_args& operator=(const ThriftHiveMetastore_markPartitionForEvent_args&);
+  ThriftHiveMetastore_markPartitionForEvent_args() : db_name(), tbl_name(), eventType((PartitionEventType::type)0) {
   }
 
-  virtual ~ThriftHiveMetastore_get_indexes_args() throw();
+  virtual ~ThriftHiveMetastore_markPartitionForEvent_args() throw();
   std::string db_name;
   std::string tbl_name;
-  int16_t max_indexes;
+  std::map<std::string, std::string>  part_vals;
+  PartitionEventType::type eventType;
 
-  _ThriftHiveMetastore_get_indexes_args__isset __isset;
+  _ThriftHiveMetastore_markPartitionForEvent_args__isset __isset;
 
   void __set_db_name(const std::string& val);
 
   void __set_tbl_name(const std::string& val);
 
-  void __set_max_indexes(const int16_t val);
+  void __set_part_vals(const std::map<std::string, std::string> & val);
+
+  void __set_eventType(const PartitionEventType::type val);
 
-  bool operator == (const ThriftHiveMetastore_get_indexes_args & rhs) const
+  bool operator == (const ThriftHiveMetastore_markPartitionForEvent_args & rhs) const
   {
     if (!(db_name == rhs.db_name))
       return false;
     if (!(tbl_name == rhs.tbl_name))
       return false;
-    if (!(max_indexes == rhs.max_indexes))
+    if (!(part_vals == rhs.part_vals))
+      return false;
+    if (!(eventType == rhs.eventType))
       return false;
     return true;
   }
-  bool operator != (const ThriftHiveMetastore_get_indexes_args &rhs) const {
+  bool operator != (const ThriftHiveMetastore_markPartitionForEvent_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const ThriftHiveMetastore_get_indexes_args & ) const;
+  bool operator < (const ThriftHiveMetastore_markPartitionForEvent_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -12638,133 +11738,164 @@ class ThriftHiveMetastore_get_indexes_args {
 };
 
 
-class ThriftHiveMetastore_get_indexes_pargs {
+class ThriftHiveMetastore_markPartitionForEvent_pargs {
  public:
 
 
-  virtual ~ThriftHiveMetastore_get_indexes_pargs() throw();
+  virtual ~ThriftHiveMetastore_markPartitionForEvent_pargs() throw();
   const std::string* db_name;
   const std::string* tbl_name;
-  const int16_t* max_indexes;
+  const std::map<std::string, std::string> * part_vals;
+  const PartitionEventType::type* eventType;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _ThriftHiveMetastore_get_indexes_result__isset {
-  _ThriftHiveMetastore_get_indexes_result__isset() : success(false), o1(false), o2(false) {}
-  bool success :1;
+typedef struct _ThriftHiveMetastore_markPartitionForEvent_result__isset {
+  _ThriftHiveMetastore_markPartitionForEvent_result__isset() : o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
   bool o1 :1;
   bool o2 :1;
-} _ThriftHiveMetastore_get_indexes_result__isset;
+  bool o3 :1;
+  bool o4 :1;
+  bool o5 :1;
+  bool o6 :1;
+} _ThriftHiveMetastore_markPartitionForEvent_result__isset;
 
-class ThriftHiveMetastore_get_indexes_result {
+class ThriftHiveMetastore_markPartitionForEvent_result {
  public:
 
-  ThriftHiveMetastore_get_indexes_result(const ThriftHiveMetastore_get_indexes_result&);
-  ThriftHiveMetastore_get_indexes_result& operator=(const ThriftHiveMetastore_get_indexes_result&);
-  ThriftHiveMetastore_get_indexes_result() {
+  ThriftHiveMetastore_markPartitionForEvent_result(const ThriftHiveMetastore_markPartitionForEvent_result&);
+  ThriftHiveMetastore_markPartitionForEvent_result& operator=(const ThriftHiveMetastore_markPartitionForEvent_result&);
+  ThriftHiveMetastore_markPartitionForEvent_result() {
   }
 
-  virtual ~ThriftHiveMetastore_get_indexes_result() throw();
-  std::vector<Index>  success;
-  NoSuchObjectException o1;
-  MetaException o2;
+  virtual ~ThriftHiveMetastore_markPartitionForEvent_result() throw();
+  MetaException o1;
+  NoSuchObjectException o2;
+  UnknownDBException o3;
+  UnknownTableException o4;
+  UnknownPartitionException o5;
+  InvalidPartitionException o6;
 
-  _ThriftHiveMetastore_get_indexes_result__isset __isset;
+  _ThriftHiveMetastore_markPartitionForEvent_result__isset __isset;
 
-  void __set_success(const std::vector<Index> & val);
+  void __set_o1(const MetaException& val);
 
-  void __set_o1(const NoSuchObjectException& val);
+  void __set_o2(const NoSuchObjectException& val);
 
-  void __set_o2(const MetaException& val);
+  void __set_o3(const UnknownDBException& val);
+
+  void __set_o4(const UnknownTableException& val);
+
+  void __set_o5(const UnknownPartitionException& val);
+
+  void __set_o6(const InvalidPartitionException& val);
 
-  bool operator == (const ThriftHiveMetastore_get_indexes_result & rhs) const
+  bool operator == (const ThriftHiveMetastore_markPartitionForEvent_result & rhs) const
   {
-    if (!(success == rhs.success))
-      return false;
     if (!(o1 == rhs.o1))
       return false;
     if (!(o2 == rhs.o2))
       return false;
+    if (!(o3 == rhs.o3))
+      return false;
+    if (!(o4 == rhs.o4))
+      return false;
+    if (!(o5 == rhs.o5))
+      return false;
+    if (!(o6 == rhs.o6))
+      return false;
     return true;
   }
-  bool operator != (const ThriftHiveMetastore_get_indexes_result &rhs) const {
+  bool operator != (const ThriftHiveMetastore_markPartitionForEvent_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const ThriftHiveMetastore_get_indexes_result & ) const;
+  bool operator < (const ThriftHiveMetastore_markPartitionForEvent_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _ThriftHiveMetastore_get_indexes_presult__isset {
-  _ThriftHiveMetastore_get_indexes_presult__isset() : success(false), o1(false), o2(false) {}
-  bool success :1;
+typedef struct _ThriftHiveMetastore_markPartitionForEvent_presult__isset {
+  _ThriftHiveMetastore_markPartitionForEvent_presult__isset() : o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
   bool o1 :1;
   bool o2 :1;
-} _ThriftHiveMetastore_get_indexes_presult__isset;
+  bool o3 :1;
+  bool o4 :1;
+  bool o5 :1;
+  bool o6 :1;
+} _ThriftHiveMetastore_markPartitionForEvent_presult__isset;
 
-class ThriftHiveMetastore_get_indexes_presult {
+class ThriftHiveMetastore_markPartitionForEvent_presult {
  public:
 
 
-  virtual ~ThriftHiveMetastore_get_indexes_presult() throw();
-  std::vector<Index> * success;
-  NoSuchObjectException o1;
-  MetaException o2;
+  virtual ~ThriftHiveMetastore_markPartitionForEvent_presult() throw();
+  MetaException o1;
+  NoSuchObjectException o2;
+  UnknownDBException o3;
+  UnknownTableException o4;
+  UnknownPartitionException o5;
+  InvalidPartitionException o6;
 
-  _ThriftHiveMetastore_get_indexes_presult__isset __isset;
+  _ThriftHiveMetastore_markPartitionForEvent_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
-typedef struct _ThriftHiveMetastore_get_index_names_args__isset {
-  _ThriftHiveMetastore_get_index_names_args__isset() : db_name(false), tbl_name(false), max_indexes(true) {}
+typedef struct _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset {
+  _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset() : db_name(false), tbl_name(false), part_vals(false), eventType(false) {}
   bool db_name :1;
   bool tbl_name :1;
-  bool max_indexes :1;
-} _ThriftHiveMetastore_get_index_names_args__isset;
+  bool part_vals :1;
+  bool eventType :1;
+} _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset;
 
-class ThriftHiveMetastore_get_index_names_args {
+class ThriftHiveMetastore_isPartitionMarkedForEvent_args {
  public:
 
-  ThriftHiveMetastore_get_index_names_args(const ThriftHiveMetastore_get_index_names_args&);
-  ThriftHiveMetastore_get_index_names_args& operator=(const ThriftHiveMetastore_get_index_names_args&);
-  ThriftHiveMetastore_get_index_names_args() : db_name(), tbl_name(), max_indexes(-1) {
+  ThriftHiveMetastore_isPartitionMarkedForEvent_args(const ThriftHiveMetastore_isPartitionMarkedForEvent_args&);
+  ThriftHiveMetastore_isPartitionMarkedForEvent_args& operator=(const ThriftHiveMetastore_isPartitionMarkedForEvent_args&);
+  ThriftHiveMetastore_isPartitionMarkedForEvent_args() : db_name(), tbl_name(), eventType((PartitionEventType::type)0) {
   }
 
-  virtual ~ThriftHiveMetastore_get_index_names_args() throw();
+  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_args() throw();
   std::string db_name;
   std::string tbl_name;
-  int16_t max_indexes;
+  std::map<std::string, std::string>  part_vals;
+  PartitionEventType::type eventType;
 
-  _ThriftHiveMetastore_get_index_names_args__isset __isset;
+  _ThriftHiveMetastore_isPartitionMarkedForEvent_args__isset __isset;
 
   void __set_db_name(const std::string& val);
 
   void __set_tbl_name(const std::string& val);
 
-  void __set_max_indexes(const int16_t val);
+  void __set_part_vals(const std::map<std::string, std::string> & val);
+
+  void __set_eventType(const PartitionEventType::type val);
 
-  bool operator == (const ThriftHiveMetastore_get_index_names_args & rhs) const
+  bool operator == (const ThriftHiveMetastore_isPartitionMarkedForEvent_args & rhs) const
   {
     if (!(db_name == rhs.db_name))
       return false;
     if (!(tbl_name == rhs.tbl_name))
       return false;
-    if (!(max_indexes == rhs.max_indexes))
+    if (!(part_vals == rhs.part_vals))
+      return false;
+    if (!(eventType == rhs.eventType))
       return false;
     return true;
   }
-  bool operator != (const ThriftHiveMetastore_get_index_names_args &rhs) const {
+  bool operator != (const ThriftHiveMetastore_isPartitionMarkedForEvent_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const ThriftHiveMetastore_get_index_names_args & ) const;
+  bool operator < (const ThriftHiveMetastore_isPartitionMarkedForEvent_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -12772,77 +11903,118 @@ class ThriftHiveMetastore_get_index_names_args {
 };
 
 
-class ThriftHiveMetastore_get_index_names_pargs {
+class ThriftHiveMetastore_isPartitionMarkedForEvent_pargs {
  public:
 
 
-  virtual ~ThriftHiveMetastore_get_index_names_pargs() throw();
+  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_pargs() throw();
   const std::string* db_name;
   const std::string* tbl_name;
-  const int16_t* max_indexes;
+  const std::map<std::string, std::string> * part_vals;
+  const PartitionEventType::type* eventType;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _ThriftHiveMetastore_get_index_names_result__isset {
-  _ThriftHiveMetastore_get_index_names_result__isset() : success(false), o2(false) {}
+typedef struct _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset {
+  _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset() : success(false), o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
   bool success :1;
+  bool o1 :1;
   bool o2 :1;
-} _ThriftHiveMetastore_get_index_names_result__isset;
+  bool o3 :1;
+  bool o4 :1;
+  bool o5 :1;
+  bool o6 :1;
+} _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset;
 
-class ThriftHiveMetastore_get_index_names_result {
+class ThriftHiveMetastore_isPartitionMarkedForEvent_result {
  public:
 
-  ThriftHiveMetastore_get_index_names_result(const ThriftHiveMetastore_get_index_names_result&);
-  ThriftHiveMetastore_get_index_names_result& operator=(const ThriftHiveMetastore_get_index_names_result&);
-  ThriftHiveMetastore_get_index_names_result() {
+  ThriftHiveMetastore_isPartitionMarkedForEvent_result(const ThriftHiveMetastore_isPartitionMarkedForEvent_result&);
+  ThriftHiveMetastore_isPartitionMarkedForEvent_result& operator=(const ThriftHiveMetastore_isPartitionMarkedForEvent_result&);
+  ThriftHiveMetastore_isPartitionMarkedForEvent_result() : success(0) {
   }
 
-  virtual ~ThriftHiveMetastore_get_index_names_result() throw();
-  std::vector<std::string>  success;
-  MetaException o2;
+  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_result() throw();
+  bool success;
+  MetaException o1;
+  NoSuchObjectException o2;
+  UnknownDBException o3;
+  UnknownTableException o4;
+  UnknownPartitionException o5;
+  InvalidPartitionException o6;
 
-  _ThriftHiveMetastore_get_index_names_result__isset __isset;
+  _ThriftHiveMetastore_isPartitionMarkedForEvent_result__isset __isset;
 
-  void __set_success(const std::vector<std::string> & val);
+  void __set_success(const bool val);
 
-  void __set_o2(const MetaException& val);
+  void __set_o1(const MetaException& val);
+
+  void __set_o2(const NoSuchObjectException& val);
+
+  void __set_o3(const UnknownDBException& val);
+
+  void __set_o4(const UnknownTableException& val);
+
+  void __set_o5(const UnknownPartitionException& val);
+
+  void __set_o6(const InvalidPartitionException& val);
 
-  bool operator == (const ThriftHiveMetastore_get_index_names_result & rhs) const
+  bool operator == (const ThriftHiveMetastore_isPartitionMarkedForEvent_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
+    if (!(o1 == rhs.o1))
+      return false;
     if (!(o2 == rhs.o2))
       return false;
+    if (!(o3 == rhs.o3))
+      return false;
+    if (!(o4 == rhs.o4))
+      return false;
+    if (!(o5 == rhs.o5))
+      return false;
+    if (!(o6 == rhs.o6))
+      return false;
     return true;
   }
-  bool operator != (const ThriftHiveMetastore_get_index_names_result &rhs) const {
+  bool operator != (const ThriftHiveMetastore_isPartitionMarkedForEvent_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const ThriftHiveMetastore_get_index_names_result & ) const;
+  bool operator < (const ThriftHiveMetastore_isPartitionMarkedForEvent_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _ThriftHiveMetastore_get_index_names_presult__isset {
-  _ThriftHiveMetastore_get_index_names_presult__isset() : success(false), o2(false) {}
+typedef struct _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset {
+  _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset() : success(false), o1(false), o2(false), o3(false), o4(false), o5(false), o6(false) {}
   bool success :1;
+  bool o1 :1;
   bool o2 :1;
-} _ThriftHiveMetastore_get_index_names_presult__isset;
+  bool o3 :1;
+  bool o4 :1;
+  bool o5 :1;
+  bool o6 :1;
+} _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset;
 
-class ThriftHiveMetastore_get_index_names_presult {
+class ThriftHiveMetastore_isPartitionMarkedForEvent_presult {
  public:
 
 
-  virtual ~ThriftHiveMetastore_get_index_names_presult() throw();
-  std::vector<std::string> * success;
-  MetaException o2;
+  virtual ~ThriftHiveMetastore_isPartitionMarkedForEvent_presult() throw();
+  bool* success;
+  MetaException o1;
+  NoSuchObjectException o2;
+  UnknownDBException o3;
+  UnknownTableException o4;
+  UnknownPartitionException o5;
+  InvalidPartitionException o6;
 
-  _ThriftHiveMetastore_get_index_names_presult__isset __isset;
+  _ThriftHiveMetastore_isPartitionMarkedForEvent_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
@@ -24070,24 +23242,6 @@ class ThriftHiveMetastoreClient : virtual public ThriftHiveMetastoreIf, public
   bool isPartitionMarkedForEvent(const std::string& db_name, const std::string& tbl_name, const std::map<std::string, std::string> & part_vals, const PartitionEventType::type eventType);
   void send_isPartitionMarkedForEvent(const std::string& db_name, const std::string& tbl_name, const std::map<std::string, std::string> & part_vals, const PartitionEventType::type eventType);
   bool recv_isPartitionMarkedForEvent();
-  void add_index(Index& _return, const Index& new_index, const Table& index_table);
-  void send_add_index(const Index& new_index, const Table& index_table);
-  void recv_add_index(Index& _return);
-  void alter_index(const std::string& dbname, const std::string& base_tbl_name, const std::string& idx_name, const Index& new_idx);
-  void send_alter_index(const std::string& dbname, const std::string& base_tbl_name, const std::string& idx_name, const Index& new_idx);
-  void recv_alter_index();
-  bool drop_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name, const bool deleteData);
-  void send_drop_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name, const bool deleteData);
-  bool recv_drop_index_by_name();
-  void get_index_by_name(Index& _return, const std::string& db_name, const std::string& tbl_name, const std::string& index_name);
-  void send_get_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name);
-  void recv_get_index_by_name(Index& _return);
-  void get_indexes(std::vector<Index> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  void send_get_indexes(const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  void recv_get_indexes(std::vector<Index> & _return);
-  void get_index_names(std::vector<std::string> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  void send_get_index_names(const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  void recv_get_index_names(std::vector<std::string> & _return);
   void get_primary_keys(PrimaryKeysResponse& _return, const PrimaryKeysRequest& request);
   void send_get_primary_keys(const PrimaryKeysRequest& request);
   void recv_get_primary_keys(PrimaryKeysResponse& _return);
@@ -24466,12 +23620,6 @@ class ThriftHiveMetastoreProcessor : public  ::facebook::fb303::FacebookServiceP
   void process_partition_name_to_spec(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_markPartitionForEvent(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_isPartitionMarkedForEvent(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_add_index(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_alter_index(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_drop_index_by_name(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_get_index_by_name(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_get_indexes(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_get_index_names(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_get_primary_keys(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_get_foreign_keys(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_get_unique_constraints(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
@@ -24656,12 +23804,6 @@ class ThriftHiveMetastoreProcessor : public  ::facebook::fb303::FacebookServiceP
     processMap_["partition_name_to_spec"] = &ThriftHiveMetastoreProcessor::process_partition_name_to_spec;
     processMap_["markPartitionForEvent"] = &ThriftHiveMetastoreProcessor::process_markPartitionForEvent;
     processMap_["isPartitionMarkedForEvent"] = &ThriftHiveMetastoreProcessor::process_isPartitionMarkedForEvent;
-    processMap_["add_index"] = &ThriftHiveMetastoreProcessor::process_add_index;
-    processMap_["alter_index"] = &ThriftHiveMetastoreProcessor::process_alter_index;
-    processMap_["drop_index_by_name"] = &ThriftHiveMetastoreProcessor::process_drop_index_by_name;
-    processMap_["get_index_by_name"] = &ThriftHiveMetastoreProcessor::process_get_index_by_name;
-    processMap_["get_indexes"] = &ThriftHiveMetastoreProcessor::process_get_indexes;
-    processMap_["get_index_names"] = &ThriftHiveMetastoreProcessor::process_get_index_names;
     processMap_["get_primary_keys"] = &ThriftHiveMetastoreProcessor::process_get_primary_keys;
     processMap_["get_foreign_keys"] = &ThriftHiveMetastoreProcessor::process_get_foreign_keys;
     processMap_["get_unique_constraints"] = &ThriftHiveMetastoreProcessor::process_get_unique_constraints;
@@ -25612,64 +24754,6 @@ class ThriftHiveMetastoreMultiface : virtual public ThriftHiveMetastoreIf, publi
     return ifaces_[i]->isPartitionMarkedForEvent(db_name, tbl_name, part_vals, eventType);
   }
 
-  void add_index(Index& _return, const Index& new_index, const Table& index_table) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->add_index(_return, new_index, index_table);
-    }
-    ifaces_[i]->add_index(_return, new_index, index_table);
-    return;
-  }
-
-  void alter_index(const std::string& dbname, const std::string& base_tbl_name, const std::string& idx_name, const Index& new_idx) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->alter_index(dbname, base_tbl_name, idx_name, new_idx);
-    }
-    ifaces_[i]->alter_index(dbname, base_tbl_name, idx_name, new_idx);
-  }
-
-  bool drop_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name, const bool deleteData) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->drop_index_by_name(db_name, tbl_name, index_name, deleteData);
-    }
-    return ifaces_[i]->drop_index_by_name(db_name, tbl_name, index_name, deleteData);
-  }
-
-  void get_index_by_name(Index& _return, const std::string& db_name, const std::string& tbl_name, const std::string& index_name) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->get_index_by_name(_return, db_name, tbl_name, index_name);
-    }
-    ifaces_[i]->get_index_by_name(_return, db_name, tbl_name, index_name);
-    return;
-  }
-
-  void get_indexes(std::vector<Index> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->get_indexes(_return, db_name, tbl_name, max_indexes);
-    }
-    ifaces_[i]->get_indexes(_return, db_name, tbl_name, max_indexes);
-    return;
-  }
-
-  void get_index_names(std::vector<std::string> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->get_index_names(_return, db_name, tbl_name, max_indexes);
-    }
-    ifaces_[i]->get_index_names(_return, db_name, tbl_name, max_indexes);
-    return;
-  }
-
   void get_primary_keys(PrimaryKeysResponse& _return, const PrimaryKeysRequest& request) {
     size_t sz = ifaces_.size();
     size_t i = 0;
@@ -26855,24 +25939,6 @@ class ThriftHiveMetastoreConcurrentClient : virtual public ThriftHiveMetastoreIf
   bool isPartitionMarkedForEvent(const std::string& db_name, const std::string& tbl_name, const std::map<std::string, std::string> & part_vals, const PartitionEventType::type eventType);
   int32_t send_isPartitionMarkedForEvent(const std::string& db_name, const std::string& tbl_name, const std::map<std::string, std::string> & part_vals, const PartitionEventType::type eventType);
   bool recv_isPartitionMarkedForEvent(const int32_t seqid);
-  void add_index(Index& _return, const Index& new_index, const Table& index_table);
-  int32_t send_add_index(const Index& new_index, const Table& index_table);
-  void recv_add_index(Index& _return, const int32_t seqid);
-  void alter_index(const std::string& dbname, const std::string& base_tbl_name, const std::string& idx_name, const Index& new_idx);
-  int32_t send_alter_index(const std::string& dbname, const std::string& base_tbl_name, const std::string& idx_name, const Index& new_idx);
-  void recv_alter_index(const int32_t seqid);
-  bool drop_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name, const bool deleteData);
-  int32_t send_drop_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name, const bool deleteData);
-  bool recv_drop_index_by_name(const int32_t seqid);
-  void get_index_by_name(Index& _return, const std::string& db_name, const std::string& tbl_name, const std::string& index_name);
-  int32_t send_get_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name);
-  void recv_get_index_by_name(Index& _return, const int32_t seqid);
-  void get_indexes(std::vector<Index> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  int32_t send_get_indexes(const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  void recv_get_indexes(std::vector<Index> & _return, const int32_t seqid);
-  void get_index_names(std::vector<std::string> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  int32_t send_get_index_names(const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes);
-  void recv_get_index_names(std::vector<std::string> & _return, const int32_t seqid);
   void get_primary_keys(PrimaryKeysResponse& _return, const PrimaryKeysRequest& request);
   int32_t send_get_primary_keys(const PrimaryKeysRequest& request);
   void recv_get_primary_keys(PrimaryKeysResponse& _return, const int32_t seqid);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
index 16536aa..0290b7d 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
@@ -452,36 +452,6 @@ class ThriftHiveMetastoreHandler : virtual public ThriftHiveMetastoreIf {
     printf("isPartitionMarkedForEvent\n");
   }
 
-  void add_index(Index& _return, const Index& new_index, const Table& index_table) {
-    // Your implementation goes here
-    printf("add_index\n");
-  }
-
-  void alter_index(const std::string& dbname, const std::string& base_tbl_name, const std::string& idx_name, const Index& new_idx) {
-    // Your implementation goes here
-    printf("alter_index\n");
-  }
-
-  bool drop_index_by_name(const std::string& db_name, const std::string& tbl_name, const std::string& index_name, const bool deleteData) {
-    // Your implementation goes here
-    printf("drop_index_by_name\n");
-  }
-
-  void get_index_by_name(Index& _return, const std::string& db_name, const std::string& tbl_name, const std::string& index_name) {
-    // Your implementation goes here
-    printf("get_index_by_name\n");
-  }
-
-  void get_indexes(std::vector<Index> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes) {
-    // Your implementation goes here
-    printf("get_indexes\n");
-  }
-
-  void get_index_names(std::vector<std::string> & _return, const std::string& db_name, const std::string& tbl_name, const int16_t max_indexes) {
-    // Your implementation goes here
-    printf("get_index_names\n");
-  }
-
   void get_primary_keys(PrimaryKeysResponse& _return, const PrimaryKeysRequest& request) {
     // Your implementation goes here
     printf("get_primary_keys\n");


[08/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
index 883ecfe..b24c5f9 100644
--- a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
+++ b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
@@ -4493,199 +4493,6 @@ class PartitionSpec:
   def __ne__(self, other):
     return not (self == other)
 
-class Index:
-  """
-  Attributes:
-   - indexName
-   - indexHandlerClass
-   - dbName
-   - origTableName
-   - createTime
-   - lastAccessTime
-   - indexTableName
-   - sd
-   - parameters
-   - deferredRebuild
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'indexName', None, None, ), # 1
-    (2, TType.STRING, 'indexHandlerClass', None, None, ), # 2
-    (3, TType.STRING, 'dbName', None, None, ), # 3
-    (4, TType.STRING, 'origTableName', None, None, ), # 4
-    (5, TType.I32, 'createTime', None, None, ), # 5
-    (6, TType.I32, 'lastAccessTime', None, None, ), # 6
-    (7, TType.STRING, 'indexTableName', None, None, ), # 7
-    (8, TType.STRUCT, 'sd', (StorageDescriptor, StorageDescriptor.thrift_spec), None, ), # 8
-    (9, TType.MAP, 'parameters', (TType.STRING,None,TType.STRING,None), None, ), # 9
-    (10, TType.BOOL, 'deferredRebuild', None, None, ), # 10
-  )
-
-  def __init__(self, indexName=None, indexHandlerClass=None, dbName=None, origTableName=None, createTime=None, lastAccessTime=None, indexTableName=None, sd=None, parameters=None, deferredRebuild=None,):
-    self.indexName = indexName
-    self.indexHandlerClass = indexHandlerClass
-    self.dbName = dbName
-    self.origTableName = origTableName
-    self.createTime = createTime
-    self.lastAccessTime = lastAccessTime
-    self.indexTableName = indexTableName
-    self.sd = sd
-    self.parameters = parameters
-    self.deferredRebuild = deferredRebuild
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.indexName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.indexHandlerClass = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.dbName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRING:
-          self.origTableName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 5:
-        if ftype == TType.I32:
-          self.createTime = iprot.readI32()
-        else:
-          iprot.skip(ftype)
-      elif fid == 6:
-        if ftype == TType.I32:
-          self.lastAccessTime = iprot.readI32()
-        else:
-          iprot.skip(ftype)
-      elif fid == 7:
-        if ftype == TType.STRING:
-          self.indexTableName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 8:
-        if ftype == TType.STRUCT:
-          self.sd = StorageDescriptor()
-          self.sd.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 9:
-        if ftype == TType.MAP:
-          self.parameters = {}
-          (_ktype231, _vtype232, _size230 ) = iprot.readMapBegin()
-          for _i234 in xrange(_size230):
-            _key235 = iprot.readString()
-            _val236 = iprot.readString()
-            self.parameters[_key235] = _val236
-          iprot.readMapEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 10:
-        if ftype == TType.BOOL:
-          self.deferredRebuild = iprot.readBool()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('Index')
-    if self.indexName is not None:
-      oprot.writeFieldBegin('indexName', TType.STRING, 1)
-      oprot.writeString(self.indexName)
-      oprot.writeFieldEnd()
-    if self.indexHandlerClass is not None:
-      oprot.writeFieldBegin('indexHandlerClass', TType.STRING, 2)
-      oprot.writeString(self.indexHandlerClass)
-      oprot.writeFieldEnd()
-    if self.dbName is not None:
-      oprot.writeFieldBegin('dbName', TType.STRING, 3)
-      oprot.writeString(self.dbName)
-      oprot.writeFieldEnd()
-    if self.origTableName is not None:
-      oprot.writeFieldBegin('origTableName', TType.STRING, 4)
-      oprot.writeString(self.origTableName)
-      oprot.writeFieldEnd()
-    if self.createTime is not None:
-      oprot.writeFieldBegin('createTime', TType.I32, 5)
-      oprot.writeI32(self.createTime)
-      oprot.writeFieldEnd()
-    if self.lastAccessTime is not None:
-      oprot.writeFieldBegin('lastAccessTime', TType.I32, 6)
-      oprot.writeI32(self.lastAccessTime)
-      oprot.writeFieldEnd()
-    if self.indexTableName is not None:
-      oprot.writeFieldBegin('indexTableName', TType.STRING, 7)
-      oprot.writeString(self.indexTableName)
-      oprot.writeFieldEnd()
-    if self.sd is not None:
-      oprot.writeFieldBegin('sd', TType.STRUCT, 8)
-      self.sd.write(oprot)
-      oprot.writeFieldEnd()
-    if self.parameters is not None:
-      oprot.writeFieldBegin('parameters', TType.MAP, 9)
-      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameters))
-      for kiter237,viter238 in self.parameters.items():
-        oprot.writeString(kiter237)
-        oprot.writeString(viter238)
-      oprot.writeMapEnd()
-      oprot.writeFieldEnd()
-    if self.deferredRebuild is not None:
-      oprot.writeFieldBegin('deferredRebuild', TType.BOOL, 10)
-      oprot.writeBool(self.deferredRebuild)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.indexName)
-    value = (value * 31) ^ hash(self.indexHandlerClass)
-    value = (value * 31) ^ hash(self.dbName)
-    value = (value * 31) ^ hash(self.origTableName)
-    value = (value * 31) ^ hash(self.createTime)
-    value = (value * 31) ^ hash(self.lastAccessTime)
-    value = (value * 31) ^ hash(self.indexTableName)
-    value = (value * 31) ^ hash(self.sd)
-    value = (value * 31) ^ hash(self.parameters)
-    value = (value * 31) ^ hash(self.deferredRebuild)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
 class BooleanColumnStatsData:
   """
   Attributes:
@@ -6075,11 +5882,11 @@ class ColumnStatistics:
       elif fid == 2:
         if ftype == TType.LIST:
           self.statsObj = []
-          (_etype242, _size239) = iprot.readListBegin()
-          for _i243 in xrange(_size239):
-            _elem244 = ColumnStatisticsObj()
-            _elem244.read(iprot)
-            self.statsObj.append(_elem244)
+          (_etype233, _size230) = iprot.readListBegin()
+          for _i234 in xrange(_size230):
+            _elem235 = ColumnStatisticsObj()
+            _elem235.read(iprot)
+            self.statsObj.append(_elem235)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -6100,8 +5907,8 @@ class ColumnStatistics:
     if self.statsObj is not None:
       oprot.writeFieldBegin('statsObj', TType.LIST, 2)
       oprot.writeListBegin(TType.STRUCT, len(self.statsObj))
-      for iter245 in self.statsObj:
-        iter245.write(oprot)
+      for iter236 in self.statsObj:
+        iter236.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -6161,11 +5968,11 @@ class AggrStats:
       if fid == 1:
         if ftype == TType.LIST:
           self.colStats = []
-          (_etype249, _size246) = iprot.readListBegin()
-          for _i250 in xrange(_size246):
-            _elem251 = ColumnStatisticsObj()
-            _elem251.read(iprot)
-            self.colStats.append(_elem251)
+          (_etype240, _size237) = iprot.readListBegin()
+          for _i241 in xrange(_size237):
+            _elem242 = ColumnStatisticsObj()
+            _elem242.read(iprot)
+            self.colStats.append(_elem242)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -6187,8 +5994,8 @@ class AggrStats:
     if self.colStats is not None:
       oprot.writeFieldBegin('colStats', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.colStats))
-      for iter252 in self.colStats:
-        iter252.write(oprot)
+      for iter243 in self.colStats:
+        iter243.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.partsFound is not None:
@@ -6252,11 +6059,11 @@ class SetPartitionsStatsRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.colStats = []
-          (_etype256, _size253) = iprot.readListBegin()
-          for _i257 in xrange(_size253):
-            _elem258 = ColumnStatistics()
-            _elem258.read(iprot)
-            self.colStats.append(_elem258)
+          (_etype247, _size244) = iprot.readListBegin()
+          for _i248 in xrange(_size244):
+            _elem249 = ColumnStatistics()
+            _elem249.read(iprot)
+            self.colStats.append(_elem249)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -6278,8 +6085,8 @@ class SetPartitionsStatsRequest:
     if self.colStats is not None:
       oprot.writeFieldBegin('colStats', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.colStats))
-      for iter259 in self.colStats:
-        iter259.write(oprot)
+      for iter250 in self.colStats:
+        iter250.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.needMerge is not None:
@@ -6341,22 +6148,22 @@ class Schema:
       if fid == 1:
         if ftype == TType.LIST:
           self.fieldSchemas = []
-          (_etype263, _size260) = iprot.readListBegin()
-          for _i264 in xrange(_size260):
-            _elem265 = FieldSchema()
-            _elem265.read(iprot)
-            self.fieldSchemas.append(_elem265)
+          (_etype254, _size251) = iprot.readListBegin()
+          for _i255 in xrange(_size251):
+            _elem256 = FieldSchema()
+            _elem256.read(iprot)
+            self.fieldSchemas.append(_elem256)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.MAP:
           self.properties = {}
-          (_ktype267, _vtype268, _size266 ) = iprot.readMapBegin()
-          for _i270 in xrange(_size266):
-            _key271 = iprot.readString()
-            _val272 = iprot.readString()
-            self.properties[_key271] = _val272
+          (_ktype258, _vtype259, _size257 ) = iprot.readMapBegin()
+          for _i261 in xrange(_size257):
+            _key262 = iprot.readString()
+            _val263 = iprot.readString()
+            self.properties[_key262] = _val263
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -6373,16 +6180,16 @@ class Schema:
     if self.fieldSchemas is not None:
       oprot.writeFieldBegin('fieldSchemas', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.fieldSchemas))
-      for iter273 in self.fieldSchemas:
-        iter273.write(oprot)
+      for iter264 in self.fieldSchemas:
+        iter264.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.properties is not None:
       oprot.writeFieldBegin('properties', TType.MAP, 2)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties))
-      for kiter274,viter275 in self.properties.items():
-        oprot.writeString(kiter274)
-        oprot.writeString(viter275)
+      for kiter265,viter266 in self.properties.items():
+        oprot.writeString(kiter265)
+        oprot.writeString(viter266)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -6435,11 +6242,11 @@ class EnvironmentContext:
       if fid == 1:
         if ftype == TType.MAP:
           self.properties = {}
-          (_ktype277, _vtype278, _size276 ) = iprot.readMapBegin()
-          for _i280 in xrange(_size276):
-            _key281 = iprot.readString()
-            _val282 = iprot.readString()
-            self.properties[_key281] = _val282
+          (_ktype268, _vtype269, _size267 ) = iprot.readMapBegin()
+          for _i271 in xrange(_size267):
+            _key272 = iprot.readString()
+            _val273 = iprot.readString()
+            self.properties[_key272] = _val273
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -6456,9 +6263,9 @@ class EnvironmentContext:
     if self.properties is not None:
       oprot.writeFieldBegin('properties', TType.MAP, 1)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties))
-      for kiter283,viter284 in self.properties.items():
-        oprot.writeString(kiter283)
-        oprot.writeString(viter284)
+      for kiter274,viter275 in self.properties.items():
+        oprot.writeString(kiter274)
+        oprot.writeString(viter275)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -6592,11 +6399,11 @@ class PrimaryKeysResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.primaryKeys = []
-          (_etype288, _size285) = iprot.readListBegin()
-          for _i289 in xrange(_size285):
-            _elem290 = SQLPrimaryKey()
-            _elem290.read(iprot)
-            self.primaryKeys.append(_elem290)
+          (_etype279, _size276) = iprot.readListBegin()
+          for _i280 in xrange(_size276):
+            _elem281 = SQLPrimaryKey()
+            _elem281.read(iprot)
+            self.primaryKeys.append(_elem281)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -6613,8 +6420,8 @@ class PrimaryKeysResponse:
     if self.primaryKeys is not None:
       oprot.writeFieldBegin('primaryKeys', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.primaryKeys))
-      for iter291 in self.primaryKeys:
-        iter291.write(oprot)
+      for iter282 in self.primaryKeys:
+        iter282.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -6772,11 +6579,11 @@ class ForeignKeysResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.foreignKeys = []
-          (_etype295, _size292) = iprot.readListBegin()
-          for _i296 in xrange(_size292):
-            _elem297 = SQLForeignKey()
-            _elem297.read(iprot)
-            self.foreignKeys.append(_elem297)
+          (_etype286, _size283) = iprot.readListBegin()
+          for _i287 in xrange(_size283):
+            _elem288 = SQLForeignKey()
+            _elem288.read(iprot)
+            self.foreignKeys.append(_elem288)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -6793,8 +6600,8 @@ class ForeignKeysResponse:
     if self.foreignKeys is not None:
       oprot.writeFieldBegin('foreignKeys', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.foreignKeys))
-      for iter298 in self.foreignKeys:
-        iter298.write(oprot)
+      for iter289 in self.foreignKeys:
+        iter289.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -6930,11 +6737,11 @@ class UniqueConstraintsResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.uniqueConstraints = []
-          (_etype302, _size299) = iprot.readListBegin()
-          for _i303 in xrange(_size299):
-            _elem304 = SQLUniqueConstraint()
-            _elem304.read(iprot)
-            self.uniqueConstraints.append(_elem304)
+          (_etype293, _size290) = iprot.readListBegin()
+          for _i294 in xrange(_size290):
+            _elem295 = SQLUniqueConstraint()
+            _elem295.read(iprot)
+            self.uniqueConstraints.append(_elem295)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -6951,8 +6758,8 @@ class UniqueConstraintsResponse:
     if self.uniqueConstraints is not None:
       oprot.writeFieldBegin('uniqueConstraints', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.uniqueConstraints))
-      for iter305 in self.uniqueConstraints:
-        iter305.write(oprot)
+      for iter296 in self.uniqueConstraints:
+        iter296.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7088,11 +6895,11 @@ class NotNullConstraintsResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.notNullConstraints = []
-          (_etype309, _size306) = iprot.readListBegin()
-          for _i310 in xrange(_size306):
-            _elem311 = SQLNotNullConstraint()
-            _elem311.read(iprot)
-            self.notNullConstraints.append(_elem311)
+          (_etype300, _size297) = iprot.readListBegin()
+          for _i301 in xrange(_size297):
+            _elem302 = SQLNotNullConstraint()
+            _elem302.read(iprot)
+            self.notNullConstraints.append(_elem302)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7109,8 +6916,8 @@ class NotNullConstraintsResponse:
     if self.notNullConstraints is not None:
       oprot.writeFieldBegin('notNullConstraints', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.notNullConstraints))
-      for iter312 in self.notNullConstraints:
-        iter312.write(oprot)
+      for iter303 in self.notNullConstraints:
+        iter303.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7246,11 +7053,11 @@ class DefaultConstraintsResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.defaultConstraints = []
-          (_etype316, _size313) = iprot.readListBegin()
-          for _i317 in xrange(_size313):
-            _elem318 = SQLDefaultConstraint()
-            _elem318.read(iprot)
-            self.defaultConstraints.append(_elem318)
+          (_etype307, _size304) = iprot.readListBegin()
+          for _i308 in xrange(_size304):
+            _elem309 = SQLDefaultConstraint()
+            _elem309.read(iprot)
+            self.defaultConstraints.append(_elem309)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7267,8 +7074,8 @@ class DefaultConstraintsResponse:
     if self.defaultConstraints is not None:
       oprot.writeFieldBegin('defaultConstraints', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.defaultConstraints))
-      for iter319 in self.defaultConstraints:
-        iter319.write(oprot)
+      for iter310 in self.defaultConstraints:
+        iter310.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7419,11 +7226,11 @@ class AddPrimaryKeyRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.primaryKeyCols = []
-          (_etype323, _size320) = iprot.readListBegin()
-          for _i324 in xrange(_size320):
-            _elem325 = SQLPrimaryKey()
-            _elem325.read(iprot)
-            self.primaryKeyCols.append(_elem325)
+          (_etype314, _size311) = iprot.readListBegin()
+          for _i315 in xrange(_size311):
+            _elem316 = SQLPrimaryKey()
+            _elem316.read(iprot)
+            self.primaryKeyCols.append(_elem316)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7440,8 +7247,8 @@ class AddPrimaryKeyRequest:
     if self.primaryKeyCols is not None:
       oprot.writeFieldBegin('primaryKeyCols', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.primaryKeyCols))
-      for iter326 in self.primaryKeyCols:
-        iter326.write(oprot)
+      for iter317 in self.primaryKeyCols:
+        iter317.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7495,11 +7302,11 @@ class AddForeignKeyRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.foreignKeyCols = []
-          (_etype330, _size327) = iprot.readListBegin()
-          for _i331 in xrange(_size327):
-            _elem332 = SQLForeignKey()
-            _elem332.read(iprot)
-            self.foreignKeyCols.append(_elem332)
+          (_etype321, _size318) = iprot.readListBegin()
+          for _i322 in xrange(_size318):
+            _elem323 = SQLForeignKey()
+            _elem323.read(iprot)
+            self.foreignKeyCols.append(_elem323)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7516,8 +7323,8 @@ class AddForeignKeyRequest:
     if self.foreignKeyCols is not None:
       oprot.writeFieldBegin('foreignKeyCols', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.foreignKeyCols))
-      for iter333 in self.foreignKeyCols:
-        iter333.write(oprot)
+      for iter324 in self.foreignKeyCols:
+        iter324.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7571,11 +7378,11 @@ class AddUniqueConstraintRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.uniqueConstraintCols = []
-          (_etype337, _size334) = iprot.readListBegin()
-          for _i338 in xrange(_size334):
-            _elem339 = SQLUniqueConstraint()
-            _elem339.read(iprot)
-            self.uniqueConstraintCols.append(_elem339)
+          (_etype328, _size325) = iprot.readListBegin()
+          for _i329 in xrange(_size325):
+            _elem330 = SQLUniqueConstraint()
+            _elem330.read(iprot)
+            self.uniqueConstraintCols.append(_elem330)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7592,8 +7399,8 @@ class AddUniqueConstraintRequest:
     if self.uniqueConstraintCols is not None:
       oprot.writeFieldBegin('uniqueConstraintCols', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.uniqueConstraintCols))
-      for iter340 in self.uniqueConstraintCols:
-        iter340.write(oprot)
+      for iter331 in self.uniqueConstraintCols:
+        iter331.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7647,11 +7454,11 @@ class AddNotNullConstraintRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.notNullConstraintCols = []
-          (_etype344, _size341) = iprot.readListBegin()
-          for _i345 in xrange(_size341):
-            _elem346 = SQLNotNullConstraint()
-            _elem346.read(iprot)
-            self.notNullConstraintCols.append(_elem346)
+          (_etype335, _size332) = iprot.readListBegin()
+          for _i336 in xrange(_size332):
+            _elem337 = SQLNotNullConstraint()
+            _elem337.read(iprot)
+            self.notNullConstraintCols.append(_elem337)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7668,8 +7475,8 @@ class AddNotNullConstraintRequest:
     if self.notNullConstraintCols is not None:
       oprot.writeFieldBegin('notNullConstraintCols', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.notNullConstraintCols))
-      for iter347 in self.notNullConstraintCols:
-        iter347.write(oprot)
+      for iter338 in self.notNullConstraintCols:
+        iter338.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7723,11 +7530,11 @@ class AddDefaultConstraintRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.defaultConstraintCols = []
-          (_etype351, _size348) = iprot.readListBegin()
-          for _i352 in xrange(_size348):
-            _elem353 = SQLDefaultConstraint()
-            _elem353.read(iprot)
-            self.defaultConstraintCols.append(_elem353)
+          (_etype342, _size339) = iprot.readListBegin()
+          for _i343 in xrange(_size339):
+            _elem344 = SQLDefaultConstraint()
+            _elem344.read(iprot)
+            self.defaultConstraintCols.append(_elem344)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7744,8 +7551,8 @@ class AddDefaultConstraintRequest:
     if self.defaultConstraintCols is not None:
       oprot.writeFieldBegin('defaultConstraintCols', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.defaultConstraintCols))
-      for iter354 in self.defaultConstraintCols:
-        iter354.write(oprot)
+      for iter345 in self.defaultConstraintCols:
+        iter345.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -7802,11 +7609,11 @@ class PartitionsByExprResult:
       if fid == 1:
         if ftype == TType.LIST:
           self.partitions = []
-          (_etype358, _size355) = iprot.readListBegin()
-          for _i359 in xrange(_size355):
-            _elem360 = Partition()
-            _elem360.read(iprot)
-            self.partitions.append(_elem360)
+          (_etype349, _size346) = iprot.readListBegin()
+          for _i350 in xrange(_size346):
+            _elem351 = Partition()
+            _elem351.read(iprot)
+            self.partitions.append(_elem351)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -7828,8 +7635,8 @@ class PartitionsByExprResult:
     if self.partitions is not None:
       oprot.writeFieldBegin('partitions', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.partitions))
-      for iter361 in self.partitions:
-        iter361.write(oprot)
+      for iter352 in self.partitions:
+        iter352.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.hasUnknownPartitions is not None:
@@ -8013,11 +7820,11 @@ class TableStatsResult:
       if fid == 1:
         if ftype == TType.LIST:
           self.tableStats = []
-          (_etype365, _size362) = iprot.readListBegin()
-          for _i366 in xrange(_size362):
-            _elem367 = ColumnStatisticsObj()
-            _elem367.read(iprot)
-            self.tableStats.append(_elem367)
+          (_etype356, _size353) = iprot.readListBegin()
+          for _i357 in xrange(_size353):
+            _elem358 = ColumnStatisticsObj()
+            _elem358.read(iprot)
+            self.tableStats.append(_elem358)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -8034,8 +7841,8 @@ class TableStatsResult:
     if self.tableStats is not None:
       oprot.writeFieldBegin('tableStats', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.tableStats))
-      for iter368 in self.tableStats:
-        iter368.write(oprot)
+      for iter359 in self.tableStats:
+        iter359.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -8089,17 +7896,17 @@ class PartitionsStatsResult:
       if fid == 1:
         if ftype == TType.MAP:
           self.partStats = {}
-          (_ktype370, _vtype371, _size369 ) = iprot.readMapBegin()
-          for _i373 in xrange(_size369):
-            _key374 = iprot.readString()
-            _val375 = []
-            (_etype379, _size376) = iprot.readListBegin()
-            for _i380 in xrange(_size376):
-              _elem381 = ColumnStatisticsObj()
-              _elem381.read(iprot)
-              _val375.append(_elem381)
+          (_ktype361, _vtype362, _size360 ) = iprot.readMapBegin()
+          for _i364 in xrange(_size360):
+            _key365 = iprot.readString()
+            _val366 = []
+            (_etype370, _size367) = iprot.readListBegin()
+            for _i371 in xrange(_size367):
+              _elem372 = ColumnStatisticsObj()
+              _elem372.read(iprot)
+              _val366.append(_elem372)
             iprot.readListEnd()
-            self.partStats[_key374] = _val375
+            self.partStats[_key365] = _val366
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -8116,11 +7923,11 @@ class PartitionsStatsResult:
     if self.partStats is not None:
       oprot.writeFieldBegin('partStats', TType.MAP, 1)
       oprot.writeMapBegin(TType.STRING, TType.LIST, len(self.partStats))
-      for kiter382,viter383 in self.partStats.items():
-        oprot.writeString(kiter382)
-        oprot.writeListBegin(TType.STRUCT, len(viter383))
-        for iter384 in viter383:
-          iter384.write(oprot)
+      for kiter373,viter374 in self.partStats.items():
+        oprot.writeString(kiter373)
+        oprot.writeListBegin(TType.STRUCT, len(viter374))
+        for iter375 in viter374:
+          iter375.write(oprot)
         oprot.writeListEnd()
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
@@ -8191,10 +7998,10 @@ class TableStatsRequest:
       elif fid == 3:
         if ftype == TType.LIST:
           self.colNames = []
-          (_etype388, _size385) = iprot.readListBegin()
-          for _i389 in xrange(_size385):
-            _elem390 = iprot.readString()
-            self.colNames.append(_elem390)
+          (_etype379, _size376) = iprot.readListBegin()
+          for _i380 in xrange(_size376):
+            _elem381 = iprot.readString()
+            self.colNames.append(_elem381)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -8219,8 +8026,8 @@ class TableStatsRequest:
     if self.colNames is not None:
       oprot.writeFieldBegin('colNames', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.colNames))
-      for iter391 in self.colNames:
-        oprot.writeString(iter391)
+      for iter382 in self.colNames:
+        oprot.writeString(iter382)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -8299,20 +8106,20 @@ class PartitionsStatsRequest:
       elif fid == 3:
         if ftype == TType.LIST:
           self.colNames = []
-          (_etype395, _size392) = iprot.readListBegin()
-          for _i396 in xrange(_size392):
-            _elem397 = iprot.readString()
-            self.colNames.append(_elem397)
+          (_etype386, _size383) = iprot.readListBegin()
+          for _i387 in xrange(_size383):
+            _elem388 = iprot.readString()
+            self.colNames.append(_elem388)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.LIST:
           self.partNames = []
-          (_etype401, _size398) = iprot.readListBegin()
-          for _i402 in xrange(_size398):
-            _elem403 = iprot.readString()
-            self.partNames.append(_elem403)
+          (_etype392, _size389) = iprot.readListBegin()
+          for _i393 in xrange(_size389):
+            _elem394 = iprot.readString()
+            self.partNames.append(_elem394)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -8337,15 +8144,15 @@ class PartitionsStatsRequest:
     if self.colNames is not None:
       oprot.writeFieldBegin('colNames', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.colNames))
-      for iter404 in self.colNames:
-        oprot.writeString(iter404)
+      for iter395 in self.colNames:
+        oprot.writeString(iter395)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.partNames is not None:
       oprot.writeFieldBegin('partNames', TType.LIST, 4)
       oprot.writeListBegin(TType.STRING, len(self.partNames))
-      for iter405 in self.partNames:
-        oprot.writeString(iter405)
+      for iter396 in self.partNames:
+        oprot.writeString(iter396)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -8408,11 +8215,11 @@ class AddPartitionsResult:
       if fid == 1:
         if ftype == TType.LIST:
           self.partitions = []
-          (_etype409, _size406) = iprot.readListBegin()
-          for _i410 in xrange(_size406):
-            _elem411 = Partition()
-            _elem411.read(iprot)
-            self.partitions.append(_elem411)
+          (_etype400, _size397) = iprot.readListBegin()
+          for _i401 in xrange(_size397):
+            _elem402 = Partition()
+            _elem402.read(iprot)
+            self.partitions.append(_elem402)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -8429,8 +8236,8 @@ class AddPartitionsResult:
     if self.partitions is not None:
       oprot.writeFieldBegin('partitions', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.partitions))
-      for iter412 in self.partitions:
-        iter412.write(oprot)
+      for iter403 in self.partitions:
+        iter403.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -8504,11 +8311,11 @@ class AddPartitionsRequest:
       elif fid == 3:
         if ftype == TType.LIST:
           self.parts = []
-          (_etype416, _size413) = iprot.readListBegin()
-          for _i417 in xrange(_size413):
-            _elem418 = Partition()
-            _elem418.read(iprot)
-            self.parts.append(_elem418)
+          (_etype407, _size404) = iprot.readListBegin()
+          for _i408 in xrange(_size404):
+            _elem409 = Partition()
+            _elem409.read(iprot)
+            self.parts.append(_elem409)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -8543,8 +8350,8 @@ class AddPartitionsRequest:
     if self.parts is not None:
       oprot.writeFieldBegin('parts', TType.LIST, 3)
       oprot.writeListBegin(TType.STRUCT, len(self.parts))
-      for iter419 in self.parts:
-        iter419.write(oprot)
+      for iter410 in self.parts:
+        iter410.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.ifNotExists is not None:
@@ -8616,11 +8423,11 @@ class DropPartitionsResult:
       if fid == 1:
         if ftype == TType.LIST:
           self.partitions = []
-          (_etype423, _size420) = iprot.readListBegin()
-          for _i424 in xrange(_size420):
-            _elem425 = Partition()
-            _elem425.read(iprot)
-            self.partitions.append(_elem425)
+          (_etype414, _size411) = iprot.readListBegin()
+          for _i415 in xrange(_size411):
+            _elem416 = Partition()
+            _elem416.read(iprot)
+            self.partitions.append(_elem416)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -8637,8 +8444,8 @@ class DropPartitionsResult:
     if self.partitions is not None:
       oprot.writeFieldBegin('partitions', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.partitions))
-      for iter426 in self.partitions:
-        iter426.write(oprot)
+      for iter417 in self.partitions:
+        iter417.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -8773,21 +8580,21 @@ class RequestPartsSpec:
       if fid == 1:
         if ftype == TType.LIST:
           self.names = []
-          (_etype430, _size427) = iprot.readListBegin()
-          for _i431 in xrange(_size427):
-            _elem432 = iprot.readString()
-            self.names.append(_elem432)
+          (_etype421, _size418) = iprot.readListBegin()
+          for _i422 in xrange(_size418):
+            _elem423 = iprot.readString()
+            self.names.append(_elem423)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.LIST:
           self.exprs = []
-          (_etype436, _size433) = iprot.readListBegin()
-          for _i437 in xrange(_size433):
-            _elem438 = DropPartitionsExpr()
-            _elem438.read(iprot)
-            self.exprs.append(_elem438)
+          (_etype427, _size424) = iprot.readListBegin()
+          for _i428 in xrange(_size424):
+            _elem429 = DropPartitionsExpr()
+            _elem429.read(iprot)
+            self.exprs.append(_elem429)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -8804,15 +8611,15 @@ class RequestPartsSpec:
     if self.names is not None:
       oprot.writeFieldBegin('names', TType.LIST, 1)
       oprot.writeListBegin(TType.STRING, len(self.names))
-      for iter439 in self.names:
-        oprot.writeString(iter439)
+      for iter430 in self.names:
+        oprot.writeString(iter430)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.exprs is not None:
       oprot.writeFieldBegin('exprs', TType.LIST, 2)
       oprot.writeListBegin(TType.STRUCT, len(self.exprs))
-      for iter440 in self.exprs:
-        iter440.write(oprot)
+      for iter431 in self.exprs:
+        iter431.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -9060,11 +8867,11 @@ class PartitionValuesRequest:
       elif fid == 3:
         if ftype == TType.LIST:
           self.partitionKeys = []
-          (_etype444, _size441) = iprot.readListBegin()
-          for _i445 in xrange(_size441):
-            _elem446 = FieldSchema()
-            _elem446.read(iprot)
-            self.partitionKeys.append(_elem446)
+          (_etype435, _size432) = iprot.readListBegin()
+          for _i436 in xrange(_size432):
+            _elem437 = FieldSchema()
+            _elem437.read(iprot)
+            self.partitionKeys.append(_elem437)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -9081,11 +8888,11 @@ class PartitionValuesRequest:
       elif fid == 6:
         if ftype == TType.LIST:
           self.partitionOrder = []
-          (_etype450, _size447) = iprot.readListBegin()
-          for _i451 in xrange(_size447):
-            _elem452 = FieldSchema()
-            _elem452.read(iprot)
-            self.partitionOrder.append(_elem452)
+          (_etype441, _size438) = iprot.readListBegin()
+          for _i442 in xrange(_size438):
+            _elem443 = FieldSchema()
+            _elem443.read(iprot)
+            self.partitionOrder.append(_elem443)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -9120,8 +8927,8 @@ class PartitionValuesRequest:
     if self.partitionKeys is not None:
       oprot.writeFieldBegin('partitionKeys', TType.LIST, 3)
       oprot.writeListBegin(TType.STRUCT, len(self.partitionKeys))
-      for iter453 in self.partitionKeys:
-        iter453.write(oprot)
+      for iter444 in self.partitionKeys:
+        iter444.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.applyDistinct is not None:
@@ -9135,8 +8942,8 @@ class PartitionValuesRequest:
     if self.partitionOrder is not None:
       oprot.writeFieldBegin('partitionOrder', TType.LIST, 6)
       oprot.writeListBegin(TType.STRUCT, len(self.partitionOrder))
-      for iter454 in self.partitionOrder:
-        iter454.write(oprot)
+      for iter445 in self.partitionOrder:
+        iter445.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.ascending is not None:
@@ -9209,10 +9016,10 @@ class PartitionValuesRow:
       if fid == 1:
         if ftype == TType.LIST:
           self.row = []
-          (_etype458, _size455) = iprot.readListBegin()
-          for _i459 in xrange(_size455):
-            _elem460 = iprot.readString()
-            self.row.append(_elem460)
+          (_etype449, _size446) = iprot.readListBegin()
+          for _i450 in xrange(_size446):
+            _elem451 = iprot.readString()
+            self.row.append(_elem451)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -9229,8 +9036,8 @@ class PartitionValuesRow:
     if self.row is not None:
       oprot.writeFieldBegin('row', TType.LIST, 1)
       oprot.writeListBegin(TType.STRING, len(self.row))
-      for iter461 in self.row:
-        oprot.writeString(iter461)
+      for iter452 in self.row:
+        oprot.writeString(iter452)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -9284,11 +9091,11 @@ class PartitionValuesResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.partitionValues = []
-          (_etype465, _size462) = iprot.readListBegin()
-          for _i466 in xrange(_size462):
-            _elem467 = PartitionValuesRow()
-            _elem467.read(iprot)
-            self.partitionValues.append(_elem467)
+          (_etype456, _size453) = iprot.readListBegin()
+          for _i457 in xrange(_size453):
+            _elem458 = PartitionValuesRow()
+            _elem458.read(iprot)
+            self.partitionValues.append(_elem458)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -9305,8 +9112,8 @@ class PartitionValuesResponse:
     if self.partitionValues is not None:
       oprot.writeFieldBegin('partitionValues', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.partitionValues))
-      for iter468 in self.partitionValues:
-        iter468.write(oprot)
+      for iter459 in self.partitionValues:
+        iter459.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -9494,11 +9301,11 @@ class Function:
       elif fid == 8:
         if ftype == TType.LIST:
           self.resourceUris = []
-          (_etype472, _size469) = iprot.readListBegin()
-          for _i473 in xrange(_size469):
-            _elem474 = ResourceUri()
-            _elem474.read(iprot)
-            self.resourceUris.append(_elem474)
+          (_etype463, _size460) = iprot.readListBegin()
+          for _i464 in xrange(_size460):
+            _elem465 = ResourceUri()
+            _elem465.read(iprot)
+            self.resourceUris.append(_elem465)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -9543,8 +9350,8 @@ class Function:
     if self.resourceUris is not None:
       oprot.writeFieldBegin('resourceUris', TType.LIST, 8)
       oprot.writeListBegin(TType.STRUCT, len(self.resourceUris))
-      for iter475 in self.resourceUris:
-        iter475.write(oprot)
+      for iter466 in self.resourceUris:
+        iter466.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -9788,11 +9595,11 @@ class GetOpenTxnsInfoResponse:
       elif fid == 2:
         if ftype == TType.LIST:
           self.open_txns = []
-          (_etype479, _size476) = iprot.readListBegin()
-          for _i480 in xrange(_size476):
-            _elem481 = TxnInfo()
-            _elem481.read(iprot)
-            self.open_txns.append(_elem481)
+          (_etype470, _size467) = iprot.readListBegin()
+          for _i471 in xrange(_size467):
+            _elem472 = TxnInfo()
+            _elem472.read(iprot)
+            self.open_txns.append(_elem472)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -9813,8 +9620,8 @@ class GetOpenTxnsInfoResponse:
     if self.open_txns is not None:
       oprot.writeFieldBegin('open_txns', TType.LIST, 2)
       oprot.writeListBegin(TType.STRUCT, len(self.open_txns))
-      for iter482 in self.open_txns:
-        iter482.write(oprot)
+      for iter473 in self.open_txns:
+        iter473.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -9885,10 +9692,10 @@ class GetOpenTxnsResponse:
       elif fid == 2:
         if ftype == TType.LIST:
           self.open_txns = []
-          (_etype486, _size483) = iprot.readListBegin()
-          for _i487 in xrange(_size483):
-            _elem488 = iprot.readI64()
-            self.open_txns.append(_elem488)
+          (_etype477, _size474) = iprot.readListBegin()
+          for _i478 in xrange(_size474):
+            _elem479 = iprot.readI64()
+            self.open_txns.append(_elem479)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -9919,8 +9726,8 @@ class GetOpenTxnsResponse:
     if self.open_txns is not None:
       oprot.writeFieldBegin('open_txns', TType.LIST, 2)
       oprot.writeListBegin(TType.I64, len(self.open_txns))
-      for iter489 in self.open_txns:
-        oprot.writeI64(iter489)
+      for iter480 in self.open_txns:
+        oprot.writeI64(iter480)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.min_open_txn is not None:
@@ -10099,10 +9906,10 @@ class OpenTxnsResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.txn_ids = []
-          (_etype493, _size490) = iprot.readListBegin()
-          for _i494 in xrange(_size490):
-            _elem495 = iprot.readI64()
-            self.txn_ids.append(_elem495)
+          (_etype484, _size481) = iprot.readListBegin()
+          for _i485 in xrange(_size481):
+            _elem486 = iprot.readI64()
+            self.txn_ids.append(_elem486)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -10119,8 +9926,8 @@ class OpenTxnsResponse:
     if self.txn_ids is not None:
       oprot.writeFieldBegin('txn_ids', TType.LIST, 1)
       oprot.writeListBegin(TType.I64, len(self.txn_ids))
-      for iter496 in self.txn_ids:
-        oprot.writeI64(iter496)
+      for iter487 in self.txn_ids:
+        oprot.writeI64(iter487)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -10241,10 +10048,10 @@ class AbortTxnsRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.txn_ids = []
-          (_etype500, _size497) = iprot.readListBegin()
-          for _i501 in xrange(_size497):
-            _elem502 = iprot.readI64()
-            self.txn_ids.append(_elem502)
+          (_etype491, _size488) = iprot.readListBegin()
+          for _i492 in xrange(_size488):
+            _elem493 = iprot.readI64()
+            self.txn_ids.append(_elem493)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -10261,8 +10068,8 @@ class AbortTxnsRequest:
     if self.txn_ids is not None:
       oprot.writeFieldBegin('txn_ids', TType.LIST, 1)
       oprot.writeListBegin(TType.I64, len(self.txn_ids))
-      for iter503 in self.txn_ids:
-        oprot.writeI64(iter503)
+      for iter494 in self.txn_ids:
+        oprot.writeI64(iter494)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -10386,10 +10193,10 @@ class GetValidWriteIdsRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.fullTableNames = []
-          (_etype507, _size504) = iprot.readListBegin()
-          for _i508 in xrange(_size504):
-            _elem509 = iprot.readString()
-            self.fullTableNames.append(_elem509)
+          (_etype498, _size495) = iprot.readListBegin()
+          for _i499 in xrange(_size495):
+            _elem500 = iprot.readString()
+            self.fullTableNames.append(_elem500)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -10411,8 +10218,8 @@ class GetValidWriteIdsRequest:
     if self.fullTableNames is not None:
       oprot.writeFieldBegin('fullTableNames', TType.LIST, 1)
       oprot.writeListBegin(TType.STRING, len(self.fullTableNames))
-      for iter510 in self.fullTableNames:
-        oprot.writeString(iter510)
+      for iter501 in self.fullTableNames:
+        oprot.writeString(iter501)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.validTxnList is not None:
@@ -10495,10 +10302,10 @@ class TableValidWriteIds:
       elif fid == 3:
         if ftype == TType.LIST:
           self.invalidWriteIds = []
-          (_etype514, _size511) = iprot.readListBegin()
-          for _i515 in xrange(_size511):
-            _elem516 = iprot.readI64()
-            self.invalidWriteIds.append(_elem516)
+          (_etype505, _size502) = iprot.readListBegin()
+          for _i506 in xrange(_size502):
+            _elem507 = iprot.readI64()
+            self.invalidWriteIds.append(_elem507)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -10533,8 +10340,8 @@ class TableValidWriteIds:
     if self.invalidWriteIds is not None:
       oprot.writeFieldBegin('invalidWriteIds', TType.LIST, 3)
       oprot.writeListBegin(TType.I64, len(self.invalidWriteIds))
-      for iter517 in self.invalidWriteIds:
-        oprot.writeI64(iter517)
+      for iter508 in self.invalidWriteIds:
+        oprot.writeI64(iter508)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.minOpenWriteId is not None:
@@ -10606,11 +10413,11 @@ class GetValidWriteIdsResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.tblValidWriteIds = []
-          (_etype521, _size518) = iprot.readListBegin()
-          for _i522 in xrange(_size518):
-            _elem523 = TableValidWriteIds()
-            _elem523.read(iprot)
-            self.tblValidWriteIds.append(_elem523)
+          (_etype512, _size509) = iprot.readListBegin()
+          for _i513 in xrange(_size509):
+            _elem514 = TableValidWriteIds()
+            _elem514.read(iprot)
+            self.tblValidWriteIds.append(_elem514)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -10627,8 +10434,8 @@ class GetValidWriteIdsResponse:
     if self.tblValidWriteIds is not None:
       oprot.writeFieldBegin('tblValidWriteIds', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.tblValidWriteIds))
-      for iter524 in self.tblValidWriteIds:
-        iter524.write(oprot)
+      for iter515 in self.tblValidWriteIds:
+        iter515.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -10688,10 +10495,10 @@ class AllocateTableWriteIdsRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.txnIds = []
-          (_etype528, _size525) = iprot.readListBegin()
-          for _i529 in xrange(_size525):
-            _elem530 = iprot.readI64()
-            self.txnIds.append(_elem530)
+          (_etype519, _size516) = iprot.readListBegin()
+          for _i520 in xrange(_size516):
+            _elem521 = iprot.readI64()
+            self.txnIds.append(_elem521)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -10718,8 +10525,8 @@ class AllocateTableWriteIdsRequest:
     if self.txnIds is not None:
       oprot.writeFieldBegin('txnIds', TType.LIST, 1)
       oprot.writeListBegin(TType.I64, len(self.txnIds))
-      for iter531 in self.txnIds:
-        oprot.writeI64(iter531)
+      for iter522 in self.txnIds:
+        oprot.writeI64(iter522)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.dbName is not None:
@@ -10869,11 +10676,11 @@ class AllocateTableWriteIdsResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.txnToWriteIds = []
-          (_etype535, _size532) = iprot.readListBegin()
-          for _i536 in xrange(_size532):
-            _elem537 = TxnToWriteId()
-            _elem537.read(iprot)
-            self.txnToWriteIds.append(_elem537)
+          (_etype526, _size523) = iprot.readListBegin()
+          for _i527 in xrange(_size523):
+            _elem528 = TxnToWriteId()
+            _elem528.read(iprot)
+            self.txnToWriteIds.append(_elem528)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -10890,8 +10697,8 @@ class AllocateTableWriteIdsResponse:
     if self.txnToWriteIds is not None:
       oprot.writeFieldBegin('txnToWriteIds', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.txnToWriteIds))
-      for iter538 in self.txnToWriteIds:
-        iter538.write(oprot)
+      for iter529 in self.txnToWriteIds:
+        iter529.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -11119,11 +10926,11 @@ class LockRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.component = []
-          (_etype542, _size539) = iprot.readListBegin()
-          for _i543 in xrange(_size539):
-            _elem544 = LockComponent()
-            _elem544.read(iprot)
-            self.component.append(_elem544)
+          (_etype533, _size530) = iprot.readListBegin()
+          for _i534 in xrange(_size530):
+            _elem535 = LockComponent()
+            _elem535.read(iprot)
+            self.component.append(_elem535)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -11160,8 +10967,8 @@ class LockRequest:
     if self.component is not None:
       oprot.writeFieldBegin('component', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.component))
-      for iter545 in self.component:
-        iter545.write(oprot)
+      for iter536 in self.component:
+        iter536.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.txnid is not None:
@@ -11859,11 +11666,11 @@ class ShowLocksResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.locks = []
-          (_etype549, _size546) = iprot.readListBegin()
-          for _i550 in xrange(_size546):
-            _elem551 = ShowLocksResponseElement()
-            _elem551.read(iprot)
-            self.locks.append(_elem551)
+          (_etype540, _size537) = iprot.readListBegin()
+          for _i541 in xrange(_size537):
+            _elem542 = ShowLocksResponseElement()
+            _elem542.read(iprot)
+            self.locks.append(_elem542)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -11880,8 +11687,8 @@ class ShowLocksResponse:
     if self.locks is not None:
       oprot.writeFieldBegin('locks', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.locks))
-      for iter552 in self.locks:
-        iter552.write(oprot)
+      for iter543 in self.locks:
+        iter543.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -12096,20 +11903,20 @@ class HeartbeatTxnRangeResponse:
       if fid == 1:
         if ftype == TType.SET:
           self.aborted = set()
-          (_etype556, _size553) = iprot.readSetBegin()
-          for _i557 in xrange(_size553):
-            _elem558 = iprot.readI64()
-            self.aborted.add(_elem558)
+          (_etype547, _size544) = iprot.readSetBegin()
+          for _i548 in xrange(_size544):
+            _elem549 = iprot.readI64()
+            self.aborted.add(_elem549)
           iprot.readSetEnd()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.SET:
           self.nosuch = set()
-          (_etype562, _size559) = iprot.readSetBegin()
-          for _i563 in xrange(_size559):
-            _elem564 = iprot.readI64()
-            self.nosuch.add(_elem564)
+          (_etype553, _size550) = iprot.readSetBegin()
+          for _i554 in xrange(_size550):
+            _elem555 = iprot.readI64()
+            self.nosuch.add(_elem555)
           iprot.readSetEnd()
         else:
           iprot.skip(ftype)
@@ -12126,15 +11933,15 @@ class HeartbeatTxnRangeResponse:
     if self.aborted is not None:
       oprot.writeFieldBegin('aborted', TType.SET, 1)
       oprot.writeSetBegin(TType.I64, len(self.aborted))
-      for iter565 in self.aborted:
-        oprot.writeI64(iter565)
+      for iter556 in self.aborted:
+        oprot.writeI64(iter556)
       oprot.writeSetEnd()
       oprot.writeFieldEnd()
     if self.nosuch is not None:
       oprot.writeFieldBegin('nosuch', TType.SET, 2)
       oprot.writeSetBegin(TType.I64, len(self.nosuch))
-      for iter566 in self.nosuch:
-        oprot.writeI64(iter566)
+      for iter557 in self.nosuch:
+        oprot.writeI64(iter557)
       oprot.writeSetEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -12231,11 +12038,11 @@ class CompactionRequest:
       elif fid == 6:
         if ftype == TType.MAP:
           self.properties = {}
-          (_ktype568, _vtype569, _size567 ) = iprot.readMapBegin()
-          for _i571 in xrange(_size567):
-            _key572 = iprot.readString()
-            _val573 = iprot.readString()
-            self.properties[_key572] = _val573
+          (_ktype559, _vtype560, _size558 ) = iprot.readMapBegin()
+          for _i562 in xrange(_size558):
+            _key563 = iprot.readString()
+            _val564 = iprot.readString()
+            self.properties[_key563] = _val564
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -12272,9 +12079,9 @@ class CompactionRequest:
     if self.properties is not None:
       oprot.writeFieldBegin('properties', TType.MAP, 6)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.properties))
-      for kiter574,viter575 in self.properties.items():
-        oprot.writeString(kiter574)
-        oprot.writeString(viter575)
+      for kiter565,viter566 in self.properties.items():
+        oprot.writeString(kiter565)
+        oprot.writeString(viter566)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -12709,11 +12516,11 @@ class ShowCompactResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.compacts = []
-          (_etype579, _size576) = iprot.readListBegin()
-          for _i580 in xrange(_size576):
-            _elem581 = ShowCompactResponseElement()
-            _elem581.read(iprot)
-            self.compacts.append(_elem581)
+          (_etype570, _size567) = iprot.readListBegin()
+          for _i571 in xrange(_size567):
+            _elem572 = ShowCompactResponseElement()
+            _elem572.read(iprot)
+            self.compacts.append(_elem572)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -12730,8 +12537,8 @@ class ShowCompactResponse:
     if self.compacts is not None:
       oprot.writeFieldBegin('compacts', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.compacts))
-      for iter582 in self.compacts:
-        iter582.write(oprot)
+      for iter573 in self.compacts:
+        iter573.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -12820,10 +12627,10 @@ class AddDynamicPartitions:
       elif fid == 5:
         if ftype == TType.LIST:
           self.partitionnames = []
-          (_etype586, _size583) = iprot.readListBegin()
-          for _i587 in xrange(_size583):
-            _elem588 = iprot.readString()
-            self.partitionnames.append(_elem588)
+          (_etype577, _size574) = iprot.readListBegin()
+          for _i578 in xrange(_size574):
+            _elem579 = iprot.readString()
+            self.partitionnames.append(_elem579)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -12861,8 +12668,8 @@ class AddDynamicPartitions:
     if self.partitionnames is not None:
       oprot.writeFieldBegin('partitionnames', TType.LIST, 5)
       oprot.writeListBegin(TType.STRING, len(self.partitionnames))
-      for iter589 in self.partitionnames:
-        oprot.writeString(iter589)
+      for iter580 in self.partitionnames:
+        oprot.writeString(iter580)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.operationType is not None:
@@ -13084,10 +12891,10 @@ class CreationMetadata:
       elif fid == 3:
         if ftype == TType.SET:
           self.tablesUsed = set()
-          (_etype593, _size590) = iprot.readSetBegin()
-          for _i594 in xrange(_size590):
-            _elem595 = iprot.readString()
-            self.tablesUsed.add(_elem595)
+          (_etype584, _size581) = iprot.readSetBegin()
+          for _i585 in xrange(_size581):
+            _elem586 = iprot.readString()
+            self.tablesUsed.add(_elem586)
           iprot.readSetEnd()
         else:
           iprot.skip(ftype)
@@ -13117,8 +12924,8 @@ class CreationMetadata:
     if self.tablesUsed is not None:
       oprot.writeFieldBegin('tablesUsed', TType.SET, 3)
       oprot.writeSetBegin(TType.STRING, len(self.tablesUsed))
-      for iter596 in self.tablesUsed:
-        oprot.writeString(iter596)
+      for iter587 in self.tablesUsed:
+        oprot.writeString(iter587)
       oprot.writeSetEnd()
       oprot.writeFieldEnd()
     if self.validTxnList is not None:
@@ -13414,11 +13221,11 @@ class NotificationEventResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.events = []
-          (_etype600, _size597) = iprot.readListBegin()
-          for _i601 in xrange(_size597):
-            _elem602 = NotificationEvent()
-            _elem602.read(iprot)
-            self.events.append(_elem602)
+          (_etype591, _size588) = iprot.readListBegin()
+          for _i592 in xrange(_size588):
+            _elem593 = NotificationEvent()
+            _elem593.read(iprot)
+            self.events.append(_elem593)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -13435,8 +13242,8 @@ class NotificationEventResponse:
     if self.events is not None:
       oprot.writeFieldBegin('events', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.events))
-      for iter603 in self.events:
-        iter603.write(oprot)
+      for iter594 in self.events:
+        iter594.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -13717,20 +13524,20 @@ class InsertEventRequestData:
       elif fid == 2:
         if ftype == TType.LIST:
           self.filesAdded = []
-          (_etype607, _size604) = iprot.readListBegin()
-          for _i608 in xrange(_size604):
-            _elem609 = iprot.readString()
-            self.filesAdded.append(_elem609)
+          (_etype598, _size595) = iprot.readListBegin()
+          for _i599 in xrange(_size595):
+            _elem600 = iprot.readString()
+            self.filesAdded.append(_elem600)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.LIST:
           self.filesAddedChecksum = []
-          (_etype613, _size610) = iprot.readListBegin()
-          for _i614 in xrange(_size610):
-            _elem615 = iprot.readString()
-            self.filesAddedChecksum.append(_elem615)
+          (_etype604, _size601) = iprot.readListBegin()
+          for _i605 in xrange(_size601):
+            _elem606 = iprot.readString()
+            self.filesAddedChecksum.append(_elem606)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -13751,15 +13558,15 @@ class InsertEventRequestData:
     if self.filesAdded is not None:
       oprot.writeFieldBegin('filesAdded', TType.LIST, 2)
       oprot.writeListBegin(TType.STRING, len(self.filesAdded))
-      for iter616 in self.filesAdded:
-        oprot.writeString(iter616)
+      for iter607 in self.filesAdded:
+        oprot.writeString(iter607)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.filesAddedChecksum is not None:
       oprot.writeFieldBegin('filesAddedChecksum', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.filesAddedChecksum))
-      for iter617 in self.filesAddedChecksum:
-        oprot.writeString(iter617)
+      for iter608 in self.filesAddedChecksum:
+        oprot.writeString(iter608)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -13914,10 +13721,10 @@ class FireEventRequest:
       elif fid == 5:
         if ftype == TType.LIST:
           self.partitionVals = []
-          (_etype621, _size618) = iprot.readListBegin()
-          for _i622 in xrange(_size618):
-            _elem623 = iprot.readString()
-            self.partitionVals.append(_elem623)
+          (_etype612, _size609) = iprot.readListBegin()
+          for _i613 in xrange(_size609):
+            _elem614 = iprot.readString()
+            self.partitionVals.append(_elem614)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -13950,8 +13757,8 @@ class FireEventRequest:
     if self.partitionVals is not None:
       oprot.writeFieldBegin('partitionVals', TType.LIST, 5)
       oprot.writeListBegin(TType.STRING, len(self.partitionVals))
-      for iter624 in self.partitionVals:
-        oprot.writeString(iter624)
+      for iter615 in self.partitionVals:
+        oprot.writeString(iter615)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -14138,12 +13945,12 @@ class GetFileMetadataByExprResult:
       if fid == 1:
         if ftype == TType.MAP:
           self.metadata = {}
-          (_ktype626, _vtype627, _size625 ) = iprot.readMapBegin()
-          for _i629 in xrange(_size625):
-            _key630 = iprot.readI64()
-            _val631 = MetadataPpdResult()
-            _val631.read(iprot)
-            self.metadata[_key630] = _val631
+          (_ktype617, _vtype618, _size616 ) = iprot.readMapBegin()
+          for _i620 in xrange(_size616):
+            _key621 = iprot.readI64()
+            _val622 = MetadataPpdResult()
+            _val622.read(iprot)
+            self.metadata[_key621] = _val622
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -14165,9 +13972,9 @@ class GetFileMetadataByExprResult:
     if self.metadata is not None:
       oprot.writeFieldBegin('metadata', TType.MAP, 1)
       oprot.writeMapBegin(TType.I64, TType.STRUCT, len(self.metadata))
-      for kiter632,viter633 in self.metadata.items():
-        oprot.writeI64(kiter632)
-        viter633.write(oprot)
+      for kiter623,viter624 in self.metadata.items():
+        oprot.writeI64(kiter623)
+        viter624.write(oprot)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     if self.isSupported is not None:
@@ -14237,10 +14044,10 @@ class GetFileMetadataByExprRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.fileIds = []
-          (_etype637, _size634) = iprot.readListBegin()
-          for _i638 in xrange(_size634):
-            _elem639 = iprot.readI64()
-            self.fileIds.append(_elem639)
+          (_etype628, _size625) = iprot.readListBegin()
+          for _i629 in xrange(_size625):
+            _elem630 = iprot.readI64()
+            self.fileIds.append(_elem630)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -14272,8 +14079,8 @@ class GetFileMetadataByExprRequest:
     if self.fileIds is not None:
       oprot.writeFieldBegin('fileIds', TType.LIST, 1)
       oprot.writeListBegin(TType.I64, len(self.fileIds))
-      for iter640 in self.fileIds:
-        oprot.writeI64(iter640)
+      for iter631 in self.fileIds:
+        oprot.writeI64(iter631)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.expr is not None:
@@ -14347,11 +14154,11 @@ class GetFileMetadataResult:
       if fid == 1:
         if ftype == TType.MAP:
           self.metadata = {}
-          (_ktype642, _vtype643, _size641 ) = iprot.readMapBegin()
-          for _i645 in xrange(_size641):
-            _key646 = iprot.readI64()
-            _val647 = iprot.readString()
-            self.metadata[_key646] = _val647
+          (_ktype633, _vtype634, _size632 ) = iprot.readMapBegin()
+          for _i636 in xrange(_size632):
+            _key637 = iprot.readI64()
+            _val638 = iprot.readString()
+            self.metadata[_key637] = _val638
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
@@ -14373,9 +14180,9 @@ class GetFileMetadataResult:
     if self.metadata is not None:
       oprot.writeFieldBegin('metadata', TType.MAP, 1)
       oprot.writeMapBegin(TType.I64, TType.STRING, len(self.metadata))
-      for kiter648,viter649 in self.metadata.items():
-        oprot.writeI64(kiter648)
-        oprot.writeString(viter649)
+      for kiter639,viter640 in self.metadata.items():
+        oprot.writeI64(kiter639)
+        oprot.writeString(viter640)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     if self.isSupported is not None:
@@ -14436,10 +14243,10 @@ class GetFileMetadataRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.fileIds = []
-          (_etype653, _size650) = iprot.readListBegin()
-          for _i654 in xrange(_size650):
-            _elem655 = iprot.readI64()
-            self.fileIds.append(_elem655)
+          (_etype644, _size641) = iprot.readListBegin()
+          for _i645 in xrange(_size641):
+            _elem646 = iprot.readI64()
+            self.fileIds.append(_elem646)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -14456,8 +14263,8 @@ class GetFileMetadataRequest:
     if self.fileIds is not None:
       oprot.writeFieldBegin('fileIds', TType.LIST, 1)
       oprot.writeListBegin(TType.I64, len(self.fileIds))
-      for iter656 in self.fileIds:
-        oprot.writeI64(iter656)
+      for iter647 in self.fileIds:
+        oprot.writeI64(iter647)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -14563,20 +14370,20 @@ class PutFileMetadataRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.fileIds = []
-          (_etype660, _size657) = iprot.readListBegin()
-          for _i661 in xrange(_size657):
-            _elem662 = iprot.readI64()
-            self.fileIds.append(_elem662)
+          (_etype651, _size648) = iprot.readListBegin()
+          for _i652 in xrange(_size648):
+            _elem653 = iprot.readI64()
+            self.fileIds.append(_elem653)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.LIST:
           self.metadata = []
-          (_etype666, _size663) = iprot.readListBegin()
-          for _i667 in xrange(_size663):
-            _elem668 = iprot.readString()
-            self.metadata.append(_elem668)
+          (_etype657, _size654) = iprot.readListBegin()
+          for _i658 in xrange(_size654):
+            _elem659 = iprot.readString()
+            self.metadata.append(_elem659)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -14598,15 +14405,15 @@ class PutFileMetadataRequest:
     if self.fileIds is not None:
       oprot.writeFieldBegin('fileIds', TType.LIST, 1)
       oprot.writeListBegin(TType.I64, len(self.fileIds))
-      for iter669 in self.fileIds:
-        oprot.writeI64(iter669)
+      for iter660 in self.fileIds:
+        oprot.writeI64(iter660)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.metadata is not None:
       oprot.writeFieldBegin('metadata', TType.LIST, 2)
       oprot.writeListBegin(TType.STRING, len(self.metadata))
-      for iter670 in self.metadata:
-        oprot.writeString(iter670)
+      for iter661 in self.metadata:
+        oprot.writeString(iter661)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.type is not None:
@@ -14714,10 +14521,10 @@ class ClearFileMetadataRequest:
       if fid == 1:
         if ftype == TType.LIST:
           self.fileIds = []
-          (_etype674, _size671) = iprot.readListBegin()
-          for _i675 in xrange(_size671):
-            _elem676 = iprot.readI64()
-            self.fileIds.append(_elem676)
+          (_etype665, _size662) = iprot.readListBegin()
+          for _i666 in xrange(_size662):
+            _elem667 = iprot.readI64()
+            self.fileIds.append(_elem667)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -14734,8 +14541,8 @@ class ClearFileMetadataRequest:
     if self.fileIds is not None:
       oprot.writeFieldBegin('fileIds', TType.LIST, 1)
       oprot.writeListBegin(TType.I64, len(self.fileIds))
-      for iter677 in self.fileIds:
-        oprot.writeI64(iter677)
+      for iter668 in self.fileIds:
+        oprot.writeI64(iter668)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -14964,11 +14771,11 @@ class GetAllFunctionsResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.functions = []
-          (_etype681, _size678) = iprot.readListBegin()
-          for _i682 in xrange(_size678):
-            _elem683 = Function()
-            _elem683.read(iprot)
-            self.functions.append(_elem683)
+          (_etype672, _size669) = iprot.readListBegin()
+          for _i673 in xrange(_size669):
+            _elem674 = Function()
+            _elem674.read(iprot)
+            self.functions.append(_elem674)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -14985,8 +14792,8 @@ class GetAllFunctionsResponse:
     if self.functions is not None:
       oprot.writeFieldBegin('functions', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.functions))
-      for iter684 in self.functions:
-        iter684.write(oprot)
+      for iter675 in self.functions:
+        iter675.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -15038,10 +14845,10 @@ class ClientCapabilities:
       if fid == 1:
         if ftype == TType.LIST:
           self.values = []
-          (_etype688, _size685) = iprot.readListBegin()
-          for _i689 in xrange(_size685):
-            _elem690 = iprot.readI32()
-            self.values.append(_elem690)
+          (_etype679, _size676) = iprot.readListBegin()
+          for _i680 in xrange(_size676):
+            _elem681 = iprot.readI32()
+            self.values.append(_elem681)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -15058,8 +14865,8 @@ class ClientCapabilities:
     if self.values is not None:
       oprot.writeFieldBegin('values', TType.LIST, 1)
       oprot.writeListBegin(TType.I32, len(self.values))
-      for iter691 in self.values:
-        oprot.writeI32(iter691)
+      for iter682 in self.values:
+        oprot.writeI32(iter682)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -15288,10 +15095,10 @@ class GetTablesRequest:
       elif fid == 2:
         if ftype == TType.LIST:
           self.tblNames = []
-          (_etype695, _size692) = iprot.readListBegin()
-          for _i696 in xrange(_size692):
-            _elem697 = iprot.readString()
-            self.tblNames.append(_elem697)
+          (_etype686, _size683) = iprot.readListBegin()
+          for _i687 in xrange(_size683):
+            _elem688 = iprot.readString()
+            self.tblNames.append(_elem688)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -15318,8 +15125,8 @@ class GetTablesRequest:
     if self.tblNames is not None:
       oprot.writeFieldBegin('tblNames', TType.LIST, 2)
       oprot.writeListBegin(TType.STRING, len(self.tblNames))
-      for iter698 in self.tblNames:
-        oprot.writeString(iter698)
+      for iter689 in self.tblNames:
+        oprot.writeString(iter689)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.capabilities is not None:
@@ -15379,11 +15186,11 @@ class GetTablesResult:
       if fid == 1:
         if ftype == TType.LIST:
           self.tables = []
-          (_etype702, _size699) = iprot.readListBegin()
-          for _i703 in xrange(_size699):
-            _elem704 = Table()
-            _elem704.read(iprot)
-            self.tables.append(_elem704)
+          (_etype693, _size690) = iprot.readListBegin()
+          for _i694 in xrange(_size690):
+            _elem695 = Table()
+            _elem695.read(iprot)
+            self.tables.append(_elem695)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -15400,8 +15207,8 @@ class GetTablesResult:
     if self.tables is not None:
       oprot.writeFieldBegin('tables', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.tables))
-      for iter705 in self.tables:
-        iter705.write(oprot)
+      for iter696 in self.tables:
+        iter696.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -15699,10 +15506,10 @@ class Materialization:
       if fid == 1:
         if ftype == TType.SET:
           self.tablesUsed = set()
-          (_etype709, _size706) = iprot.readSetBegin()
-          for _i710 in xrange(_size706):
-            _elem711 = iprot.readString()
-            self.tablesUsed.add(_elem711)
+          (_etype700, _size697) = iprot.readSetBegin()
+          for _i701 in xrange(_size697):
+            _elem702 = iprot.readString()
+            self.tablesUsed.add(_elem702)
           iprot.readSetEnd()
         else:
           iprot.skip(ftype)
@@ -15729,8 +15536,8 @@ class Materialization:
     if self.tablesUsed is not None:
       oprot.writeFieldBegin('tablesUsed', TType.SET, 1)
       oprot.writeSetBegin(TType.STRING, len(self.tablesUsed))
-      for iter712 in self.tablesUsed:
-        oprot.writeString(iter712)
+      for iter703 in self.tablesUsed:
+        oprot.writeString(iter703)
       oprot.writeSetEnd()
       oprot.writeFieldEnd()
     if self.validTxnList is not None:
@@ -16634,44 +16441,44 @@ class WMFullResourcePlan:
       elif fid == 2:
         if ftype == TType.LIST:
           self.pools = []
-          (_etype716, _size713) = iprot.readListBegin()
-          for _i717 in xrange(_size713):
-            _elem718 = WMPool()
-            _elem718.read(iprot)
-            self.pools.append(_elem718)
+          (_etype707, _size704) = iprot.readListBegin()
+          for _i708 in xrange(_size704):
+            _elem709 = WMPool()
+            _elem709.read(iprot)
+            self.pools.append(_elem709)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.LIST:
           self.mappings = []
-          (_etype722, _size719) = iprot.readListBegin()
-          for _i723 in xrange(_size719):
-            _elem724 = WMMapping()
-            _elem724.read(iprot)
-            self.mappings.append(_elem724)
+          (_etype713, _size710) = iprot.readListBegin()
+          for _i714 in xrange(_size710):
+            _elem715 = WMMapping()
+            _elem715.read(iprot)
+            self.mappings.append(_elem715)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.LIST:
           self.triggers = []
-          (_etype728, _size725) = iprot.readListBegin()
-          for _i729 in xrange(_size725):
-            _elem730 = WMTrigger()
-            _elem730.read(iprot)
-            self.triggers.append(_elem730)
+          (_etype719, _size716) = iprot.readListBegin()
+          for _i720 in xrange(_size716):
+            _elem721 = WMTrigger()
+            _elem721.read(iprot)
+            self.triggers.append(_elem721)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 5:
         if ftype == TType.LIST:
           self.poolTriggers = []
-          (_etype734, _size731) = iprot.readListBegin()
-          for _i735 in xrange(_size731):
-            _elem736 = WMPoolTrigger()
-            _elem736.read(iprot)
-            self.poolTriggers.append(_elem736)
+          (_etype725, _size722) = iprot.readListBegin()
+          for _i726 in xrange(_size722):
+            _elem727 = WMPoolTrigger()
+            _elem727.read(iprot)
+            self.poolTriggers.append(_elem727)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -16692,29 +16499,29 @@ class WMFullResourcePlan:
     if self.pools is not None:
       oprot.writeFieldBegin('pools', TType.LIST, 2)
       oprot.writeListBegin(TType.STRUCT, len(self.pools))
-      for iter737 in self.pools:
-        iter737.write(oprot)
+      for iter728 in self.pools:
+        iter728.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.mappings is not None:
       oprot.writeFieldBegin('mappings', TType.LIST, 3)
       oprot.writeListBegin(TType.STRUCT, len(self.mappings))
-      for iter738 in self.mappings:
-        iter738.write(oprot)
+      for iter729 in self.mappings:
+        iter729.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.triggers is not None:
       oprot.writeFieldBegin('triggers', TType.LIST, 4)
       oprot.writeListBegin(TType.STRUCT, len(self.triggers))
-      for iter739 in self.triggers:
-        iter739.write(oprot)
+      for iter730 in self.triggers:
+        iter730.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.poolTriggers is not None:
       oprot.writeFieldBegin('poolTriggers', TType.LIST, 5)
       oprot.writeListBegin(TType.STRUCT, len(self.poolTriggers))
-      for iter740 in self.poolTriggers:
-        iter740.write(oprot)
+      for iter731 in self.poolTriggers:
+        iter731.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -17188,11 +16995,11 @@ class WMGetAllResourcePlanResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.resourcePlans = []
-          (_etype744, _size741) = iprot.readListBegin()
-          for _i745 in xrange(_size741):
-            _elem746 = WMResourcePlan()
-            _elem746.read(iprot)
-            self.resourcePlans.append(_elem746)
+          (_etype735, _size732) = iprot.readListBegin()
+          for _i736 in xrange(_size732):
+            _elem737 = WMResourcePlan()
+            _elem737.read(iprot)
+            self.resourcePlans.append(_elem737)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -17209,8 +17016,8 @@ class WMGetAllResourcePlanResponse:
     if self.resourcePlans is not None:
       oprot.writeFieldBegin('resourcePlans', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.resourcePlans))
-      for iter747 in self.resourcePlans:
-        iter747.write(oprot)
+      for iter738 in self.resourcePlans:
+        iter738.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -17514,20 +17321,20 @@ class WMValidateResourcePlanResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.errors = []
-          (_etype751, _size748) = iprot.readListBegin()
-          for _i752 in xrange(_size748):
-            _elem753 = iprot.readString()
-            self.errors.append(_elem753)
+          (_etype742, _size739) = iprot.readListBegin()
+          for _i743 in xrange(_size739):
+            _elem744 = iprot.readString()
+            self.errors.append(_elem744)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.LIST:
           self.warnings = []
-          (_etype757, _size754) = iprot.readListBegin()
-          for _i758 in xrange(_size754):
-            _elem759 = iprot.readString()
-            self.warnings.append(_elem759)
+          (_etype748, _size745) = iprot.readListBegin()
+          for _i749 in xrange(_size745):
+            _elem750 = iprot.readString()
+            self.warnings.append(_elem750)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -17544,15 +17351,15 @@ class WMValidateResourcePlanResponse:
     if self.errors is not None:
       oprot.writeFieldBegin('errors', TType.LIST, 1)
       oprot.writeListBegin(TType.STRING, len(self.errors))
-      for iter760 in self.errors:
-        oprot.writeString(iter760)
+      for iter751 in self.errors:
+        oprot.writeString(iter751)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.warnings is not None:
       oprot.writeFieldBegin('warnings', TType.LIST, 2)
       oprot.writeListBegin(TType.STRING, len(self.warnings))
-      for iter761 in self.warnings:
-        oprot.writeString(iter761)
+      for iter752 in self.warnings:
+        oprot.writeString(iter752)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -18129,11 +17936,11 @@ class WMGetTriggersForResourePlanResponse:
       if fid == 1:
         if ftype == TType.LIST:
           self.triggers = []
-          (_etype765, _size762) = iprot.readListBegin()
-          for _i766 in xrange(_size762):
-            _elem767 = WMTrigger()
-            _elem767.read(iprot)
-            self.triggers.append(_elem767)
+          (_etype756, _size753) = iprot.readListBegin()
+          for _i757 in xrange(_size753):
+            _elem758 = WMTrigger()
+            _elem758.read(iprot)
+            self.triggers.append(_elem758)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -18150,8 +17957,8 @@ class WMGetTriggersForResourePlanResponse:
     if self.triggers is not None:
       oprot.writeFieldBegin('triggers', TType.LIST, 1)
       oprot.writeListBegin(TType.STRUCT, len(self.triggers))
-      for iter768 in self.triggers:
-        iter768.write(oprot)
+      for iter759 in self.triggers:
+        iter759.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -19469,74 +19276,6 @@ class NoSuchObjectException(TException):
   def __ne__(self, other):
     return not (self == other)
 
-class IndexAlreadyExistsException(TException):
-  """
-  Attributes:
-   - message
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'message', None, None, ), # 1
-  )
-
-  def __init__(self, message=None,):
-    self.message = message
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.message = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('IndexAlreadyExistsException')
-    if self.message is not None:
-      oprot.writeFieldBegin('message', TType.STRING, 1)
-      oprot.writeString(self.message)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    return
-
-
-  def __str__(self):
-    return repr(self)
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.message)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
 class InvalidOperationException(TException):
   """
   Attributes:


[22/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Signed-off-by: Zoltan Haindrich <ki...@rxd.hu>


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

Branch: refs/heads/master
Commit: 7c22d74c8d0eb0650adf6e84e0536127c103e46c
Parents: 31e36f0
Author: Zoltan Haindrich <ki...@rxd.hu>
Authored: Wed Mar 7 08:51:03 2018 +0100
Committer: Zoltan Haindrich <ki...@rxd.hu>
Committed: Wed Mar 7 08:51:48 2018 +0100

----------------------------------------------------------------------
 .../hcatalog/mapreduce/HCatOutputFormat.java    |     9 -
 .../listener/DbNotificationListener.java        |    54 +-
 .../hcatalog/messaging/AlterIndexMessage.java   |    35 -
 .../hcatalog/messaging/CreateIndexMessage.java  |    35 -
 .../hcatalog/messaging/DropIndexMessage.java    |    35 -
 .../hcatalog/messaging/HCatEventMessage.java    |    14 +-
 .../hcatalog/messaging/MessageDeserializer.java |    23 -
 .../hive/hcatalog/messaging/MessageFactory.java |    25 -
 .../messaging/json/JSONAlterIndexMessage.java   |    89 -
 .../messaging/json/JSONCreateIndexMessage.java  |    82 -
 .../messaging/json/JSONDropIndexMessage.java    |    82 -
 .../messaging/json/JSONMessageDeserializer.java |    33 -
 .../messaging/json/JSONMessageFactory.java      |    48 +-
 .../listener/DummyRawStoreFailEvent.java        |    48 -
 .../listener/TestDbNotificationListener.java    |   253 +-
 .../org/apache/hadoop/hive/ql/QTestUtil.java    |     5 -
 .../upgrade/hive/hive-schema-3.0.0.hive.sql     |    48 -
 .../org/apache/hadoop/hive/ql/ErrorMsg.java     |     1 -
 .../apache/hadoop/hive/ql/metadata/Table.java   |    25 +-
 .../hive/ql/parse/DDLSemanticAnalyzer.java      |     4 -
 .../hadoop/hive/ql/parse/SemanticAnalyzer.java  |     7 +-
 .../AuthorizationPreEventListener.java          |     2 -
 .../hadoop/hive/ql/metadata/TestHive.java       |     2 -
 .../clientpositive/llap/resourceplan.q.out      |   104 -
 .../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp  |  9982 ++++++----------
 .../gen/thrift/gen-cpp/ThriftHiveMetastore.h    |  1318 +--
 .../ThriftHiveMetastore_server.skeleton.cpp     |    30 -
 .../gen/thrift/gen-cpp/hive_metastore_types.cpp |  4871 ++++----
 .../gen/thrift/gen-cpp/hive_metastore_types.h   |   152 -
 .../hive/metastore/api/AbortTxnsRequest.java    |    32 +-
 .../api/AddDefaultConstraintRequest.java        |    36 +-
 .../metastore/api/AddDynamicPartitions.java     |    32 +-
 .../metastore/api/AddForeignKeyRequest.java     |    36 +-
 .../api/AddNotNullConstraintRequest.java        |    36 +-
 .../metastore/api/AddPartitionsRequest.java     |    36 +-
 .../hive/metastore/api/AddPartitionsResult.java |    36 +-
 .../metastore/api/AddPrimaryKeyRequest.java     |    36 +-
 .../api/AddUniqueConstraintRequest.java         |    36 +-
 .../hadoop/hive/metastore/api/AggrStats.java    |    36 +-
 .../api/AllocateTableWriteIdsRequest.java       |    32 +-
 .../api/AllocateTableWriteIdsResponse.java      |    36 +-
 .../metastore/api/ClearFileMetadataRequest.java |    32 +-
 .../hive/metastore/api/ClientCapabilities.java  |    32 +-
 .../hive/metastore/api/ColumnStatistics.java    |    36 +-
 .../hive/metastore/api/CompactionRequest.java   |    44 +-
 .../hive/metastore/api/CreationMetadata.java    |    32 +-
 .../api/DefaultConstraintsResponse.java         |    36 +-
 .../metastore/api/DropPartitionsResult.java     |    36 +-
 .../hive/metastore/api/EnvironmentContext.java  |    44 +-
 .../hive/metastore/api/FireEventRequest.java    |    32 +-
 .../hive/metastore/api/ForeignKeysResponse.java |    36 +-
 .../hadoop/hive/metastore/api/Function.java     |    36 +-
 .../metastore/api/GetAllFunctionsResponse.java  |    36 +-
 .../api/GetFileMetadataByExprRequest.java       |    32 +-
 .../api/GetFileMetadataByExprResult.java        |    48 +-
 .../metastore/api/GetFileMetadataRequest.java   |    32 +-
 .../metastore/api/GetFileMetadataResult.java    |    44 +-
 .../metastore/api/GetOpenTxnsInfoResponse.java  |    36 +-
 .../hive/metastore/api/GetOpenTxnsResponse.java |    32 +-
 .../hive/metastore/api/GetTablesRequest.java    |    32 +-
 .../hive/metastore/api/GetTablesResult.java     |    36 +-
 .../metastore/api/GetValidWriteIdsRequest.java  |    32 +-
 .../metastore/api/GetValidWriteIdsResponse.java |    36 +-
 .../api/HeartbeatTxnRangeResponse.java          |    64 +-
 .../apache/hadoop/hive/metastore/api/Index.java |  1374 ---
 .../api/IndexAlreadyExistsException.java        |   395 -
 .../metastore/api/InsertEventRequestData.java   |    64 +-
 .../hadoop/hive/metastore/api/LockRequest.java  |    36 +-
 .../hive/metastore/api/Materialization.java     |    32 +-
 .../api/NotNullConstraintsResponse.java         |    36 +-
 .../api/NotificationEventResponse.java          |    36 +-
 .../hive/metastore/api/OpenTxnsResponse.java    |    32 +-
 .../metastore/api/PartitionValuesRequest.java   |    72 +-
 .../metastore/api/PartitionValuesResponse.java  |    36 +-
 .../hive/metastore/api/PartitionValuesRow.java  |    32 +-
 .../metastore/api/PartitionsByExprResult.java   |    36 +-
 .../metastore/api/PartitionsStatsRequest.java   |    64 +-
 .../metastore/api/PartitionsStatsResult.java    |    76 +-
 .../hive/metastore/api/PrimaryKeysResponse.java |    36 +-
 .../metastore/api/PutFileMetadataRequest.java   |    64 +-
 .../hive/metastore/api/RequestPartsSpec.java    |    68 +-
 .../hadoop/hive/metastore/api/Schema.java       |    80 +-
 .../api/SetPartitionsStatsRequest.java          |    36 +-
 .../hive/metastore/api/ShowCompactResponse.java |    36 +-
 .../hive/metastore/api/ShowLocksResponse.java   |    36 +-
 .../hive/metastore/api/TableStatsRequest.java   |    32 +-
 .../hive/metastore/api/TableStatsResult.java    |    36 +-
 .../hive/metastore/api/TableValidWriteIds.java  |    32 +-
 .../hive/metastore/api/ThriftHiveMetastore.java | 10346 ++---------------
 .../api/UniqueConstraintsResponse.java          |    36 +-
 .../hive/metastore/api/WMFullResourcePlan.java  |   144 +-
 .../api/WMGetAllResourcePlanResponse.java       |    36 +-
 .../WMGetTriggersForResourePlanResponse.java    |    36 +-
 .../api/WMValidateResourcePlanResponse.java     |    64 +-
 .../gen-php/metastore/ThriftHiveMetastore.php   |  4545 ++------
 .../src/gen/thrift/gen-php/metastore/Types.php  |  1890 ++-
 .../hive_metastore/ThriftHiveMetastore-remote   |    42 -
 .../hive_metastore/ThriftHiveMetastore.py       |  3882 ++-----
 .../gen/thrift/gen-py/hive_metastore/ttypes.py  |  1255 +-
 .../gen/thrift/gen-rb/hive_metastore_types.rb   |    55 -
 .../gen/thrift/gen-rb/thrift_hive_metastore.rb  |   419 -
 .../DefaultMetaStoreFilterHookImpl.java         |    16 -
 .../hadoop/hive/metastore/HiveMetaStore.java    |   420 +-
 .../hive/metastore/HiveMetaStoreClient.java     |   154 +-
 .../hadoop/hive/metastore/IMetaStoreClient.java |    75 +-
 .../hive/metastore/MetaStoreEventListener.java  |    24 -
 .../hive/metastore/MetaStoreFilterHook.java     |    18 -
 .../metastore/MetaStoreListenerNotifier.java    |    21 -
 .../hadoop/hive/metastore/ObjectStore.java      |   223 +-
 .../apache/hadoop/hive/metastore/RawStore.java  |    17 -
 .../apache/hadoop/hive/metastore/TableType.java |     2 +-
 .../hive/metastore/cache/CachedStore.java       |   117 +-
 .../metastore/client/builder/IndexBuilder.java  |   109 -
 .../metastore/client/builder/TableBuilder.java  |    21 +-
 .../hive/metastore/events/AddIndexEvent.java    |    40 -
 .../hive/metastore/events/AlterIndexEvent.java  |    46 -
 .../hive/metastore/events/DropIndexEvent.java   |    40 -
 .../hive/metastore/events/PreAddIndexEvent.java |    41 -
 .../metastore/events/PreAlterIndexEvent.java    |    47 -
 .../metastore/events/PreDropIndexEvent.java     |    40 -
 .../hive/metastore/events/PreEventContext.java  |     3 -
 .../metastore/messaging/AlterIndexMessage.java  |    33 -
 .../metastore/messaging/CreateIndexMessage.java |    46 -
 .../metastore/messaging/DropIndexMessage.java   |    46 -
 .../hive/metastore/messaging/EventMessage.java  |    13 +-
 .../messaging/MessageDeserializer.java          |    21 -
 .../metastore/messaging/MessageFactory.java     |    26 -
 .../messaging/json/JSONAlterIndexMessage.java   |    98 -
 .../messaging/json/JSONCreateIndexMessage.java  |    87 -
 .../messaging/json/JSONDropIndexMessage.java    |    90 -
 .../messaging/json/JSONMessageDeserializer.java |    33 -
 .../messaging/json/JSONMessageFactory.java      |    27 +-
 .../hive/metastore/utils/MetaStoreUtils.java    |    43 +-
 .../src/main/thrift/hive_metastore.thrift       |    32 -
 .../hadoop/hive/metastore/DummyListener.java    |    18 -
 .../DummyRawStoreControlledCommit.java          |    36 -
 .../DummyRawStoreForJdoConnection.java          |    49 +-
 .../hadoop/hive/metastore/TestFilterHooks.java  |    51 +-
 .../metastore/TestMetaStoreEventListener.java   |    85 -
 .../TestMetaStoreEventListenerWithOldConf.java  |    54 +-
 .../hadoop/hive/metastore/TestObjectStore.java  |     7 -
 .../client/TestAddAlterDropIndexes.java         |   845 --
 .../hive/metastore/client/TestDatabases.java    |    70 -
 .../metastore/client/TestGetListIndexes.java    |   442 -
 144 files changed, 12422 insertions(+), 35523 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
----------------------------------------------------------------------
diff --git a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
index 166b565..8b75782 100644
--- a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
+++ b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java
@@ -35,7 +35,6 @@ import org.apache.hadoop.hive.metastore.IMetaStoreClient;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.metadata.HiveStorageHandler;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
 import org.apache.hadoop.hive.ql.metadata.Table;
 import org.apache.hadoop.io.WritableComparable;
@@ -92,14 +91,6 @@ public class HCatOutputFormat extends HCatBaseOutputFormat {
       Table table = HCatUtil.getTable(client, outputJobInfo.getDatabaseName(),
         outputJobInfo.getTableName());
 
-      List<String> indexList = client.listIndexNames(outputJobInfo.getDatabaseName(), outputJobInfo.getTableName(), Short.MAX_VALUE);
-
-      for (String indexName : indexList) {
-        Index index = client.getIndex(outputJobInfo.getDatabaseName(), outputJobInfo.getTableName(), indexName);
-        if (!index.isDeferredRebuild()) {
-          throw new HCatException(ErrorType.ERROR_NOT_SUPPORTED, "Store into a table with an automatic index from Pig/Mapreduce is not supported");
-        }
-      }
       StorageDescriptor sd = table.getTTable().getSd();
 
       if (sd.isCompressed()) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
index 39d97fc..d647181 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
@@ -36,7 +36,6 @@ import org.apache.hadoop.hive.metastore.TransactionalMetaStoreEventListener;
 import org.apache.hadoop.hive.metastore.Warehouse;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.NotificationEvent;
 import org.apache.hadoop.hive.metastore.api.Partition;
@@ -48,13 +47,11 @@ import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf.ConfVars;
 import org.apache.hadoop.hive.metastore.events.AddForeignKeyEvent;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddNotNullConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AddPrimaryKeyEvent;
 import org.apache.hadoop.hive.metastore.events.AddUniqueConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.AlterDatabaseEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.ConfigChangeEvent;
@@ -64,7 +61,6 @@ import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropConstraintEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.DropTableEvent;
 import org.apache.hadoop.hive.metastore.events.InsertEvent;
@@ -390,49 +386,6 @@ public class DbNotificationListener extends TransactionalMetaStoreEventListener
     process(event, fnEvent);
   }
 
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  @Override
-  public void onAddIndex(AddIndexEvent indexEvent) throws MetaException {
-    Index index = indexEvent.getIndex();
-    NotificationEvent event =
-        new NotificationEvent(0, now(), EventType.CREATE_INDEX.toString(), msgFactory
-            .buildCreateIndexMessage(index).toString());
-    event.setDbName(index.getDbName());
-    process(event, indexEvent);
-  }
-
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  @Override
-  public void onDropIndex(DropIndexEvent indexEvent) throws MetaException {
-    Index index = indexEvent.getIndex();
-    NotificationEvent event =
-        new NotificationEvent(0, now(), EventType.DROP_INDEX.toString(), msgFactory
-            .buildDropIndexMessage(index).toString());
-    event.setDbName(index.getDbName());
-    process(event, indexEvent);
-  }
-
-  /**
-   * @param indexEvent index event
-   * @throws MetaException
-   */
-  @Override
-  public void onAlterIndex(AlterIndexEvent indexEvent) throws MetaException {
-    Index before = indexEvent.getOldIndex();
-    Index after = indexEvent.getNewIndex();
-    NotificationEvent event =
-        new NotificationEvent(0, now(), EventType.ALTER_INDEX.toString(), msgFactory
-            .buildAlterIndexMessage(before, after).toString());
-    event.setDbName(before.getDbName());
-    process(event, indexEvent);
-  }
-
   class FileChksumIterator implements Iterator<String> {
     private List<String> files;
     private List<String> chksums;
@@ -625,8 +578,11 @@ public class DbNotificationListener extends TransactionalMetaStoreEventListener
     }
 
     public void setTimeToLive(long configTtl) {
-      if (configTtl > Integer.MAX_VALUE) ttl = Integer.MAX_VALUE;
-      else ttl = (int)configTtl;
+      if (configTtl > Integer.MAX_VALUE) {
+        ttl = Integer.MAX_VALUE;
+      } else {
+        ttl = (int)configTtl;
+      }
     }
 
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java
deleted file mode 100644
index d3b0cc6..0000000
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterIndexMessage.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hive.hcatalog.messaging;
-
-import org.apache.hadoop.hive.common.classification.InterfaceAudience;
-import org.apache.hadoop.hive.common.classification.InterfaceStability;
-
-/**
- * HCat message sent when a Index is altered in HCatalog.
- */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public abstract class AlterIndexMessage extends HCatEventMessage {
-
-  protected AlterIndexMessage() {
-    super(EventType.ALTER_INDEX);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java
deleted file mode 100644
index 79608ea..0000000
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateIndexMessage.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hive.hcatalog.messaging;
-
-import org.apache.hadoop.hive.common.classification.InterfaceAudience;
-import org.apache.hadoop.hive.common.classification.InterfaceStability;
-
-/**
- * HCat message sent when a Index is created in HCatalog.
- */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public abstract class CreateIndexMessage extends HCatEventMessage {
-
-  protected CreateIndexMessage() {
-    super(EventType.CREATE_INDEX);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java
deleted file mode 100644
index 2be1d07..0000000
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropIndexMessage.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hive.hcatalog.messaging;
-
-import org.apache.hadoop.hive.common.classification.InterfaceAudience;
-import org.apache.hadoop.hive.common.classification.InterfaceStability;
-
-/**
- * HCat message sent when a Index is dropped in HCatalog.
- */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
-public abstract class DropIndexMessage extends HCatEventMessage {
-
-  protected DropIndexMessage() {
-    super(EventType.DROP_INDEX);
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
index ca2253c..8bfdf3d 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/HCatEventMessage.java
@@ -46,10 +46,7 @@ public abstract class HCatEventMessage {
     ALTER_PARTITION(HCatConstants.HCAT_ALTER_PARTITION_EVENT),
     INSERT(HCatConstants.HCAT_INSERT_EVENT),
     CREATE_FUNCTION(HCatConstants.HCAT_CREATE_FUNCTION_EVENT),
-    DROP_FUNCTION(HCatConstants.HCAT_DROP_FUNCTION_EVENT),
-    CREATE_INDEX(HCatConstants.HCAT_CREATE_INDEX_EVENT),
-    DROP_INDEX(HCatConstants.HCAT_DROP_INDEX_EVENT),
-    ALTER_INDEX(HCatConstants.HCAT_ALTER_INDEX_EVENT);
+    DROP_FUNCTION(HCatConstants.HCAT_DROP_FUNCTION_EVENT);
 
     private String typeString;
 
@@ -100,12 +97,15 @@ public abstract class HCatEventMessage {
    * Class invariant. Checked after construction or deserialization.
    */
   public HCatEventMessage checkValid() {
-    if (getServer() == null || getServicePrincipal() == null)
+    if (getServer() == null || getServicePrincipal() == null) {
       throw new IllegalStateException("Server-URL/Service-Principal shouldn't be null.");
-    if (getEventType() == null)
+    }
+    if (getEventType() == null) {
       throw new IllegalStateException("Event-type unset.");
-    if (getDB() == null)
+    }
+    if (getDB() == null) {
       throw new IllegalArgumentException("DB-name unset.");
+    }
     return this;
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
index 61178cb..857b89f 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageDeserializer.java
@@ -21,8 +21,6 @@ package org.apache.hive.hcatalog.messaging;
 
 import org.apache.hadoop.hive.common.classification.InterfaceAudience;
 import org.apache.hadoop.hive.common.classification.InterfaceStability;
-import org.apache.hive.hcatalog.messaging.json.JSONCreateFunctionMessage;
-import org.apache.hive.hcatalog.messaging.json.JSONDropFunctionMessage;
 
 /**
  * Interface for converting HCat events from String-form back to HCatEventMessage instances.
@@ -57,12 +55,6 @@ public abstract class MessageDeserializer {
       return getCreateFunctionMessage(messageBody);
     case DROP_FUNCTION:
       return getDropFunctionMessage(messageBody);
-    case CREATE_INDEX:
-      return getCreateIndexMessage(messageBody);
-    case DROP_INDEX:
-      return getDropIndexMessage(messageBody);
-    case ALTER_INDEX:
-      return getAlterIndexMessage(messageBody);
     case INSERT:
       return getInsertMessage(messageBody);
     default:
@@ -125,21 +117,6 @@ public abstract class MessageDeserializer {
   public abstract DropFunctionMessage getDropFunctionMessage(String messageBody);
 
   /**
-   * Method to de-serialize CreateIndexMessage instance.
-   */
-  public abstract CreateIndexMessage getCreateIndexMessage(String messageBody);
-
-  /**
-   * Method to de-serialize DropIndexMessage instance.
-   */
-  public abstract DropIndexMessage getDropIndexMessage(String messageBody);
-
-  /**
-   * Method to de-serialize AlterIndexMessage instance.
-   */
-  public abstract AlterIndexMessage getAlterIndexMessage(String messageBody);
-
-  /**
    * Method to deserialize InsertMessage
    * @param messageBody the message in serialized form
    * @return message in object form

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
index 6480c5e..a248bbf 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
@@ -25,12 +25,9 @@ import org.apache.hadoop.hive.common.classification.InterfaceStability;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.hadoop.util.ReflectionUtils;
-import org.apache.hive.hcatalog.messaging.json.JSONMessageFactory;
-
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -183,28 +180,6 @@ public abstract class MessageFactory {
   public abstract DropFunctionMessage buildDropFunctionMessage(Function fn);
 
   /**
-   * Factory method for CreateIndexMessage.
-   * @param idx The Index being added.
-   * @return CreateIndexMessage instance.
-   */
-  public abstract CreateIndexMessage buildCreateIndexMessage(Index idx);
-
-  /**
-   * Factory method for DropIndexMessage.
-   * @param idx The Index being dropped.
-   * @return DropIndexMessage instance.
-   */
-  public abstract DropIndexMessage buildDropIndexMessage(Index idx);
-
-  /**
-   * Factory method for AlterIndexMessage.
-   * @param before The index before the alter
-   * @param after The index after the alter
-   * @return AlterIndexMessage
-   */
-  public abstract AlterIndexMessage buildAlterIndexMessage(Index before, Index after);
-
-  /**
    * Factory method for building insert message
    * @param db Name of the database the insert occurred in
    * @param table Name of the table the insert occurred in

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
deleted file mode 100644
index d7da100..0000000
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterIndexMessage.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hive.hcatalog.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.AlterIndexMessage;
-import org.apache.thrift.TException;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of AlterIndexMessage.
- */
-public class JSONAlterIndexMessage extends AlterIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, beforeIndexObjJson, afterIndexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONAlterIndexMessage() {}
-
-  public JSONAlterIndexMessage(String server, String servicePrincipal, Index before, Index after,
-                               Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = after.getDbName();
-    this.timestamp = timestamp;
-    try {
-      this.beforeIndexObjJson = JSONMessageFactory.createIndexObjJson(before);
-      this.afterIndexObjJson = JSONMessageFactory.createIndexObjJson(after);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", ex);
-    }
-
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getBeforeIndexObjJson() {
-    return beforeIndexObjJson;
-  }
-
-  public String getAfterIndexObjJson() {
-    return afterIndexObjJson;
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
deleted file mode 100644
index 094913b..0000000
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateIndexMessage.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hive.hcatalog.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.CreateIndexMessage;
-import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of CreateIndexMessage.
- */
-public class JSONCreateIndexMessage extends CreateIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, indexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONCreateIndexMessage() {}
-
-  public JSONCreateIndexMessage(String server, String servicePrincipal, Index index, Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = index.getDbName();
-    try {
-      this.indexObjJson = JSONMessageFactory.createIndexObjJson(index);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", ex);
-    }
-
-    this.timestamp = timestamp;
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getIndexObjJson() {
-    return indexObjJson;
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
deleted file mode 100644
index c80bd29..0000000
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropIndexMessage.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.hive.hcatalog.messaging.json;
-
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.DropIndexMessage;
-import org.apache.thrift.TException;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * JSON Implementation of DropIndexMessage.
- */
-public class JSONDropIndexMessage extends DropIndexMessage {
-
-  @JsonProperty
-  String server, servicePrincipal, db, indexObjJson;
-
-  @JsonProperty
-  Long timestamp;
-
-  /**
-   * Default constructor, required for Jackson.
-   */
-  public JSONDropIndexMessage() {}
-
-  public JSONDropIndexMessage(String server, String servicePrincipal, Index index, Long timestamp) {
-    this.server = server;
-    this.servicePrincipal = servicePrincipal;
-    this.db = index.getDbName();
-    try {
-      this.indexObjJson = JSONMessageFactory.createIndexObjJson(index);
-    } catch (TException ex) {
-      throw new IllegalArgumentException("Could not serialize Index object", ex);
-    }
-
-    this.timestamp = timestamp;
-    checkValid();
-  }
-
-  @Override
-  public String getDB() { return db; }
-
-  @Override
-  public String getServer() { return server; }
-
-  @Override
-  public String getServicePrincipal() { return servicePrincipal; }
-
-  @Override
-  public Long getTimestamp() { return timestamp; }
-
-  public String getIndexObjJson() {
-    return indexObjJson;
-  }
-
-  @Override
-  public String toString() {
-    try {
-      return JSONMessageDeserializer.mapper.writeValueAsString(this);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not serialize: ", exception);
-    }
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
index bb8c849..ab26a14 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageDeserializer.java
@@ -20,16 +20,13 @@
 package org.apache.hive.hcatalog.messaging.json;
 
 import org.apache.hive.hcatalog.messaging.AddPartitionMessage;
-import org.apache.hive.hcatalog.messaging.AlterIndexMessage;
 import org.apache.hive.hcatalog.messaging.AlterPartitionMessage;
 import org.apache.hive.hcatalog.messaging.AlterTableMessage;
 import org.apache.hive.hcatalog.messaging.CreateDatabaseMessage;
 import org.apache.hive.hcatalog.messaging.CreateFunctionMessage;
-import org.apache.hive.hcatalog.messaging.CreateIndexMessage;
 import org.apache.hive.hcatalog.messaging.CreateTableMessage;
 import org.apache.hive.hcatalog.messaging.DropDatabaseMessage;
 import org.apache.hive.hcatalog.messaging.DropFunctionMessage;
-import org.apache.hive.hcatalog.messaging.DropIndexMessage;
 import org.apache.hive.hcatalog.messaging.DropPartitionMessage;
 import org.apache.hive.hcatalog.messaging.DropTableMessage;
 import org.apache.hive.hcatalog.messaging.InsertMessage;
@@ -149,36 +146,6 @@ public class JSONMessageDeserializer extends MessageDeserializer {
   }
 
   @Override
-  public CreateIndexMessage getCreateIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONCreateIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct JSONCreateIndexMessage.", exception);
-    }
-  }
-
-  @Override
-  public DropIndexMessage getDropIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONDropIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct JSONDropIndexMessage.", exception);
-    }
-  }
-
-  @Override
-  public AlterIndexMessage getAlterIndexMessage(String messageBody) {
-    try {
-      return mapper.readValue(messageBody, JSONAlterIndexMessage.class);
-    }
-    catch (Exception exception) {
-      throw new IllegalArgumentException("Could not construct JSONAlterIndexMessage.", exception);
-    }
-  }
-
-  @Override
   public InsertMessage getInsertMessage(String messageBody) {
     try {
       return mapper.readValue(messageBody, JSONInsertMessage.class);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
index 345934b..0973c18 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
@@ -19,15 +19,13 @@
 
 package org.apache.hive.hcatalog.messaging.json;
 
-import com.google.common.collect.Iterators;
-import com.google.common.collect.Lists;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Nullable;
 
-import org.apache.hadoop.hive.metastore.api.Index;
-import org.apache.hive.hcatalog.messaging.AlterIndexMessage;
-import org.apache.hive.hcatalog.messaging.CreateFunctionMessage;
-import org.apache.hive.hcatalog.messaging.CreateIndexMessage;
-import org.apache.hive.hcatalog.messaging.DropFunctionMessage;
-import org.apache.hive.hcatalog.messaging.DropIndexMessage;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.Partition;
@@ -36,8 +34,10 @@ import org.apache.hive.hcatalog.messaging.AddPartitionMessage;
 import org.apache.hive.hcatalog.messaging.AlterPartitionMessage;
 import org.apache.hive.hcatalog.messaging.AlterTableMessage;
 import org.apache.hive.hcatalog.messaging.CreateDatabaseMessage;
+import org.apache.hive.hcatalog.messaging.CreateFunctionMessage;
 import org.apache.hive.hcatalog.messaging.CreateTableMessage;
 import org.apache.hive.hcatalog.messaging.DropDatabaseMessage;
+import org.apache.hive.hcatalog.messaging.DropFunctionMessage;
 import org.apache.hive.hcatalog.messaging.DropPartitionMessage;
 import org.apache.hive.hcatalog.messaging.DropTableMessage;
 import org.apache.hive.hcatalog.messaging.InsertMessage;
@@ -49,11 +49,8 @@ import org.apache.thrift.protocol.TJSONProtocol;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.annotation.Nullable;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
 
 /**
  * The JSON implementation of the MessageFactory. Constructs JSON implementations of
@@ -144,24 +141,6 @@ public class JSONMessageFactory extends MessageFactory {
   }
 
   @Override
-  public CreateIndexMessage buildCreateIndexMessage(Index idx) {
-    return new JSONCreateIndexMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, idx,
-        now());
-  }
-
-  @Override
-  public DropIndexMessage buildDropIndexMessage(Index idx) {
-    return new JSONDropIndexMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, idx,
-        now());
-  }
-
-  @Override
-  public AlterIndexMessage buildAlterIndexMessage(Index before, Index after) {
-    return new JSONAlterIndexMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, before, after,
-        now());
-  }
-
-  @Override
   public InsertMessage buildInsertMessage(String db, String table, Map<String,String> partKeyVals,
                                           List<String> files) {
     return new JSONInsertMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, db, table, null,
@@ -181,9 +160,10 @@ public class JSONMessageFactory extends MessageFactory {
 
   private static Map<String, String> getPartitionKeyValues(Table table, Partition partition) {
     Map<String, String> partitionKeys = new LinkedHashMap<String, String>();
-    for (int i=0; i<table.getPartitionKeysSize(); ++i)
+    for (int i=0; i<table.getPartitionKeysSize(); ++i) {
       partitionKeys.put(table.getPartitionKeys().get(i).getName(),
           partition.getValues().get(i));
+    }
     return partitionKeys;
   }
 
@@ -201,8 +181,4 @@ public class JSONMessageFactory extends MessageFactory {
     return serializer.toString(functionObj, "UTF-8");
   }
 
-  static String createIndexObjJson(Index indexObj) throws TException {
-    TSerializer serializer = new TSerializer(new TJSONProtocol.Factory());
-    return serializer.toString(indexObj, "UTF-8");
-  }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
----------------------------------------------------------------------
diff --git a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
index d0ff871..4ecd89c 100644
--- a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
+++ b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
@@ -40,7 +40,6 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InvalidInputException;
 import org.apache.hadoop.hive.metastore.api.InvalidObjectException;
 import org.apache.hadoop.hive.metastore.api.InvalidOperationException;
@@ -339,53 +338,6 @@ public class DummyRawStoreFailEvent implements RawStore, Configurable {
   }
 
   @Override
-  public boolean addIndex(Index index) throws InvalidObjectException, MetaException {
-    if (shouldEventSucceed) {
-      return objectStore.addIndex(index);
-    } else {
-      throw new RuntimeException("Event failed.");
-    }
-  }
-
-  @Override
-  public Index getIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    return objectStore.getIndex(dbName, origTableName, indexName);
-  }
-
-  @Override
-  public boolean dropIndex(String dbName, String origTableName, String indexName)
-      throws MetaException {
-    if (shouldEventSucceed) {
-      return objectStore.dropIndex(dbName, origTableName, indexName);
-    } else {
-      throw new RuntimeException("Event failed.");
-    }
-  }
-
-  @Override
-  public List<Index> getIndexes(String dbName, String origTableName, int max)
-      throws MetaException {
-    return objectStore.getIndexes(dbName, origTableName, max);
-  }
-
-  @Override
-  public List<String> listIndexNames(String dbName, String origTableName, short max)
-      throws MetaException {
-    return objectStore.listIndexNames(dbName, origTableName, max);
-  }
-
-  @Override
-  public void alterIndex(String dbName, String baseTblName, String name, Index newIndex)
-      throws InvalidObjectException, MetaException {
-    if (shouldEventSucceed) {
-      objectStore.alterIndex(dbName, baseTblName, name, newIndex);
-    } else {
-      throw new RuntimeException("Event failed.");
-    }
-  }
-
-  @Override
   public List<Partition> getPartitionsByFilter(String dbName, String tblName,
                                                String filter, short maxParts) throws MetaException, NoSuchObjectException {
     return objectStore.getPartitionsByFilter(dbName, tblName, filter, maxParts);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
----------------------------------------------------------------------
diff --git a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
index 7aadf18..e0e2965 100644
--- a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
+++ b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
@@ -28,7 +28,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Stack;
@@ -49,12 +48,10 @@ import org.apache.hadoop.hive.metastore.api.FireEventRequest;
 import org.apache.hadoop.hive.metastore.api.FireEventRequestData;
 import org.apache.hadoop.hive.metastore.api.Function;
 import org.apache.hadoop.hive.metastore.api.FunctionType;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.InsertEventRequestData;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.NotificationEvent;
 import org.apache.hadoop.hive.metastore.api.NotificationEventResponse;
-import org.apache.hadoop.hive.metastore.api.Order;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PrincipalType;
 import org.apache.hadoop.hive.metastore.api.ResourceType;
@@ -62,9 +59,7 @@ import org.apache.hadoop.hive.metastore.api.ResourceUri;
 import org.apache.hadoop.hive.metastore.api.SerDeInfo;
 import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
 import org.apache.hadoop.hive.metastore.api.Table;
-import org.apache.hadoop.hive.metastore.events.AddIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
-import org.apache.hadoop.hive.metastore.events.AlterIndexEvent;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
 import org.apache.hadoop.hive.metastore.events.CreateDatabaseEvent;
@@ -72,22 +67,18 @@ import org.apache.hadoop.hive.metastore.events.CreateFunctionEvent;
 import org.apache.hadoop.hive.metastore.events.CreateTableEvent;
 import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
 import org.apache.hadoop.hive.metastore.events.DropFunctionEvent;
-import org.apache.hadoop.hive.metastore.events.DropIndexEvent;
 import org.apache.hadoop.hive.metastore.events.DropPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.DropTableEvent;
 import org.apache.hadoop.hive.metastore.events.InsertEvent;
 import org.apache.hadoop.hive.metastore.events.ListenerEvent;
 import org.apache.hadoop.hive.metastore.messaging.AddPartitionMessage;
-import org.apache.hadoop.hive.metastore.messaging.AlterIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.AlterTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.CreateIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.CreateTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropDatabaseMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropFunctionMessage;
-import org.apache.hadoop.hive.metastore.messaging.DropIndexMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropPartitionMessage;
 import org.apache.hadoop.hive.metastore.messaging.DropTableMessage;
 import org.apache.hadoop.hive.metastore.messaging.EventMessage.EventType;
@@ -102,7 +93,6 @@ import org.apache.hive.hcatalog.data.Pair;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TestRule;
@@ -174,58 +164,57 @@ public class TestDbNotificationListener {
       super(config);
     }
 
+    @Override
     public void onCreateTable (CreateTableEvent tableEvent) throws MetaException {
       pushEventId(EventType.CREATE_TABLE, tableEvent);
     }
 
+    @Override
     public void onDropTable (DropTableEvent tableEvent)  throws MetaException {
       pushEventId(EventType.DROP_TABLE, tableEvent);
     }
 
+    @Override
     public void onAlterTable (AlterTableEvent tableEvent) throws MetaException {
       pushEventId(EventType.ALTER_TABLE, tableEvent);
     }
 
+    @Override
     public void onAddPartition (AddPartitionEvent partitionEvent) throws MetaException {
       pushEventId(EventType.ADD_PARTITION, partitionEvent);
     }
 
+    @Override
     public void onDropPartition (DropPartitionEvent partitionEvent)  throws MetaException {
       pushEventId(EventType.DROP_PARTITION, partitionEvent);
     }
 
+    @Override
     public void onAlterPartition (AlterPartitionEvent partitionEvent)  throws MetaException {
       pushEventId(EventType.ALTER_PARTITION, partitionEvent);
     }
 
+    @Override
     public void onCreateDatabase (CreateDatabaseEvent dbEvent) throws MetaException {
       pushEventId(EventType.CREATE_DATABASE, dbEvent);
     }
 
+    @Override
     public void onDropDatabase (DropDatabaseEvent dbEvent) throws MetaException {
       pushEventId(EventType.DROP_DATABASE, dbEvent);
     }
 
-    public void onAddIndex(AddIndexEvent indexEvent) throws MetaException {
-      pushEventId(EventType.CREATE_INDEX, indexEvent);
-    }
-
-    public void onDropIndex(DropIndexEvent indexEvent) throws MetaException {
-      pushEventId(EventType.DROP_INDEX, indexEvent);
-    }
-
-    public void onAlterIndex(AlterIndexEvent indexEvent) throws MetaException {
-      pushEventId(EventType.ALTER_INDEX, indexEvent);
-    }
-
+    @Override
     public void onCreateFunction (CreateFunctionEvent fnEvent) throws MetaException {
       pushEventId(EventType.CREATE_FUNCTION, fnEvent);
     }
 
+    @Override
     public void onDropFunction (DropFunctionEvent fnEvent) throws MetaException {
       pushEventId(EventType.DROP_FUNCTION, fnEvent);
     }
 
+    @Override
     public void onInsert(InsertEvent insertEvent) throws MetaException {
       pushEventId(EventType.INSERT, insertEvent);
     }
@@ -963,226 +952,6 @@ public class TestDbNotificationListener {
   }
 
   @Test
-  @Ignore("HIVE-18715")
-  public void createIndex() throws Exception {
-    String indexName = "createIndex";
-    String dbName = "default";
-    String tableName = "createIndexTable";
-    String indexTableName = tableName + "__" + indexName + "__";
-    int startTime = (int) (System.currentTimeMillis() / 1000);
-    List<FieldSchema> cols = new ArrayList<FieldSchema>();
-    cols.add(new FieldSchema("col1", "int", ""));
-    SerDeInfo serde = new SerDeInfo("serde", "seriallib", null);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("key", "value");
-    StorageDescriptor sd =
-        new StorageDescriptor(cols, "file:/tmp", "input", "output", false, 17, serde,
-            Arrays.asList("bucketcol"), Arrays.asList(new Order("sortcol", 1)), params);
-    Table table =
-        new Table(tableName, dbName, "me", startTime, startTime, 0, sd, null, emptyParameters,
-            null, null, null);
-    // Event 1
-    msClient.createTable(table);
-    Index index =
-        new Index(indexName, null, "default", tableName, startTime, startTime, indexTableName, sd,
-            emptyParameters, false);
-    Table indexTable =
-        new Table(indexTableName, dbName, "me", startTime, startTime, 0, sd, null, emptyParameters,
-            null, null, null);
-    // Event 2, 3 (index table and index)
-    msClient.createIndex(index, indexTable);
-
-    // Get notifications from metastore
-    NotificationEventResponse rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(3, rsp.getEventsSize());
-    NotificationEvent event = rsp.getEvents().get(2);
-    assertEquals(firstEventId + 3, event.getEventId());
-    assertTrue(event.getEventTime() >= startTime);
-    assertEquals(EventType.CREATE_INDEX.toString(), event.getEventType());
-    assertEquals(dbName, event.getDbName());
-
-    // Parse the message field
-    CreateIndexMessage createIdxMessage = md.getCreateIndexMessage(event.getMessage());
-    assertEquals(dbName, createIdxMessage.getDB());
-    Index indexObj = createIdxMessage.getIndexObj();
-    assertEquals(dbName, indexObj.getDbName());
-    assertEquals(indexName, indexObj.getIndexName());
-    assertEquals(tableName, indexObj.getOrigTableName());
-    assertEquals(indexTableName, indexObj.getIndexTableName());
-
-    // Verify the eventID was passed to the non-transactional listener
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_INDEX, firstEventId + 3);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 2);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 1);
-
-    // When hive.metastore.transactional.event.listeners is set,
-    // a failed event should not create a new notification
-    DummyRawStoreFailEvent.setEventSucceed(false);
-    index =
-        new Index("createIndexTable2", null, "default", tableName, startTime, startTime,
-            "createIndexTable2__createIndexTable2__", sd, emptyParameters, false);
-    Table indexTable2 =
-        new Table("createIndexTable2__createIndexTable2__", dbName, "me", startTime, startTime, 0,
-            sd, null, emptyParameters, null, null, null);
-    try {
-      msClient.createIndex(index, indexTable2);
-      fail("Error: create index should've failed");
-    } catch (Exception ex) {
-      // expected
-    }
-    rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(3, rsp.getEventsSize());
-  }
-
-  @Test
-  @Ignore("HIVE-18715")
-  public void dropIndex() throws Exception {
-    String indexName = "dropIndex";
-    String dbName = "default";
-    String tableName = "dropIndexTable";
-    String indexTableName = tableName + "__" + indexName + "__";
-    int startTime = (int) (System.currentTimeMillis() / 1000);
-    List<FieldSchema> cols = new ArrayList<FieldSchema>();
-    cols.add(new FieldSchema("col1", "int", ""));
-    SerDeInfo serde = new SerDeInfo("serde", "seriallib", null);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("key", "value");
-    StorageDescriptor sd =
-        new StorageDescriptor(cols, "file:/tmp", "input", "output", false, 17, serde,
-            Arrays.asList("bucketcol"), Arrays.asList(new Order("sortcol", 1)), params);
-    Table table =
-        new Table(tableName, dbName, "me", startTime, startTime, 0, sd, null, emptyParameters,
-            null, null, null);
-    // Event 1
-    msClient.createTable(table);
-    Index index =
-        new Index(indexName, null, "default", tableName, startTime, startTime, indexTableName, sd,
-            emptyParameters, false);
-    Table indexTable =
-        new Table(indexTableName, dbName, "me", startTime, startTime, 0, sd, null, emptyParameters,
-            null, null, null);
-    // Event 2, 3 (index table and index)
-    msClient.createIndex(index, indexTable);
-    // Event 4 (drops index and indexTable)
-    msClient.dropIndex(dbName, tableName, indexName, true);
-
-    // Get notifications from metastore
-    NotificationEventResponse rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(4, rsp.getEventsSize());
-    NotificationEvent event = rsp.getEvents().get(3);
-    assertEquals(firstEventId + 4, event.getEventId());
-    assertTrue(event.getEventTime() >= startTime);
-    assertEquals(EventType.DROP_INDEX.toString(), event.getEventType());
-    assertEquals(dbName, event.getDbName());
-
-    // Parse the message field
-    DropIndexMessage dropIdxMsg = md.getDropIndexMessage(event.getMessage());
-    assertEquals(dbName, dropIdxMsg.getDB());
-    assertEquals(indexName.toLowerCase(), dropIdxMsg.getIndexName());
-    assertEquals(indexTableName.toLowerCase(), dropIdxMsg.getIndexTableName());
-    assertEquals(tableName.toLowerCase(), dropIdxMsg.getOrigTableName());
-
-    // Verify the eventID was passed to the non-transactional listener
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.DROP_INDEX, firstEventId + 4);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_INDEX, firstEventId + 3);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 2);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 1);
-
-    // When hive.metastore.transactional.event.listeners is set,
-    // a failed event should not create a new notification
-    index =
-        new Index("dropIndexTable2", null, "default", tableName, startTime, startTime,
-            "dropIndexTable__dropIndexTable2__", sd, emptyParameters, false);
-    Table indexTable2 =
-        new Table("dropIndexTable__dropIndexTable2__", dbName, "me", startTime, startTime, 0, sd,
-            null, emptyParameters, null, null, null);
-    msClient.createIndex(index, indexTable2);
-    DummyRawStoreFailEvent.setEventSucceed(false);
-    try {
-      // drops index and indexTable
-      msClient.dropIndex(dbName, tableName, "dropIndex2", true);
-      fail("Error: drop index should've failed");
-    } catch (Exception ex) {
-      // expected
-    }
-
-    rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(6, rsp.getEventsSize());
-  }
-
-  @Test
-  @Ignore("HIVE-18715")
-  public void alterIndex() throws Exception {
-    String indexName = "alterIndex";
-    String dbName = "default";
-    String tableName = "alterIndexTable";
-    String indexTableName = tableName + "__" + indexName + "__";
-    int startTime = (int) (System.currentTimeMillis() / 1000);
-    List<FieldSchema> cols = new ArrayList<FieldSchema>();
-    cols.add(new FieldSchema("col1", "int", ""));
-    SerDeInfo serde = new SerDeInfo("serde", "seriallib", null);
-    Map<String, String> params = new HashMap<String, String>();
-    params.put("key", "value");
-    StorageDescriptor sd =
-        new StorageDescriptor(cols, "file:/tmp", "input", "output", false, 17, serde,
-            Arrays.asList("bucketcol"), Arrays.asList(new Order("sortcol", 1)), params);
-    Table table =
-        new Table(tableName, dbName, "me", startTime, startTime, 0, sd, null, emptyParameters,
-            null, null, null);
-    // Event 1
-    msClient.createTable(table);
-    Index oldIndex =
-        new Index(indexName, null, "default", tableName, startTime, startTime, indexTableName, sd,
-            emptyParameters, false);
-    Table oldIndexTable =
-        new Table(indexTableName, dbName, "me", startTime, startTime, 0, sd, null, emptyParameters,
-            null, null, null);
-    // Event 2, 3
-    msClient.createIndex(oldIndex, oldIndexTable); // creates index and index table
-    Index newIndex =
-        new Index(indexName, null, "default", tableName, startTime, startTime + 1, indexTableName,
-            sd, emptyParameters, false);
-    // Event 4
-    msClient.alter_index(dbName, tableName, indexName, newIndex);
-
-    // Get notifications from metastore
-    NotificationEventResponse rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(4, rsp.getEventsSize());
-    NotificationEvent event = rsp.getEvents().get(3);
-    assertEquals(firstEventId + 4, event.getEventId());
-    assertTrue(event.getEventTime() >= startTime);
-    assertEquals(EventType.ALTER_INDEX.toString(), event.getEventType());
-    assertEquals(dbName, event.getDbName());
-
-    // Parse the message field
-    AlterIndexMessage alterIdxMsg = md.getAlterIndexMessage(event.getMessage());
-    Index indexObj = alterIdxMsg.getIndexObjAfter();
-    assertEquals(dbName, indexObj.getDbName());
-    assertEquals(indexName, indexObj.getIndexName());
-    assertEquals(tableName, indexObj.getOrigTableName());
-    assertEquals(indexTableName, indexObj.getIndexTableName());
-    assertTrue(indexObj.getCreateTime() < indexObj.getLastAccessTime());
-
-    // Verify the eventID was passed to the non-transactional listener
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.ALTER_INDEX, firstEventId + 4);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_INDEX, firstEventId + 3);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 2);
-    MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 1);
-
-    // When hive.metastore.transactional.event.listeners is set,
-    // a failed event should not create a new notification
-    DummyRawStoreFailEvent.setEventSucceed(false);
-    try {
-      msClient.alter_index(dbName, tableName, indexName, newIndex);
-      fail("Error: alter index should've failed");
-    } catch (Exception ex) {
-      // expected
-    }
-    rsp = msClient.getNextNotification(firstEventId, 0, null);
-    assertEquals(4, rsp.getEventsSize());
-  }
-
-  @Test
   public void insertTable() throws Exception {
     String defaultDbName = "default";
     String tblName = "inserttbl";

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
index f0f23ca..82590ce 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
@@ -1004,11 +1004,6 @@ public class QTestUtil {
             LOG.warn("Trying to drop table " + e.getTableName() + ". But it does not exist.");
             continue;
           }
-          // dropping index table can not be dropped directly. Dropping the base
-          // table will automatically drop all its index table
-          if(tblObj.isIndexTable()) {
-            continue;
-          }
           db.dropTable(dbName, tblName, true, true, fsType == FsType.encrypted_hdfs);
         }
       }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
----------------------------------------------------------------------
diff --git a/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql b/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
index f4b2a2b..3444439 100644
--- a/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
+++ b/metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql
@@ -157,54 +157,6 @@ FROM
   \"GLOBAL_PRIVS\""
 );
 
-CREATE TABLE IF NOT EXISTS `IDXS` (
-  `INDEX_ID` bigint,
-  `CREATE_TIME` int,
-  `DEFERRED_REBUILD` boolean,
-  `INDEX_HANDLER_CLASS` string,
-  `INDEX_NAME` string,
-  `INDEX_TBL_ID` bigint,
-  `LAST_ACCESS_TIME` int,
-  `ORIG_TBL_ID` bigint,
-  `SD_ID` bigint,
-  CONSTRAINT `SYS_PK_IDXS` PRIMARY KEY (`INDEX_ID`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"CREATE_TIME\",
-  \"DEFERRED_REBUILD\",
-  \"INDEX_HANDLER_CLASS\",
-  \"INDEX_NAME\",
-  \"INDEX_TBL_ID\",
-  \"LAST_ACCESS_TIME\",
-  \"ORIG_TBL_ID\",
-  \"SD_ID\"
-FROM
-  \"IDXS\""
-);
-
-CREATE TABLE IF NOT EXISTS `INDEX_PARAMS` (
-  `INDEX_ID` bigint,
-  `PARAM_KEY` string,
-  `PARAM_VALUE` string,
-  CONSTRAINT `SYS_PK_INDEX_PARAMS` PRIMARY KEY (`INDEX_ID`,`PARAM_KEY`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"PARAM_KEY\",
-  \"PARAM_VALUE\"
-FROM
-  \"INDEX_PARAMS\""
-);
-
 CREATE TABLE IF NOT EXISTS `PARTITIONS` (
   `PART_ID` bigint,
   `CREATE_TIME` int,

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
index d3546d4..1faa50a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
@@ -238,7 +238,6 @@ public enum ErrorMsg {
 
   INVALID_JDO_FILTER_EXPRESSION(10143, "Invalid expression for JDO filter"),
 
-  SHOW_CREATETABLE_INDEX(10144, "SHOW CREATE TABLE does not support tables of type INDEX_TABLE."),
   ALTER_BUCKETNUM_NONBUCKETIZED_TBL(10145, "Table is not bucketized."),
 
   TRUNCATE_FOR_NON_MANAGED_TABLE(10146, "Cannot truncate non-managed table {0}.", true),

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
index 632a213..a51fdd3 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
@@ -42,7 +42,6 @@ import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.metastore.HiveMetaStoreUtils;
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.Warehouse;
-import org.apache.hadoop.hive.metastore.api.BasicTxnInfo;
 import org.apache.hadoop.hive.metastore.api.CreationMetadata;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -383,7 +382,9 @@ public class Table implements Serializable {
       if (spec.containsKey(fs.getName())) {
         ++columnsFound;
       }
-      if (columnsFound == spec.size()) break;
+      if (columnsFound == spec.size()) {
+        break;
+      }
     }
     if (columnsFound < spec.size()) {
       throw new ValidationFailureSemanticException("Partition spec " + spec + " contains non-partition columns");
@@ -875,13 +876,6 @@ public class Table implements Serializable {
   }
 
   /**
-   * @return whether this table is actually an index table
-   */
-  public boolean isIndexTable() {
-    return TableType.INDEX_TABLE.equals(getTableType());
-  }
-
-  /**
    * Creates a partition name -> value spec map object
    *
    * @param tp
@@ -989,13 +983,20 @@ public class Table implements Serializable {
 
   public static boolean shouldStoreFieldsInMetastore(
       HiveConf conf, String serdeLib, Map<String, String> tableParams) {
-    if (hasMetastoreBasedSchema(conf, serdeLib))  return true;
-    if (HiveConf.getBoolVar(conf, ConfVars.HIVE_LEGACY_SCHEMA_FOR_ALL_SERDES)) return true;
+    if (hasMetastoreBasedSchema(conf, serdeLib)) {
+      return true;
+    }
+    if (HiveConf.getBoolVar(conf, ConfVars.HIVE_LEGACY_SCHEMA_FOR_ALL_SERDES)) {
+      return true;
+    }
     // Table may or may not be using metastore. Only the SerDe can tell us.
     AbstractSerDe deserializer = null;
     try {
       Class<?> clazz = conf.getClassByName(serdeLib);
-      if (!AbstractSerDe.class.isAssignableFrom(clazz)) return true; // The default.
+      if (!AbstractSerDe.class.isAssignableFrom(clazz))
+       {
+        return true; // The default.
+      }
       deserializer = ReflectionUtil.newInstance(
           conf.getClassByName(serdeLib).asSubclass(AbstractSerDe.class), conf);
     } catch (Exception ex) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index 1793402..5761795 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -2517,10 +2517,6 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
     showCreateTblDesc = new ShowCreateTableDesc(tableName, ctx.getResFile().toString());
 
     Table tab = getTable(tableName);
-    if (tab.getTableType() == org.apache.hadoop.hive.metastore.TableType.INDEX_TABLE) {
-      throw new SemanticException(ErrorMsg.SHOW_CREATETABLE_INDEX.getMsg(tableName
-          + " has table type INDEX_TABLE"));
-    }
     inputs.add(new ReadEntity(tab));
     rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(),
         showCreateTblDesc), conf));

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
index 7f446ca..d99df80 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
@@ -43,7 +43,6 @@ import java.util.UUID;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 
-import com.google.common.collect.ImmutableSet;
 import org.antlr.runtime.ClassicToken;
 import org.antlr.runtime.CommonToken;
 import org.antlr.runtime.TokenRewriteStream;
@@ -64,14 +63,12 @@ import org.apache.hadoop.hive.common.FileUtils;
 import org.apache.hadoop.hive.common.ObjectPair;
 import org.apache.hadoop.hive.common.StatsSetupConst;
 import org.apache.hadoop.hive.common.StatsSetupConst.StatDB;
-import org.apache.hadoop.hive.common.ValidTxnList;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.conf.HiveConf.StrictChecks;
 import org.apache.hadoop.hive.metastore.TableType;
 import org.apache.hadoop.hive.metastore.TransactionalValidationListener;
 import org.apache.hadoop.hive.metastore.Warehouse;
-import org.apache.hadoop.hive.metastore.api.CreationMetadata;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.MetaException;
@@ -6610,7 +6607,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
         (dest_tab.getSortCols().size() > 0)) {
       sortCols = getSortCols(dest, qb, dest_tab, table_desc, input, true);
       sortOrders = getSortOrders(dest, qb, dest_tab, input);
-      if (!enforceBucketing && !dest_tab.isIndexTable()) {
+      if (!enforceBucketing) {
         throw new SemanticException(ErrorMsg.TBL_SORTED_NOT_BUCKETED.getErrorCodedMsg(dest_tab.getCompleteName()));
       } else {
         if (!enforceBucketing) {
@@ -6677,7 +6674,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
 
     if ((dest_tab.getSortCols() != null) &&
         (dest_tab.getSortCols().size() > 0)) {
-      if (!enforceBucketing && !dest_tab.isIndexTable()) {
+      if (!enforceBucketing) {
         throw new SemanticException(ErrorMsg.TBL_SORTED_NOT_BUCKETED.getErrorCodedMsg(dest_tab.getCompleteName()));
       }
       else {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
index 19815a9..16efb72 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java
@@ -441,8 +441,6 @@ public class AuthorizationPreEventListener extends MetaStorePreEventListener {
         // TableType specified was null, we need to figure out what type it was.
         if (MetaStoreUtils.isExternalTable(wrapperApiTable)){
           wrapperApiTable.setTableType(TableType.EXTERNAL_TABLE.toString());
-        } else if (MetaStoreUtils.isIndexTable(wrapperApiTable)) {
-          wrapperApiTable.setTableType(TableType.INDEX_TABLE.toString());
         } else if (MetaStoreUtils.isMaterializedViewTable(wrapperApiTable)) {
           wrapperApiTable.setTableType(TableType.MATERIALIZED_VIEW.toString());
         } else if ((wrapperApiTable.getSd() == null) || (wrapperApiTable.getSd().getLocation() == null)) {

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java b/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
index d982555..a24b642 100755
--- a/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java
@@ -35,10 +35,8 @@ import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.metastore.PartitionDropOptions;
 import org.apache.hadoop.hive.metastore.Warehouse;
-import org.apache.hadoop.hive.metastore.api.BasicTxnInfo;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.Index;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.hive_metastoreConstants;
 import org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat;

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/ql/src/test/results/clientpositive/llap/resourceplan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
index 6c4627b..96ed8c6 100644
--- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out
+++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
@@ -414,110 +414,6 @@ FROM
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: SYS@GLOBAL_PRIVS
 POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `IDXS` (
-  `INDEX_ID` bigint,
-  `CREATE_TIME` int,
-  `DEFERRED_REBUILD` boolean,
-  `INDEX_HANDLER_CLASS` string,
-  `INDEX_NAME` string,
-  `INDEX_TBL_ID` bigint,
-  `LAST_ACCESS_TIME` int,
-  `ORIG_TBL_ID` bigint,
-  `SD_ID` bigint,
-  CONSTRAINT `SYS_PK_IDXS` PRIMARY KEY (`INDEX_ID`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"CREATE_TIME\",
-  \"DEFERRED_REBUILD\",
-  \"INDEX_HANDLER_CLASS\",
-  \"INDEX_NAME\",
-  \"INDEX_TBL_ID\",
-  \"LAST_ACCESS_TIME\",
-  \"ORIG_TBL_ID\",
-  \"SD_ID\"
-FROM
-  \"IDXS\""
-)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: SYS@IDXS
-PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `IDXS` (
-  `INDEX_ID` bigint,
-  `CREATE_TIME` int,
-  `DEFERRED_REBUILD` boolean,
-  `INDEX_HANDLER_CLASS` string,
-  `INDEX_NAME` string,
-  `INDEX_TBL_ID` bigint,
-  `LAST_ACCESS_TIME` int,
-  `ORIG_TBL_ID` bigint,
-  `SD_ID` bigint,
-  CONSTRAINT `SYS_PK_IDXS` PRIMARY KEY (`INDEX_ID`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"CREATE_TIME\",
-  \"DEFERRED_REBUILD\",
-  \"INDEX_HANDLER_CLASS\",
-  \"INDEX_NAME\",
-  \"INDEX_TBL_ID\",
-  \"LAST_ACCESS_TIME\",
-  \"ORIG_TBL_ID\",
-  \"SD_ID\"
-FROM
-  \"IDXS\""
-)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: SYS@IDXS
-POSTHOOK: Output: database:sys
-PREHOOK: query: CREATE TABLE IF NOT EXISTS `INDEX_PARAMS` (
-  `INDEX_ID` bigint,
-  `PARAM_KEY` string,
-  `PARAM_VALUE` string,
-  CONSTRAINT `SYS_PK_INDEX_PARAMS` PRIMARY KEY (`INDEX_ID`,`PARAM_KEY`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"PARAM_KEY\",
-  \"PARAM_VALUE\"
-FROM
-  \"INDEX_PARAMS\""
-)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: SYS@INDEX_PARAMS
-PREHOOK: Output: database:sys
-POSTHOOK: query: CREATE TABLE IF NOT EXISTS `INDEX_PARAMS` (
-  `INDEX_ID` bigint,
-  `PARAM_KEY` string,
-  `PARAM_VALUE` string,
-  CONSTRAINT `SYS_PK_INDEX_PARAMS` PRIMARY KEY (`INDEX_ID`,`PARAM_KEY`) DISABLE
-)
-STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
-TBLPROPERTIES (
-"hive.sql.database.type" = "METASTORE",
-"hive.sql.query" =
-"SELECT
-  \"INDEX_ID\",
-  \"PARAM_KEY\",
-  \"PARAM_VALUE\"
-FROM
-  \"INDEX_PARAMS\""
-)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: SYS@INDEX_PARAMS
-POSTHOOK: Output: database:sys
 PREHOOK: query: CREATE TABLE IF NOT EXISTS `PARTITIONS` (
   `PART_ID` bigint,
   `CREATE_TIME` int,


[17/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ForeignKeysResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ForeignKeysResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ForeignKeysResponse.java
index 75b2404..081adeb 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ForeignKeysResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ForeignKeysResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // FOREIGN_KEYS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list330 = iprot.readListBegin();
-                struct.foreignKeys = new ArrayList<SQLForeignKey>(_list330.size);
-                SQLForeignKey _elem331;
-                for (int _i332 = 0; _i332 < _list330.size; ++_i332)
+                org.apache.thrift.protocol.TList _list320 = iprot.readListBegin();
+                struct.foreignKeys = new ArrayList<SQLForeignKey>(_list320.size);
+                SQLForeignKey _elem321;
+                for (int _i322 = 0; _i322 < _list320.size; ++_i322)
                 {
-                  _elem331 = new SQLForeignKey();
-                  _elem331.read(iprot);
-                  struct.foreignKeys.add(_elem331);
+                  _elem321 = new SQLForeignKey();
+                  _elem321.read(iprot);
+                  struct.foreignKeys.add(_elem321);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FOREIGN_KEYS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.foreignKeys.size()));
-          for (SQLForeignKey _iter333 : struct.foreignKeys)
+          for (SQLForeignKey _iter323 : struct.foreignKeys)
           {
-            _iter333.write(oprot);
+            _iter323.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.foreignKeys.size());
-        for (SQLForeignKey _iter334 : struct.foreignKeys)
+        for (SQLForeignKey _iter324 : struct.foreignKeys)
         {
-          _iter334.write(oprot);
+          _iter324.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, ForeignKeysResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list335 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.foreignKeys = new ArrayList<SQLForeignKey>(_list335.size);
-        SQLForeignKey _elem336;
-        for (int _i337 = 0; _i337 < _list335.size; ++_i337)
+        org.apache.thrift.protocol.TList _list325 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.foreignKeys = new ArrayList<SQLForeignKey>(_list325.size);
+        SQLForeignKey _elem326;
+        for (int _i327 = 0; _i327 < _list325.size; ++_i327)
         {
-          _elem336 = new SQLForeignKey();
-          _elem336.read(iprot);
-          struct.foreignKeys.add(_elem336);
+          _elem326 = new SQLForeignKey();
+          _elem326.read(iprot);
+          struct.foreignKeys.add(_elem326);
         }
       }
       struct.setForeignKeysIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Function.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Function.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Function.java
index 32e94cc..5e785df 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Function.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Function.java
@@ -997,14 +997,14 @@ import org.slf4j.LoggerFactory;
           case 8: // RESOURCE_URIS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list532 = iprot.readListBegin();
-                struct.resourceUris = new ArrayList<ResourceUri>(_list532.size);
-                ResourceUri _elem533;
-                for (int _i534 = 0; _i534 < _list532.size; ++_i534)
+                org.apache.thrift.protocol.TList _list522 = iprot.readListBegin();
+                struct.resourceUris = new ArrayList<ResourceUri>(_list522.size);
+                ResourceUri _elem523;
+                for (int _i524 = 0; _i524 < _list522.size; ++_i524)
                 {
-                  _elem533 = new ResourceUri();
-                  _elem533.read(iprot);
-                  struct.resourceUris.add(_elem533);
+                  _elem523 = new ResourceUri();
+                  _elem523.read(iprot);
+                  struct.resourceUris.add(_elem523);
                 }
                 iprot.readListEnd();
               }
@@ -1063,9 +1063,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(RESOURCE_URIS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.resourceUris.size()));
-          for (ResourceUri _iter535 : struct.resourceUris)
+          for (ResourceUri _iter525 : struct.resourceUris)
           {
-            _iter535.write(oprot);
+            _iter525.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -1138,9 +1138,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetResourceUris()) {
         {
           oprot.writeI32(struct.resourceUris.size());
-          for (ResourceUri _iter536 : struct.resourceUris)
+          for (ResourceUri _iter526 : struct.resourceUris)
           {
-            _iter536.write(oprot);
+            _iter526.write(oprot);
           }
         }
       }
@@ -1180,14 +1180,14 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(7)) {
         {
-          org.apache.thrift.protocol.TList _list537 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.resourceUris = new ArrayList<ResourceUri>(_list537.size);
-          ResourceUri _elem538;
-          for (int _i539 = 0; _i539 < _list537.size; ++_i539)
+          org.apache.thrift.protocol.TList _list527 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.resourceUris = new ArrayList<ResourceUri>(_list527.size);
+          ResourceUri _elem528;
+          for (int _i529 = 0; _i529 < _list527.size; ++_i529)
           {
-            _elem538 = new ResourceUri();
-            _elem538.read(iprot);
-            struct.resourceUris.add(_elem538);
+            _elem528 = new ResourceUri();
+            _elem528.read(iprot);
+            struct.resourceUris.add(_elem528);
           }
         }
         struct.setResourceUrisIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetAllFunctionsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetAllFunctionsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetAllFunctionsResponse.java
index dd5ea74..ce90d65 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetAllFunctionsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetAllFunctionsResponse.java
@@ -346,14 +346,14 @@ import org.slf4j.LoggerFactory;
           case 1: // FUNCTIONS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list770 = iprot.readListBegin();
-                struct.functions = new ArrayList<Function>(_list770.size);
-                Function _elem771;
-                for (int _i772 = 0; _i772 < _list770.size; ++_i772)
+                org.apache.thrift.protocol.TList _list760 = iprot.readListBegin();
+                struct.functions = new ArrayList<Function>(_list760.size);
+                Function _elem761;
+                for (int _i762 = 0; _i762 < _list760.size; ++_i762)
                 {
-                  _elem771 = new Function();
-                  _elem771.read(iprot);
-                  struct.functions.add(_elem771);
+                  _elem761 = new Function();
+                  _elem761.read(iprot);
+                  struct.functions.add(_elem761);
                 }
                 iprot.readListEnd();
               }
@@ -380,9 +380,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(FUNCTIONS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.functions.size()));
-            for (Function _iter773 : struct.functions)
+            for (Function _iter763 : struct.functions)
             {
-              _iter773.write(oprot);
+              _iter763.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetFunctions()) {
         {
           oprot.writeI32(struct.functions.size());
-          for (Function _iter774 : struct.functions)
+          for (Function _iter764 : struct.functions)
           {
-            _iter774.write(oprot);
+            _iter764.write(oprot);
           }
         }
       }
@@ -428,14 +428,14 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list775 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.functions = new ArrayList<Function>(_list775.size);
-          Function _elem776;
-          for (int _i777 = 0; _i777 < _list775.size; ++_i777)
+          org.apache.thrift.protocol.TList _list765 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.functions = new ArrayList<Function>(_list765.size);
+          Function _elem766;
+          for (int _i767 = 0; _i767 < _list765.size; ++_i767)
           {
-            _elem776 = new Function();
-            _elem776.read(iprot);
-            struct.functions.add(_elem776);
+            _elem766 = new Function();
+            _elem766.read(iprot);
+            struct.functions.add(_elem766);
           }
         }
         struct.setFunctionsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
index a3a5779..025a04a 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
@@ -619,13 +619,13 @@ import org.slf4j.LoggerFactory;
           case 1: // FILE_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list720 = iprot.readListBegin();
-                struct.fileIds = new ArrayList<Long>(_list720.size);
-                long _elem721;
-                for (int _i722 = 0; _i722 < _list720.size; ++_i722)
+                org.apache.thrift.protocol.TList _list710 = iprot.readListBegin();
+                struct.fileIds = new ArrayList<Long>(_list710.size);
+                long _elem711;
+                for (int _i712 = 0; _i712 < _list710.size; ++_i712)
                 {
-                  _elem721 = iprot.readI64();
-                  struct.fileIds.add(_elem721);
+                  _elem711 = iprot.readI64();
+                  struct.fileIds.add(_elem711);
                 }
                 iprot.readListEnd();
               }
@@ -675,9 +675,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FILE_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.fileIds.size()));
-          for (long _iter723 : struct.fileIds)
+          for (long _iter713 : struct.fileIds)
           {
-            oprot.writeI64(_iter723);
+            oprot.writeI64(_iter713);
           }
           oprot.writeListEnd();
         }
@@ -719,9 +719,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.fileIds.size());
-        for (long _iter724 : struct.fileIds)
+        for (long _iter714 : struct.fileIds)
         {
-          oprot.writeI64(_iter724);
+          oprot.writeI64(_iter714);
         }
       }
       oprot.writeBinary(struct.expr);
@@ -745,13 +745,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, GetFileMetadataByExprRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list725 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.fileIds = new ArrayList<Long>(_list725.size);
-        long _elem726;
-        for (int _i727 = 0; _i727 < _list725.size; ++_i727)
+        org.apache.thrift.protocol.TList _list715 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.fileIds = new ArrayList<Long>(_list715.size);
+        long _elem716;
+        for (int _i717 = 0; _i717 < _list715.size; ++_i717)
         {
-          _elem726 = iprot.readI64();
-          struct.fileIds.add(_elem726);
+          _elem716 = iprot.readI64();
+          struct.fileIds.add(_elem716);
         }
       }
       struct.setFileIdsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprResult.java
index 7604f19..2ba496f 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprResult.java
@@ -444,16 +444,16 @@ import org.slf4j.LoggerFactory;
           case 1: // METADATA
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map710 = iprot.readMapBegin();
-                struct.metadata = new HashMap<Long,MetadataPpdResult>(2*_map710.size);
-                long _key711;
-                MetadataPpdResult _val712;
-                for (int _i713 = 0; _i713 < _map710.size; ++_i713)
+                org.apache.thrift.protocol.TMap _map700 = iprot.readMapBegin();
+                struct.metadata = new HashMap<Long,MetadataPpdResult>(2*_map700.size);
+                long _key701;
+                MetadataPpdResult _val702;
+                for (int _i703 = 0; _i703 < _map700.size; ++_i703)
                 {
-                  _key711 = iprot.readI64();
-                  _val712 = new MetadataPpdResult();
-                  _val712.read(iprot);
-                  struct.metadata.put(_key711, _val712);
+                  _key701 = iprot.readI64();
+                  _val702 = new MetadataPpdResult();
+                  _val702.read(iprot);
+                  struct.metadata.put(_key701, _val702);
                 }
                 iprot.readMapEnd();
               }
@@ -487,10 +487,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(METADATA_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRUCT, struct.metadata.size()));
-          for (Map.Entry<Long, MetadataPpdResult> _iter714 : struct.metadata.entrySet())
+          for (Map.Entry<Long, MetadataPpdResult> _iter704 : struct.metadata.entrySet())
           {
-            oprot.writeI64(_iter714.getKey());
-            _iter714.getValue().write(oprot);
+            oprot.writeI64(_iter704.getKey());
+            _iter704.getValue().write(oprot);
           }
           oprot.writeMapEnd();
         }
@@ -518,10 +518,10 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.metadata.size());
-        for (Map.Entry<Long, MetadataPpdResult> _iter715 : struct.metadata.entrySet())
+        for (Map.Entry<Long, MetadataPpdResult> _iter705 : struct.metadata.entrySet())
         {
-          oprot.writeI64(_iter715.getKey());
-          _iter715.getValue().write(oprot);
+          oprot.writeI64(_iter705.getKey());
+          _iter705.getValue().write(oprot);
         }
       }
       oprot.writeBool(struct.isSupported);
@@ -531,16 +531,16 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, GetFileMetadataByExprResult struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TMap _map716 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.metadata = new HashMap<Long,MetadataPpdResult>(2*_map716.size);
-        long _key717;
-        MetadataPpdResult _val718;
-        for (int _i719 = 0; _i719 < _map716.size; ++_i719)
+        org.apache.thrift.protocol.TMap _map706 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.metadata = new HashMap<Long,MetadataPpdResult>(2*_map706.size);
+        long _key707;
+        MetadataPpdResult _val708;
+        for (int _i709 = 0; _i709 < _map706.size; ++_i709)
         {
-          _key717 = iprot.readI64();
-          _val718 = new MetadataPpdResult();
-          _val718.read(iprot);
-          struct.metadata.put(_key717, _val718);
+          _key707 = iprot.readI64();
+          _val708 = new MetadataPpdResult();
+          _val708.read(iprot);
+          struct.metadata.put(_key707, _val708);
         }
       }
       struct.setMetadataIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataRequest.java
index ce73688..e12211f 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataRequest.java
@@ -351,13 +351,13 @@ import org.slf4j.LoggerFactory;
           case 1: // FILE_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list738 = iprot.readListBegin();
-                struct.fileIds = new ArrayList<Long>(_list738.size);
-                long _elem739;
-                for (int _i740 = 0; _i740 < _list738.size; ++_i740)
+                org.apache.thrift.protocol.TList _list728 = iprot.readListBegin();
+                struct.fileIds = new ArrayList<Long>(_list728.size);
+                long _elem729;
+                for (int _i730 = 0; _i730 < _list728.size; ++_i730)
                 {
-                  _elem739 = iprot.readI64();
-                  struct.fileIds.add(_elem739);
+                  _elem729 = iprot.readI64();
+                  struct.fileIds.add(_elem729);
                 }
                 iprot.readListEnd();
               }
@@ -383,9 +383,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FILE_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.fileIds.size()));
-          for (long _iter741 : struct.fileIds)
+          for (long _iter731 : struct.fileIds)
           {
-            oprot.writeI64(_iter741);
+            oprot.writeI64(_iter731);
           }
           oprot.writeListEnd();
         }
@@ -410,9 +410,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.fileIds.size());
-        for (long _iter742 : struct.fileIds)
+        for (long _iter732 : struct.fileIds)
         {
-          oprot.writeI64(_iter742);
+          oprot.writeI64(_iter732);
         }
       }
     }
@@ -421,13 +421,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, GetFileMetadataRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list743 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.fileIds = new ArrayList<Long>(_list743.size);
-        long _elem744;
-        for (int _i745 = 0; _i745 < _list743.size; ++_i745)
+        org.apache.thrift.protocol.TList _list733 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.fileIds = new ArrayList<Long>(_list733.size);
+        long _elem734;
+        for (int _i735 = 0; _i735 < _list733.size; ++_i735)
         {
-          _elem744 = iprot.readI64();
-          struct.fileIds.add(_elem744);
+          _elem734 = iprot.readI64();
+          struct.fileIds.add(_elem734);
         }
       }
       struct.setFileIdsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataResult.java
index f797ce8..a375723 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataResult.java
@@ -433,15 +433,15 @@ import org.slf4j.LoggerFactory;
           case 1: // METADATA
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map728 = iprot.readMapBegin();
-                struct.metadata = new HashMap<Long,ByteBuffer>(2*_map728.size);
-                long _key729;
-                ByteBuffer _val730;
-                for (int _i731 = 0; _i731 < _map728.size; ++_i731)
+                org.apache.thrift.protocol.TMap _map718 = iprot.readMapBegin();
+                struct.metadata = new HashMap<Long,ByteBuffer>(2*_map718.size);
+                long _key719;
+                ByteBuffer _val720;
+                for (int _i721 = 0; _i721 < _map718.size; ++_i721)
                 {
-                  _key729 = iprot.readI64();
-                  _val730 = iprot.readBinary();
-                  struct.metadata.put(_key729, _val730);
+                  _key719 = iprot.readI64();
+                  _val720 = iprot.readBinary();
+                  struct.metadata.put(_key719, _val720);
                 }
                 iprot.readMapEnd();
               }
@@ -475,10 +475,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(METADATA_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRING, struct.metadata.size()));
-          for (Map.Entry<Long, ByteBuffer> _iter732 : struct.metadata.entrySet())
+          for (Map.Entry<Long, ByteBuffer> _iter722 : struct.metadata.entrySet())
           {
-            oprot.writeI64(_iter732.getKey());
-            oprot.writeBinary(_iter732.getValue());
+            oprot.writeI64(_iter722.getKey());
+            oprot.writeBinary(_iter722.getValue());
           }
           oprot.writeMapEnd();
         }
@@ -506,10 +506,10 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.metadata.size());
-        for (Map.Entry<Long, ByteBuffer> _iter733 : struct.metadata.entrySet())
+        for (Map.Entry<Long, ByteBuffer> _iter723 : struct.metadata.entrySet())
         {
-          oprot.writeI64(_iter733.getKey());
-          oprot.writeBinary(_iter733.getValue());
+          oprot.writeI64(_iter723.getKey());
+          oprot.writeBinary(_iter723.getValue());
         }
       }
       oprot.writeBool(struct.isSupported);
@@ -519,15 +519,15 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, GetFileMetadataResult struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TMap _map734 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.metadata = new HashMap<Long,ByteBuffer>(2*_map734.size);
-        long _key735;
-        ByteBuffer _val736;
-        for (int _i737 = 0; _i737 < _map734.size; ++_i737)
+        org.apache.thrift.protocol.TMap _map724 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.metadata = new HashMap<Long,ByteBuffer>(2*_map724.size);
+        long _key725;
+        ByteBuffer _val726;
+        for (int _i727 = 0; _i727 < _map724.size; ++_i727)
         {
-          _key735 = iprot.readI64();
-          _val736 = iprot.readBinary();
-          struct.metadata.put(_key735, _val736);
+          _key725 = iprot.readI64();
+          _val726 = iprot.readBinary();
+          struct.metadata.put(_key725, _val726);
         }
       }
       struct.setMetadataIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsInfoResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsInfoResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsInfoResponse.java
index ede4b7e..8950b81 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsInfoResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsInfoResponse.java
@@ -447,14 +447,14 @@ import org.slf4j.LoggerFactory;
           case 2: // OPEN_TXNS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list540 = iprot.readListBegin();
-                struct.open_txns = new ArrayList<TxnInfo>(_list540.size);
-                TxnInfo _elem541;
-                for (int _i542 = 0; _i542 < _list540.size; ++_i542)
+                org.apache.thrift.protocol.TList _list530 = iprot.readListBegin();
+                struct.open_txns = new ArrayList<TxnInfo>(_list530.size);
+                TxnInfo _elem531;
+                for (int _i532 = 0; _i532 < _list530.size; ++_i532)
                 {
-                  _elem541 = new TxnInfo();
-                  _elem541.read(iprot);
-                  struct.open_txns.add(_elem541);
+                  _elem531 = new TxnInfo();
+                  _elem531.read(iprot);
+                  struct.open_txns.add(_elem531);
                 }
                 iprot.readListEnd();
               }
@@ -483,9 +483,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(OPEN_TXNS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.open_txns.size()));
-          for (TxnInfo _iter543 : struct.open_txns)
+          for (TxnInfo _iter533 : struct.open_txns)
           {
-            _iter543.write(oprot);
+            _iter533.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -511,9 +511,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeI64(struct.txn_high_water_mark);
       {
         oprot.writeI32(struct.open_txns.size());
-        for (TxnInfo _iter544 : struct.open_txns)
+        for (TxnInfo _iter534 : struct.open_txns)
         {
-          _iter544.write(oprot);
+          _iter534.write(oprot);
         }
       }
     }
@@ -524,14 +524,14 @@ import org.slf4j.LoggerFactory;
       struct.txn_high_water_mark = iprot.readI64();
       struct.setTxn_high_water_markIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list545 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.open_txns = new ArrayList<TxnInfo>(_list545.size);
-        TxnInfo _elem546;
-        for (int _i547 = 0; _i547 < _list545.size; ++_i547)
+        org.apache.thrift.protocol.TList _list535 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.open_txns = new ArrayList<TxnInfo>(_list535.size);
+        TxnInfo _elem536;
+        for (int _i537 = 0; _i537 < _list535.size; ++_i537)
         {
-          _elem546 = new TxnInfo();
-          _elem546.read(iprot);
-          struct.open_txns.add(_elem546);
+          _elem536 = new TxnInfo();
+          _elem536.read(iprot);
+          struct.open_txns.add(_elem536);
         }
       }
       struct.setOpen_txnsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsResponse.java
index 9c6bcb7..b7e7d4b 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsResponse.java
@@ -615,13 +615,13 @@ import org.slf4j.LoggerFactory;
           case 2: // OPEN_TXNS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list548 = iprot.readListBegin();
-                struct.open_txns = new ArrayList<Long>(_list548.size);
-                long _elem549;
-                for (int _i550 = 0; _i550 < _list548.size; ++_i550)
+                org.apache.thrift.protocol.TList _list538 = iprot.readListBegin();
+                struct.open_txns = new ArrayList<Long>(_list538.size);
+                long _elem539;
+                for (int _i540 = 0; _i540 < _list538.size; ++_i540)
                 {
-                  _elem549 = iprot.readI64();
-                  struct.open_txns.add(_elem549);
+                  _elem539 = iprot.readI64();
+                  struct.open_txns.add(_elem539);
                 }
                 iprot.readListEnd();
               }
@@ -666,9 +666,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(OPEN_TXNS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.open_txns.size()));
-          for (long _iter551 : struct.open_txns)
+          for (long _iter541 : struct.open_txns)
           {
-            oprot.writeI64(_iter551);
+            oprot.writeI64(_iter541);
           }
           oprot.writeListEnd();
         }
@@ -704,9 +704,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeI64(struct.txn_high_water_mark);
       {
         oprot.writeI32(struct.open_txns.size());
-        for (long _iter552 : struct.open_txns)
+        for (long _iter542 : struct.open_txns)
         {
-          oprot.writeI64(_iter552);
+          oprot.writeI64(_iter542);
         }
       }
       oprot.writeBinary(struct.abortedBits);
@@ -726,13 +726,13 @@ import org.slf4j.LoggerFactory;
       struct.txn_high_water_mark = iprot.readI64();
       struct.setTxn_high_water_markIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list553 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.open_txns = new ArrayList<Long>(_list553.size);
-        long _elem554;
-        for (int _i555 = 0; _i555 < _list553.size; ++_i555)
+        org.apache.thrift.protocol.TList _list543 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.open_txns = new ArrayList<Long>(_list543.size);
+        long _elem544;
+        for (int _i545 = 0; _i545 < _list543.size; ++_i545)
         {
-          _elem554 = iprot.readI64();
-          struct.open_txns.add(_elem554);
+          _elem544 = iprot.readI64();
+          struct.open_txns.add(_elem544);
         }
       }
       struct.setOpen_txnsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesRequest.java
index f495dd8..8d8ce6d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesRequest.java
@@ -525,13 +525,13 @@ import org.slf4j.LoggerFactory;
           case 2: // TBL_NAMES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list786 = iprot.readListBegin();
-                struct.tblNames = new ArrayList<String>(_list786.size);
-                String _elem787;
-                for (int _i788 = 0; _i788 < _list786.size; ++_i788)
+                org.apache.thrift.protocol.TList _list776 = iprot.readListBegin();
+                struct.tblNames = new ArrayList<String>(_list776.size);
+                String _elem777;
+                for (int _i778 = 0; _i778 < _list776.size; ++_i778)
                 {
-                  _elem787 = iprot.readString();
-                  struct.tblNames.add(_elem787);
+                  _elem777 = iprot.readString();
+                  struct.tblNames.add(_elem777);
                 }
                 iprot.readListEnd();
               }
@@ -572,9 +572,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(TBL_NAMES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.tblNames.size()));
-            for (String _iter789 : struct.tblNames)
+            for (String _iter779 : struct.tblNames)
             {
-              oprot.writeString(_iter789);
+              oprot.writeString(_iter779);
             }
             oprot.writeListEnd();
           }
@@ -617,9 +617,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetTblNames()) {
         {
           oprot.writeI32(struct.tblNames.size());
-          for (String _iter790 : struct.tblNames)
+          for (String _iter780 : struct.tblNames)
           {
-            oprot.writeString(_iter790);
+            oprot.writeString(_iter780);
           }
         }
       }
@@ -636,13 +636,13 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list791 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.tblNames = new ArrayList<String>(_list791.size);
-          String _elem792;
-          for (int _i793 = 0; _i793 < _list791.size; ++_i793)
+          org.apache.thrift.protocol.TList _list781 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.tblNames = new ArrayList<String>(_list781.size);
+          String _elem782;
+          for (int _i783 = 0; _i783 < _list781.size; ++_i783)
           {
-            _elem792 = iprot.readString();
-            struct.tblNames.add(_elem792);
+            _elem782 = iprot.readString();
+            struct.tblNames.add(_elem782);
           }
         }
         struct.setTblNamesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesResult.java
index 08755d7..10b1d41 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesResult.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // TABLES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list794 = iprot.readListBegin();
-                struct.tables = new ArrayList<Table>(_list794.size);
-                Table _elem795;
-                for (int _i796 = 0; _i796 < _list794.size; ++_i796)
+                org.apache.thrift.protocol.TList _list784 = iprot.readListBegin();
+                struct.tables = new ArrayList<Table>(_list784.size);
+                Table _elem785;
+                for (int _i786 = 0; _i786 < _list784.size; ++_i786)
                 {
-                  _elem795 = new Table();
-                  _elem795.read(iprot);
-                  struct.tables.add(_elem795);
+                  _elem785 = new Table();
+                  _elem785.read(iprot);
+                  struct.tables.add(_elem785);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TABLES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tables.size()));
-          for (Table _iter797 : struct.tables)
+          for (Table _iter787 : struct.tables)
           {
-            _iter797.write(oprot);
+            _iter787.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.tables.size());
-        for (Table _iter798 : struct.tables)
+        for (Table _iter788 : struct.tables)
         {
-          _iter798.write(oprot);
+          _iter788.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, GetTablesResult struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list799 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.tables = new ArrayList<Table>(_list799.size);
-        Table _elem800;
-        for (int _i801 = 0; _i801 < _list799.size; ++_i801)
+        org.apache.thrift.protocol.TList _list789 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.tables = new ArrayList<Table>(_list789.size);
+        Table _elem790;
+        for (int _i791 = 0; _i791 < _list789.size; ++_i791)
         {
-          _elem800 = new Table();
-          _elem800.read(iprot);
-          struct.tables.add(_elem800);
+          _elem790 = new Table();
+          _elem790.read(iprot);
+          struct.tables.add(_elem790);
         }
       }
       struct.setTablesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsRequest.java
index 1eead3e..c22778d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsRequest.java
@@ -436,13 +436,13 @@ import org.slf4j.LoggerFactory;
           case 1: // FULL_TABLE_NAMES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list572 = iprot.readListBegin();
-                struct.fullTableNames = new ArrayList<String>(_list572.size);
-                String _elem573;
-                for (int _i574 = 0; _i574 < _list572.size; ++_i574)
+                org.apache.thrift.protocol.TList _list562 = iprot.readListBegin();
+                struct.fullTableNames = new ArrayList<String>(_list562.size);
+                String _elem563;
+                for (int _i564 = 0; _i564 < _list562.size; ++_i564)
                 {
-                  _elem573 = iprot.readString();
-                  struct.fullTableNames.add(_elem573);
+                  _elem563 = iprot.readString();
+                  struct.fullTableNames.add(_elem563);
                 }
                 iprot.readListEnd();
               }
@@ -476,9 +476,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FULL_TABLE_NAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.fullTableNames.size()));
-          for (String _iter575 : struct.fullTableNames)
+          for (String _iter565 : struct.fullTableNames)
           {
-            oprot.writeString(_iter575);
+            oprot.writeString(_iter565);
           }
           oprot.writeListEnd();
         }
@@ -508,9 +508,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.fullTableNames.size());
-        for (String _iter576 : struct.fullTableNames)
+        for (String _iter566 : struct.fullTableNames)
         {
-          oprot.writeString(_iter576);
+          oprot.writeString(_iter566);
         }
       }
       oprot.writeString(struct.validTxnList);
@@ -520,13 +520,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, GetValidWriteIdsRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list577 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.fullTableNames = new ArrayList<String>(_list577.size);
-        String _elem578;
-        for (int _i579 = 0; _i579 < _list577.size; ++_i579)
+        org.apache.thrift.protocol.TList _list567 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.fullTableNames = new ArrayList<String>(_list567.size);
+        String _elem568;
+        for (int _i569 = 0; _i569 < _list567.size; ++_i569)
         {
-          _elem578 = iprot.readString();
-          struct.fullTableNames.add(_elem578);
+          _elem568 = iprot.readString();
+          struct.fullTableNames.add(_elem568);
         }
       }
       struct.setFullTableNamesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsResponse.java
index f421613..90d0b9d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetValidWriteIdsResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // TBL_VALID_WRITE_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list588 = iprot.readListBegin();
-                struct.tblValidWriteIds = new ArrayList<TableValidWriteIds>(_list588.size);
-                TableValidWriteIds _elem589;
-                for (int _i590 = 0; _i590 < _list588.size; ++_i590)
+                org.apache.thrift.protocol.TList _list578 = iprot.readListBegin();
+                struct.tblValidWriteIds = new ArrayList<TableValidWriteIds>(_list578.size);
+                TableValidWriteIds _elem579;
+                for (int _i580 = 0; _i580 < _list578.size; ++_i580)
                 {
-                  _elem589 = new TableValidWriteIds();
-                  _elem589.read(iprot);
-                  struct.tblValidWriteIds.add(_elem589);
+                  _elem579 = new TableValidWriteIds();
+                  _elem579.read(iprot);
+                  struct.tblValidWriteIds.add(_elem579);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TBL_VALID_WRITE_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tblValidWriteIds.size()));
-          for (TableValidWriteIds _iter591 : struct.tblValidWriteIds)
+          for (TableValidWriteIds _iter581 : struct.tblValidWriteIds)
           {
-            _iter591.write(oprot);
+            _iter581.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.tblValidWriteIds.size());
-        for (TableValidWriteIds _iter592 : struct.tblValidWriteIds)
+        for (TableValidWriteIds _iter582 : struct.tblValidWriteIds)
         {
-          _iter592.write(oprot);
+          _iter582.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, GetValidWriteIdsResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list593 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.tblValidWriteIds = new ArrayList<TableValidWriteIds>(_list593.size);
-        TableValidWriteIds _elem594;
-        for (int _i595 = 0; _i595 < _list593.size; ++_i595)
+        org.apache.thrift.protocol.TList _list583 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.tblValidWriteIds = new ArrayList<TableValidWriteIds>(_list583.size);
+        TableValidWriteIds _elem584;
+        for (int _i585 = 0; _i585 < _list583.size; ++_i585)
         {
-          _elem594 = new TableValidWriteIds();
-          _elem594.read(iprot);
-          struct.tblValidWriteIds.add(_elem594);
+          _elem584 = new TableValidWriteIds();
+          _elem584.read(iprot);
+          struct.tblValidWriteIds.add(_elem584);
         }
       }
       struct.setTblValidWriteIdsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HeartbeatTxnRangeResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HeartbeatTxnRangeResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HeartbeatTxnRangeResponse.java
index 796bbfd..e069524 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HeartbeatTxnRangeResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HeartbeatTxnRangeResponse.java
@@ -453,13 +453,13 @@ import org.slf4j.LoggerFactory;
           case 1: // ABORTED
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set628 = iprot.readSetBegin();
-                struct.aborted = new HashSet<Long>(2*_set628.size);
-                long _elem629;
-                for (int _i630 = 0; _i630 < _set628.size; ++_i630)
+                org.apache.thrift.protocol.TSet _set618 = iprot.readSetBegin();
+                struct.aborted = new HashSet<Long>(2*_set618.size);
+                long _elem619;
+                for (int _i620 = 0; _i620 < _set618.size; ++_i620)
                 {
-                  _elem629 = iprot.readI64();
-                  struct.aborted.add(_elem629);
+                  _elem619 = iprot.readI64();
+                  struct.aborted.add(_elem619);
                 }
                 iprot.readSetEnd();
               }
@@ -471,13 +471,13 @@ import org.slf4j.LoggerFactory;
           case 2: // NOSUCH
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set631 = iprot.readSetBegin();
-                struct.nosuch = new HashSet<Long>(2*_set631.size);
-                long _elem632;
-                for (int _i633 = 0; _i633 < _set631.size; ++_i633)
+                org.apache.thrift.protocol.TSet _set621 = iprot.readSetBegin();
+                struct.nosuch = new HashSet<Long>(2*_set621.size);
+                long _elem622;
+                for (int _i623 = 0; _i623 < _set621.size; ++_i623)
                 {
-                  _elem632 = iprot.readI64();
-                  struct.nosuch.add(_elem632);
+                  _elem622 = iprot.readI64();
+                  struct.nosuch.add(_elem622);
                 }
                 iprot.readSetEnd();
               }
@@ -503,9 +503,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(ABORTED_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I64, struct.aborted.size()));
-          for (long _iter634 : struct.aborted)
+          for (long _iter624 : struct.aborted)
           {
-            oprot.writeI64(_iter634);
+            oprot.writeI64(_iter624);
           }
           oprot.writeSetEnd();
         }
@@ -515,9 +515,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(NOSUCH_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I64, struct.nosuch.size()));
-          for (long _iter635 : struct.nosuch)
+          for (long _iter625 : struct.nosuch)
           {
-            oprot.writeI64(_iter635);
+            oprot.writeI64(_iter625);
           }
           oprot.writeSetEnd();
         }
@@ -542,16 +542,16 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.aborted.size());
-        for (long _iter636 : struct.aborted)
+        for (long _iter626 : struct.aborted)
         {
-          oprot.writeI64(_iter636);
+          oprot.writeI64(_iter626);
         }
       }
       {
         oprot.writeI32(struct.nosuch.size());
-        for (long _iter637 : struct.nosuch)
+        for (long _iter627 : struct.nosuch)
         {
-          oprot.writeI64(_iter637);
+          oprot.writeI64(_iter627);
         }
       }
     }
@@ -560,24 +560,24 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, HeartbeatTxnRangeResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TSet _set638 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.aborted = new HashSet<Long>(2*_set638.size);
-        long _elem639;
-        for (int _i640 = 0; _i640 < _set638.size; ++_i640)
+        org.apache.thrift.protocol.TSet _set628 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.aborted = new HashSet<Long>(2*_set628.size);
+        long _elem629;
+        for (int _i630 = 0; _i630 < _set628.size; ++_i630)
         {
-          _elem639 = iprot.readI64();
-          struct.aborted.add(_elem639);
+          _elem629 = iprot.readI64();
+          struct.aborted.add(_elem629);
         }
       }
       struct.setAbortedIsSet(true);
       {
-        org.apache.thrift.protocol.TSet _set641 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.nosuch = new HashSet<Long>(2*_set641.size);
-        long _elem642;
-        for (int _i643 = 0; _i643 < _set641.size; ++_i643)
+        org.apache.thrift.protocol.TSet _set631 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.nosuch = new HashSet<Long>(2*_set631.size);
+        long _elem632;
+        for (int _i633 = 0; _i633 < _set631.size; ++_i633)
         {
-          _elem642 = iprot.readI64();
-          struct.nosuch.add(_elem642);
+          _elem632 = iprot.readI64();
+          struct.nosuch.add(_elem632);
         }
       }
       struct.setNosuchIsSet(true);


[16/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
deleted file mode 100644
index 8f2af25..0000000
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
+++ /dev/null
@@ -1,1374 +0,0 @@
-/**
- * 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)")
-@org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public class Index implements org.apache.thrift.TBase<Index, Index._Fields>, java.io.Serializable, Cloneable, Comparable<Index> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Index");
-
-  private static final org.apache.thrift.protocol.TField INDEX_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("indexName", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField INDEX_HANDLER_CLASS_FIELD_DESC = new org.apache.thrift.protocol.TField("indexHandlerClass", org.apache.thrift.protocol.TType.STRING, (short)2);
-  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)3);
-  private static final org.apache.thrift.protocol.TField ORIG_TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("origTableName", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField CREATE_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createTime", org.apache.thrift.protocol.TType.I32, (short)5);
-  private static final org.apache.thrift.protocol.TField LAST_ACCESS_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastAccessTime", org.apache.thrift.protocol.TType.I32, (short)6);
-  private static final org.apache.thrift.protocol.TField INDEX_TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("indexTableName", org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField SD_FIELD_DESC = new org.apache.thrift.protocol.TField("sd", org.apache.thrift.protocol.TType.STRUCT, (short)8);
-  private static final org.apache.thrift.protocol.TField PARAMETERS_FIELD_DESC = new org.apache.thrift.protocol.TField("parameters", org.apache.thrift.protocol.TType.MAP, (short)9);
-  private static final org.apache.thrift.protocol.TField DEFERRED_REBUILD_FIELD_DESC = new org.apache.thrift.protocol.TField("deferredRebuild", org.apache.thrift.protocol.TType.BOOL, (short)10);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new IndexStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new IndexTupleSchemeFactory());
-  }
-
-  private String indexName; // required
-  private String indexHandlerClass; // required
-  private String dbName; // required
-  private String origTableName; // required
-  private int createTime; // required
-  private int lastAccessTime; // required
-  private String indexTableName; // required
-  private StorageDescriptor sd; // required
-  private Map<String,String> parameters; // required
-  private boolean deferredRebuild; // required
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    INDEX_NAME((short)1, "indexName"),
-    INDEX_HANDLER_CLASS((short)2, "indexHandlerClass"),
-    DB_NAME((short)3, "dbName"),
-    ORIG_TABLE_NAME((short)4, "origTableName"),
-    CREATE_TIME((short)5, "createTime"),
-    LAST_ACCESS_TIME((short)6, "lastAccessTime"),
-    INDEX_TABLE_NAME((short)7, "indexTableName"),
-    SD((short)8, "sd"),
-    PARAMETERS((short)9, "parameters"),
-    DEFERRED_REBUILD((short)10, "deferredRebuild");
-
-    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: // INDEX_NAME
-          return INDEX_NAME;
-        case 2: // INDEX_HANDLER_CLASS
-          return INDEX_HANDLER_CLASS;
-        case 3: // DB_NAME
-          return DB_NAME;
-        case 4: // ORIG_TABLE_NAME
-          return ORIG_TABLE_NAME;
-        case 5: // CREATE_TIME
-          return CREATE_TIME;
-        case 6: // LAST_ACCESS_TIME
-          return LAST_ACCESS_TIME;
-        case 7: // INDEX_TABLE_NAME
-          return INDEX_TABLE_NAME;
-        case 8: // SD
-          return SD;
-        case 9: // PARAMETERS
-          return PARAMETERS;
-        case 10: // DEFERRED_REBUILD
-          return DEFERRED_REBUILD;
-        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 __CREATETIME_ISSET_ID = 0;
-  private static final int __LASTACCESSTIME_ISSET_ID = 1;
-  private static final int __DEFERREDREBUILD_ISSET_ID = 2;
-  private byte __isset_bitfield = 0;
-  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.INDEX_NAME, new org.apache.thrift.meta_data.FieldMetaData("indexName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.INDEX_HANDLER_CLASS, new org.apache.thrift.meta_data.FieldMetaData("indexHandlerClass", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        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.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.ORIG_TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("origTableName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.CREATE_TIME, new org.apache.thrift.meta_data.FieldMetaData("createTime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    tmpMap.put(_Fields.LAST_ACCESS_TIME, new org.apache.thrift.meta_data.FieldMetaData("lastAccessTime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    tmpMap.put(_Fields.INDEX_TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("indexTableName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.SD, new org.apache.thrift.meta_data.FieldMetaData("sd", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StorageDescriptor.class)));
-    tmpMap.put(_Fields.PARAMETERS, new org.apache.thrift.meta_data.FieldMetaData("parameters", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
-    tmpMap.put(_Fields.DEFERRED_REBUILD, new org.apache.thrift.meta_data.FieldMetaData("deferredRebuild", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Index.class, metaDataMap);
-  }
-
-  public Index() {
-  }
-
-  public Index(
-    String indexName,
-    String indexHandlerClass,
-    String dbName,
-    String origTableName,
-    int createTime,
-    int lastAccessTime,
-    String indexTableName,
-    StorageDescriptor sd,
-    Map<String,String> parameters,
-    boolean deferredRebuild)
-  {
-    this();
-    this.indexName = indexName;
-    this.indexHandlerClass = indexHandlerClass;
-    this.dbName = dbName;
-    this.origTableName = origTableName;
-    this.createTime = createTime;
-    setCreateTimeIsSet(true);
-    this.lastAccessTime = lastAccessTime;
-    setLastAccessTimeIsSet(true);
-    this.indexTableName = indexTableName;
-    this.sd = sd;
-    this.parameters = parameters;
-    this.deferredRebuild = deferredRebuild;
-    setDeferredRebuildIsSet(true);
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public Index(Index other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetIndexName()) {
-      this.indexName = other.indexName;
-    }
-    if (other.isSetIndexHandlerClass()) {
-      this.indexHandlerClass = other.indexHandlerClass;
-    }
-    if (other.isSetDbName()) {
-      this.dbName = other.dbName;
-    }
-    if (other.isSetOrigTableName()) {
-      this.origTableName = other.origTableName;
-    }
-    this.createTime = other.createTime;
-    this.lastAccessTime = other.lastAccessTime;
-    if (other.isSetIndexTableName()) {
-      this.indexTableName = other.indexTableName;
-    }
-    if (other.isSetSd()) {
-      this.sd = new StorageDescriptor(other.sd);
-    }
-    if (other.isSetParameters()) {
-      Map<String,String> __this__parameters = new HashMap<String,String>(other.parameters);
-      this.parameters = __this__parameters;
-    }
-    this.deferredRebuild = other.deferredRebuild;
-  }
-
-  public Index deepCopy() {
-    return new Index(this);
-  }
-
-  @Override
-  public void clear() {
-    this.indexName = null;
-    this.indexHandlerClass = null;
-    this.dbName = null;
-    this.origTableName = null;
-    setCreateTimeIsSet(false);
-    this.createTime = 0;
-    setLastAccessTimeIsSet(false);
-    this.lastAccessTime = 0;
-    this.indexTableName = null;
-    this.sd = null;
-    this.parameters = null;
-    setDeferredRebuildIsSet(false);
-    this.deferredRebuild = false;
-  }
-
-  public String getIndexName() {
-    return this.indexName;
-  }
-
-  public void setIndexName(String indexName) {
-    this.indexName = indexName;
-  }
-
-  public void unsetIndexName() {
-    this.indexName = null;
-  }
-
-  /** Returns true if field indexName is set (has been assigned a value) and false otherwise */
-  public boolean isSetIndexName() {
-    return this.indexName != null;
-  }
-
-  public void setIndexNameIsSet(boolean value) {
-    if (!value) {
-      this.indexName = null;
-    }
-  }
-
-  public String getIndexHandlerClass() {
-    return this.indexHandlerClass;
-  }
-
-  public void setIndexHandlerClass(String indexHandlerClass) {
-    this.indexHandlerClass = indexHandlerClass;
-  }
-
-  public void unsetIndexHandlerClass() {
-    this.indexHandlerClass = null;
-  }
-
-  /** Returns true if field indexHandlerClass is set (has been assigned a value) and false otherwise */
-  public boolean isSetIndexHandlerClass() {
-    return this.indexHandlerClass != null;
-  }
-
-  public void setIndexHandlerClassIsSet(boolean value) {
-    if (!value) {
-      this.indexHandlerClass = 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 getOrigTableName() {
-    return this.origTableName;
-  }
-
-  public void setOrigTableName(String origTableName) {
-    this.origTableName = origTableName;
-  }
-
-  public void unsetOrigTableName() {
-    this.origTableName = null;
-  }
-
-  /** Returns true if field origTableName is set (has been assigned a value) and false otherwise */
-  public boolean isSetOrigTableName() {
-    return this.origTableName != null;
-  }
-
-  public void setOrigTableNameIsSet(boolean value) {
-    if (!value) {
-      this.origTableName = null;
-    }
-  }
-
-  public int getCreateTime() {
-    return this.createTime;
-  }
-
-  public void setCreateTime(int createTime) {
-    this.createTime = createTime;
-    setCreateTimeIsSet(true);
-  }
-
-  public void unsetCreateTime() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATETIME_ISSET_ID);
-  }
-
-  /** Returns true if field createTime is set (has been assigned a value) and false otherwise */
-  public boolean isSetCreateTime() {
-    return EncodingUtils.testBit(__isset_bitfield, __CREATETIME_ISSET_ID);
-  }
-
-  public void setCreateTimeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATETIME_ISSET_ID, value);
-  }
-
-  public int getLastAccessTime() {
-    return this.lastAccessTime;
-  }
-
-  public void setLastAccessTime(int lastAccessTime) {
-    this.lastAccessTime = lastAccessTime;
-    setLastAccessTimeIsSet(true);
-  }
-
-  public void unsetLastAccessTime() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LASTACCESSTIME_ISSET_ID);
-  }
-
-  /** Returns true if field lastAccessTime is set (has been assigned a value) and false otherwise */
-  public boolean isSetLastAccessTime() {
-    return EncodingUtils.testBit(__isset_bitfield, __LASTACCESSTIME_ISSET_ID);
-  }
-
-  public void setLastAccessTimeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LASTACCESSTIME_ISSET_ID, value);
-  }
-
-  public String getIndexTableName() {
-    return this.indexTableName;
-  }
-
-  public void setIndexTableName(String indexTableName) {
-    this.indexTableName = indexTableName;
-  }
-
-  public void unsetIndexTableName() {
-    this.indexTableName = null;
-  }
-
-  /** Returns true if field indexTableName is set (has been assigned a value) and false otherwise */
-  public boolean isSetIndexTableName() {
-    return this.indexTableName != null;
-  }
-
-  public void setIndexTableNameIsSet(boolean value) {
-    if (!value) {
-      this.indexTableName = null;
-    }
-  }
-
-  public StorageDescriptor getSd() {
-    return this.sd;
-  }
-
-  public void setSd(StorageDescriptor sd) {
-    this.sd = sd;
-  }
-
-  public void unsetSd() {
-    this.sd = null;
-  }
-
-  /** Returns true if field sd is set (has been assigned a value) and false otherwise */
-  public boolean isSetSd() {
-    return this.sd != null;
-  }
-
-  public void setSdIsSet(boolean value) {
-    if (!value) {
-      this.sd = null;
-    }
-  }
-
-  public int getParametersSize() {
-    return (this.parameters == null) ? 0 : this.parameters.size();
-  }
-
-  public void putToParameters(String key, String val) {
-    if (this.parameters == null) {
-      this.parameters = new HashMap<String,String>();
-    }
-    this.parameters.put(key, val);
-  }
-
-  public Map<String,String> getParameters() {
-    return this.parameters;
-  }
-
-  public void setParameters(Map<String,String> parameters) {
-    this.parameters = parameters;
-  }
-
-  public void unsetParameters() {
-    this.parameters = null;
-  }
-
-  /** Returns true if field parameters is set (has been assigned a value) and false otherwise */
-  public boolean isSetParameters() {
-    return this.parameters != null;
-  }
-
-  public void setParametersIsSet(boolean value) {
-    if (!value) {
-      this.parameters = null;
-    }
-  }
-
-  public boolean isDeferredRebuild() {
-    return this.deferredRebuild;
-  }
-
-  public void setDeferredRebuild(boolean deferredRebuild) {
-    this.deferredRebuild = deferredRebuild;
-    setDeferredRebuildIsSet(true);
-  }
-
-  public void unsetDeferredRebuild() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFERREDREBUILD_ISSET_ID);
-  }
-
-  /** Returns true if field deferredRebuild is set (has been assigned a value) and false otherwise */
-  public boolean isSetDeferredRebuild() {
-    return EncodingUtils.testBit(__isset_bitfield, __DEFERREDREBUILD_ISSET_ID);
-  }
-
-  public void setDeferredRebuildIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFERREDREBUILD_ISSET_ID, value);
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case INDEX_NAME:
-      if (value == null) {
-        unsetIndexName();
-      } else {
-        setIndexName((String)value);
-      }
-      break;
-
-    case INDEX_HANDLER_CLASS:
-      if (value == null) {
-        unsetIndexHandlerClass();
-      } else {
-        setIndexHandlerClass((String)value);
-      }
-      break;
-
-    case DB_NAME:
-      if (value == null) {
-        unsetDbName();
-      } else {
-        setDbName((String)value);
-      }
-      break;
-
-    case ORIG_TABLE_NAME:
-      if (value == null) {
-        unsetOrigTableName();
-      } else {
-        setOrigTableName((String)value);
-      }
-      break;
-
-    case CREATE_TIME:
-      if (value == null) {
-        unsetCreateTime();
-      } else {
-        setCreateTime((Integer)value);
-      }
-      break;
-
-    case LAST_ACCESS_TIME:
-      if (value == null) {
-        unsetLastAccessTime();
-      } else {
-        setLastAccessTime((Integer)value);
-      }
-      break;
-
-    case INDEX_TABLE_NAME:
-      if (value == null) {
-        unsetIndexTableName();
-      } else {
-        setIndexTableName((String)value);
-      }
-      break;
-
-    case SD:
-      if (value == null) {
-        unsetSd();
-      } else {
-        setSd((StorageDescriptor)value);
-      }
-      break;
-
-    case PARAMETERS:
-      if (value == null) {
-        unsetParameters();
-      } else {
-        setParameters((Map<String,String>)value);
-      }
-      break;
-
-    case DEFERRED_REBUILD:
-      if (value == null) {
-        unsetDeferredRebuild();
-      } else {
-        setDeferredRebuild((Boolean)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case INDEX_NAME:
-      return getIndexName();
-
-    case INDEX_HANDLER_CLASS:
-      return getIndexHandlerClass();
-
-    case DB_NAME:
-      return getDbName();
-
-    case ORIG_TABLE_NAME:
-      return getOrigTableName();
-
-    case CREATE_TIME:
-      return getCreateTime();
-
-    case LAST_ACCESS_TIME:
-      return getLastAccessTime();
-
-    case INDEX_TABLE_NAME:
-      return getIndexTableName();
-
-    case SD:
-      return getSd();
-
-    case PARAMETERS:
-      return getParameters();
-
-    case DEFERRED_REBUILD:
-      return isDeferredRebuild();
-
-    }
-    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 INDEX_NAME:
-      return isSetIndexName();
-    case INDEX_HANDLER_CLASS:
-      return isSetIndexHandlerClass();
-    case DB_NAME:
-      return isSetDbName();
-    case ORIG_TABLE_NAME:
-      return isSetOrigTableName();
-    case CREATE_TIME:
-      return isSetCreateTime();
-    case LAST_ACCESS_TIME:
-      return isSetLastAccessTime();
-    case INDEX_TABLE_NAME:
-      return isSetIndexTableName();
-    case SD:
-      return isSetSd();
-    case PARAMETERS:
-      return isSetParameters();
-    case DEFERRED_REBUILD:
-      return isSetDeferredRebuild();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof Index)
-      return this.equals((Index)that);
-    return false;
-  }
-
-  public boolean equals(Index that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_indexName = true && this.isSetIndexName();
-    boolean that_present_indexName = true && that.isSetIndexName();
-    if (this_present_indexName || that_present_indexName) {
-      if (!(this_present_indexName && that_present_indexName))
-        return false;
-      if (!this.indexName.equals(that.indexName))
-        return false;
-    }
-
-    boolean this_present_indexHandlerClass = true && this.isSetIndexHandlerClass();
-    boolean that_present_indexHandlerClass = true && that.isSetIndexHandlerClass();
-    if (this_present_indexHandlerClass || that_present_indexHandlerClass) {
-      if (!(this_present_indexHandlerClass && that_present_indexHandlerClass))
-        return false;
-      if (!this.indexHandlerClass.equals(that.indexHandlerClass))
-        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_origTableName = true && this.isSetOrigTableName();
-    boolean that_present_origTableName = true && that.isSetOrigTableName();
-    if (this_present_origTableName || that_present_origTableName) {
-      if (!(this_present_origTableName && that_present_origTableName))
-        return false;
-      if (!this.origTableName.equals(that.origTableName))
-        return false;
-    }
-
-    boolean this_present_createTime = true;
-    boolean that_present_createTime = true;
-    if (this_present_createTime || that_present_createTime) {
-      if (!(this_present_createTime && that_present_createTime))
-        return false;
-      if (this.createTime != that.createTime)
-        return false;
-    }
-
-    boolean this_present_lastAccessTime = true;
-    boolean that_present_lastAccessTime = true;
-    if (this_present_lastAccessTime || that_present_lastAccessTime) {
-      if (!(this_present_lastAccessTime && that_present_lastAccessTime))
-        return false;
-      if (this.lastAccessTime != that.lastAccessTime)
-        return false;
-    }
-
-    boolean this_present_indexTableName = true && this.isSetIndexTableName();
-    boolean that_present_indexTableName = true && that.isSetIndexTableName();
-    if (this_present_indexTableName || that_present_indexTableName) {
-      if (!(this_present_indexTableName && that_present_indexTableName))
-        return false;
-      if (!this.indexTableName.equals(that.indexTableName))
-        return false;
-    }
-
-    boolean this_present_sd = true && this.isSetSd();
-    boolean that_present_sd = true && that.isSetSd();
-    if (this_present_sd || that_present_sd) {
-      if (!(this_present_sd && that_present_sd))
-        return false;
-      if (!this.sd.equals(that.sd))
-        return false;
-    }
-
-    boolean this_present_parameters = true && this.isSetParameters();
-    boolean that_present_parameters = true && that.isSetParameters();
-    if (this_present_parameters || that_present_parameters) {
-      if (!(this_present_parameters && that_present_parameters))
-        return false;
-      if (!this.parameters.equals(that.parameters))
-        return false;
-    }
-
-    boolean this_present_deferredRebuild = true;
-    boolean that_present_deferredRebuild = true;
-    if (this_present_deferredRebuild || that_present_deferredRebuild) {
-      if (!(this_present_deferredRebuild && that_present_deferredRebuild))
-        return false;
-      if (this.deferredRebuild != that.deferredRebuild)
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
-
-    boolean present_indexName = true && (isSetIndexName());
-    list.add(present_indexName);
-    if (present_indexName)
-      list.add(indexName);
-
-    boolean present_indexHandlerClass = true && (isSetIndexHandlerClass());
-    list.add(present_indexHandlerClass);
-    if (present_indexHandlerClass)
-      list.add(indexHandlerClass);
-
-    boolean present_dbName = true && (isSetDbName());
-    list.add(present_dbName);
-    if (present_dbName)
-      list.add(dbName);
-
-    boolean present_origTableName = true && (isSetOrigTableName());
-    list.add(present_origTableName);
-    if (present_origTableName)
-      list.add(origTableName);
-
-    boolean present_createTime = true;
-    list.add(present_createTime);
-    if (present_createTime)
-      list.add(createTime);
-
-    boolean present_lastAccessTime = true;
-    list.add(present_lastAccessTime);
-    if (present_lastAccessTime)
-      list.add(lastAccessTime);
-
-    boolean present_indexTableName = true && (isSetIndexTableName());
-    list.add(present_indexTableName);
-    if (present_indexTableName)
-      list.add(indexTableName);
-
-    boolean present_sd = true && (isSetSd());
-    list.add(present_sd);
-    if (present_sd)
-      list.add(sd);
-
-    boolean present_parameters = true && (isSetParameters());
-    list.add(present_parameters);
-    if (present_parameters)
-      list.add(parameters);
-
-    boolean present_deferredRebuild = true;
-    list.add(present_deferredRebuild);
-    if (present_deferredRebuild)
-      list.add(deferredRebuild);
-
-    return list.hashCode();
-  }
-
-  @Override
-  public int compareTo(Index other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetIndexName()).compareTo(other.isSetIndexName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetIndexName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.indexName, other.indexName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetIndexHandlerClass()).compareTo(other.isSetIndexHandlerClass());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetIndexHandlerClass()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.indexHandlerClass, other.indexHandlerClass);
-      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(isSetOrigTableName()).compareTo(other.isSetOrigTableName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetOrigTableName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.origTableName, other.origTableName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetCreateTime()).compareTo(other.isSetCreateTime());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetCreateTime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.createTime, other.createTime);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetLastAccessTime()).compareTo(other.isSetLastAccessTime());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetLastAccessTime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastAccessTime, other.lastAccessTime);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetIndexTableName()).compareTo(other.isSetIndexTableName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetIndexTableName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.indexTableName, other.indexTableName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetSd()).compareTo(other.isSetSd());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetSd()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sd, other.sd);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetParameters()).compareTo(other.isSetParameters());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetParameters()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parameters, other.parameters);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetDeferredRebuild()).compareTo(other.isSetDeferredRebuild());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDeferredRebuild()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deferredRebuild, other.deferredRebuild);
-      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("Index(");
-    boolean first = true;
-
-    sb.append("indexName:");
-    if (this.indexName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.indexName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("indexHandlerClass:");
-    if (this.indexHandlerClass == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.indexHandlerClass);
-    }
-    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("origTableName:");
-    if (this.origTableName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.origTableName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("createTime:");
-    sb.append(this.createTime);
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("lastAccessTime:");
-    sb.append(this.lastAccessTime);
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("indexTableName:");
-    if (this.indexTableName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.indexTableName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("sd:");
-    if (this.sd == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.sd);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("parameters:");
-    if (this.parameters == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.parameters);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("deferredRebuild:");
-    sb.append(this.deferredRebuild);
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-    if (sd != null) {
-      sd.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 IndexStandardSchemeFactory implements SchemeFactory {
-    public IndexStandardScheme getScheme() {
-      return new IndexStandardScheme();
-    }
-  }
-
-  private static class IndexStandardScheme extends StandardScheme<Index> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, Index 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: // INDEX_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.indexName = iprot.readString();
-              struct.setIndexNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // INDEX_HANDLER_CLASS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.indexHandlerClass = iprot.readString();
-              struct.setIndexHandlerClassIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // 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 4: // ORIG_TABLE_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.origTableName = iprot.readString();
-              struct.setOrigTableNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // CREATE_TIME
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.createTime = iprot.readI32();
-              struct.setCreateTimeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // LAST_ACCESS_TIME
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.lastAccessTime = iprot.readI32();
-              struct.setLastAccessTimeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 7: // INDEX_TABLE_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.indexTableName = iprot.readString();
-              struct.setIndexTableNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 8: // SD
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.sd = new StorageDescriptor();
-              struct.sd.read(iprot);
-              struct.setSdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 9: // PARAMETERS
-            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
-              {
-                org.apache.thrift.protocol.TMap _map260 = iprot.readMapBegin();
-                struct.parameters = new HashMap<String,String>(2*_map260.size);
-                String _key261;
-                String _val262;
-                for (int _i263 = 0; _i263 < _map260.size; ++_i263)
-                {
-                  _key261 = iprot.readString();
-                  _val262 = iprot.readString();
-                  struct.parameters.put(_key261, _val262);
-                }
-                iprot.readMapEnd();
-              }
-              struct.setParametersIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 10: // DEFERRED_REBUILD
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.deferredRebuild = iprot.readBool();
-              struct.setDeferredRebuildIsSet(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, Index struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.indexName != null) {
-        oprot.writeFieldBegin(INDEX_NAME_FIELD_DESC);
-        oprot.writeString(struct.indexName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.indexHandlerClass != null) {
-        oprot.writeFieldBegin(INDEX_HANDLER_CLASS_FIELD_DESC);
-        oprot.writeString(struct.indexHandlerClass);
-        oprot.writeFieldEnd();
-      }
-      if (struct.dbName != null) {
-        oprot.writeFieldBegin(DB_NAME_FIELD_DESC);
-        oprot.writeString(struct.dbName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.origTableName != null) {
-        oprot.writeFieldBegin(ORIG_TABLE_NAME_FIELD_DESC);
-        oprot.writeString(struct.origTableName);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldBegin(CREATE_TIME_FIELD_DESC);
-      oprot.writeI32(struct.createTime);
-      oprot.writeFieldEnd();
-      oprot.writeFieldBegin(LAST_ACCESS_TIME_FIELD_DESC);
-      oprot.writeI32(struct.lastAccessTime);
-      oprot.writeFieldEnd();
-      if (struct.indexTableName != null) {
-        oprot.writeFieldBegin(INDEX_TABLE_NAME_FIELD_DESC);
-        oprot.writeString(struct.indexTableName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.sd != null) {
-        oprot.writeFieldBegin(SD_FIELD_DESC);
-        struct.sd.write(oprot);
-        oprot.writeFieldEnd();
-      }
-      if (struct.parameters != null) {
-        oprot.writeFieldBegin(PARAMETERS_FIELD_DESC);
-        {
-          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.parameters.size()));
-          for (Map.Entry<String, String> _iter264 : struct.parameters.entrySet())
-          {
-            oprot.writeString(_iter264.getKey());
-            oprot.writeString(_iter264.getValue());
-          }
-          oprot.writeMapEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldBegin(DEFERRED_REBUILD_FIELD_DESC);
-      oprot.writeBool(struct.deferredRebuild);
-      oprot.writeFieldEnd();
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class IndexTupleSchemeFactory implements SchemeFactory {
-    public IndexTupleScheme getScheme() {
-      return new IndexTupleScheme();
-    }
-  }
-
-  private static class IndexTupleScheme extends TupleScheme<Index> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, Index struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetIndexName()) {
-        optionals.set(0);
-      }
-      if (struct.isSetIndexHandlerClass()) {
-        optionals.set(1);
-      }
-      if (struct.isSetDbName()) {
-        optionals.set(2);
-      }
-      if (struct.isSetOrigTableName()) {
-        optionals.set(3);
-      }
-      if (struct.isSetCreateTime()) {
-        optionals.set(4);
-      }
-      if (struct.isSetLastAccessTime()) {
-        optionals.set(5);
-      }
-      if (struct.isSetIndexTableName()) {
-        optionals.set(6);
-      }
-      if (struct.isSetSd()) {
-        optionals.set(7);
-      }
-      if (struct.isSetParameters()) {
-        optionals.set(8);
-      }
-      if (struct.isSetDeferredRebuild()) {
-        optionals.set(9);
-      }
-      oprot.writeBitSet(optionals, 10);
-      if (struct.isSetIndexName()) {
-        oprot.writeString(struct.indexName);
-      }
-      if (struct.isSetIndexHandlerClass()) {
-        oprot.writeString(struct.indexHandlerClass);
-      }
-      if (struct.isSetDbName()) {
-        oprot.writeString(struct.dbName);
-      }
-      if (struct.isSetOrigTableName()) {
-        oprot.writeString(struct.origTableName);
-      }
-      if (struct.isSetCreateTime()) {
-        oprot.writeI32(struct.createTime);
-      }
-      if (struct.isSetLastAccessTime()) {
-        oprot.writeI32(struct.lastAccessTime);
-      }
-      if (struct.isSetIndexTableName()) {
-        oprot.writeString(struct.indexTableName);
-      }
-      if (struct.isSetSd()) {
-        struct.sd.write(oprot);
-      }
-      if (struct.isSetParameters()) {
-        {
-          oprot.writeI32(struct.parameters.size());
-          for (Map.Entry<String, String> _iter265 : struct.parameters.entrySet())
-          {
-            oprot.writeString(_iter265.getKey());
-            oprot.writeString(_iter265.getValue());
-          }
-        }
-      }
-      if (struct.isSetDeferredRebuild()) {
-        oprot.writeBool(struct.deferredRebuild);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, Index struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(10);
-      if (incoming.get(0)) {
-        struct.indexName = iprot.readString();
-        struct.setIndexNameIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.indexHandlerClass = iprot.readString();
-        struct.setIndexHandlerClassIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.dbName = iprot.readString();
-        struct.setDbNameIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.origTableName = iprot.readString();
-        struct.setOrigTableNameIsSet(true);
-      }
-      if (incoming.get(4)) {
-        struct.createTime = iprot.readI32();
-        struct.setCreateTimeIsSet(true);
-      }
-      if (incoming.get(5)) {
-        struct.lastAccessTime = iprot.readI32();
-        struct.setLastAccessTimeIsSet(true);
-      }
-      if (incoming.get(6)) {
-        struct.indexTableName = iprot.readString();
-        struct.setIndexTableNameIsSet(true);
-      }
-      if (incoming.get(7)) {
-        struct.sd = new StorageDescriptor();
-        struct.sd.read(iprot);
-        struct.setSdIsSet(true);
-      }
-      if (incoming.get(8)) {
-        {
-          org.apache.thrift.protocol.TMap _map266 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.parameters = new HashMap<String,String>(2*_map266.size);
-          String _key267;
-          String _val268;
-          for (int _i269 = 0; _i269 < _map266.size; ++_i269)
-          {
-            _key267 = iprot.readString();
-            _val268 = iprot.readString();
-            struct.parameters.put(_key267, _val268);
-          }
-        }
-        struct.setParametersIsSet(true);
-      }
-      if (incoming.get(9)) {
-        struct.deferredRebuild = iprot.readBool();
-        struct.setDeferredRebuildIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/IndexAlreadyExistsException.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/IndexAlreadyExistsException.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/IndexAlreadyExistsException.java
deleted file mode 100644
index 2befa30..0000000
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/IndexAlreadyExistsException.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/**
- * 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)")
-@org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public class IndexAlreadyExistsException extends TException implements org.apache.thrift.TBase<IndexAlreadyExistsException, IndexAlreadyExistsException._Fields>, java.io.Serializable, Cloneable, Comparable<IndexAlreadyExistsException> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IndexAlreadyExistsException");
-
-  private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new IndexAlreadyExistsExceptionStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new IndexAlreadyExistsExceptionTupleSchemeFactory());
-  }
-
-  private String message; // required
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    MESSAGE((short)1, "message");
-
-    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: // MESSAGE
-          return MESSAGE;
-        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
-  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.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(IndexAlreadyExistsException.class, metaDataMap);
-  }
-
-  public IndexAlreadyExistsException() {
-  }
-
-  public IndexAlreadyExistsException(
-    String message)
-  {
-    this();
-    this.message = message;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public IndexAlreadyExistsException(IndexAlreadyExistsException other) {
-    if (other.isSetMessage()) {
-      this.message = other.message;
-    }
-  }
-
-  public IndexAlreadyExistsException deepCopy() {
-    return new IndexAlreadyExistsException(this);
-  }
-
-  @Override
-  public void clear() {
-    this.message = null;
-  }
-
-  public String getMessage() {
-    return this.message;
-  }
-
-  public void setMessage(String message) {
-    this.message = message;
-  }
-
-  public void unsetMessage() {
-    this.message = null;
-  }
-
-  /** Returns true if field message is set (has been assigned a value) and false otherwise */
-  public boolean isSetMessage() {
-    return this.message != null;
-  }
-
-  public void setMessageIsSet(boolean value) {
-    if (!value) {
-      this.message = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case MESSAGE:
-      if (value == null) {
-        unsetMessage();
-      } else {
-        setMessage((String)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case MESSAGE:
-      return getMessage();
-
-    }
-    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 MESSAGE:
-      return isSetMessage();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof IndexAlreadyExistsException)
-      return this.equals((IndexAlreadyExistsException)that);
-    return false;
-  }
-
-  public boolean equals(IndexAlreadyExistsException that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_message = true && this.isSetMessage();
-    boolean that_present_message = true && that.isSetMessage();
-    if (this_present_message || that_present_message) {
-      if (!(this_present_message && that_present_message))
-        return false;
-      if (!this.message.equals(that.message))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
-
-    boolean present_message = true && (isSetMessage());
-    list.add(present_message);
-    if (present_message)
-      list.add(message);
-
-    return list.hashCode();
-  }
-
-  @Override
-  public int compareTo(IndexAlreadyExistsException other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetMessage()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.message, other.message);
-      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("IndexAlreadyExistsException(");
-    boolean first = true;
-
-    sb.append("message:");
-    if (this.message == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.message);
-    }
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  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 {
-      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 IndexAlreadyExistsExceptionStandardSchemeFactory implements SchemeFactory {
-    public IndexAlreadyExistsExceptionStandardScheme getScheme() {
-      return new IndexAlreadyExistsExceptionStandardScheme();
-    }
-  }
-
-  private static class IndexAlreadyExistsExceptionStandardScheme extends StandardScheme<IndexAlreadyExistsException> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, IndexAlreadyExistsException 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: // MESSAGE
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.message = iprot.readString();
-              struct.setMessageIsSet(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, IndexAlreadyExistsException struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.message != null) {
-        oprot.writeFieldBegin(MESSAGE_FIELD_DESC);
-        oprot.writeString(struct.message);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class IndexAlreadyExistsExceptionTupleSchemeFactory implements SchemeFactory {
-    public IndexAlreadyExistsExceptionTupleScheme getScheme() {
-      return new IndexAlreadyExistsExceptionTupleScheme();
-    }
-  }
-
-  private static class IndexAlreadyExistsExceptionTupleScheme extends TupleScheme<IndexAlreadyExistsException> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, IndexAlreadyExistsException struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetMessage()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetMessage()) {
-        oprot.writeString(struct.message);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, IndexAlreadyExistsException struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.message = iprot.readString();
-        struct.setMessageIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/InsertEventRequestData.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/InsertEventRequestData.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/InsertEventRequestData.java
index 98647b0..2b823a0 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/InsertEventRequestData.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/InsertEventRequestData.java
@@ -538,13 +538,13 @@ import org.slf4j.LoggerFactory;
           case 2: // FILES_ADDED
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list686 = iprot.readListBegin();
-                struct.filesAdded = new ArrayList<String>(_list686.size);
-                String _elem687;
-                for (int _i688 = 0; _i688 < _list686.size; ++_i688)
+                org.apache.thrift.protocol.TList _list676 = iprot.readListBegin();
+                struct.filesAdded = new ArrayList<String>(_list676.size);
+                String _elem677;
+                for (int _i678 = 0; _i678 < _list676.size; ++_i678)
                 {
-                  _elem687 = iprot.readString();
-                  struct.filesAdded.add(_elem687);
+                  _elem677 = iprot.readString();
+                  struct.filesAdded.add(_elem677);
                 }
                 iprot.readListEnd();
               }
@@ -556,13 +556,13 @@ import org.slf4j.LoggerFactory;
           case 3: // FILES_ADDED_CHECKSUM
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list689 = iprot.readListBegin();
-                struct.filesAddedChecksum = new ArrayList<String>(_list689.size);
-                String _elem690;
-                for (int _i691 = 0; _i691 < _list689.size; ++_i691)
+                org.apache.thrift.protocol.TList _list679 = iprot.readListBegin();
+                struct.filesAddedChecksum = new ArrayList<String>(_list679.size);
+                String _elem680;
+                for (int _i681 = 0; _i681 < _list679.size; ++_i681)
                 {
-                  _elem690 = iprot.readString();
-                  struct.filesAddedChecksum.add(_elem690);
+                  _elem680 = iprot.readString();
+                  struct.filesAddedChecksum.add(_elem680);
                 }
                 iprot.readListEnd();
               }
@@ -593,9 +593,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FILES_ADDED_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.filesAdded.size()));
-          for (String _iter692 : struct.filesAdded)
+          for (String _iter682 : struct.filesAdded)
           {
-            oprot.writeString(_iter692);
+            oprot.writeString(_iter682);
           }
           oprot.writeListEnd();
         }
@@ -606,9 +606,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(FILES_ADDED_CHECKSUM_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.filesAddedChecksum.size()));
-            for (String _iter693 : struct.filesAddedChecksum)
+            for (String _iter683 : struct.filesAddedChecksum)
             {
-              oprot.writeString(_iter693);
+              oprot.writeString(_iter683);
             }
             oprot.writeListEnd();
           }
@@ -634,9 +634,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.filesAdded.size());
-        for (String _iter694 : struct.filesAdded)
+        for (String _iter684 : struct.filesAdded)
         {
-          oprot.writeString(_iter694);
+          oprot.writeString(_iter684);
         }
       }
       BitSet optionals = new BitSet();
@@ -653,9 +653,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetFilesAddedChecksum()) {
         {
           oprot.writeI32(struct.filesAddedChecksum.size());
-          for (String _iter695 : struct.filesAddedChecksum)
+          for (String _iter685 : struct.filesAddedChecksum)
           {
-            oprot.writeString(_iter695);
+            oprot.writeString(_iter685);
           }
         }
       }
@@ -665,13 +665,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, InsertEventRequestData struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list696 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.filesAdded = new ArrayList<String>(_list696.size);
-        String _elem697;
-        for (int _i698 = 0; _i698 < _list696.size; ++_i698)
+        org.apache.thrift.protocol.TList _list686 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.filesAdded = new ArrayList<String>(_list686.size);
+        String _elem687;
+        for (int _i688 = 0; _i688 < _list686.size; ++_i688)
         {
-          _elem697 = iprot.readString();
-          struct.filesAdded.add(_elem697);
+          _elem687 = iprot.readString();
+          struct.filesAdded.add(_elem687);
         }
       }
       struct.setFilesAddedIsSet(true);
@@ -682,13 +682,13 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list699 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.filesAddedChecksum = new ArrayList<String>(_list699.size);
-          String _elem700;
-          for (int _i701 = 0; _i701 < _list699.size; ++_i701)
+          org.apache.thrift.protocol.TList _list689 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.filesAddedChecksum = new ArrayList<String>(_list689.size);
+          String _elem690;
+          for (int _i691 = 0; _i691 < _list689.size; ++_i691)
           {
-            _elem700 = iprot.readString();
-            struct.filesAddedChecksum.add(_elem700);
+            _elem690 = iprot.readString();
+            struct.filesAddedChecksum.add(_elem690);
           }
         }
         struct.setFilesAddedChecksumIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockRequest.java
index 64bf58c..5a9a0e8 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockRequest.java
@@ -689,14 +689,14 @@ import org.slf4j.LoggerFactory;
           case 1: // COMPONENT
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list612 = iprot.readListBegin();
-                struct.component = new ArrayList<LockComponent>(_list612.size);
-                LockComponent _elem613;
-                for (int _i614 = 0; _i614 < _list612.size; ++_i614)
+                org.apache.thrift.protocol.TList _list602 = iprot.readListBegin();
+                struct.component = new ArrayList<LockComponent>(_list602.size);
+                LockComponent _elem603;
+                for (int _i604 = 0; _i604 < _list602.size; ++_i604)
                 {
-                  _elem613 = new LockComponent();
-                  _elem613.read(iprot);
-                  struct.component.add(_elem613);
+                  _elem603 = new LockComponent();
+                  _elem603.read(iprot);
+                  struct.component.add(_elem603);
                 }
                 iprot.readListEnd();
               }
@@ -754,9 +754,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(COMPONENT_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.component.size()));
-          for (LockComponent _iter615 : struct.component)
+          for (LockComponent _iter605 : struct.component)
           {
-            _iter615.write(oprot);
+            _iter605.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -803,9 +803,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.component.size());
-        for (LockComponent _iter616 : struct.component)
+        for (LockComponent _iter606 : struct.component)
         {
-          _iter616.write(oprot);
+          _iter606.write(oprot);
         }
       }
       oprot.writeString(struct.user);
@@ -830,14 +830,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, LockRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list617 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.component = new ArrayList<LockComponent>(_list617.size);
-        LockComponent _elem618;
-        for (int _i619 = 0; _i619 < _list617.size; ++_i619)
+        org.apache.thrift.protocol.TList _list607 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.component = new ArrayList<LockComponent>(_list607.size);
+        LockComponent _elem608;
+        for (int _i609 = 0; _i609 < _list607.size; ++_i609)
         {
-          _elem618 = new LockComponent();
-          _elem618.read(iprot);
-          struct.component.add(_elem618);
+          _elem608 = new LockComponent();
+          _elem608.read(iprot);
+          struct.component.add(_elem608);
         }
       }
       struct.setComponentIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Materialization.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Materialization.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Materialization.java
index d94a929..dc6dc0d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Materialization.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Materialization.java
@@ -518,13 +518,13 @@ import org.slf4j.LoggerFactory;
           case 1: // TABLES_USED
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set802 = iprot.readSetBegin();
-                struct.tablesUsed = new HashSet<String>(2*_set802.size);
-                String _elem803;
-                for (int _i804 = 0; _i804 < _set802.size; ++_i804)
+                org.apache.thrift.protocol.TSet _set792 = iprot.readSetBegin();
+                struct.tablesUsed = new HashSet<String>(2*_set792.size);
+                String _elem793;
+                for (int _i794 = 0; _i794 < _set792.size; ++_i794)
                 {
-                  _elem803 = iprot.readString();
-                  struct.tablesUsed.add(_elem803);
+                  _elem793 = iprot.readString();
+                  struct.tablesUsed.add(_elem793);
                 }
                 iprot.readSetEnd();
               }
@@ -566,9 +566,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TABLES_USED_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.tablesUsed.size()));
-          for (String _iter805 : struct.tablesUsed)
+          for (String _iter795 : struct.tablesUsed)
           {
-            oprot.writeString(_iter805);
+            oprot.writeString(_iter795);
           }
           oprot.writeSetEnd();
         }
@@ -603,9 +603,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.tablesUsed.size());
-        for (String _iter806 : struct.tablesUsed)
+        for (String _iter796 : struct.tablesUsed)
         {
-          oprot.writeString(_iter806);
+          oprot.writeString(_iter796);
         }
       }
       oprot.writeI64(struct.invalidationTime);
@@ -623,13 +623,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, Materialization struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TSet _set807 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.tablesUsed = new HashSet<String>(2*_set807.size);
-        String _elem808;
-        for (int _i809 = 0; _i809 < _set807.size; ++_i809)
+        org.apache.thrift.protocol.TSet _set797 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.tablesUsed = new HashSet<String>(2*_set797.size);
+        String _elem798;
+        for (int _i799 = 0; _i799 < _set797.size; ++_i799)
         {
-          _elem808 = iprot.readString();
-          struct.tablesUsed.add(_elem808);
+          _elem798 = iprot.readString();
+          struct.tablesUsed.add(_elem798);
         }
       }
       struct.setTablesUsedIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotNullConstraintsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotNullConstraintsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotNullConstraintsResponse.java
index 8566d3d..a049468 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotNullConstraintsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotNullConstraintsResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // NOT_NULL_CONSTRAINTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list346 = iprot.readListBegin();
-                struct.notNullConstraints = new ArrayList<SQLNotNullConstraint>(_list346.size);
-                SQLNotNullConstraint _elem347;
-                for (int _i348 = 0; _i348 < _list346.size; ++_i348)
+                org.apache.thrift.protocol.TList _list336 = iprot.readListBegin();
+                struct.notNullConstraints = new ArrayList<SQLNotNullConstraint>(_list336.size);
+                SQLNotNullConstraint _elem337;
+                for (int _i338 = 0; _i338 < _list336.size; ++_i338)
                 {
-                  _elem347 = new SQLNotNullConstraint();
-                  _elem347.read(iprot);
-                  struct.notNullConstraints.add(_elem347);
+                  _elem337 = new SQLNotNullConstraint();
+                  _elem337.read(iprot);
+                  struct.notNullConstraints.add(_elem337);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(NOT_NULL_CONSTRAINTS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.notNullConstraints.size()));
-          for (SQLNotNullConstraint _iter349 : struct.notNullConstraints)
+          for (SQLNotNullConstraint _iter339 : struct.notNullConstraints)
           {
-            _iter349.write(oprot);
+            _iter339.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.notNullConstraints.size());
-        for (SQLNotNullConstraint _iter350 : struct.notNullConstraints)
+        for (SQLNotNullConstraint _iter340 : struct.notNullConstraints)
         {
-          _iter350.write(oprot);
+          _iter340.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, NotNullConstraintsResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list351 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.notNullConstraints = new ArrayList<SQLNotNullConstraint>(_list351.size);
-        SQLNotNullConstraint _elem352;
-        for (int _i353 = 0; _i353 < _list351.size; ++_i353)
+        org.apache.thrift.protocol.TList _list341 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.notNullConstraints = new ArrayList<SQLNotNullConstraint>(_list341.size);
+        SQLNotNullConstraint _elem342;
+        for (int _i343 = 0; _i343 < _list341.size; ++_i343)
         {
-          _elem352 = new SQLNotNullConstraint();
-          _elem352.read(iprot);
-          struct.notNullConstraints.add(_elem352);
+          _elem342 = new SQLNotNullConstraint();
+          _elem342.read(iprot);
+          struct.notNullConstraints.add(_elem342);
         }
       }
       struct.setNotNullConstraintsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotificationEventResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotificationEventResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotificationEventResponse.java
index 3405ecc..2037590 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotificationEventResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotificationEventResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // EVENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list678 = iprot.readListBegin();
-                struct.events = new ArrayList<NotificationEvent>(_list678.size);
-                NotificationEvent _elem679;
-                for (int _i680 = 0; _i680 < _list678.size; ++_i680)
+                org.apache.thrift.protocol.TList _list668 = iprot.readListBegin();
+                struct.events = new ArrayList<NotificationEvent>(_list668.size);
+                NotificationEvent _elem669;
+                for (int _i670 = 0; _i670 < _list668.size; ++_i670)
                 {
-                  _elem679 = new NotificationEvent();
-                  _elem679.read(iprot);
-                  struct.events.add(_elem679);
+                  _elem669 = new NotificationEvent();
+                  _elem669.read(iprot);
+                  struct.events.add(_elem669);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(EVENTS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.events.size()));
-          for (NotificationEvent _iter681 : struct.events)
+          for (NotificationEvent _iter671 : struct.events)
           {
-            _iter681.write(oprot);
+            _iter671.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.events.size());
-        for (NotificationEvent _iter682 : struct.events)
+        for (NotificationEvent _iter672 : struct.events)
         {
-          _iter682.write(oprot);
+          _iter672.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, NotificationEventResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list683 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.events = new ArrayList<NotificationEvent>(_list683.size);
-        NotificationEvent _elem684;
-        for (int _i685 = 0; _i685 < _list683.size; ++_i685)
+        org.apache.thrift.protocol.TList _list673 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.events = new ArrayList<NotificationEvent>(_list673.size);
+        NotificationEvent _elem674;
+        for (int _i675 = 0; _i675 < _list673.size; ++_i675)
         {
-          _elem684 = new NotificationEvent();
-          _elem684.read(iprot);
-          struct.events.add(_elem684);
+          _elem674 = new NotificationEvent();
+          _elem674.read(iprot);
+          struct.events.add(_elem674);
         }
       }
       struct.setEventsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/OpenTxnsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/OpenTxnsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/OpenTxnsResponse.java
index 672c688..de60105 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/OpenTxnsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/OpenTxnsResponse.java
@@ -351,13 +351,13 @@ import org.slf4j.LoggerFactory;
           case 1: // TXN_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list556 = iprot.readListBegin();
-                struct.txn_ids = new ArrayList<Long>(_list556.size);
-                long _elem557;
-                for (int _i558 = 0; _i558 < _list556.size; ++_i558)
+                org.apache.thrift.protocol.TList _list546 = iprot.readListBegin();
+                struct.txn_ids = new ArrayList<Long>(_list546.size);
+                long _elem547;
+                for (int _i548 = 0; _i548 < _list546.size; ++_i548)
                 {
-                  _elem557 = iprot.readI64();
-                  struct.txn_ids.add(_elem557);
+                  _elem547 = iprot.readI64();
+                  struct.txn_ids.add(_elem547);
                 }
                 iprot.readListEnd();
               }
@@ -383,9 +383,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TXN_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.txn_ids.size()));
-          for (long _iter559 : struct.txn_ids)
+          for (long _iter549 : struct.txn_ids)
           {
-            oprot.writeI64(_iter559);
+            oprot.writeI64(_iter549);
           }
           oprot.writeListEnd();
         }
@@ -410,9 +410,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.txn_ids.size());
-        for (long _iter560 : struct.txn_ids)
+        for (long _iter550 : struct.txn_ids)
         {
-          oprot.writeI64(_iter560);
+          oprot.writeI64(_iter550);
         }
       }
     }
@@ -421,13 +421,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, OpenTxnsResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list561 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.txn_ids = new ArrayList<Long>(_list561.size);
-        long _elem562;
-        for (int _i563 = 0; _i563 < _list561.size; ++_i563)
+        org.apache.thrift.protocol.TList _list551 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.txn_ids = new ArrayList<Long>(_list551.size);
+        long _elem552;
+        for (int _i553 = 0; _i553 < _list551.size; ++_i553)
         {
-          _elem562 = iprot.readI64();
-          struct.txn_ids.add(_elem562);
+          _elem552 = iprot.readI64();
+          struct.txn_ids.add(_elem552);
         }
       }
       struct.setTxn_idsIsSet(true);


[14/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
index 9a97d6b..8f3b848 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
@@ -214,18 +214,6 @@ import org.slf4j.LoggerFactory;
 
     public boolean isPartitionMarkedForEvent(String db_name, String tbl_name, Map<String,String> part_vals, PartitionEventType eventType) throws MetaException, NoSuchObjectException, UnknownDBException, UnknownTableException, UnknownPartitionException, InvalidPartitionException, org.apache.thrift.TException;
 
-    public Index add_index(Index new_index, Table index_table) throws InvalidObjectException, AlreadyExistsException, MetaException, org.apache.thrift.TException;
-
-    public void alter_index(String dbname, String base_tbl_name, String idx_name, Index new_idx) throws InvalidOperationException, MetaException, org.apache.thrift.TException;
-
-    public boolean drop_index_by_name(String db_name, String tbl_name, String index_name, boolean deleteData) throws NoSuchObjectException, MetaException, org.apache.thrift.TException;
-
-    public Index get_index_by_name(String db_name, String tbl_name, String index_name) throws MetaException, NoSuchObjectException, org.apache.thrift.TException;
-
-    public List<Index> get_indexes(String db_name, String tbl_name, short max_indexes) throws NoSuchObjectException, MetaException, org.apache.thrift.TException;
-
-    public List<String> get_index_names(String db_name, String tbl_name, short max_indexes) throws MetaException, org.apache.thrift.TException;
-
     public PrimaryKeysResponse get_primary_keys(PrimaryKeysRequest request) throws MetaException, NoSuchObjectException, org.apache.thrift.TException;
 
     public ForeignKeysResponse get_foreign_keys(ForeignKeysRequest request) throws MetaException, NoSuchObjectException, org.apache.thrift.TException;
@@ -590,18 +578,6 @@ import org.slf4j.LoggerFactory;
 
     public void isPartitionMarkedForEvent(String db_name, String tbl_name, Map<String,String> part_vals, PartitionEventType eventType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void add_index(Index new_index, Table index_table, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void alter_index(String dbname, String base_tbl_name, String idx_name, Index new_idx, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void drop_index_by_name(String db_name, String tbl_name, String index_name, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void get_index_by_name(String db_name, String tbl_name, String index_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void get_indexes(String db_name, String tbl_name, short max_indexes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void get_index_names(String db_name, String tbl_name, short max_indexes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
     public void get_primary_keys(PrimaryKeysRequest request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void get_foreign_keys(ForeignKeysRequest request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -3426,190 +3402,6 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isPartitionMarkedForEvent failed: unknown result");
     }
 
-    public Index add_index(Index new_index, Table index_table) throws InvalidObjectException, AlreadyExistsException, MetaException, org.apache.thrift.TException
-    {
-      send_add_index(new_index, index_table);
-      return recv_add_index();
-    }
-
-    public void send_add_index(Index new_index, Table index_table) throws org.apache.thrift.TException
-    {
-      add_index_args args = new add_index_args();
-      args.setNew_index(new_index);
-      args.setIndex_table(index_table);
-      sendBase("add_index", args);
-    }
-
-    public Index recv_add_index() throws InvalidObjectException, AlreadyExistsException, MetaException, org.apache.thrift.TException
-    {
-      add_index_result result = new add_index_result();
-      receiveBase(result, "add_index");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.o1 != null) {
-        throw result.o1;
-      }
-      if (result.o2 != null) {
-        throw result.o2;
-      }
-      if (result.o3 != null) {
-        throw result.o3;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "add_index failed: unknown result");
-    }
-
-    public void alter_index(String dbname, String base_tbl_name, String idx_name, Index new_idx) throws InvalidOperationException, MetaException, org.apache.thrift.TException
-    {
-      send_alter_index(dbname, base_tbl_name, idx_name, new_idx);
-      recv_alter_index();
-    }
-
-    public void send_alter_index(String dbname, String base_tbl_name, String idx_name, Index new_idx) throws org.apache.thrift.TException
-    {
-      alter_index_args args = new alter_index_args();
-      args.setDbname(dbname);
-      args.setBase_tbl_name(base_tbl_name);
-      args.setIdx_name(idx_name);
-      args.setNew_idx(new_idx);
-      sendBase("alter_index", args);
-    }
-
-    public void recv_alter_index() throws InvalidOperationException, MetaException, org.apache.thrift.TException
-    {
-      alter_index_result result = new alter_index_result();
-      receiveBase(result, "alter_index");
-      if (result.o1 != null) {
-        throw result.o1;
-      }
-      if (result.o2 != null) {
-        throw result.o2;
-      }
-      return;
-    }
-
-    public boolean drop_index_by_name(String db_name, String tbl_name, String index_name, boolean deleteData) throws NoSuchObjectException, MetaException, org.apache.thrift.TException
-    {
-      send_drop_index_by_name(db_name, tbl_name, index_name, deleteData);
-      return recv_drop_index_by_name();
-    }
-
-    public void send_drop_index_by_name(String db_name, String tbl_name, String index_name, boolean deleteData) throws org.apache.thrift.TException
-    {
-      drop_index_by_name_args args = new drop_index_by_name_args();
-      args.setDb_name(db_name);
-      args.setTbl_name(tbl_name);
-      args.setIndex_name(index_name);
-      args.setDeleteData(deleteData);
-      sendBase("drop_index_by_name", args);
-    }
-
-    public boolean recv_drop_index_by_name() throws NoSuchObjectException, MetaException, org.apache.thrift.TException
-    {
-      drop_index_by_name_result result = new drop_index_by_name_result();
-      receiveBase(result, "drop_index_by_name");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.o1 != null) {
-        throw result.o1;
-      }
-      if (result.o2 != null) {
-        throw result.o2;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "drop_index_by_name failed: unknown result");
-    }
-
-    public Index get_index_by_name(String db_name, String tbl_name, String index_name) throws MetaException, NoSuchObjectException, org.apache.thrift.TException
-    {
-      send_get_index_by_name(db_name, tbl_name, index_name);
-      return recv_get_index_by_name();
-    }
-
-    public void send_get_index_by_name(String db_name, String tbl_name, String index_name) throws org.apache.thrift.TException
-    {
-      get_index_by_name_args args = new get_index_by_name_args();
-      args.setDb_name(db_name);
-      args.setTbl_name(tbl_name);
-      args.setIndex_name(index_name);
-      sendBase("get_index_by_name", args);
-    }
-
-    public Index recv_get_index_by_name() throws MetaException, NoSuchObjectException, org.apache.thrift.TException
-    {
-      get_index_by_name_result result = new get_index_by_name_result();
-      receiveBase(result, "get_index_by_name");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.o1 != null) {
-        throw result.o1;
-      }
-      if (result.o2 != null) {
-        throw result.o2;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_index_by_name failed: unknown result");
-    }
-
-    public List<Index> get_indexes(String db_name, String tbl_name, short max_indexes) throws NoSuchObjectException, MetaException, org.apache.thrift.TException
-    {
-      send_get_indexes(db_name, tbl_name, max_indexes);
-      return recv_get_indexes();
-    }
-
-    public void send_get_indexes(String db_name, String tbl_name, short max_indexes) throws org.apache.thrift.TException
-    {
-      get_indexes_args args = new get_indexes_args();
-      args.setDb_name(db_name);
-      args.setTbl_name(tbl_name);
-      args.setMax_indexes(max_indexes);
-      sendBase("get_indexes", args);
-    }
-
-    public List<Index> recv_get_indexes() throws NoSuchObjectException, MetaException, org.apache.thrift.TException
-    {
-      get_indexes_result result = new get_indexes_result();
-      receiveBase(result, "get_indexes");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.o1 != null) {
-        throw result.o1;
-      }
-      if (result.o2 != null) {
-        throw result.o2;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_indexes failed: unknown result");
-    }
-
-    public List<String> get_index_names(String db_name, String tbl_name, short max_indexes) throws MetaException, org.apache.thrift.TException
-    {
-      send_get_index_names(db_name, tbl_name, max_indexes);
-      return recv_get_index_names();
-    }
-
-    public void send_get_index_names(String db_name, String tbl_name, short max_indexes) throws org.apache.thrift.TException
-    {
-      get_index_names_args args = new get_index_names_args();
-      args.setDb_name(db_name);
-      args.setTbl_name(tbl_name);
-      args.setMax_indexes(max_indexes);
-      sendBase("get_index_names", args);
-    }
-
-    public List<String> recv_get_index_names() throws MetaException, org.apache.thrift.TException
-    {
-      get_index_names_result result = new get_index_names_result();
-      receiveBase(result, "get_index_names");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.o2 != null) {
-        throw result.o2;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_index_names failed: unknown result");
-    }
-
     public PrimaryKeysResponse get_primary_keys(PrimaryKeysRequest request) throws MetaException, NoSuchObjectException, org.apache.thrift.TException
     {
       send_get_primary_keys(request);
@@ -9377,237 +9169,6 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void add_index(Index new_index, Table index_table, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      add_index_call method_call = new add_index_call(new_index, index_table, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class add_index_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private Index new_index;
-      private Table index_table;
-      public add_index_call(Index new_index, Table index_table, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.new_index = new_index;
-        this.index_table = index_table;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("add_index", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        add_index_args args = new add_index_args();
-        args.setNew_index(new_index);
-        args.setIndex_table(index_table);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public Index getResult() throws InvalidObjectException, AlreadyExistsException, MetaException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_add_index();
-      }
-    }
-
-    public void alter_index(String dbname, String base_tbl_name, String idx_name, Index new_idx, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      alter_index_call method_call = new alter_index_call(dbname, base_tbl_name, idx_name, new_idx, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class alter_index_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String dbname;
-      private String base_tbl_name;
-      private String idx_name;
-      private Index new_idx;
-      public alter_index_call(String dbname, String base_tbl_name, String idx_name, Index new_idx, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.dbname = dbname;
-        this.base_tbl_name = base_tbl_name;
-        this.idx_name = idx_name;
-        this.new_idx = new_idx;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("alter_index", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        alter_index_args args = new alter_index_args();
-        args.setDbname(dbname);
-        args.setBase_tbl_name(base_tbl_name);
-        args.setIdx_name(idx_name);
-        args.setNew_idx(new_idx);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public void getResult() throws InvalidOperationException, MetaException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_alter_index();
-      }
-    }
-
-    public void drop_index_by_name(String db_name, String tbl_name, String index_name, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      drop_index_by_name_call method_call = new drop_index_by_name_call(db_name, tbl_name, index_name, deleteData, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class drop_index_by_name_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String db_name;
-      private String tbl_name;
-      private String index_name;
-      private boolean deleteData;
-      public drop_index_by_name_call(String db_name, String tbl_name, String index_name, boolean deleteData, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.db_name = db_name;
-        this.tbl_name = tbl_name;
-        this.index_name = index_name;
-        this.deleteData = deleteData;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("drop_index_by_name", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        drop_index_by_name_args args = new drop_index_by_name_args();
-        args.setDb_name(db_name);
-        args.setTbl_name(tbl_name);
-        args.setIndex_name(index_name);
-        args.setDeleteData(deleteData);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public boolean getResult() throws NoSuchObjectException, MetaException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_drop_index_by_name();
-      }
-    }
-
-    public void get_index_by_name(String db_name, String tbl_name, String index_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      get_index_by_name_call method_call = new get_index_by_name_call(db_name, tbl_name, index_name, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_index_by_name_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String db_name;
-      private String tbl_name;
-      private String index_name;
-      public get_index_by_name_call(String db_name, String tbl_name, String index_name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.db_name = db_name;
-        this.tbl_name = tbl_name;
-        this.index_name = index_name;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get_index_by_name", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        get_index_by_name_args args = new get_index_by_name_args();
-        args.setDb_name(db_name);
-        args.setTbl_name(tbl_name);
-        args.setIndex_name(index_name);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public Index getResult() throws MetaException, NoSuchObjectException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_get_index_by_name();
-      }
-    }
-
-    public void get_indexes(String db_name, String tbl_name, short max_indexes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      get_indexes_call method_call = new get_indexes_call(db_name, tbl_name, max_indexes, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_indexes_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String db_name;
-      private String tbl_name;
-      private short max_indexes;
-      public get_indexes_call(String db_name, String tbl_name, short max_indexes, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.db_name = db_name;
-        this.tbl_name = tbl_name;
-        this.max_indexes = max_indexes;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get_indexes", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        get_indexes_args args = new get_indexes_args();
-        args.setDb_name(db_name);
-        args.setTbl_name(tbl_name);
-        args.setMax_indexes(max_indexes);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public List<Index> getResult() throws NoSuchObjectException, MetaException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_get_indexes();
-      }
-    }
-
-    public void get_index_names(String db_name, String tbl_name, short max_indexes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      get_index_names_call method_call = new get_index_names_call(db_name, tbl_name, max_indexes, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_index_names_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String db_name;
-      private String tbl_name;
-      private short max_indexes;
-      public get_index_names_call(String db_name, String tbl_name, short max_indexes, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.db_name = db_name;
-        this.tbl_name = tbl_name;
-        this.max_indexes = max_indexes;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get_index_names", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        get_index_names_args args = new get_index_names_args();
-        args.setDb_name(db_name);
-        args.setTbl_name(tbl_name);
-        args.setMax_indexes(max_indexes);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public List<String> getResult() throws MetaException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_get_index_names();
-      }
-    }
-
     public void get_primary_keys(PrimaryKeysRequest request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       get_primary_keys_call method_call = new get_primary_keys_call(request, resultHandler, this, ___protocolFactory, ___transport);
@@ -12781,12 +12342,6 @@ import org.slf4j.LoggerFactory;
       processMap.put("partition_name_to_spec", new partition_name_to_spec());
       processMap.put("markPartitionForEvent", new markPartitionForEvent());
       processMap.put("isPartitionMarkedForEvent", new isPartitionMarkedForEvent());
-      processMap.put("add_index", new add_index());
-      processMap.put("alter_index", new alter_index());
-      processMap.put("drop_index_by_name", new drop_index_by_name());
-      processMap.put("get_index_by_name", new get_index_by_name());
-      processMap.put("get_indexes", new get_indexes());
-      processMap.put("get_index_names", new get_index_names());
       processMap.put("get_primary_keys", new get_primary_keys());
       processMap.put("get_foreign_keys", new get_foreign_keys());
       processMap.put("get_unique_constraints", new get_unique_constraints());
@@ -15171,163 +14726,6 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class add_index<I extends Iface> extends org.apache.thrift.ProcessFunction<I, add_index_args> {
-      public add_index() {
-        super("add_index");
-      }
-
-      public add_index_args getEmptyArgsInstance() {
-        return new add_index_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public add_index_result getResult(I iface, add_index_args args) throws org.apache.thrift.TException {
-        add_index_result result = new add_index_result();
-        try {
-          result.success = iface.add_index(args.new_index, args.index_table);
-        } catch (InvalidObjectException o1) {
-          result.o1 = o1;
-        } catch (AlreadyExistsException o2) {
-          result.o2 = o2;
-        } catch (MetaException o3) {
-          result.o3 = o3;
-        }
-        return result;
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class alter_index<I extends Iface> extends org.apache.thrift.ProcessFunction<I, alter_index_args> {
-      public alter_index() {
-        super("alter_index");
-      }
-
-      public alter_index_args getEmptyArgsInstance() {
-        return new alter_index_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public alter_index_result getResult(I iface, alter_index_args args) throws org.apache.thrift.TException {
-        alter_index_result result = new alter_index_result();
-        try {
-          iface.alter_index(args.dbname, args.base_tbl_name, args.idx_name, args.new_idx);
-        } catch (InvalidOperationException o1) {
-          result.o1 = o1;
-        } catch (MetaException o2) {
-          result.o2 = o2;
-        }
-        return result;
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class drop_index_by_name<I extends Iface> extends org.apache.thrift.ProcessFunction<I, drop_index_by_name_args> {
-      public drop_index_by_name() {
-        super("drop_index_by_name");
-      }
-
-      public drop_index_by_name_args getEmptyArgsInstance() {
-        return new drop_index_by_name_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public drop_index_by_name_result getResult(I iface, drop_index_by_name_args args) throws org.apache.thrift.TException {
-        drop_index_by_name_result result = new drop_index_by_name_result();
-        try {
-          result.success = iface.drop_index_by_name(args.db_name, args.tbl_name, args.index_name, args.deleteData);
-          result.setSuccessIsSet(true);
-        } catch (NoSuchObjectException o1) {
-          result.o1 = o1;
-        } catch (MetaException o2) {
-          result.o2 = o2;
-        }
-        return result;
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_index_by_name<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_index_by_name_args> {
-      public get_index_by_name() {
-        super("get_index_by_name");
-      }
-
-      public get_index_by_name_args getEmptyArgsInstance() {
-        return new get_index_by_name_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public get_index_by_name_result getResult(I iface, get_index_by_name_args args) throws org.apache.thrift.TException {
-        get_index_by_name_result result = new get_index_by_name_result();
-        try {
-          result.success = iface.get_index_by_name(args.db_name, args.tbl_name, args.index_name);
-        } catch (MetaException o1) {
-          result.o1 = o1;
-        } catch (NoSuchObjectException o2) {
-          result.o2 = o2;
-        }
-        return result;
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_indexes<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_indexes_args> {
-      public get_indexes() {
-        super("get_indexes");
-      }
-
-      public get_indexes_args getEmptyArgsInstance() {
-        return new get_indexes_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public get_indexes_result getResult(I iface, get_indexes_args args) throws org.apache.thrift.TException {
-        get_indexes_result result = new get_indexes_result();
-        try {
-          result.success = iface.get_indexes(args.db_name, args.tbl_name, args.max_indexes);
-        } catch (NoSuchObjectException o1) {
-          result.o1 = o1;
-        } catch (MetaException o2) {
-          result.o2 = o2;
-        }
-        return result;
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_index_names<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_index_names_args> {
-      public get_index_names() {
-        super("get_index_names");
-      }
-
-      public get_index_names_args getEmptyArgsInstance() {
-        return new get_index_names_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public get_index_names_result getResult(I iface, get_index_names_args args) throws org.apache.thrift.TException {
-        get_index_names_result result = new get_index_names_result();
-        try {
-          result.success = iface.get_index_names(args.db_name, args.tbl_name, args.max_indexes);
-        } catch (MetaException o2) {
-          result.o2 = o2;
-        }
-        return result;
-      }
-    }
-
     @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_primary_keys<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_primary_keys_args> {
       public get_primary_keys() {
         super("get_primary_keys");
@@ -17761,12 +17159,6 @@ import org.slf4j.LoggerFactory;
       processMap.put("partition_name_to_spec", new partition_name_to_spec());
       processMap.put("markPartitionForEvent", new markPartitionForEvent());
       processMap.put("isPartitionMarkedForEvent", new isPartitionMarkedForEvent());
-      processMap.put("add_index", new add_index());
-      processMap.put("alter_index", new alter_index());
-      processMap.put("drop_index_by_name", new drop_index_by_name());
-      processMap.put("get_index_by_name", new get_index_by_name());
-      processMap.put("get_indexes", new get_indexes());
-      processMap.put("get_index_names", new get_index_names());
       processMap.put("get_primary_keys", new get_primary_keys());
       processMap.put("get_foreign_keys", new get_foreign_keys());
       processMap.put("get_unique_constraints", new get_unique_constraints());
@@ -23285,211 +22677,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class add_index<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, add_index_args, Index> {
-      public add_index() {
-        super("add_index");
-      }
-
-      public add_index_args getEmptyArgsInstance() {
-        return new add_index_args();
-      }
-
-      public AsyncMethodCallback<Index> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Index>() { 
-          public void onComplete(Index o) {
-            add_index_result result = new add_index_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            add_index_result result = new add_index_result();
-            if (e instanceof InvalidObjectException) {
-                        result.o1 = (InvalidObjectException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof AlreadyExistsException) {
-                        result.o2 = (AlreadyExistsException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof MetaException) {
-                        result.o3 = (MetaException) e;
-                        result.setO3IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, add_index_args args, org.apache.thrift.async.AsyncMethodCallback<Index> resultHandler) throws TException {
-        iface.add_index(args.new_index, args.index_table,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class alter_index<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, alter_index_args, Void> {
-      public alter_index() {
-        super("alter_index");
-      }
-
-      public alter_index_args getEmptyArgsInstance() {
-        return new alter_index_args();
-      }
-
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            alter_index_result result = new alter_index_result();
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            alter_index_result result = new alter_index_result();
-            if (e instanceof InvalidOperationException) {
-                        result.o1 = (InvalidOperationException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, alter_index_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.alter_index(args.dbname, args.base_tbl_name, args.idx_name, args.new_idx,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class drop_index_by_name<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, drop_index_by_name_args, Boolean> {
-      public drop_index_by_name() {
-        super("drop_index_by_name");
-      }
-
-      public drop_index_by_name_args getEmptyArgsInstance() {
-        return new drop_index_by_name_args();
-      }
-
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            drop_index_by_name_result result = new drop_index_by_name_result();
-            result.success = o;
-            result.setSuccessIsSet(true);
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            drop_index_by_name_result result = new drop_index_by_name_result();
-            if (e instanceof NoSuchObjectException) {
-                        result.o1 = (NoSuchObjectException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, drop_index_by_name_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.drop_index_by_name(args.db_name, args.tbl_name, args.index_name, args.deleteData,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_index_by_name<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_index_by_name_args, Index> {
-      public get_index_by_name() {
-        super("get_index_by_name");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_primary_keys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_primary_keys_args, PrimaryKeysResponse> {
+      public get_primary_keys() {
+        super("get_primary_keys");
       }
 
-      public get_index_by_name_args getEmptyArgsInstance() {
-        return new get_index_by_name_args();
+      public get_primary_keys_args getEmptyArgsInstance() {
+        return new get_primary_keys_args();
       }
 
-      public AsyncMethodCallback<Index> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<PrimaryKeysResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Index>() { 
-          public void onComplete(Index o) {
-            get_index_by_name_result result = new get_index_by_name_result();
+        return new AsyncMethodCallback<PrimaryKeysResponse>() { 
+          public void onComplete(PrimaryKeysResponse o) {
+            get_primary_keys_result result = new get_primary_keys_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -23502,188 +22703,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_index_by_name_result result = new get_index_by_name_result();
-            if (e instanceof MetaException) {
-                        result.o1 = (MetaException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof NoSuchObjectException) {
-                        result.o2 = (NoSuchObjectException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_index_by_name_args args, org.apache.thrift.async.AsyncMethodCallback<Index> resultHandler) throws TException {
-        iface.get_index_by_name(args.db_name, args.tbl_name, args.index_name,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_indexes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_indexes_args, List<Index>> {
-      public get_indexes() {
-        super("get_indexes");
-      }
-
-      public get_indexes_args getEmptyArgsInstance() {
-        return new get_indexes_args();
-      }
-
-      public AsyncMethodCallback<List<Index>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<Index>>() { 
-          public void onComplete(List<Index> o) {
-            get_indexes_result result = new get_indexes_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_indexes_result result = new get_indexes_result();
-            if (e instanceof NoSuchObjectException) {
-                        result.o1 = (NoSuchObjectException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_indexes_args args, org.apache.thrift.async.AsyncMethodCallback<List<Index>> resultHandler) throws TException {
-        iface.get_indexes(args.db_name, args.tbl_name, args.max_indexes,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_index_names<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_index_names_args, List<String>> {
-      public get_index_names() {
-        super("get_index_names");
-      }
-
-      public get_index_names_args getEmptyArgsInstance() {
-        return new get_index_names_args();
-      }
-
-      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<String>>() { 
-          public void onComplete(List<String> o) {
-            get_index_names_result result = new get_index_names_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_index_names_result result = new get_index_names_result();
-            if (e instanceof MetaException) {
-                        result.o2 = (MetaException) e;
-                        result.setO2IsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_index_names_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
-        iface.get_index_names(args.db_name, args.tbl_name, args.max_indexes,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_primary_keys<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_primary_keys_args, PrimaryKeysResponse> {
-      public get_primary_keys() {
-        super("get_primary_keys");
-      }
-
-      public get_primary_keys_args getEmptyArgsInstance() {
-        return new get_primary_keys_args();
-      }
-
-      public AsyncMethodCallback<PrimaryKeysResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<PrimaryKeysResponse>() { 
-          public void onComplete(PrimaryKeysResponse o) {
-            get_primary_keys_result result = new get_primary_keys_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_primary_keys_result result = new get_primary_keys_result();
+            get_primary_keys_result result = new get_primary_keys_result();
             if (e instanceof MetaException) {
                         result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
@@ -34664,13 +33684,13 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list874 = iprot.readListBegin();
-                  struct.success = new ArrayList<String>(_list874.size);
-                  String _elem875;
-                  for (int _i876 = 0; _i876 < _list874.size; ++_i876)
+                  org.apache.thrift.protocol.TList _list864 = iprot.readListBegin();
+                  struct.success = new ArrayList<String>(_list864.size);
+                  String _elem865;
+                  for (int _i866 = 0; _i866 < _list864.size; ++_i866)
                   {
-                    _elem875 = iprot.readString();
-                    struct.success.add(_elem875);
+                    _elem865 = iprot.readString();
+                    struct.success.add(_elem865);
                   }
                   iprot.readListEnd();
                 }
@@ -34705,9 +33725,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (String _iter877 : struct.success)
+            for (String _iter867 : struct.success)
             {
-              oprot.writeString(_iter877);
+              oprot.writeString(_iter867);
             }
             oprot.writeListEnd();
           }
@@ -34746,9 +33766,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (String _iter878 : struct.success)
+            for (String _iter868 : struct.success)
             {
-              oprot.writeString(_iter878);
+              oprot.writeString(_iter868);
             }
           }
         }
@@ -34763,13 +33783,13 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list879 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new ArrayList<String>(_list879.size);
-            String _elem880;
-            for (int _i881 = 0; _i881 < _list879.size; ++_i881)
+            org.apache.thrift.protocol.TList _list869 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.success = new ArrayList<String>(_list869.size);
+            String _elem870;
+            for (int _i871 = 0; _i871 < _list869.size; ++_i871)
             {
-              _elem880 = iprot.readString();
-              struct.success.add(_elem880);
+              _elem870 = iprot.readString();
+              struct.success.add(_elem870);
             }
           }
           struct.setSuccessIsSet(true);
@@ -35423,13 +34443,13 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list882 = iprot.readListBegin();
-                  struct.success = new ArrayList<String>(_list882.size);
-                  String _elem883;
-                  for (int _i884 = 0; _i884 < _list882.size; ++_i884)
+                  org.apache.thrift.protocol.TList _list872 = iprot.readListBegin();
+                  struct.success = new ArrayList<String>(_list872.size);
+                  String _elem873;
+                  for (int _i874 = 0; _i874 < _list872.size; ++_i874)
                   {
-                    _elem883 = iprot.readString();
-                    struct.success.add(_elem883);
+                    _elem873 = iprot.readString();
+                    struct.success.add(_elem873);
                   }
                   iprot.readListEnd();
                 }
@@ -35464,9 +34484,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (String _iter885 : struct.success)
+            for (String _iter875 : struct.success)
             {
-              oprot.writeString(_iter885);
+              oprot.writeString(_iter875);
             }
             oprot.writeListEnd();
           }
@@ -35505,9 +34525,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (String _iter886 : struct.success)
+            for (String _iter876 : struct.success)
             {
-              oprot.writeString(_iter886);
+              oprot.writeString(_iter876);
             }
           }
         }
@@ -35522,13 +34542,13 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list887 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new ArrayList<String>(_list887.size);
-            String _elem888;
-            for (int _i889 = 0; _i889 < _list887.size; ++_i889)
+            org.apache.thrift.protocol.TList _list877 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.success = new ArrayList<String>(_list877.size);
+            String _elem878;
+            for (int _i879 = 0; _i879 < _list877.size; ++_i879)
             {
-              _elem888 = iprot.readString();
-              struct.success.add(_elem888);
+              _elem878 = iprot.readString();
+              struct.success.add(_elem878);
             }
           }
           struct.setSuccessIsSet(true);
@@ -40135,16 +39155,16 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map890 = iprot.readMapBegin();
-                  struct.success = new HashMap<String,Type>(2*_map890.size);
-                  String _key891;
-                  Type _val892;
-                  for (int _i893 = 0; _i893 < _map890.size; ++_i893)
+                  org.apache.thrift.protocol.TMap _map880 = iprot.readMapBegin();
+                  struct.success = new HashMap<String,Type>(2*_map880.size);
+                  String _key881;
+                  Type _val882;
+                  for (int _i883 = 0; _i883 < _map880.size; ++_i883)
                   {
-                    _key891 = iprot.readString();
-                    _val892 = new Type();
-                    _val892.read(iprot);
-                    struct.success.put(_key891, _val892);
+                    _key881 = iprot.readString();
+                    _val882 = new Type();
+                    _val882.read(iprot);
+                    struct.success.put(_key881, _val882);
                   }
                   iprot.readMapEnd();
                 }
@@ -40179,10 +39199,10 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (Map.Entry<String, Type> _iter894 : struct.success.entrySet())
+            for (Map.Entry<String, Type> _iter884 : struct.success.entrySet())
             {
-              oprot.writeString(_iter894.getKey());
-              _iter894.getValue().write(oprot);
+              oprot.writeString(_iter884.getKey());
+              _iter884.getValue().write(oprot);
             }
             oprot.writeMapEnd();
           }
@@ -40221,10 +39241,10 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Map.Entry<String, Type> _iter895 : struct.success.entrySet())
+            for (Map.Entry<String, Type> _iter885 : struct.success.entrySet())
             {
-              oprot.writeString(_iter895.getKey());
-              _iter895.getValue().write(oprot);
+              oprot.writeString(_iter885.getKey());
+              _iter885.getValue().write(oprot);
             }
           }
         }
@@ -40239,16 +39259,16 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map896 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new HashMap<String,Type>(2*_map896.size);
-            String _key897;
-            Type _val898;
-            for (int _i899 = 0; _i899 < _map896.size; ++_i899)
+            org.apache.thrift.protocol.TMap _map886 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new HashMap<String,Type>(2*_map886.size);
+            String _key887;
+            Type _val888;
+            for (int _i889 = 0; _i889 < _map886.size; ++_i889)
             {
-              _key897 = iprot.readString();
-              _val898 = new Type();
-              _val898.read(iprot);
-              struct.success.put(_key897, _val898);
+              _key887 = iprot.readString();
+              _val888 = new Type();
+              _val888.read(iprot);
+              struct.success.put(_key887, _val888);
             }
           }
           struct.setSuccessIsSet(true);
@@ -41283,14 +40303,14 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list900 = iprot.readListBegin();
-                  struct.success = new ArrayList<FieldSchema>(_list900.size);
-                  FieldSchema _elem901;
-                  for (int _i902 = 0; _i902 < _list900.size; ++_i902)
+                  org.apache.thrift.protocol.TList _list890 = iprot.readListBegin();
+                  struct.success = new ArrayList<FieldSchema>(_list890.size);
+                  FieldSchema _elem891;
+                  for (int _i892 = 0; _i892 < _list890.size; ++_i892)
                   {
-                    _elem901 = new FieldSchema();
-                    _elem901.read(iprot);
-                    struct.success.add(_elem901);
+                    _elem891 = new FieldSchema();
+                    _elem891.read(iprot);
+                    struct.success.add(_elem891);
                   }
                   iprot.readListEnd();
                 }
@@ -41343,9 +40363,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (FieldSchema _iter903 : struct.success)
+            for (FieldSchema _iter893 : struct.success)
             {
-              _iter903.write(oprot);
+              _iter893.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -41400,9 +40420,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (FieldSchema _iter904 : struct.success)
+            for (FieldSchema _iter894 : struct.success)
             {
-              _iter904.write(oprot);
+              _iter894.write(oprot);
             }
           }
         }
@@ -41423,14 +40443,14 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list905 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<FieldSchema>(_list905.size);
-            FieldSchema _elem906;
-            for (int _i907 = 0; _i907 < _list905.size; ++_i907)
+            org.apache.thrift.protocol.TList _list895 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<FieldSchema>(_list895.size);
+            FieldSchema _elem896;
+            for (int _i897 = 0; _i897 < _list895.size; ++_i897)
             {
-              _elem906 = new FieldSchema();
-              _elem906.read(iprot);
-              struct.success.add(_elem906);
+              _elem896 = new FieldSchema();
+              _elem896.read(iprot);
+              struct.success.add(_elem896);
             }
           }
           struct.setSuccessIsSet(true);
@@ -42584,14 +41604,14 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list908 = iprot.readListBegin();
-                  struct.success = new ArrayList<FieldSchema>(_list908.size);
-                  FieldSchema _elem909;
-                  for (int _i910 = 0; _i910 < _list908.size; ++_i910)
+                  org.apache.thrift.protocol.TList _list898 = iprot.readListBegin();
+                  struct.success = new ArrayList<FieldSchema>(_list898.size);
+                  FieldSchema _elem899;
+                  for (int _i900 = 0; _i900 < _list898.size; ++_i900)
                   {
-                    _elem909 = new FieldSchema();
-                    _elem909.read(iprot);
-                    struct.success.add(_elem909);
+                    _elem899 = new FieldSchema();
+                    _elem899.read(iprot);
+                    struct.success.add(_elem899);
                   }
                   iprot.readListEnd();
                 }
@@ -42644,9 +41664,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (FieldSchema _iter911 : struct.success)
+            for (FieldSchema _iter901 : struct.success)
             {
-              _iter911.write(oprot);
+              _iter901.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -42701,9 +41721,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (FieldSchema _iter912 : struct.success)
+            for (FieldSchema _iter902 : struct.success)
             {
-              _iter912.write(oprot);
+              _iter902.write(oprot);
             }
           }
         }
@@ -42724,14 +41744,14 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list913 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<FieldSchema>(_list913.size);
-            FieldSchema _elem914;
-            for (int _i915 = 0; _i915 < _list913.size; ++_i915)
+            org.apache.thrift.protocol.TList _list903 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<FieldSchema>(_list903.size);
+            FieldSchema _elem904;
+            for (int _i905 = 0; _i905 < _list903.size; ++_i905)
             {
-              _elem914 = new FieldSchema();
-              _elem914.read(iprot);
-              struct.success.add(_elem914);
+              _elem904 = new FieldSchema();
+              _elem904.read(iprot);
+              struct.success.add(_elem904);
             }
           }
           struct.setSuccessIsSet(true);
@@ -43776,14 +42796,14 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list916 = iprot.readListBegin();
-                  struct.success = new ArrayList<FieldSchema>(_list916.size);
-                  FieldSchema _elem917;
-                  for (int _i918 = 0; _i918 < _list916.size; ++_i918)
+                  org.apache.thrift.protocol.TList _list906 = iprot.readListBegin();
+                  struct.success = new ArrayList<FieldSchema>(_list906.size);
+                  FieldSchema _elem907;
+                  for (int _i908 = 0; _i908 < _list906.size; ++_i908)
                   {
-                    _elem917 = new FieldSchema();
-                    _elem917.read(iprot);
-                    struct.success.add(_elem917);
+                    _elem907 = new FieldSchema();
+                    _elem907.read(iprot);
+                    struct.success.add(_elem907);
                   }
                   iprot.readListEnd();
                 }
@@ -43836,9 +42856,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (FieldSchema _iter919 : struct.success)
+            for (FieldSchema _iter909 : struct.success)
             {
-              _iter919.write(oprot);
+              _iter909.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -43893,9 +42913,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (FieldSchema _iter920 : struct.success)
+            for (FieldSchema _iter910 : struct.success)
             {
-              _iter920.write(oprot);
+              _iter910.write(oprot);
             }
           }
         }
@@ -43916,14 +42936,14 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list921 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<FieldSchema>(_list921.size);
-            FieldSchema _elem922;
-            for (int _i923 = 0; _i923 < _list921.size; ++_i923)
+            org.apache.thrift.protocol.TList _list911 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<FieldSchema>(_list911.size);
+            FieldSchema _elem912;
+            for (int _i913 = 0; _i913 < _list911.size; ++_i913)
             {
-              _elem922 = new FieldSchema();
-              _elem922.read(iprot);
-              struct.success.add(_elem922);
+              _elem912 = new FieldSchema();
+              _elem912.read(iprot);
+              struct.success.add(_elem912);
             }
           }
           struct.setSuccessIsSet(true);
@@ -45077,14 +44097,14 @@ import org.slf4j.LoggerFactory;
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list924 = iprot.readListBegin();
-                  struct.success = new ArrayList<FieldSchema>(_list924.size);
-                  FieldSchema _elem925;
-                  for (int _i926 = 0; _i926 < _list924.size; ++_i926)
+                  org.apache.thrift.protocol.TList _list914 = iprot.readListBegin();
+                  struct.success = new ArrayList<FieldSchema>(_list914.size);
+                  FieldSchema _elem915;
+                  for (int _i916 = 0; _i916 < _list914.size; ++_i916)
                   {
-                    _elem925 = new FieldSchema();
-                    _elem925.read(iprot);
-                    struct.success.add(_elem925);
+                    _elem915 = new FieldSchema();
+                    _elem915.read(iprot);
+                    struct.success.add(_elem915);
                   }
                   iprot.readListEnd();
                 }
@@ -45137,9 +44157,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (FieldSchema _iter927 : struct.success)
+            for (FieldSchema _iter917 : struct.success)
             {
-              _iter927.write(oprot);
+              _iter917.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -45194,9 +44214,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (FieldSchema _iter928 : struct.success)
+            for (FieldSchema _iter918 : struct.success)
             {
-              _iter928.write(oprot);
+              _iter918.write(oprot);
             }
           }
         }
@@ -45217,14 +44237,14 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list929 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<FieldSchema>(_list929.size);
-            FieldSchema _elem930;
-            for (int _i931 = 0; _i931 < _list929.size; ++_i931)
+            org.apache.thrift.protocol.TList _list919 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<FieldSchema>(_list919.size);
+            FieldSchema _elem920;
+            for (int _i921 = 0; _i921 < _list919.size; ++_i921)
             {
-              _elem930 = new FieldSchema();
-              _elem930.read(iprot);
-              struct.success.add(_elem930);
+              _elem920 = new FieldSchema();
+              _elem920.read(iprot);
+              struct.success.add(_elem920);
             }
           }
           struct.setSuccessIsSet(true);
@@ -48252,14 +47272,14 @@ import org.slf4j.LoggerFactory;
             case 2: // PRIMARY_KEYS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list932 = iprot.readListBegin();
-                  struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list932.size);
-                  SQLPrimaryKey _elem933;
-                  for (int _i934 = 0; _i934 < _list932.size; ++_i934)
+                  org.apache.thrift.protocol.TList _list922 = iprot.readListBegin();
+                  struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list922.size);
+                  SQLPrimaryKey _elem923;
+                  for (int _i924 = 0; _i924 < _list922.size; ++_i924)
                   {
-                    _elem933 = new SQLPrimaryKey();
-                    _elem933.read(iprot);
-                    struct.primaryKeys.add(_elem933);
+                    _elem923 = new SQLPrimaryKey();
+                    _elem923.read(iprot);
+                    struct.primaryKeys.add(_elem923);
                   }
                   iprot.readListEnd();
                 }
@@ -48271,14 +47291,14 @@ import org.slf4j.LoggerFactory;
             case 3: // FOREIGN_KEYS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list935 = iprot.readListBegin();
-                  struct.foreignKeys = new ArrayList<SQLForeignKey>(_list935.size);
-                  SQLForeignKey _elem936;
-                  for (int _i937 = 0; _i937 < _list935.size; ++_i937)
+                  org.apache.thrift.protocol.TList _list925 = iprot.readListBegin();
+                  struct.foreignKeys = new ArrayList<SQLForeignKey>(_list925.size);
+                  SQLForeignKey _elem926;
+                  for (int _i927 = 0; _i927 < _list925.size; ++_i927)
                   {
-                    _elem936 = new SQLForeignKey();
-                    _elem936.read(iprot);
-                    struct.foreignKeys.add(_elem936);
+                    _elem926 = new SQLForeignKey();
+                    _elem926.read(iprot);
+                    struct.foreignKeys.add(_elem926);
                   }
                   iprot.readListEnd();
                 }
@@ -48290,14 +47310,14 @@ import org.slf4j.LoggerFactory;
             case 4: // UNIQUE_CONSTRAINTS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list938 = iprot.readListBegin();
-                  struct.uniqueConstraints = new ArrayList<SQLUniqueConstraint>(_list938.size);
-                  SQLUniqueConstraint _elem939;
-                  for (int _i940 = 0; _i940 < _list938.size; ++_i940)
+                  org.apache.thrift.protocol.TList _list928 = iprot.readListBegin();
+                  struct.uniqueConstraints = new ArrayList<SQLUniqueConstraint>(_list928.size);
+                  SQLUniqueConstraint _elem929;
+                  for (int _i930 = 0; _i930 < _list928.size; ++_i930)
                   {
-                    _elem939 = new SQLUniqueConstraint();
-                    _elem939.read(iprot);
-                    struct.uniqueConstraints.add(_elem939);
+                    _elem929 = new SQLUniqueConstraint();
+                    _elem929.read(iprot);
+                    struct.uniqueConstraints.add(_elem929);
                   }
                   iprot.readListEnd();
                 }
@@ -48309,14 +47329,14 @@ import org.slf4j.LoggerFactory;
             case 5: // NOT_NULL_CONSTRAINTS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list941 = iprot.readListBegin();
-                  struct.notNullConstraints = new ArrayList<SQLNotNullConstraint>(_list941.size);
-                  SQLNotNullConstraint _elem942;
-                  for (int _i943 = 0; _i943 < _list941.size; ++_i943)
+                  org.apache.thrift.protocol.TList _list931 = iprot.readListBegin();
+                  struct.notNullConstraints = new ArrayList<SQLNotNullConstraint>(_list931.size);
+                  SQLNotNullConstraint _elem932;
+                  for (int _i933 = 0; _i933 < _list931.size; ++_i933)
                   {
-                    _elem942 = new SQLNotNullConstraint();
-                    _elem942.read(iprot);
-                    struct.notNullConstraints.add(_elem942);
+                    _elem932 = new SQLNotNullConstraint();
+                    _elem932.read(iprot);
+                    struct.notNullConstraints.add(_elem932);
                   }
                   iprot.readListEnd();
                 }
@@ -48328,14 +47348,14 @@ import org.slf4j.LoggerFactory;
             case 6: // DEFAULT_CONSTRAINTS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list944 = iprot.readListBegin();
-                  struct.defaultConstraints = new ArrayList<SQLDefaultConstraint>(_list944.size);
-                  SQLDefaultConstraint _elem945;
-                  for (int _i946 = 0; _i946 < _list944.size; ++_i946)
+                  org.apache.thrift.protocol.TList _list934 = iprot.readListBegin();
+                  struct.defaultConstraints = new ArrayList<SQLDefaultConstraint>(_list934.size);
+                  SQLDefaultConstraint _elem935;
+                  for (int _i936 = 0; _i936 < _list934.size; ++_i936)
                   {
-                    _elem945 = new SQLDefaultConstraint();
-                    _elem945.read(iprot);
-                    struct.defaultConstraints.add(_elem945);
+                    _elem935 = new SQLDefaultConstraint();
+                    _elem935.read(iprot);
+                    struct.defaultConstraints.add(_elem935);
                   }
                   iprot.readListEnd();
                 }
@@ -48366,9 +47386,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(PRIMARY_KEYS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.primaryKeys.size()));
-            for (SQLPrimaryKey _iter947 : struct.primaryKeys)
+            for (SQLPrimaryKey _iter937 : struct.primaryKeys)
             {
-              _iter947.write(oprot);
+              _iter937.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -48378,9 +47398,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(FOREIGN_KEYS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.foreignKeys.size()));
-            for (SQLForeignKey _iter948 : struct.foreignKeys)
+            for (SQLForeignKey _iter938 : struct.foreignKeys)
             {
-              _iter948.write(oprot);
+              _iter938.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -48390,9 +47410,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(UNIQUE_CONSTRAINTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.uniqueConstraints.size()));
-            for (SQLUniqueConstraint _iter949 : struct.uniqueConstraints)
+            for (SQLUniqueConstraint _iter939 : struct.uniqueConstraints)
             {
-              _iter949.write(oprot);
+              _iter939.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -48402,9 +47422,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(NOT_NULL_CONSTRAINTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.notNullConstraints.size()));
-            for (SQLNotNullConstraint _iter950 : struct.notNullConstraints)
+            for (SQLNotNullConstraint _iter940 : struct.notNullConstraints)
             {
-              _iter950.write(oprot);
+              _iter940.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -48414,9 +47434,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(DEFAULT_CONSTRAINTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.defaultConstraints.size()));
-            for (SQLDefaultConstraint _iter951 : struct.defaultConstraints)
+            for (SQLDefaultConstraint _iter941 : struct.defaultConstraints)
             {
-              _iter951.write(oprot);
+              _iter941.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -48465,45 +47485,45 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetPrimaryKeys()) {
           {
             oprot.writeI32(struct.primaryKeys.size());
-            for (SQLPrimaryKey _iter952 : struct.primaryKeys)
+            for (SQLPrimaryKey _iter942 : struct.primaryKeys)
             {
-              _iter952.write(oprot);
+              _iter942.write(oprot);
             }
           }
         }
         if (struct.isSetForeignKeys()) {
           {
             oprot.writeI32(struct.foreignKeys.size());
-            for (SQLForeignKey _iter953 : struct.foreignKeys)
+            for (SQLForeignKey _iter943 : struct.foreignKeys)
             {
-              _iter953.write(oprot);
+              _iter943.write(oprot);
             }
           }
         }
         if (struct.isSetUniqueConstraints()) {
           {
             oprot.writeI32(struct.uniqueConstraints.size());
-            for (SQLUniqueConstraint _iter954 : struct.uniqueConstraints)
+            for (SQLUniqueConstraint _iter944 : struct.uniqueConstraints)
             {
-              _iter954.write(oprot);
+              _iter944.write(oprot);
             }
           }
         }
         if (struct.isSetNotNullConstraints()) {
           {
             oprot.writeI32(struct.notNullConstraints.size());
-            for (SQLNotNullConstraint _iter955 : struct.notNullConstraints)
+            for (SQLNotNullConstraint _iter945 : struct.notNullConstraints)
             {
-              _iter955.write(oprot);
+              _iter945.write(oprot);
             }
           }
         }
         if (struct.isSetDefaultConstraints()) {
           {
             oprot.writeI32(struct.defaultConstraints.size());
-            for (SQLDefaultConstraint _iter956 : struct.defaultConstraints)
+            for (SQLDefaultConstraint _iter946 : struct.defaultConstraints)
             {
-              _iter956.write(oprot);
+              _iter946.write(oprot);
             }
           }
         }
@@ -48520,70 +47540,70 @@ import org.slf4j.LoggerFactory;
         }
         if (incoming.get(1)) {
           {
-            org.apache.thrift.protocol.TList _list957 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list957.size);
-            SQLPrimaryKey _elem958;
-            for (int _i959 = 0; _i959 < _list957.size; ++_i959)
+            org.apache.thrift.protocol.TList _list947 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list947.size);
+            SQLPrimaryKey _elem948;
+            for (int _i949 = 0; _i949 < _list947.size; ++_i949)
             {
-              _elem958 = new SQLPrimaryKey();
-              _elem958.read(iprot);
-              struct.primaryKeys.add(_elem958);
+              _elem948 = new SQLPrimaryKey();
+              _elem948.read(iprot);
+              struct.primaryKeys.add(_elem948);
             }
           }
           struct.setPrimaryKeysIsSet(true);
         }
         if (incoming.get(2)) {
           {
-            org.apache.thrift.protocol.TList _list960 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.foreignKeys = new ArrayList<SQLForeignKey>(_list960.size);
-            SQLForeignKey _elem961;
-            for (int _i962 = 0; _i962 < _list960.size; ++_i962)
+            org.apache.thrift.protocol.TList _list950 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.foreignKeys = new ArrayList<SQLForeignKey>(_list950.size);
+            SQLForeignKey _elem9

<TRUNCATED>

[12/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php b/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
index 57b6bfa..02242a7 100644
--- a/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
+++ b/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
@@ -753,60 +753,6 @@ interface ThriftHiveMetastoreIf extends \FacebookServiceIf {
    */
   public function isPartitionMarkedForEvent($db_name, $tbl_name, array $part_vals, $eventType);
   /**
-   * @param \metastore\Index $new_index
-   * @param \metastore\Table $index_table
-   * @return \metastore\Index
-   * @throws \metastore\InvalidObjectException
-   * @throws \metastore\AlreadyExistsException
-   * @throws \metastore\MetaException
-   */
-  public function add_index(\metastore\Index $new_index, \metastore\Table $index_table);
-  /**
-   * @param string $dbname
-   * @param string $base_tbl_name
-   * @param string $idx_name
-   * @param \metastore\Index $new_idx
-   * @throws \metastore\InvalidOperationException
-   * @throws \metastore\MetaException
-   */
-  public function alter_index($dbname, $base_tbl_name, $idx_name, \metastore\Index $new_idx);
-  /**
-   * @param string $db_name
-   * @param string $tbl_name
-   * @param string $index_name
-   * @param bool $deleteData
-   * @return bool
-   * @throws \metastore\NoSuchObjectException
-   * @throws \metastore\MetaException
-   */
-  public function drop_index_by_name($db_name, $tbl_name, $index_name, $deleteData);
-  /**
-   * @param string $db_name
-   * @param string $tbl_name
-   * @param string $index_name
-   * @return \metastore\Index
-   * @throws \metastore\MetaException
-   * @throws \metastore\NoSuchObjectException
-   */
-  public function get_index_by_name($db_name, $tbl_name, $index_name);
-  /**
-   * @param string $db_name
-   * @param string $tbl_name
-   * @param int $max_indexes
-   * @return \metastore\Index[]
-   * @throws \metastore\NoSuchObjectException
-   * @throws \metastore\MetaException
-   */
-  public function get_indexes($db_name, $tbl_name, $max_indexes);
-  /**
-   * @param string $db_name
-   * @param string $tbl_name
-   * @param int $max_indexes
-   * @return string[]
-   * @throws \metastore\MetaException
-   */
-  public function get_index_names($db_name, $tbl_name, $max_indexes);
-  /**
    * @param \metastore\PrimaryKeysRequest $request
    * @return \metastore\PrimaryKeysResponse
    * @throws \metastore\MetaException
@@ -6463,358 +6409,6 @@ class ThriftHiveMetastoreClient extends \FacebookServiceClient implements \metas
     throw new \Exception("isPartitionMarkedForEvent failed: unknown result");
   }
 
-  public function add_index(\metastore\Index $new_index, \metastore\Table $index_table)
-  {
-    $this->send_add_index($new_index, $index_table);
-    return $this->recv_add_index();
-  }
-
-  public function send_add_index(\metastore\Index $new_index, \metastore\Table $index_table)
-  {
-    $args = new \metastore\ThriftHiveMetastore_add_index_args();
-    $args->new_index = $new_index;
-    $args->index_table = $index_table;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'add_index', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('add_index', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_add_index()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_add_index_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \metastore\ThriftHiveMetastore_add_index_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->o1 !== null) {
-      throw $result->o1;
-    }
-    if ($result->o2 !== null) {
-      throw $result->o2;
-    }
-    if ($result->o3 !== null) {
-      throw $result->o3;
-    }
-    throw new \Exception("add_index failed: unknown result");
-  }
-
-  public function alter_index($dbname, $base_tbl_name, $idx_name, \metastore\Index $new_idx)
-  {
-    $this->send_alter_index($dbname, $base_tbl_name, $idx_name, $new_idx);
-    $this->recv_alter_index();
-  }
-
-  public function send_alter_index($dbname, $base_tbl_name, $idx_name, \metastore\Index $new_idx)
-  {
-    $args = new \metastore\ThriftHiveMetastore_alter_index_args();
-    $args->dbname = $dbname;
-    $args->base_tbl_name = $base_tbl_name;
-    $args->idx_name = $idx_name;
-    $args->new_idx = $new_idx;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'alter_index', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('alter_index', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_alter_index()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_alter_index_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \metastore\ThriftHiveMetastore_alter_index_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->o1 !== null) {
-      throw $result->o1;
-    }
-    if ($result->o2 !== null) {
-      throw $result->o2;
-    }
-    return;
-  }
-
-  public function drop_index_by_name($db_name, $tbl_name, $index_name, $deleteData)
-  {
-    $this->send_drop_index_by_name($db_name, $tbl_name, $index_name, $deleteData);
-    return $this->recv_drop_index_by_name();
-  }
-
-  public function send_drop_index_by_name($db_name, $tbl_name, $index_name, $deleteData)
-  {
-    $args = new \metastore\ThriftHiveMetastore_drop_index_by_name_args();
-    $args->db_name = $db_name;
-    $args->tbl_name = $tbl_name;
-    $args->index_name = $index_name;
-    $args->deleteData = $deleteData;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'drop_index_by_name', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('drop_index_by_name', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_drop_index_by_name()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_drop_index_by_name_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \metastore\ThriftHiveMetastore_drop_index_by_name_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->o1 !== null) {
-      throw $result->o1;
-    }
-    if ($result->o2 !== null) {
-      throw $result->o2;
-    }
-    throw new \Exception("drop_index_by_name failed: unknown result");
-  }
-
-  public function get_index_by_name($db_name, $tbl_name, $index_name)
-  {
-    $this->send_get_index_by_name($db_name, $tbl_name, $index_name);
-    return $this->recv_get_index_by_name();
-  }
-
-  public function send_get_index_by_name($db_name, $tbl_name, $index_name)
-  {
-    $args = new \metastore\ThriftHiveMetastore_get_index_by_name_args();
-    $args->db_name = $db_name;
-    $args->tbl_name = $tbl_name;
-    $args->index_name = $index_name;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'get_index_by_name', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('get_index_by_name', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_get_index_by_name()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_get_index_by_name_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \metastore\ThriftHiveMetastore_get_index_by_name_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->o1 !== null) {
-      throw $result->o1;
-    }
-    if ($result->o2 !== null) {
-      throw $result->o2;
-    }
-    throw new \Exception("get_index_by_name failed: unknown result");
-  }
-
-  public function get_indexes($db_name, $tbl_name, $max_indexes)
-  {
-    $this->send_get_indexes($db_name, $tbl_name, $max_indexes);
-    return $this->recv_get_indexes();
-  }
-
-  public function send_get_indexes($db_name, $tbl_name, $max_indexes)
-  {
-    $args = new \metastore\ThriftHiveMetastore_get_indexes_args();
-    $args->db_name = $db_name;
-    $args->tbl_name = $tbl_name;
-    $args->max_indexes = $max_indexes;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'get_indexes', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('get_indexes', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_get_indexes()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_get_indexes_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \metastore\ThriftHiveMetastore_get_indexes_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->o1 !== null) {
-      throw $result->o1;
-    }
-    if ($result->o2 !== null) {
-      throw $result->o2;
-    }
-    throw new \Exception("get_indexes failed: unknown result");
-  }
-
-  public function get_index_names($db_name, $tbl_name, $max_indexes)
-  {
-    $this->send_get_index_names($db_name, $tbl_name, $max_indexes);
-    return $this->recv_get_index_names();
-  }
-
-  public function send_get_index_names($db_name, $tbl_name, $max_indexes)
-  {
-    $args = new \metastore\ThriftHiveMetastore_get_index_names_args();
-    $args->db_name = $db_name;
-    $args->tbl_name = $tbl_name;
-    $args->max_indexes = $max_indexes;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'get_index_names', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('get_index_names', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_get_index_names()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_get_index_names_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \metastore\ThriftHiveMetastore_get_index_names_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->o2 !== null) {
-      throw $result->o2;
-    }
-    throw new \Exception("get_index_names failed: unknown result");
-  }
-
   public function get_primary_keys(\metastore\PrimaryKeysRequest $request)
   {
     $this->send_get_primary_keys($request);
@@ -13190,14 +12784,14 @@ class ThriftHiveMetastore_get_databases_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size773 = 0;
-            $_etype776 = 0;
-            $xfer += $input->readListBegin($_etype776, $_size773);
-            for ($_i777 = 0; $_i777 < $_size773; ++$_i777)
+            $_size764 = 0;
+            $_etype767 = 0;
+            $xfer += $input->readListBegin($_etype767, $_size764);
+            for ($_i768 = 0; $_i768 < $_size764; ++$_i768)
             {
-              $elem778 = null;
-              $xfer += $input->readString($elem778);
-              $this->success []= $elem778;
+              $elem769 = null;
+              $xfer += $input->readString($elem769);
+              $this->success []= $elem769;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -13233,9 +12827,9 @@ class ThriftHiveMetastore_get_databases_result {
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter779)
+          foreach ($this->success as $iter770)
           {
-            $xfer += $output->writeString($iter779);
+            $xfer += $output->writeString($iter770);
           }
         }
         $output->writeListEnd();
@@ -13366,14 +12960,14 @@ class ThriftHiveMetastore_get_all_databases_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size780 = 0;
-            $_etype783 = 0;
-            $xfer += $input->readListBegin($_etype783, $_size780);
-            for ($_i784 = 0; $_i784 < $_size780; ++$_i784)
+            $_size771 = 0;
+            $_etype774 = 0;
+            $xfer += $input->readListBegin($_etype774, $_size771);
+            for ($_i775 = 0; $_i775 < $_size771; ++$_i775)
             {
-              $elem785 = null;
-              $xfer += $input->readString($elem785);
-              $this->success []= $elem785;
+              $elem776 = null;
+              $xfer += $input->readString($elem776);
+              $this->success []= $elem776;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -13409,9 +13003,9 @@ class ThriftHiveMetastore_get_all_databases_result {
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter786)
+          foreach ($this->success as $iter777)
           {
-            $xfer += $output->writeString($iter786);
+            $xfer += $output->writeString($iter777);
           }
         }
         $output->writeListEnd();
@@ -14412,18 +14006,18 @@ class ThriftHiveMetastore_get_type_all_result {
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size787 = 0;
-            $_ktype788 = 0;
-            $_vtype789 = 0;
-            $xfer += $input->readMapBegin($_ktype788, $_vtype789, $_size787);
-            for ($_i791 = 0; $_i791 < $_size787; ++$_i791)
+            $_size778 = 0;
+            $_ktype779 = 0;
+            $_vtype780 = 0;
+            $xfer += $input->readMapBegin($_ktype779, $_vtype780, $_size778);
+            for ($_i782 = 0; $_i782 < $_size778; ++$_i782)
             {
-              $key792 = '';
-              $val793 = new \metastore\Type();
-              $xfer += $input->readString($key792);
-              $val793 = new \metastore\Type();
-              $xfer += $val793->read($input);
-              $this->success[$key792] = $val793;
+              $key783 = '';
+              $val784 = new \metastore\Type();
+              $xfer += $input->readString($key783);
+              $val784 = new \metastore\Type();
+              $xfer += $val784->read($input);
+              $this->success[$key783] = $val784;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -14459,10 +14053,10 @@ class ThriftHiveMetastore_get_type_all_result {
       {
         $output->writeMapBegin(TType::STRING, TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $kiter794 => $viter795)
+          foreach ($this->success as $kiter785 => $viter786)
           {
-            $xfer += $output->writeString($kiter794);
-            $xfer += $viter795->write($output);
+            $xfer += $output->writeString($kiter785);
+            $xfer += $viter786->write($output);
           }
         }
         $output->writeMapEnd();
@@ -14666,15 +14260,15 @@ class ThriftHiveMetastore_get_fields_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size796 = 0;
-            $_etype799 = 0;
-            $xfer += $input->readListBegin($_etype799, $_size796);
-            for ($_i800 = 0; $_i800 < $_size796; ++$_i800)
+            $_size787 = 0;
+            $_etype790 = 0;
+            $xfer += $input->readListBegin($_etype790, $_size787);
+            for ($_i791 = 0; $_i791 < $_size787; ++$_i791)
             {
-              $elem801 = null;
-              $elem801 = new \metastore\FieldSchema();
-              $xfer += $elem801->read($input);
-              $this->success []= $elem801;
+              $elem792 = null;
+              $elem792 = new \metastore\FieldSchema();
+              $xfer += $elem792->read($input);
+              $this->success []= $elem792;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -14726,9 +14320,9 @@ class ThriftHiveMetastore_get_fields_result {
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter802)
+          foreach ($this->success as $iter793)
           {
-            $xfer += $iter802->write($output);
+            $xfer += $iter793->write($output);
           }
         }
         $output->writeListEnd();
@@ -14970,15 +14564,15 @@ class ThriftHiveMetastore_get_fields_with_environment_context_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size803 = 0;
-            $_etype806 = 0;
-            $xfer += $input->readListBegin($_etype806, $_size803);
-            for ($_i807 = 0; $_i807 < $_size803; ++$_i807)
+            $_size794 = 0;
+            $_etype797 = 0;
+            $xfer += $input->readListBegin($_etype797, $_size794);
+            for ($_i798 = 0; $_i798 < $_size794; ++$_i798)
             {
-              $elem808 = null;
-              $elem808 = new \metastore\FieldSchema();
-              $xfer += $elem808->read($input);
-              $this->success []= $elem808;
+              $elem799 = null;
+              $elem799 = new \metastore\FieldSchema();
+              $xfer += $elem799->read($input);
+              $this->success []= $elem799;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -15030,9 +14624,9 @@ class ThriftHiveMetastore_get_fields_with_environment_context_result {
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter809)
+          foreach ($this->success as $iter800)
           {
-            $xfer += $iter809->write($output);
+            $xfer += $iter800->write($output);
           }
         }
         $output->writeListEnd();
@@ -15246,15 +14840,15 @@ class ThriftHiveMetastore_get_schema_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size810 = 0;
-            $_etype813 = 0;
-            $xfer += $input->readListBegin($_etype813, $_size810);
-            for ($_i814 = 0; $_i814 < $_size810; ++$_i814)
+            $_size801 = 0;
+            $_etype804 = 0;
+            $xfer += $input->readListBegin($_etype804, $_size801);
+            for ($_i805 = 0; $_i805 < $_size801; ++$_i805)
             {
-              $elem815 = null;
-              $elem815 = new \metastore\FieldSchema();
-              $xfer += $elem815->read($input);
-              $this->success []= $elem815;
+              $elem806 = null;
+              $elem806 = new \metastore\FieldSchema();
+              $xfer += $elem806->read($input);
+              $this->success []= $elem806;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -15306,9 +14900,9 @@ class ThriftHiveMetastore_get_schema_result {
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter816)
+          foreach ($this->success as $iter807)
           {
-            $xfer += $iter816->write($output);
+            $xfer += $iter807->write($output);
           }
         }
         $output->writeListEnd();
@@ -15550,15 +15144,15 @@ class ThriftHiveMetastore_get_schema_with_environment_context_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size817 = 0;
-            $_etype820 = 0;
-            $xfer += $input->readListBegin($_etype820, $_size817);
-            for ($_i821 = 0; $_i821 < $_size817; ++$_i821)
+            $_size808 = 0;
+            $_etype811 = 0;
+            $xfer += $input->readListBegin($_etype811, $_size808);
+            for ($_i812 = 0; $_i812 < $_size808; ++$_i812)
             {
-              $elem822 = null;
-              $elem822 = new \metastore\FieldSchema();
-              $xfer += $elem822->read($input);
-              $this->success []= $elem822;
+              $elem813 = null;
+              $elem813 = new \metastore\FieldSchema();
+              $xfer += $elem813->read($input);
+              $this->success []= $elem813;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -15610,9 +15204,9 @@ class ThriftHiveMetastore_get_schema_with_environment_context_result {
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter823)
+          foreach ($this->success as $iter814)
           {
-            $xfer += $iter823->write($output);
+            $xfer += $iter814->write($output);
           }
         }
         $output->writeListEnd();
@@ -16268,15 +15862,15 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
         case 2:
           if ($ftype == TType::LST) {
             $this->primaryKeys = array();
-            $_size824 = 0;
-            $_etype827 = 0;
-            $xfer += $input->readListBegin($_etype827, $_size824);
-            for ($_i828 = 0; $_i828 < $_size824; ++$_i828)
+            $_size815 = 0;
+            $_etype818 = 0;
+            $xfer += $input->readListBegin($_etype818, $_size815);
+            for ($_i819 = 0; $_i819 < $_size815; ++$_i819)
             {
-              $elem829 = null;
-              $elem829 = new \metastore\SQLPrimaryKey();
-              $xfer += $elem829->read($input);
-              $this->primaryKeys []= $elem829;
+              $elem820 = null;
+              $elem820 = new \metastore\SQLPrimaryKey();
+              $xfer += $elem820->read($input);
+              $this->primaryKeys []= $elem820;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -16286,15 +15880,15 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->foreignKeys = array();
-            $_size830 = 0;
-            $_etype833 = 0;
-            $xfer += $input->readListBegin($_etype833, $_size830);
-            for ($_i834 = 0; $_i834 < $_size830; ++$_i834)
+            $_size821 = 0;
+            $_etype824 = 0;
+            $xfer += $input->readListBegin($_etype824, $_size821);
+            for ($_i825 = 0; $_i825 < $_size821; ++$_i825)
             {
-              $elem835 = null;
-              $elem835 = new \metastore\SQLForeignKey();
-              $xfer += $elem835->read($input);
-              $this->foreignKeys []= $elem835;
+              $elem826 = null;
+              $elem826 = new \metastore\SQLForeignKey();
+              $xfer += $elem826->read($input);
+              $this->foreignKeys []= $elem826;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -16304,15 +15898,15 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
         case 4:
           if ($ftype == TType::LST) {
             $this->uniqueConstraints = array();
-            $_size836 = 0;
-            $_etype839 = 0;
-            $xfer += $input->readListBegin($_etype839, $_size836);
-            for ($_i840 = 0; $_i840 < $_size836; ++$_i840)
+            $_size827 = 0;
+            $_etype830 = 0;
+            $xfer += $input->readListBegin($_etype830, $_size827);
+            for ($_i831 = 0; $_i831 < $_size827; ++$_i831)
             {
-              $elem841 = null;
-              $elem841 = new \metastore\SQLUniqueConstraint();
-              $xfer += $elem841->read($input);
-              $this->uniqueConstraints []= $elem841;
+              $elem832 = null;
+              $elem832 = new \metastore\SQLUniqueConstraint();
+              $xfer += $elem832->read($input);
+              $this->uniqueConstraints []= $elem832;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -16322,15 +15916,15 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
         case 5:
           if ($ftype == TType::LST) {
             $this->notNullConstraints = array();
-            $_size842 = 0;
-            $_etype845 = 0;
-            $xfer += $input->readListBegin($_etype845, $_size842);
-            for ($_i846 = 0; $_i846 < $_size842; ++$_i846)
+            $_size833 = 0;
+            $_etype836 = 0;
+            $xfer += $input->readListBegin($_etype836, $_size833);
+            for ($_i837 = 0; $_i837 < $_size833; ++$_i837)
             {
-              $elem847 = null;
-              $elem847 = new \metastore\SQLNotNullConstraint();
-              $xfer += $elem847->read($input);
-              $this->notNullConstraints []= $elem847;
+              $elem838 = null;
+              $elem838 = new \metastore\SQLNotNullConstraint();
+              $xfer += $elem838->read($input);
+              $this->notNullConstraints []= $elem838;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -16340,15 +15934,15 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
         case 6:
           if ($ftype == TType::LST) {
             $this->defaultConstraints = array();
-            $_size848 = 0;
-            $_etype851 = 0;
-            $xfer += $input->readListBegin($_etype851, $_size848);
-            for ($_i852 = 0; $_i852 < $_size848; ++$_i852)
+            $_size839 = 0;
+            $_etype842 = 0;
+            $xfer += $input->readListBegin($_etype842, $_size839);
+            for ($_i843 = 0; $_i843 < $_size839; ++$_i843)
             {
-              $elem853 = null;
-              $elem853 = new \metastore\SQLDefaultConstraint();
-              $xfer += $elem853->read($input);
-              $this->defaultConstraints []= $elem853;
+              $elem844 = null;
+              $elem844 = new \metastore\SQLDefaultConstraint();
+              $xfer += $elem844->read($input);
+              $this->defaultConstraints []= $elem844;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -16384,9 +15978,9 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
       {
         $output->writeListBegin(TType::STRUCT, count($this->primaryKeys));
         {
-          foreach ($this->primaryKeys as $iter854)
+          foreach ($this->primaryKeys as $iter845)
           {
-            $xfer += $iter854->write($output);
+            $xfer += $iter845->write($output);
           }
         }
         $output->writeListEnd();
@@ -16401,9 +15995,9 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
       {
         $output->writeListBegin(TType::STRUCT, count($this->foreignKeys));
         {
-          foreach ($this->foreignKeys as $iter855)
+          foreach ($this->foreignKeys as $iter846)
           {
-            $xfer += $iter855->write($output);
+            $xfer += $iter846->write($output);
           }
         }
         $output->writeListEnd();
@@ -16418,9 +16012,9 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
       {
         $output->writeListBegin(TType::STRUCT, count($this->uniqueConstraints));
         {
-          foreach ($this->uniqueConstraints as $iter856)
+          foreach ($this->uniqueConstraints as $iter847)
           {
-            $xfer += $iter856->write($output);
+            $xfer += $iter847->write($output);
           }
         }
         $output->writeListEnd();
@@ -16435,9 +16029,9 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
       {
         $output->writeListBegin(TType::STRUCT, count($this->notNullConstraints));
         {
-          foreach ($this->notNullConstraints as $iter857)
+          foreach ($this->notNullConstraints as $iter848)
           {
-            $xfer += $iter857->write($output);
+            $xfer += $iter848->write($output);
           }
         }
         $output->writeListEnd();
@@ -16452,9 +16046,9 @@ class ThriftHiveMetastore_create_table_with_constraints_args {
       {
         $output->writeListBegin(TType::STRUCT, count($this->defaultConstraints));
         {
-          foreach ($this->defaultConstraints as $iter858)
+          foreach ($this->defaultConstraints as $iter849)
           {
-            $xfer += $iter858->write($output);
+            $xfer += $iter849->write($output);
           }
         }
         $output->writeListEnd();
@@ -18272,14 +17866,14 @@ class ThriftHiveMetastore_truncate_table_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->partNames = array();
-            $_size859 = 0;
-            $_etype862 = 0;
-            $xfer += $input->readListBegin($_etype862, $_size859);
-            for ($_i863 = 0; $_i863 < $_size859; ++$_i863)
+            $_size850 = 0;
+            $_etype853 = 0;
+            $xfer += $input->readListBegin($_etype853, $_size850);
+            for ($_i854 = 0; $_i854 < $_size850; ++$_i854)
             {
-              $elem864 = null;
-              $xfer += $input->readString($elem864);
-              $this->partNames []= $elem864;
+              $elem855 = null;
+              $xfer += $input->readString($elem855);
+              $this->partNames []= $elem855;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -18317,9 +17911,9 @@ class ThriftHiveMetastore_truncate_table_args {
       {
         $output->writeListBegin(TType::STRING, count($this->partNames));
         {
-          foreach ($this->partNames as $iter865)
+          foreach ($this->partNames as $iter856)
           {
-            $xfer += $output->writeString($iter865);
+            $xfer += $output->writeString($iter856);
           }
         }
         $output->writeListEnd();
@@ -18570,14 +18164,14 @@ class ThriftHiveMetastore_get_tables_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size866 = 0;
-            $_etype869 = 0;
-            $xfer += $input->readListBegin($_etype869, $_size866);
-            for ($_i870 = 0; $_i870 < $_size866; ++$_i870)
+            $_size857 = 0;
+            $_etype860 = 0;
+            $xfer += $input->readListBegin($_etype860, $_size857);
+            for ($_i861 = 0; $_i861 < $_size857; ++$_i861)
             {
-              $elem871 = null;
-              $xfer += $input->readString($elem871);
-              $this->success []= $elem871;
+              $elem862 = null;
+              $xfer += $input->readString($elem862);
+              $this->success []= $elem862;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -18613,9 +18207,9 @@ class ThriftHiveMetastore_get_tables_result {
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter872)
+          foreach ($this->success as $iter863)
           {
-            $xfer += $output->writeString($iter872);
+            $xfer += $output->writeString($iter863);
           }
         }
         $output->writeListEnd();
@@ -18817,14 +18411,14 @@ class ThriftHiveMetastore_get_tables_by_type_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size873 = 0;
-            $_etype876 = 0;
-            $xfer += $input->readListBegin($_etype876, $_size873);
-            for ($_i877 = 0; $_i877 < $_size873; ++$_i877)
+            $_size864 = 0;
+            $_etype867 = 0;
+            $xfer += $input->readListBegin($_etype867, $_size864);
+            for ($_i868 = 0; $_i868 < $_size864; ++$_i868)
             {
-              $elem878 = null;
-              $xfer += $input->readString($elem878);
-              $this->success []= $elem878;
+              $elem869 = null;
+              $xfer += $input->readString($elem869);
+              $this->success []= $elem869;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -18860,9 +18454,9 @@ class ThriftHiveMetastore_get_tables_by_type_result {
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter879)
+          foreach ($this->success as $iter870)
           {
-            $xfer += $output->writeString($iter879);
+            $xfer += $output->writeString($iter870);
           }
         }
         $output->writeListEnd();
@@ -19018,14 +18612,14 @@ class ThriftHiveMetastore_get_materialized_views_for_rewriting_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size880 = 0;
-            $_etype883 = 0;
-            $xfer += $input->readListBegin($_etype883, $_size880);
-            for ($_i884 = 0; $_i884 < $_size880; ++$_i884)
+            $_size871 = 0;
+            $_etype874 = 0;
+            $xfer += $input->readListBegin($_etype874, $_size871);
+            for ($_i875 = 0; $_i875 < $_size871; ++$_i875)
             {
-              $elem885 = null;
-              $xfer += $input->readString($elem885);
-              $this->success []= $elem885;
+              $elem876 = null;
+              $xfer += $input->readString($elem876);
+              $this->success []= $elem876;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19061,9 +18655,9 @@ class ThriftHiveMetastore_get_materialized_views_for_rewriting_result {
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter886)
+          foreach ($this->success as $iter877)
           {
-            $xfer += $output->writeString($iter886);
+            $xfer += $output->writeString($iter877);
           }
         }
         $output->writeListEnd();
@@ -19168,14 +18762,14 @@ class ThriftHiveMetastore_get_table_meta_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->tbl_types = array();
-            $_size887 = 0;
-            $_etype890 = 0;
-            $xfer += $input->readListBegin($_etype890, $_size887);
-            for ($_i891 = 0; $_i891 < $_size887; ++$_i891)
+            $_size878 = 0;
+            $_etype881 = 0;
+            $xfer += $input->readListBegin($_etype881, $_size878);
+            for ($_i882 = 0; $_i882 < $_size878; ++$_i882)
             {
-              $elem892 = null;
-              $xfer += $input->readString($elem892);
-              $this->tbl_types []= $elem892;
+              $elem883 = null;
+              $xfer += $input->readString($elem883);
+              $this->tbl_types []= $elem883;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19213,9 +18807,9 @@ class ThriftHiveMetastore_get_table_meta_args {
       {
         $output->writeListBegin(TType::STRING, count($this->tbl_types));
         {
-          foreach ($this->tbl_types as $iter893)
+          foreach ($this->tbl_types as $iter884)
           {
-            $xfer += $output->writeString($iter893);
+            $xfer += $output->writeString($iter884);
           }
         }
         $output->writeListEnd();
@@ -19292,15 +18886,15 @@ class ThriftHiveMetastore_get_table_meta_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size894 = 0;
-            $_etype897 = 0;
-            $xfer += $input->readListBegin($_etype897, $_size894);
-            for ($_i898 = 0; $_i898 < $_size894; ++$_i898)
+            $_size885 = 0;
+            $_etype888 = 0;
+            $xfer += $input->readListBegin($_etype888, $_size885);
+            for ($_i889 = 0; $_i889 < $_size885; ++$_i889)
             {
-              $elem899 = null;
-              $elem899 = new \metastore\TableMeta();
-              $xfer += $elem899->read($input);
-              $this->success []= $elem899;
+              $elem890 = null;
+              $elem890 = new \metastore\TableMeta();
+              $xfer += $elem890->read($input);
+              $this->success []= $elem890;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19336,9 +18930,9 @@ class ThriftHiveMetastore_get_table_meta_result {
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter900)
+          foreach ($this->success as $iter891)
           {
-            $xfer += $iter900->write($output);
+            $xfer += $iter891->write($output);
           }
         }
         $output->writeListEnd();
@@ -19494,14 +19088,14 @@ class ThriftHiveMetastore_get_all_tables_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size901 = 0;
-            $_etype904 = 0;
-            $xfer += $input->readListBegin($_etype904, $_size901);
-            for ($_i905 = 0; $_i905 < $_size901; ++$_i905)
+            $_size892 = 0;
+            $_etype895 = 0;
+            $xfer += $input->readListBegin($_etype895, $_size892);
+            for ($_i896 = 0; $_i896 < $_size892; ++$_i896)
             {
-              $elem906 = null;
-              $xfer += $input->readString($elem906);
-              $this->success []= $elem906;
+              $elem897 = null;
+              $xfer += $input->readString($elem897);
+              $this->success []= $elem897;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19537,9 +19131,9 @@ class ThriftHiveMetastore_get_all_tables_result {
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter907)
+          foreach ($this->success as $iter898)
           {
-            $xfer += $output->writeString($iter907);
+            $xfer += $output->writeString($iter898);
           }
         }
         $output->writeListEnd();
@@ -19854,14 +19448,14 @@ class ThriftHiveMetastore_get_table_objects_by_name_args {
         case 2:
           if ($ftype == TType::LST) {
             $this->tbl_names = array();
-            $_size908 = 0;
-            $_etype911 = 0;
-            $xfer += $input->readListBegin($_etype911, $_size908);
-            for ($_i912 = 0; $_i912 < $_size908; ++$_i912)
+            $_size899 = 0;
+            $_etype902 = 0;
+            $xfer += $input->readListBegin($_etype902, $_size899);
+            for ($_i903 = 0; $_i903 < $_size899; ++$_i903)
             {
-              $elem913 = null;
-              $xfer += $input->readString($elem913);
-              $this->tbl_names []= $elem913;
+              $elem904 = null;
+              $xfer += $input->readString($elem904);
+              $this->tbl_names []= $elem904;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19894,9 +19488,9 @@ class ThriftHiveMetastore_get_table_objects_by_name_args {
       {
         $output->writeListBegin(TType::STRING, count($this->tbl_names));
         {
-          foreach ($this->tbl_names as $iter914)
+          foreach ($this->tbl_names as $iter905)
           {
-            $xfer += $output->writeString($iter914);
+            $xfer += $output->writeString($iter905);
           }
         }
         $output->writeListEnd();
@@ -19961,15 +19555,15 @@ class ThriftHiveMetastore_get_table_objects_by_name_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size915 = 0;
-            $_etype918 = 0;
-            $xfer += $input->readListBegin($_etype918, $_size915);
-            for ($_i919 = 0; $_i919 < $_size915; ++$_i919)
+            $_size906 = 0;
+            $_etype909 = 0;
+            $xfer += $input->readListBegin($_etype909, $_size906);
+            for ($_i910 = 0; $_i910 < $_size906; ++$_i910)
             {
-              $elem920 = null;
-              $elem920 = new \metastore\Table();
-              $xfer += $elem920->read($input);
-              $this->success []= $elem920;
+              $elem911 = null;
+              $elem911 = new \metastore\Table();
+              $xfer += $elem911->read($input);
+              $this->success []= $elem911;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -19997,9 +19591,9 @@ class ThriftHiveMetastore_get_table_objects_by_name_result {
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter921)
+          foreach ($this->success as $iter912)
           {
-            $xfer += $iter921->write($output);
+            $xfer += $iter912->write($output);
           }
         }
         $output->writeListEnd();
@@ -20526,14 +20120,14 @@ class ThriftHiveMetastore_get_materialization_invalidation_info_args {
         case 2:
           if ($ftype == TType::LST) {
             $this->tbl_names = array();
-            $_size922 = 0;
-            $_etype925 = 0;
-            $xfer += $input->readListBegin($_etype925, $_size922);
-            for ($_i926 = 0; $_i926 < $_size922; ++$_i926)
+            $_size913 = 0;
+            $_etype916 = 0;
+            $xfer += $input->readListBegin($_etype916, $_size913);
+            for ($_i917 = 0; $_i917 < $_size913; ++$_i917)
             {
-              $elem927 = null;
-              $xfer += $input->readString($elem927);
-              $this->tbl_names []= $elem927;
+              $elem918 = null;
+              $xfer += $input->readString($elem918);
+              $this->tbl_names []= $elem918;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -20566,9 +20160,9 @@ class ThriftHiveMetastore_get_materialization_invalidation_info_args {
       {
         $output->writeListBegin(TType::STRING, count($this->tbl_names));
         {
-          foreach ($this->tbl_names as $iter928)
+          foreach ($this->tbl_names as $iter919)
           {
-            $xfer += $output->writeString($iter928);
+            $xfer += $output->writeString($iter919);
           }
         }
         $output->writeListEnd();
@@ -20673,18 +20267,18 @@ class ThriftHiveMetastore_get_materialization_invalidation_info_result {
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size929 = 0;
-            $_ktype930 = 0;
-            $_vtype931 = 0;
-            $xfer += $input->readMapBegin($_ktype930, $_vtype931, $_size929);
-            for ($_i933 = 0; $_i933 < $_size929; ++$_i933)
+            $_size920 = 0;
+            $_ktype921 = 0;
+            $_vtype922 = 0;
+            $xfer += $input->readMapBegin($_ktype921, $_vtype922, $_size920);
+            for ($_i924 = 0; $_i924 < $_size920; ++$_i924)
             {
-              $key934 = '';
-              $val935 = new \metastore\Materialization();
-              $xfer += $input->readString($key934);
-              $val935 = new \metastore\Materialization();
-              $xfer += $val935->read($input);
-              $this->success[$key934] = $val935;
+              $key925 = '';
+              $val926 = new \metastore\Materialization();
+              $xfer += $input->readString($key925);
+              $val926 = new \metastore\Materialization();
+              $xfer += $val926->read($input);
+              $this->success[$key925] = $val926;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -20736,10 +20330,10 @@ class ThriftHiveMetastore_get_materialization_invalidation_info_result {
       {
         $output->writeMapBegin(TType::STRING, TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $kiter936 => $viter937)
+          foreach ($this->success as $kiter927 => $viter928)
           {
-            $xfer += $output->writeString($kiter936);
-            $xfer += $viter937->write($output);
+            $xfer += $output->writeString($kiter927);
+            $xfer += $viter928->write($output);
           }
         }
         $output->writeMapEnd();
@@ -21228,14 +20822,14 @@ class ThriftHiveMetastore_get_table_names_by_filter_result {
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size938 = 0;
-            $_etype941 = 0;
-            $xfer += $input->readListBegin($_etype941, $_size938);
-            for ($_i942 = 0; $_i942 < $_size938; ++$_i942)
+            $_size929 = 0;
+            $_etype932 = 0;
+            $xfer += $input->readListBegin($_etype932, $_size929);
+            for ($_i933 = 0; $_i933 < $_size929; ++$_i933)
             {
-              $elem943 = null;
-              $xfer += $input->readString($elem943);
-              $this->success []= $elem943;
+              $elem934 = null;
+              $xfer += $input->readString($elem934);
+              $this->success []= $elem934;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -21287,9 +20881,9 @@ class ThriftHiveMetastore_get_table_names_by_filter_result {
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter944)
+          foreach ($this->success as $iter935)
           {
-            $xfer += $output->writeString($iter944);
+            $xfer += $output->writeString($iter935);
           }
         }
         $output->writeListEnd();
@@ -22602,15 +22196,15 @@ class ThriftHiveMetastore_add_partitions_args {
         case 1:
           if ($ftype == TType::LST) {
             $this->new_parts = array();
-            $_size945 = 0;
-            $_etype948 = 0;
-            $xfer += $input->readListBegin($_etype948, $_size945);
-            for ($_i949 = 0; $_i949 < $_size945; ++$_i949)
+            $_size936 = 0;
+            $_etype939 = 0;
+            $xfer += $input->readListBegin($_etype939, $_size936);
+            for ($_i940 = 0; $_i940 < $_size936; ++$_i940)
             {
-              $elem950 = null;
-              $elem950 = new \metastore\Partition();
-              $xfer += $elem950->read($input);
-              $this->new_parts []= $elem950;
+              $elem941 = null;
+              $elem941 = new \metastore\Partition();
+              $xfer += $elem941->read($input);
+              $this->new_parts []= $elem941;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -22638,9 +22232,9 @@ class ThriftHiveMetastore_add_partitions_args {
       {
         $output->writeListBegin(TType::STRUCT, count($this->new_parts));
         {
-          foreach ($this->new_parts as $iter951)
+          foreach ($this->new_parts as $iter942)
           {
-            $xfer += $iter951->write($output);
+            $xfer += $iter942->write($output);
           }
         }
         $output->writeListEnd();
@@ -22855,15 +22449,15 @@ class ThriftHiveMetastore_add_partitions_pspec_args {
         case 1:
           if ($ftype == TType::LST) {
             $this->new_parts = array();
-            $_size952 = 0;
-            $_etype955 = 0;
-            $xfer += $input->readListBegin($_etype955, $_size952);
-            for ($_i956 = 0; $_i956 < $_size952; ++$_i956)
+            $_size943 = 0;
+            $_etype946 = 0;
+            $xfer += $input->readListBegin($_etype946, $_size943);
+            for ($_i947 = 0; $_i947 < $_size943; ++$_i947)
             {
-              $elem957 = null;
-              $elem957 = new \metastore\PartitionSpec();
-              $xfer += $elem957->read($input);
-              $this->new_parts []= $elem957;
+              $elem948 = null;
+              $elem948 = new \metastore\PartitionSpec();
+              $xfer += $elem948->read($input);
+              $this->new_parts []= $elem948;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -22891,9 +22485,9 @@ class ThriftHiveMetastore_add_partitions_pspec_args {
       {
         $output->writeListBegin(TType::STRUCT, count($this->new_parts));
         {
-          foreach ($this->new_parts as $iter958)
+          foreach ($this->new_parts as $iter949)
           {
-            $xfer += $iter958->write($output);
+            $xfer += $iter949->write($output);
           }
         }
         $output->writeListEnd();
@@ -23143,14 +22737,14 @@ class ThriftHiveMetastore_append_partition_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->part_vals = array();
-            $_size959 = 0;
-            $_etype962 = 0;
-            $xfer += $input->readListBegin($_etype962, $_size959);
-            for ($_i963 = 0; $_i963 < $_size959; ++$_i963)
+            $_size950 = 0;
+            $_etype953 = 0;
+            $xfer += $input->readListBegin($_etype953, $_size950);
+            for ($_i954 = 0; $_i954 < $_size950; ++$_i954)
             {
-              $elem964 = null;
-              $xfer += $input->readString($elem964);
-              $this->part_vals []= $elem964;
+              $elem955 = null;
+              $xfer += $input->readString($elem955);
+              $this->part_vals []= $elem955;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -23188,9 +22782,9 @@ class ThriftHiveMetastore_append_partition_args {
       {
         $output->writeListBegin(TType::STRING, count($this->part_vals));
         {
-          foreach ($this->part_vals as $iter965)
+          foreach ($this->part_vals as $iter956)
           {
-            $xfer += $output->writeString($iter965);
+            $xfer += $output->writeString($iter956);
           }
         }
         $output->writeListEnd();
@@ -23692,14 +23286,14 @@ class ThriftHiveMetastore_append_partition_with_environment_context_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->part_vals = array();
-            $_size966 = 0;
-            $_etype969 = 0;
-            $xfer += $input->readListBegin($_etype969, $_size966);
-            for ($_i970 = 0; $_i970 < $_size966; ++$_i970)
+            $_size957 = 0;
+            $_etype960 = 0;
+            $xfer += $input->readListBegin($_etype960, $_size957);
+            for ($_i961 = 0; $_i961 < $_size957; ++$_i961)
             {
-              $elem971 = null;
-              $xfer += $input->readString($elem971);
-              $this->part_vals []= $elem971;
+              $elem962 = null;
+              $xfer += $input->readString($elem962);
+              $this->part_vals []= $elem962;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -23745,9 +23339,9 @@ class ThriftHiveMetastore_append_partition_with_environment_context_args {
       {
         $output->writeListBegin(TType::STRING, count($this->part_vals));
         {
-          foreach ($this->part_vals as $iter972)
+          foreach ($this->part_vals as $iter963)
           {
-            $xfer += $output->writeString($iter972);
+            $xfer += $output->writeString($iter963);
           }
         }
         $output->writeListEnd();
@@ -24601,14 +24195,14 @@ class ThriftHiveMetastore_drop_partition_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->part_vals = array();
-            $_size973 = 0;
-            $_etype976 = 0;
-            $xfer += $input->readListBegin($_etype976, $_size973);
-            for ($_i977 = 0; $_i977 < $_size973; ++$_i977)
+            $_size964 = 0;
+            $_etype967 = 0;
+            $xfer += $input->readListBegin($_etype967, $_size964);
+            for ($_i968 = 0; $_i968 < $_size964; ++$_i968)
             {
-              $elem978 = null;
-              $xfer += $input->readString($elem978);
-              $this->part_vals []= $elem978;
+              $elem969 = null;
+              $xfer += $input->readString($elem969);
+              $this->part_vals []= $elem969;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -24653,9 +24247,9 @@ class ThriftHiveMetastore_drop_partition_args {
       {
         $output->writeListBegin(TType::STRING, count($this->part_vals));
         {
-          foreach ($this->part_vals as $iter979)
+          foreach ($this->part_vals as $iter970)
           {
-            $xfer += $output->writeString($iter979);
+            $xfer += $output->writeString($iter970);
           }
         }
         $output->writeListEnd();
@@ -24908,14 +24502,14 @@ class ThriftHiveMetastore_drop_partition_with_environment_context_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->part_vals = array();
-            $_size980 = 0;
-            $_etype983 = 0;
-            $xfer += $input->readListBegin($_etype983, $_size980);
-            for ($_i984 = 0; $_i984 < $_size980; ++$_i984)
+            $_size971 = 0;
+            $_etype974 = 0;
+            $xfer += $input->readListBegin($_etype974, $_size971);
+            for ($_i975 = 0; $_i975 < $_size971; ++$_i975)
             {
-              $elem985 = null;
-              $xfer += $input->readString($elem985);
-              $this->part_vals []= $elem985;
+              $elem976 = null;
+              $xfer += $input->readString($elem976);
+              $this->part_vals []= $elem976;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -24968,9 +24562,9 @@ class ThriftHiveMetastore_drop_partition_with_environment_context_args {
       {
         $output->writeListBegin(TType::STRING, count($this->part_vals));
         {
-          foreach ($this->part_vals as $iter986)
+          foreach ($this->part_vals as $iter977)
           {
-            $xfer += $output->writeString($iter986);
+            $xfer += $output->writeString($iter977);
           }
         }
         $output->writeListEnd();
@@ -25984,14 +25578,14 @@ class ThriftHiveMetastore_get_partition_args {
         case 3:
           if ($ftype == TType::LST) {
             $this->part_vals = array();
-            $_size987 = 0;
-            $_etype990 = 0;
-            $xfer += $input->readListBegin($_etype990, $_size987);
-            for ($_i991 = 0; $_i991 < $_size987; ++$_i991)
+            $_size978 = 0;
+            $_etype981 = 0;
+            $xfer += $input->readListBegin($_etype981, $_size978);
+            for ($_i982 = 0; $_i982 < $_size978; ++$_i982)
             {
-              $elem992 = null;
-              $xfer += $input->readString($elem992);
-              $this->part_vals []= $elem992;
+              $elem983 = null;
+              $xfer += $input->readString($elem983);
+              $this->part_vals []= $elem983;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -26029,9 +25623,9 @@ class ThriftHiveMetastore_get_partition_args {
       {
         $output->writeListBegin(TType::STRING, count($this->part_vals));
         {
-          foreach ($this->part_vals as $iter993)
+          foreach ($this->part_vals as $iter984)
           {
-            $xfer += $output->writeString($iter993);
+            $xfer += $output->writeString($iter984);
           }
         }
         $output->writeListEnd();
@@ -26273,6 +25867,387 @@ class ThriftHiveMetastore_exchange_partition_args {
         case 1:
           if ($ftype == TType::MAP) {
             $this->partitionSpecs = array();
+            $_size985 = 0;
+            $_ktype986 = 0;
+            $_vtype987 = 0;
+            $xfer += $input->readMapBegin($_ktype986, $_vtype987, $_size985);
+            for ($_i989 = 0; $_i989 < $_size985; ++$_i989)
+            {
+              $key990 = '';
+              $val991 = '';
+              $xfer += $input->readString($key990);
+              $xfer += $input->readString($val991);
+              $this->partitionSpecs[$key990] = $val991;
+            }
+            $xfer += $input->readMapEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->source_db);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->source_table_name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->dest_db);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->dest_table_name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partition_args');
+    if ($this->partitionSpecs !== null) {
+      if (!is_array($this->partitionSpecs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('partitionSpecs', TType::MAP, 1);
+      {
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->partitionSpecs));
+        {
+          foreach ($this->partitionSpecs as $kiter992 => $viter993)
+          {
+            $xfer += $output->writeString($kiter992);
+            $xfer += $output->writeString($viter993);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->source_db !== null) {
+      $xfer += $output->writeFieldBegin('source_db', TType::STRING, 2);
+      $xfer += $output->writeString($this->source_db);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->source_table_name !== null) {
+      $xfer += $output->writeFieldBegin('source_table_name', TType::STRING, 3);
+      $xfer += $output->writeString($this->source_table_name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dest_db !== null) {
+      $xfer += $output->writeFieldBegin('dest_db', TType::STRING, 4);
+      $xfer += $output->writeString($this->dest_db);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dest_table_name !== null) {
+      $xfer += $output->writeFieldBegin('dest_table_name', TType::STRING, 5);
+      $xfer += $output->writeString($this->dest_table_name);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ThriftHiveMetastore_exchange_partition_result {
+  static $_TSPEC;
+
+  /**
+   * @var \metastore\Partition
+   */
+  public $success = null;
+  /**
+   * @var \metastore\MetaException
+   */
+  public $o1 = null;
+  /**
+   * @var \metastore\NoSuchObjectException
+   */
+  public $o2 = null;
+  /**
+   * @var \metastore\InvalidObjectException
+   */
+  public $o3 = null;
+  /**
+   * @var \metastore\InvalidInputException
+   */
+  public $o4 = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRUCT,
+          'class' => '\metastore\Partition',
+          ),
+        1 => array(
+          'var' => 'o1',
+          'type' => TType::STRUCT,
+          'class' => '\metastore\MetaException',
+          ),
+        2 => array(
+          'var' => 'o2',
+          'type' => TType::STRUCT,
+          'class' => '\metastore\NoSuchObjectException',
+          ),
+        3 => array(
+          'var' => 'o3',
+          'type' => TType::STRUCT,
+          'class' => '\metastore\InvalidObjectException',
+          ),
+        4 => array(
+          'var' => 'o4',
+          'type' => TType::STRUCT,
+          'class' => '\metastore\InvalidInputException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['o1'])) {
+        $this->o1 = $vals['o1'];
+      }
+      if (isset($vals['o2'])) {
+        $this->o2 = $vals['o2'];
+      }
+      if (isset($vals['o3'])) {
+        $this->o3 = $vals['o3'];
+      }
+      if (isset($vals['o4'])) {
+        $this->o4 = $vals['o4'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ThriftHiveMetastore_exchange_partition_result';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 0:
+          if ($ftype == TType::STRUCT) {
+            $this->success = new \metastore\Partition();
+            $xfer += $this->success->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->o1 = new \metastore\MetaException();
+            $xfer += $this->o1->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->o2 = new \metastore\NoSuchObjectException();
+            $xfer += $this->o2->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->o3 = new \metastore\InvalidObjectException();
+            $xfer += $this->o3->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->o4 = new \metastore\InvalidInputException();
+            $xfer += $this->o4->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partition_result');
+    if ($this->success !== null) {
+      if (!is_object($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+      $xfer += $this->success->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->o1 !== null) {
+      $xfer += $output->writeFieldBegin('o1', TType::STRUCT, 1);
+      $xfer += $this->o1->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->o2 !== null) {
+      $xfer += $output->writeFieldBegin('o2', TType::STRUCT, 2);
+      $xfer += $this->o2->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->o3 !== null) {
+      $xfer += $output->writeFieldBegin('o3', TType::STRUCT, 3);
+      $xfer += $this->o3->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->o4 !== null) {
+      $xfer += $output->writeFieldBegin('o4', TType::STRUCT, 4);
+      $xfer += $this->o4->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ThriftHiveMetastore_exchange_partitions_args {
+  static $_TSPEC;
+
+  /**
+   * @var array
+   */
+  public $partitionSpecs = null;
+  /**
+   * @var string
+   */
+  public $source_db = null;
+  /**
+   * @var string
+   */
+  public $source_table_name = null;
+  /**
+   * @var string
+   */
+  public $dest_db = null;
+  /**
+   * @var string
+   */
+  public $dest_table_name = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'partitionSpecs',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        2 => array(
+          'var' => 'source_db',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'source_table_name',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'dest_db',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'dest_table_name',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['partitionSpecs'])) {
+        $this->partitionSpecs = $vals['partitionSpecs'];
+      }
+      if (isset($vals['source_db'])) {
+        $this->source_db = $vals['source_db'];
+      }
+      if (isset($vals['source_table_name'])) {
+        $this->source_table_name = $vals['source_table_name'];
+      }
+      if (isset($vals['dest_db'])) {
+        $this->dest_db = $vals['dest_db'];
+      }
+      if (isset($vals['dest_table_name'])) {
+        $this->dest_table_name = $vals['dest_table_name'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ThriftHiveMetastore_exchange_partitions_args';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::MAP) {
+            $this->partitionSpecs = array();
             $_size994 = 0;
             $_ktype995 = 0;
             $_vtype996 = 0;
@@ -26330,7 +26305,7 @@ class ThriftHiveMetastore_exchange_partition_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partition_args');
+    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partitions_args');
     if ($this->partitionSpecs !== null) {
       if (!is_array($this->partitionSpecs)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
@@ -26376,11 +26351,11 @@ class ThriftHiveMetastore_exchange_partition_args {
 
 }
 
-class ThriftHiveMetastore_exchange_partition_result {
+class ThriftHiveMetastore_exchange_partitions_result {
   static $_TSPEC;
 
   /**
-   * @var \metastore\Partition
+   * @var \metastore\Partition[]
    */
   public $success = null;
   /**
@@ -26405,8 +26380,12 @@ class ThriftHiveMetastore_exchange_partition_result {
       self::$_TSPEC = array(
         0 => array(
           'var' => 'success',
-          'type' => TType::STRUCT,
-          'class' => '\metastore\Partition',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\metastore\Partition',
+            ),
           ),
         1 => array(
           'var' => 'o1',
@@ -26450,7 +26429,7 @@ class ThriftHiveMetastore_exchange_partition_result {
   }
 
   public function getName() {
-    return 'ThriftHiveMetastore_exchange_partition_result';
+    return 'ThriftHiveMetastore_exchange_partitions_result';
   }
 
   public function read($input)
@@ -26469,9 +26448,19 @@ class ThriftHiveMetastore_exchange_partition_result {
       switch ($fid)
       {
         case 0:
-          if ($ftype == TType::STRUCT) {
-            $this->success = new \metastore\Partition();
-            $xfer += $this->success->read($input);
+          if ($ftype == TType::LST) {
+            $this->success = array();
+            $_size1003 = 0;
+            $_etype1006 = 0;
+            $xfer += $input->readListBegin($_etype1006, $_size1003);
+            for ($_i1007 = 0; $_i1007 < $_size1003; ++$_i1007)
+            {
+              $elem1008 = null;
+              $elem1008 = new \metastore\Partition();
+              $xfer += $elem1008->read($input);
+              $this->success []= $elem1008;
+            }
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -26520,13 +26509,22 @@ class ThriftHiveMetastore_exchange_partition_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partition_result');
+    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partitions_result');
     if ($this->success !== null) {
-      if (!is_object($this->success)) {
+      if (!is_array($this->success)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
-      $xfer += $this->success->write($output);
+      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->success));
+        {
+          foreach ($this->success as $iter1009)
+          {
+            $xfer += $iter1009->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
       $xfer += $output->writeFieldEnd();
     }
     if ($this->o1 !== null) {
@@ -26556,84 +26554,84 @@ class ThriftHiveMetastore_exchange_partition_result {
 
 }
 
-class ThriftHiveMetastore_exchange_partitions_args {
+class ThriftHiveMetastore_get_partition_with_auth_args {
   static $_TSPEC;
 
   /**
-   * @var array
+   * @var string
    */
-  public $partitionSpecs = null;
+  public $db_name = null;
   /**
    * @var string
    */
-  public $source_db = null;
+  public $tbl_name = null;
   /**
-   * @var string
+   * @var string[]
    */
-  public $source_table_name = null;
+  public $part_vals = null;
   /**
    * @var string
    */
-  public $dest_db = null;
+  public $user_name = null;
   /**
-   * @var string
+   * @var string[]
    */
-  public $dest_table_name = null;
+  public $group_names = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'partitionSpecs',
-          'type' => TType::MAP,
-          'ktype' => TType::STRING,
-          'vtype' => TType::STRING,
-          'key' => array(
-            'type' => TType::STRING,
-          ),
-          'val' => array(
-            'type' => TType::STRING,
-            ),
+          'var' => 'db_name',
+          'type' => TType::STRING,
           ),
         2 => array(
-          'var' => 'source_db',
+          'var' => 'tbl_name',
           'type' => TType::STRING,
           ),
         3 => array(
-          'var' => 'source_table_name',
-          'type' => TType::STRING,
+          'var' => 'part_vals',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
           ),
         4 => array(
-          'var' => 'dest_db',
+          'var' => 'user_name',
           'type' => TType::STRING,
           ),
         5 => array(
-          'var' => 'dest_table_name',
-          'type' => TType::STRING,
+          'var' => 'group_names',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
           ),
         );
     }
     if (is_array($vals)) {
-      if (isset($vals['partitionSpecs'])) {
-        $this->partitionSpecs = $vals['partitionSpecs'];
+      if (isset($vals['db_name'])) {
+        $this->db_name = $vals['db_name'];
       }
-      if (isset($vals['source_db'])) {
-        $this->source_db = $vals['source_db'];
+      if (isset($vals['tbl_name'])) {
+        $this->tbl_name = $vals['tbl_name'];
       }
-      if (isset($vals['source_table_name'])) {
-        $this->source_table_name = $vals['source_table_name'];
+      if (isset($vals['part_vals'])) {
+        $this->part_vals = $vals['part_vals'];
       }
-      if (isset($vals['dest_db'])) {
-        $this->dest_db = $vals['dest_db'];
+      if (isset($vals['user_name'])) {
+        $this->user_name = $vals['user_name'];
       }
-      if (isset($vals['dest_table_name'])) {
-        $this->dest_table_name = $vals['dest_table_name'];
+      if (isset($vals['group_names'])) {
+        $this->group_names = $vals['group_names'];
       }
     }
   }
 
   public function getName() {
-    return 'ThriftHiveMetastore_exchange_partitions_args';
+    return 'ThriftHiveMetastore_get_partition_with_auth_args';
   }
 
   public function read($input)
@@ -26652,49 +26650,56 @@ class ThriftHiveMetastore_exchange_partitions_args {
       switch ($fid)
       {
         case 1:
-          if ($ftype == TType::MAP) {
-            $this->partitionSpecs = array();
-            $_size1003 = 0;
-            $_ktype1004 = 0;
-            $_vtype1005 = 0;
-            $xfer += $input->readMapBegin($_ktype1004, $_vtype1005, $_size1003);
-            for ($_i1007 = 0; $_i1007 < $_size1003; ++$_i1007)
-            {
-              $key1008 = '';
-              $val1009 = '';
-              $xfer += $input->readString($key1008);
-              $xfer += $input->readString($val1009);
-              $this->partitionSpecs[$key1008] = $val1009;
-            }
-            $xfer += $input->readMapEnd();
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->db_name);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->source_db);
+            $xfer += $input->readString($this->tbl_name);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->source_table_name);
+          if ($ftype == TType::LST) {
+            $this->part_vals = array();
+            $_size1010 = 0;
+            $_etype1013 = 0;
+            $xfer += $input->readListBegin($_etype1013, $_size1010);
+            for ($_i1014 = 0; $_i1014 < $_size1010; ++$_i1014)
+            {
+              $elem1015 = null;
+              $xfer += $input->readString($elem1015);
+              $this->part_vals []= $elem1015;
+            }
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 4:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->dest_db);
+            $xfer += $input->readString($this->user_name);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 5:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->dest_table_name);
+          if ($ftype == TType::LST) {
+            $this->group_names = array();
+            $_size1016 = 0;
+            $_etype1019 = 0;
+            $xfer += $input->readListBegin($_etype1019, $_size1016);
+            for ($_i1020 = 0; $_i1020 < $_size1016; ++$_i1020)
+            {
+              $elem1021 = null;
+              $xfer += $input->readString($elem1021);
+              $this->group_names []= $elem1021;
+            }
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -26711,43 +26716,54 @@ class ThriftHiveMetastore_exchange_partitions_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partitions_args');
-    if ($this->partitionSpecs !== null) {
-      if (!is_array($this->partitionSpecs)) {
+    $xfer += $output->writeStructBegin('ThriftHiveMetastore_get_partition_with_auth_args');
+    if ($this->db_name !== null) {
+      $xfer += $output->writeFieldBegin('db_name', TType::STRING, 1);
+      $xfer += $output->writeString($this->db_name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tbl_name !== null) {
+      $xfer += $output->writeFieldBegin('tbl_name', TType::STRING, 2);
+      $xfer += $output->writeString($this->tbl_name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->part_vals !== null) {
+      if (!is_array($this->part_vals)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('partitionSpecs', TType::MAP, 1);
+      $xfer += $output->writeFieldBegin('part_vals', TType::LST, 3);
       {
-        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->partitionSpecs));
+        $output->writeListBegin(TType::STRING, count($this->part_vals));
         {
-          foreach ($this->partitionSpecs as $kiter1010 => $viter1011)
+          foreach ($this->part_vals as $iter1022)
           {
-            $xfer += $output->writeString($kiter1010);
-            $xfer += $output->writeString($viter1011);
+            $xfer += $output->writeString($iter1022);
           }
         }
-        $output->writeMapEnd();
+        $output->writeListEnd();
       }
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->source_db !== null) {
-      $xfer += $output->writeFieldBegin('source_db', TType::STRING, 2);
-      $xfer += $output->writeString($this->source_db);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->source_table_name !== null) {
-      $xfer += $output->writeFieldBegin('source_table_name', TType::STRING, 3);
-      $xfer += $output->writeString($this->source_table_name);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->dest_db !== null) {
-      $xfer += $output->writeFieldBegin('dest_db', TType::STRING, 4);
-      $xfer += $output->writeString($this->dest_db);
+    if ($this->user_name !== null) {
+      $xfer += $output->writeFieldBegin('user_name', TType::STRING, 4);
+      $xfer += $output->writeString($this->user_name);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->dest_table_name !== null) {
-      $xfer += $output->writeFieldBegin('dest_table_name', TType::STRING, 5);
-      $xfer += $output->writeString($this->dest_table_name);
+    if ($this->group_names !== null) {
+      if (!is_array($this->group_names)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('group_names', TType::LST, 5);
+      {
+        $output->writeListBegin(TType::STRING, count($this->group_names));
+        {
+          foreach ($this->group_names as $iter1023)
+          {
+            $xfer += $output->writeString($iter1023);
+          }
+        }
+        $output->writeListEnd();
+      }
       $xfer += $output->writeFieldEnd();
     }
     $xfer += $output->writeFieldStop();
@@ -26757,11 +26773,11 @@ class ThriftHiveMetastore_exchange_partitions_args {
 
 }
 
-class ThriftHiveMetastore_exchange_partitions_result {
+class ThriftHiveMetastore_get_partition_with_auth_result {
   static $_TSPEC;
 
   /**
-   * @var \metastore\Partition[]
+   * @var \metastore\Partition
    */
   public $success = null;
   /**
@@ -26772,26 +26788,14 @@ class ThriftHiveMetastore_exchange_partitions_result {
    * @var \metastore\NoSuchObjectException
    */
   public $o2 = null;
-  /**
-   * @var \metastore\InvalidObjectException
-   */
-  public $o3 = null;
-  /**
-   * @var \metastore\InvalidInputException
-   */
-  public $o4 = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         0 => array(
           'var' => 'success',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\metastore\Partition',
-            ),
+          'type' => TType::STRUCT,
+          'class' => '\metastore\Partition',
           ),
         1 => array(
           'var' => 'o1',
@@ -26803,16 +26807,6 @@ class ThriftHiveMetastore_exchange_partitions_result {
           'type' => TType::STRUCT,
           'class' => '\metastore\NoSuchObjectException',
           ),
-        3 => array(
-          'var' => 'o3',
-          'type' => TType::STRUCT,
-          'class' => '\metastore\InvalidObjectException',
-          ),
-        4 => array(
-          'var' => 'o4',
-          'type' => TType::STRUCT,
-          'class' => '\metastore\InvalidInputException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -26825,17 +26819,11 @@ class ThriftHiveMetastore_exchange_partitions_result {
       if (isset($vals['o2'])) {
         $this->o2 = $vals['o2'];
       }
-      if (isset($vals['o3'])) {
-        $this->o3 = $vals['o3'];
-      }
-      if (isset($vals['o4'])) {
-        $this->o4 = $vals['o4'];
-      }
     }
   }
 
   public function getName() {
-    return 'ThriftHiveMetastore_exchange_partitions_result';
+    return 'ThriftHiveMetastore_get_partition_with_auth_result';
   }
 
   public function read($input)
@@ -26854,19 +26842,9 @@ class ThriftHiveMetastore_exchange_partitions_result {
       switch ($fid)
       {
         case 0:
-          if ($ftype == TType::LST) {
-            $this->success = array();
-            $_size1012 = 0;
-            $_etype1015 = 0;
-            $xfer += $input->readListBegin($_etype1015, $_size1012);
-            for ($_i1016 = 0; $_i1016 < $_size1012; ++$_i1016)
-            {
-              $elem1017 = null;
-              $elem1017 = new \metastore\Partition();
-              $xfer += $elem1017->read($input);
-              $this->success []= $elem1017;
-            }
-            $xfer += $input->readListEnd();
+          if ($ftype == TType::STRUCT) {
+            $this->success = new \metastore\Partition();
+            $xfer += $this->success->read($input);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -26887,22 +26865,6 @@ class ThriftHiveMetastore_exchange_partitions_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->o3 = new \metastore\InvalidObjectException();
-            $xfer += $this->o3->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->o4 = new \metastore\InvalidInputException();
-            $xfer += $this->o4->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -26915,22 +26877,13 @@ class ThriftHiveMetastore_exchange_partitions_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('ThriftHiveMetastore_exchange_partitions_result');
+    $xfer += $output->writeStructBegin('ThriftHiveMetastore_get_partition_with_auth_result');
     if ($this->success !== null) {
-      if (!is_array($this->success)) {
+      if (!is_object($this->success)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->success));
-        {
-     

<TRUNCATED>

[10/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
index 72c0397..76c7164 100755
--- a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
+++ b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
@@ -110,12 +110,6 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('   partition_name_to_spec(string part_name)')
   print('  void markPartitionForEvent(string db_name, string tbl_name,  part_vals, PartitionEventType eventType)')
   print('  bool isPartitionMarkedForEvent(string db_name, string tbl_name,  part_vals, PartitionEventType eventType)')
-  print('  Index add_index(Index new_index, Table index_table)')
-  print('  void alter_index(string dbname, string base_tbl_name, string idx_name, Index new_idx)')
-  print('  bool drop_index_by_name(string db_name, string tbl_name, string index_name, bool deleteData)')
-  print('  Index get_index_by_name(string db_name, string tbl_name, string index_name)')
-  print('   get_indexes(string db_name, string tbl_name, i16 max_indexes)')
-  print('   get_index_names(string db_name, string tbl_name, i16 max_indexes)')
   print('  PrimaryKeysResponse get_primary_keys(PrimaryKeysRequest request)')
   print('  ForeignKeysResponse get_foreign_keys(ForeignKeysRequest request)')
   print('  UniqueConstraintsResponse get_unique_constraints(UniqueConstraintsRequest request)')
@@ -795,42 +789,6 @@ elif cmd == 'isPartitionMarkedForEvent':
     sys.exit(1)
   pp.pprint(client.isPartitionMarkedForEvent(args[0],args[1],eval(args[2]),eval(args[3]),))
 
-elif cmd == 'add_index':
-  if len(args) != 2:
-    print('add_index requires 2 args')
-    sys.exit(1)
-  pp.pprint(client.add_index(eval(args[0]),eval(args[1]),))
-
-elif cmd == 'alter_index':
-  if len(args) != 4:
-    print('alter_index requires 4 args')
-    sys.exit(1)
-  pp.pprint(client.alter_index(args[0],args[1],args[2],eval(args[3]),))
-
-elif cmd == 'drop_index_by_name':
-  if len(args) != 4:
-    print('drop_index_by_name requires 4 args')
-    sys.exit(1)
-  pp.pprint(client.drop_index_by_name(args[0],args[1],args[2],eval(args[3]),))
-
-elif cmd == 'get_index_by_name':
-  if len(args) != 3:
-    print('get_index_by_name requires 3 args')
-    sys.exit(1)
-  pp.pprint(client.get_index_by_name(args[0],args[1],args[2],))
-
-elif cmd == 'get_indexes':
-  if len(args) != 3:
-    print('get_indexes requires 3 args')
-    sys.exit(1)
-  pp.pprint(client.get_indexes(args[0],args[1],eval(args[2]),))
-
-elif cmd == 'get_index_names':
-  if len(args) != 3:
-    print('get_index_names requires 3 args')
-    sys.exit(1)
-  pp.pprint(client.get_index_names(args[0],args[1],eval(args[2]),))
-
 elif cmd == 'get_primary_keys':
   if len(args) != 1:
     print('get_primary_keys requires 1 args')


[13/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/UniqueConstraintsResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/UniqueConstraintsResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/UniqueConstraintsResponse.java
index d545e66..4d45bee 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/UniqueConstraintsResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/UniqueConstraintsResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // UNIQUE_CONSTRAINTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list338 = iprot.readListBegin();
-                struct.uniqueConstraints = new ArrayList<SQLUniqueConstraint>(_list338.size);
-                SQLUniqueConstraint _elem339;
-                for (int _i340 = 0; _i340 < _list338.size; ++_i340)
+                org.apache.thrift.protocol.TList _list328 = iprot.readListBegin();
+                struct.uniqueConstraints = new ArrayList<SQLUniqueConstraint>(_list328.size);
+                SQLUniqueConstraint _elem329;
+                for (int _i330 = 0; _i330 < _list328.size; ++_i330)
                 {
-                  _elem339 = new SQLUniqueConstraint();
-                  _elem339.read(iprot);
-                  struct.uniqueConstraints.add(_elem339);
+                  _elem329 = new SQLUniqueConstraint();
+                  _elem329.read(iprot);
+                  struct.uniqueConstraints.add(_elem329);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(UNIQUE_CONSTRAINTS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.uniqueConstraints.size()));
-          for (SQLUniqueConstraint _iter341 : struct.uniqueConstraints)
+          for (SQLUniqueConstraint _iter331 : struct.uniqueConstraints)
           {
-            _iter341.write(oprot);
+            _iter331.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.uniqueConstraints.size());
-        for (SQLUniqueConstraint _iter342 : struct.uniqueConstraints)
+        for (SQLUniqueConstraint _iter332 : struct.uniqueConstraints)
         {
-          _iter342.write(oprot);
+          _iter332.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, UniqueConstraintsResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list343 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.uniqueConstraints = new ArrayList<SQLUniqueConstraint>(_list343.size);
-        SQLUniqueConstraint _elem344;
-        for (int _i345 = 0; _i345 < _list343.size; ++_i345)
+        org.apache.thrift.protocol.TList _list333 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.uniqueConstraints = new ArrayList<SQLUniqueConstraint>(_list333.size);
+        SQLUniqueConstraint _elem334;
+        for (int _i335 = 0; _i335 < _list333.size; ++_i335)
         {
-          _elem344 = new SQLUniqueConstraint();
-          _elem344.read(iprot);
-          struct.uniqueConstraints.add(_elem344);
+          _elem334 = new SQLUniqueConstraint();
+          _elem334.read(iprot);
+          struct.uniqueConstraints.add(_elem334);
         }
       }
       struct.setUniqueConstraintsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMFullResourcePlan.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMFullResourcePlan.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMFullResourcePlan.java
index dedbcce..2fc0e00 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMFullResourcePlan.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMFullResourcePlan.java
@@ -755,14 +755,14 @@ import org.slf4j.LoggerFactory;
           case 2: // POOLS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list810 = iprot.readListBegin();
-                struct.pools = new ArrayList<WMPool>(_list810.size);
-                WMPool _elem811;
-                for (int _i812 = 0; _i812 < _list810.size; ++_i812)
+                org.apache.thrift.protocol.TList _list800 = iprot.readListBegin();
+                struct.pools = new ArrayList<WMPool>(_list800.size);
+                WMPool _elem801;
+                for (int _i802 = 0; _i802 < _list800.size; ++_i802)
                 {
-                  _elem811 = new WMPool();
-                  _elem811.read(iprot);
-                  struct.pools.add(_elem811);
+                  _elem801 = new WMPool();
+                  _elem801.read(iprot);
+                  struct.pools.add(_elem801);
                 }
                 iprot.readListEnd();
               }
@@ -774,14 +774,14 @@ import org.slf4j.LoggerFactory;
           case 3: // MAPPINGS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list813 = iprot.readListBegin();
-                struct.mappings = new ArrayList<WMMapping>(_list813.size);
-                WMMapping _elem814;
-                for (int _i815 = 0; _i815 < _list813.size; ++_i815)
+                org.apache.thrift.protocol.TList _list803 = iprot.readListBegin();
+                struct.mappings = new ArrayList<WMMapping>(_list803.size);
+                WMMapping _elem804;
+                for (int _i805 = 0; _i805 < _list803.size; ++_i805)
                 {
-                  _elem814 = new WMMapping();
-                  _elem814.read(iprot);
-                  struct.mappings.add(_elem814);
+                  _elem804 = new WMMapping();
+                  _elem804.read(iprot);
+                  struct.mappings.add(_elem804);
                 }
                 iprot.readListEnd();
               }
@@ -793,14 +793,14 @@ import org.slf4j.LoggerFactory;
           case 4: // TRIGGERS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list816 = iprot.readListBegin();
-                struct.triggers = new ArrayList<WMTrigger>(_list816.size);
-                WMTrigger _elem817;
-                for (int _i818 = 0; _i818 < _list816.size; ++_i818)
+                org.apache.thrift.protocol.TList _list806 = iprot.readListBegin();
+                struct.triggers = new ArrayList<WMTrigger>(_list806.size);
+                WMTrigger _elem807;
+                for (int _i808 = 0; _i808 < _list806.size; ++_i808)
                 {
-                  _elem817 = new WMTrigger();
-                  _elem817.read(iprot);
-                  struct.triggers.add(_elem817);
+                  _elem807 = new WMTrigger();
+                  _elem807.read(iprot);
+                  struct.triggers.add(_elem807);
                 }
                 iprot.readListEnd();
               }
@@ -812,14 +812,14 @@ import org.slf4j.LoggerFactory;
           case 5: // POOL_TRIGGERS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list819 = iprot.readListBegin();
-                struct.poolTriggers = new ArrayList<WMPoolTrigger>(_list819.size);
-                WMPoolTrigger _elem820;
-                for (int _i821 = 0; _i821 < _list819.size; ++_i821)
+                org.apache.thrift.protocol.TList _list809 = iprot.readListBegin();
+                struct.poolTriggers = new ArrayList<WMPoolTrigger>(_list809.size);
+                WMPoolTrigger _elem810;
+                for (int _i811 = 0; _i811 < _list809.size; ++_i811)
                 {
-                  _elem820 = new WMPoolTrigger();
-                  _elem820.read(iprot);
-                  struct.poolTriggers.add(_elem820);
+                  _elem810 = new WMPoolTrigger();
+                  _elem810.read(iprot);
+                  struct.poolTriggers.add(_elem810);
                 }
                 iprot.readListEnd();
               }
@@ -850,9 +850,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(POOLS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.pools.size()));
-          for (WMPool _iter822 : struct.pools)
+          for (WMPool _iter812 : struct.pools)
           {
-            _iter822.write(oprot);
+            _iter812.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -863,9 +863,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(MAPPINGS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.mappings.size()));
-            for (WMMapping _iter823 : struct.mappings)
+            for (WMMapping _iter813 : struct.mappings)
             {
-              _iter823.write(oprot);
+              _iter813.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -877,9 +877,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(TRIGGERS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.triggers.size()));
-            for (WMTrigger _iter824 : struct.triggers)
+            for (WMTrigger _iter814 : struct.triggers)
             {
-              _iter824.write(oprot);
+              _iter814.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -891,9 +891,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(POOL_TRIGGERS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.poolTriggers.size()));
-            for (WMPoolTrigger _iter825 : struct.poolTriggers)
+            for (WMPoolTrigger _iter815 : struct.poolTriggers)
             {
-              _iter825.write(oprot);
+              _iter815.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -920,9 +920,9 @@ import org.slf4j.LoggerFactory;
       struct.plan.write(oprot);
       {
         oprot.writeI32(struct.pools.size());
-        for (WMPool _iter826 : struct.pools)
+        for (WMPool _iter816 : struct.pools)
         {
-          _iter826.write(oprot);
+          _iter816.write(oprot);
         }
       }
       BitSet optionals = new BitSet();
@@ -939,27 +939,27 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetMappings()) {
         {
           oprot.writeI32(struct.mappings.size());
-          for (WMMapping _iter827 : struct.mappings)
+          for (WMMapping _iter817 : struct.mappings)
           {
-            _iter827.write(oprot);
+            _iter817.write(oprot);
           }
         }
       }
       if (struct.isSetTriggers()) {
         {
           oprot.writeI32(struct.triggers.size());
-          for (WMTrigger _iter828 : struct.triggers)
+          for (WMTrigger _iter818 : struct.triggers)
           {
-            _iter828.write(oprot);
+            _iter818.write(oprot);
           }
         }
       }
       if (struct.isSetPoolTriggers()) {
         {
           oprot.writeI32(struct.poolTriggers.size());
-          for (WMPoolTrigger _iter829 : struct.poolTriggers)
+          for (WMPoolTrigger _iter819 : struct.poolTriggers)
           {
-            _iter829.write(oprot);
+            _iter819.write(oprot);
           }
         }
       }
@@ -972,56 +972,56 @@ import org.slf4j.LoggerFactory;
       struct.plan.read(iprot);
       struct.setPlanIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list830 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.pools = new ArrayList<WMPool>(_list830.size);
-        WMPool _elem831;
-        for (int _i832 = 0; _i832 < _list830.size; ++_i832)
+        org.apache.thrift.protocol.TList _list820 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.pools = new ArrayList<WMPool>(_list820.size);
+        WMPool _elem821;
+        for (int _i822 = 0; _i822 < _list820.size; ++_i822)
         {
-          _elem831 = new WMPool();
-          _elem831.read(iprot);
-          struct.pools.add(_elem831);
+          _elem821 = new WMPool();
+          _elem821.read(iprot);
+          struct.pools.add(_elem821);
         }
       }
       struct.setPoolsIsSet(true);
       BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list833 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.mappings = new ArrayList<WMMapping>(_list833.size);
-          WMMapping _elem834;
-          for (int _i835 = 0; _i835 < _list833.size; ++_i835)
+          org.apache.thrift.protocol.TList _list823 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.mappings = new ArrayList<WMMapping>(_list823.size);
+          WMMapping _elem824;
+          for (int _i825 = 0; _i825 < _list823.size; ++_i825)
           {
-            _elem834 = new WMMapping();
-            _elem834.read(iprot);
-            struct.mappings.add(_elem834);
+            _elem824 = new WMMapping();
+            _elem824.read(iprot);
+            struct.mappings.add(_elem824);
           }
         }
         struct.setMappingsIsSet(true);
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list836 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.triggers = new ArrayList<WMTrigger>(_list836.size);
-          WMTrigger _elem837;
-          for (int _i838 = 0; _i838 < _list836.size; ++_i838)
+          org.apache.thrift.protocol.TList _list826 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.triggers = new ArrayList<WMTrigger>(_list826.size);
+          WMTrigger _elem827;
+          for (int _i828 = 0; _i828 < _list826.size; ++_i828)
           {
-            _elem837 = new WMTrigger();
-            _elem837.read(iprot);
-            struct.triggers.add(_elem837);
+            _elem827 = new WMTrigger();
+            _elem827.read(iprot);
+            struct.triggers.add(_elem827);
           }
         }
         struct.setTriggersIsSet(true);
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list839 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.poolTriggers = new ArrayList<WMPoolTrigger>(_list839.size);
-          WMPoolTrigger _elem840;
-          for (int _i841 = 0; _i841 < _list839.size; ++_i841)
+          org.apache.thrift.protocol.TList _list829 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.poolTriggers = new ArrayList<WMPoolTrigger>(_list829.size);
+          WMPoolTrigger _elem830;
+          for (int _i831 = 0; _i831 < _list829.size; ++_i831)
           {
-            _elem840 = new WMPoolTrigger();
-            _elem840.read(iprot);
-            struct.poolTriggers.add(_elem840);
+            _elem830 = new WMPoolTrigger();
+            _elem830.read(iprot);
+            struct.poolTriggers.add(_elem830);
           }
         }
         struct.setPoolTriggersIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetAllResourcePlanResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetAllResourcePlanResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetAllResourcePlanResponse.java
index 59bf429..0ddb2b2 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetAllResourcePlanResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetAllResourcePlanResponse.java
@@ -346,14 +346,14 @@ import org.slf4j.LoggerFactory;
           case 1: // RESOURCE_PLANS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list842 = iprot.readListBegin();
-                struct.resourcePlans = new ArrayList<WMResourcePlan>(_list842.size);
-                WMResourcePlan _elem843;
-                for (int _i844 = 0; _i844 < _list842.size; ++_i844)
+                org.apache.thrift.protocol.TList _list832 = iprot.readListBegin();
+                struct.resourcePlans = new ArrayList<WMResourcePlan>(_list832.size);
+                WMResourcePlan _elem833;
+                for (int _i834 = 0; _i834 < _list832.size; ++_i834)
                 {
-                  _elem843 = new WMResourcePlan();
-                  _elem843.read(iprot);
-                  struct.resourcePlans.add(_elem843);
+                  _elem833 = new WMResourcePlan();
+                  _elem833.read(iprot);
+                  struct.resourcePlans.add(_elem833);
                 }
                 iprot.readListEnd();
               }
@@ -380,9 +380,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(RESOURCE_PLANS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.resourcePlans.size()));
-            for (WMResourcePlan _iter845 : struct.resourcePlans)
+            for (WMResourcePlan _iter835 : struct.resourcePlans)
             {
-              _iter845.write(oprot);
+              _iter835.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetResourcePlans()) {
         {
           oprot.writeI32(struct.resourcePlans.size());
-          for (WMResourcePlan _iter846 : struct.resourcePlans)
+          for (WMResourcePlan _iter836 : struct.resourcePlans)
           {
-            _iter846.write(oprot);
+            _iter836.write(oprot);
           }
         }
       }
@@ -428,14 +428,14 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list847 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.resourcePlans = new ArrayList<WMResourcePlan>(_list847.size);
-          WMResourcePlan _elem848;
-          for (int _i849 = 0; _i849 < _list847.size; ++_i849)
+          org.apache.thrift.protocol.TList _list837 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.resourcePlans = new ArrayList<WMResourcePlan>(_list837.size);
+          WMResourcePlan _elem838;
+          for (int _i839 = 0; _i839 < _list837.size; ++_i839)
           {
-            _elem848 = new WMResourcePlan();
-            _elem848.read(iprot);
-            struct.resourcePlans.add(_elem848);
+            _elem838 = new WMResourcePlan();
+            _elem838.read(iprot);
+            struct.resourcePlans.add(_elem838);
           }
         }
         struct.setResourcePlansIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetTriggersForResourePlanResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetTriggersForResourePlanResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetTriggersForResourePlanResponse.java
index 5c6d680..93fa2b7 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetTriggersForResourePlanResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetTriggersForResourePlanResponse.java
@@ -346,14 +346,14 @@ import org.slf4j.LoggerFactory;
           case 1: // TRIGGERS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list866 = iprot.readListBegin();
-                struct.triggers = new ArrayList<WMTrigger>(_list866.size);
-                WMTrigger _elem867;
-                for (int _i868 = 0; _i868 < _list866.size; ++_i868)
+                org.apache.thrift.protocol.TList _list856 = iprot.readListBegin();
+                struct.triggers = new ArrayList<WMTrigger>(_list856.size);
+                WMTrigger _elem857;
+                for (int _i858 = 0; _i858 < _list856.size; ++_i858)
                 {
-                  _elem867 = new WMTrigger();
-                  _elem867.read(iprot);
-                  struct.triggers.add(_elem867);
+                  _elem857 = new WMTrigger();
+                  _elem857.read(iprot);
+                  struct.triggers.add(_elem857);
                 }
                 iprot.readListEnd();
               }
@@ -380,9 +380,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(TRIGGERS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.triggers.size()));
-            for (WMTrigger _iter869 : struct.triggers)
+            for (WMTrigger _iter859 : struct.triggers)
             {
-              _iter869.write(oprot);
+              _iter859.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetTriggers()) {
         {
           oprot.writeI32(struct.triggers.size());
-          for (WMTrigger _iter870 : struct.triggers)
+          for (WMTrigger _iter860 : struct.triggers)
           {
-            _iter870.write(oprot);
+            _iter860.write(oprot);
           }
         }
       }
@@ -428,14 +428,14 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list871 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.triggers = new ArrayList<WMTrigger>(_list871.size);
-          WMTrigger _elem872;
-          for (int _i873 = 0; _i873 < _list871.size; ++_i873)
+          org.apache.thrift.protocol.TList _list861 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.triggers = new ArrayList<WMTrigger>(_list861.size);
+          WMTrigger _elem862;
+          for (int _i863 = 0; _i863 < _list861.size; ++_i863)
           {
-            _elem872 = new WMTrigger();
-            _elem872.read(iprot);
-            struct.triggers.add(_elem872);
+            _elem862 = new WMTrigger();
+            _elem862.read(iprot);
+            struct.triggers.add(_elem862);
           }
         }
         struct.setTriggersIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMValidateResourcePlanResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMValidateResourcePlanResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMValidateResourcePlanResponse.java
index dba307a..97d33c1 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMValidateResourcePlanResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMValidateResourcePlanResponse.java
@@ -441,13 +441,13 @@ import org.slf4j.LoggerFactory;
           case 1: // ERRORS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list850 = iprot.readListBegin();
-                struct.errors = new ArrayList<String>(_list850.size);
-                String _elem851;
-                for (int _i852 = 0; _i852 < _list850.size; ++_i852)
+                org.apache.thrift.protocol.TList _list840 = iprot.readListBegin();
+                struct.errors = new ArrayList<String>(_list840.size);
+                String _elem841;
+                for (int _i842 = 0; _i842 < _list840.size; ++_i842)
                 {
-                  _elem851 = iprot.readString();
-                  struct.errors.add(_elem851);
+                  _elem841 = iprot.readString();
+                  struct.errors.add(_elem841);
                 }
                 iprot.readListEnd();
               }
@@ -459,13 +459,13 @@ import org.slf4j.LoggerFactory;
           case 2: // WARNINGS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list853 = iprot.readListBegin();
-                struct.warnings = new ArrayList<String>(_list853.size);
-                String _elem854;
-                for (int _i855 = 0; _i855 < _list853.size; ++_i855)
+                org.apache.thrift.protocol.TList _list843 = iprot.readListBegin();
+                struct.warnings = new ArrayList<String>(_list843.size);
+                String _elem844;
+                for (int _i845 = 0; _i845 < _list843.size; ++_i845)
                 {
-                  _elem854 = iprot.readString();
-                  struct.warnings.add(_elem854);
+                  _elem844 = iprot.readString();
+                  struct.warnings.add(_elem844);
                 }
                 iprot.readListEnd();
               }
@@ -492,9 +492,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(ERRORS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.errors.size()));
-            for (String _iter856 : struct.errors)
+            for (String _iter846 : struct.errors)
             {
-              oprot.writeString(_iter856);
+              oprot.writeString(_iter846);
             }
             oprot.writeListEnd();
           }
@@ -506,9 +506,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(WARNINGS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.warnings.size()));
-            for (String _iter857 : struct.warnings)
+            for (String _iter847 : struct.warnings)
             {
-              oprot.writeString(_iter857);
+              oprot.writeString(_iter847);
             }
             oprot.writeListEnd();
           }
@@ -543,18 +543,18 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetErrors()) {
         {
           oprot.writeI32(struct.errors.size());
-          for (String _iter858 : struct.errors)
+          for (String _iter848 : struct.errors)
           {
-            oprot.writeString(_iter858);
+            oprot.writeString(_iter848);
           }
         }
       }
       if (struct.isSetWarnings()) {
         {
           oprot.writeI32(struct.warnings.size());
-          for (String _iter859 : struct.warnings)
+          for (String _iter849 : struct.warnings)
           {
-            oprot.writeString(_iter859);
+            oprot.writeString(_iter849);
           }
         }
       }
@@ -566,26 +566,26 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list860 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.errors = new ArrayList<String>(_list860.size);
-          String _elem861;
-          for (int _i862 = 0; _i862 < _list860.size; ++_i862)
+          org.apache.thrift.protocol.TList _list850 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.errors = new ArrayList<String>(_list850.size);
+          String _elem851;
+          for (int _i852 = 0; _i852 < _list850.size; ++_i852)
           {
-            _elem861 = iprot.readString();
-            struct.errors.add(_elem861);
+            _elem851 = iprot.readString();
+            struct.errors.add(_elem851);
           }
         }
         struct.setErrorsIsSet(true);
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list863 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.warnings = new ArrayList<String>(_list863.size);
-          String _elem864;
-          for (int _i865 = 0; _i865 < _list863.size; ++_i865)
+          org.apache.thrift.protocol.TList _list853 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.warnings = new ArrayList<String>(_list853.size);
+          String _elem854;
+          for (int _i855 = 0; _i855 < _list853.size; ++_i855)
           {
-            _elem864 = iprot.readString();
-            struct.warnings.add(_elem864);
+            _elem854 = iprot.readString();
+            struct.warnings.add(_elem854);
           }
         }
         struct.setWarningsIsSet(true);


[19/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
index cdcde51..244b7ab 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
@@ -6443,296 +6443,6 @@ void PartitionSpec::printTo(std::ostream& out) const {
 }
 
 
-Index::~Index() throw() {
-}
-
-
-void Index::__set_indexName(const std::string& val) {
-  this->indexName = val;
-}
-
-void Index::__set_indexHandlerClass(const std::string& val) {
-  this->indexHandlerClass = val;
-}
-
-void Index::__set_dbName(const std::string& val) {
-  this->dbName = val;
-}
-
-void Index::__set_origTableName(const std::string& val) {
-  this->origTableName = val;
-}
-
-void Index::__set_createTime(const int32_t val) {
-  this->createTime = val;
-}
-
-void Index::__set_lastAccessTime(const int32_t val) {
-  this->lastAccessTime = val;
-}
-
-void Index::__set_indexTableName(const std::string& val) {
-  this->indexTableName = val;
-}
-
-void Index::__set_sd(const StorageDescriptor& val) {
-  this->sd = val;
-}
-
-void Index::__set_parameters(const std::map<std::string, std::string> & val) {
-  this->parameters = val;
-}
-
-void Index::__set_deferredRebuild(const bool val) {
-  this->deferredRebuild = val;
-}
-
-uint32_t Index::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->indexName);
-          this->__isset.indexName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->indexHandlerClass);
-          this->__isset.indexHandlerClass = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->dbName);
-          this->__isset.dbName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->origTableName);
-          this->__isset.origTableName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 5:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          xfer += iprot->readI32(this->createTime);
-          this->__isset.createTime = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 6:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          xfer += iprot->readI32(this->lastAccessTime);
-          this->__isset.lastAccessTime = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->indexTableName);
-          this->__isset.indexTableName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 8:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->sd.read(iprot);
-          this->__isset.sd = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 9:
-        if (ftype == ::apache::thrift::protocol::T_MAP) {
-          {
-            this->parameters.clear();
-            uint32_t _size279;
-            ::apache::thrift::protocol::TType _ktype280;
-            ::apache::thrift::protocol::TType _vtype281;
-            xfer += iprot->readMapBegin(_ktype280, _vtype281, _size279);
-            uint32_t _i283;
-            for (_i283 = 0; _i283 < _size279; ++_i283)
-            {
-              std::string _key284;
-              xfer += iprot->readString(_key284);
-              std::string& _val285 = this->parameters[_key284];
-              xfer += iprot->readString(_val285);
-            }
-            xfer += iprot->readMapEnd();
-          }
-          this->__isset.parameters = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 10:
-        if (ftype == ::apache::thrift::protocol::T_BOOL) {
-          xfer += iprot->readBool(this->deferredRebuild);
-          this->__isset.deferredRebuild = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t Index::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Index");
-
-  xfer += oprot->writeFieldBegin("indexName", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->indexName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("indexHandlerClass", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->indexHandlerClass);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("dbName", ::apache::thrift::protocol::T_STRING, 3);
-  xfer += oprot->writeString(this->dbName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("origTableName", ::apache::thrift::protocol::T_STRING, 4);
-  xfer += oprot->writeString(this->origTableName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("createTime", ::apache::thrift::protocol::T_I32, 5);
-  xfer += oprot->writeI32(this->createTime);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("lastAccessTime", ::apache::thrift::protocol::T_I32, 6);
-  xfer += oprot->writeI32(this->lastAccessTime);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("indexTableName", ::apache::thrift::protocol::T_STRING, 7);
-  xfer += oprot->writeString(this->indexTableName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("sd", ::apache::thrift::protocol::T_STRUCT, 8);
-  xfer += this->sd.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("parameters", ::apache::thrift::protocol::T_MAP, 9);
-  {
-    xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->parameters.size()));
-    std::map<std::string, std::string> ::const_iterator _iter286;
-    for (_iter286 = this->parameters.begin(); _iter286 != this->parameters.end(); ++_iter286)
-    {
-      xfer += oprot->writeString(_iter286->first);
-      xfer += oprot->writeString(_iter286->second);
-    }
-    xfer += oprot->writeMapEnd();
-  }
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("deferredRebuild", ::apache::thrift::protocol::T_BOOL, 10);
-  xfer += oprot->writeBool(this->deferredRebuild);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(Index &a, Index &b) {
-  using ::std::swap;
-  swap(a.indexName, b.indexName);
-  swap(a.indexHandlerClass, b.indexHandlerClass);
-  swap(a.dbName, b.dbName);
-  swap(a.origTableName, b.origTableName);
-  swap(a.createTime, b.createTime);
-  swap(a.lastAccessTime, b.lastAccessTime);
-  swap(a.indexTableName, b.indexTableName);
-  swap(a.sd, b.sd);
-  swap(a.parameters, b.parameters);
-  swap(a.deferredRebuild, b.deferredRebuild);
-  swap(a.__isset, b.__isset);
-}
-
-Index::Index(const Index& other287) {
-  indexName = other287.indexName;
-  indexHandlerClass = other287.indexHandlerClass;
-  dbName = other287.dbName;
-  origTableName = other287.origTableName;
-  createTime = other287.createTime;
-  lastAccessTime = other287.lastAccessTime;
-  indexTableName = other287.indexTableName;
-  sd = other287.sd;
-  parameters = other287.parameters;
-  deferredRebuild = other287.deferredRebuild;
-  __isset = other287.__isset;
-}
-Index& Index::operator=(const Index& other288) {
-  indexName = other288.indexName;
-  indexHandlerClass = other288.indexHandlerClass;
-  dbName = other288.dbName;
-  origTableName = other288.origTableName;
-  createTime = other288.createTime;
-  lastAccessTime = other288.lastAccessTime;
-  indexTableName = other288.indexTableName;
-  sd = other288.sd;
-  parameters = other288.parameters;
-  deferredRebuild = other288.deferredRebuild;
-  __isset = other288.__isset;
-  return *this;
-}
-void Index::printTo(std::ostream& out) const {
-  using ::apache::thrift::to_string;
-  out << "Index(";
-  out << "indexName=" << to_string(indexName);
-  out << ", " << "indexHandlerClass=" << to_string(indexHandlerClass);
-  out << ", " << "dbName=" << to_string(dbName);
-  out << ", " << "origTableName=" << to_string(origTableName);
-  out << ", " << "createTime=" << to_string(createTime);
-  out << ", " << "lastAccessTime=" << to_string(lastAccessTime);
-  out << ", " << "indexTableName=" << to_string(indexTableName);
-  out << ", " << "sd=" << to_string(sd);
-  out << ", " << "parameters=" << to_string(parameters);
-  out << ", " << "deferredRebuild=" << to_string(deferredRebuild);
-  out << ")";
-}
-
-
 BooleanColumnStatsData::~BooleanColumnStatsData() throw() {
 }
 
@@ -6864,19 +6574,19 @@ void swap(BooleanColumnStatsData &a, BooleanColumnStatsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-BooleanColumnStatsData::BooleanColumnStatsData(const BooleanColumnStatsData& other289) {
-  numTrues = other289.numTrues;
-  numFalses = other289.numFalses;
-  numNulls = other289.numNulls;
-  bitVectors = other289.bitVectors;
-  __isset = other289.__isset;
+BooleanColumnStatsData::BooleanColumnStatsData(const BooleanColumnStatsData& other279) {
+  numTrues = other279.numTrues;
+  numFalses = other279.numFalses;
+  numNulls = other279.numNulls;
+  bitVectors = other279.bitVectors;
+  __isset = other279.__isset;
 }
-BooleanColumnStatsData& BooleanColumnStatsData::operator=(const BooleanColumnStatsData& other290) {
-  numTrues = other290.numTrues;
-  numFalses = other290.numFalses;
-  numNulls = other290.numNulls;
-  bitVectors = other290.bitVectors;
-  __isset = other290.__isset;
+BooleanColumnStatsData& BooleanColumnStatsData::operator=(const BooleanColumnStatsData& other280) {
+  numTrues = other280.numTrues;
+  numFalses = other280.numFalses;
+  numNulls = other280.numNulls;
+  bitVectors = other280.bitVectors;
+  __isset = other280.__isset;
   return *this;
 }
 void BooleanColumnStatsData::printTo(std::ostream& out) const {
@@ -7039,21 +6749,21 @@ void swap(DoubleColumnStatsData &a, DoubleColumnStatsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-DoubleColumnStatsData::DoubleColumnStatsData(const DoubleColumnStatsData& other291) {
-  lowValue = other291.lowValue;
-  highValue = other291.highValue;
-  numNulls = other291.numNulls;
-  numDVs = other291.numDVs;
-  bitVectors = other291.bitVectors;
-  __isset = other291.__isset;
-}
-DoubleColumnStatsData& DoubleColumnStatsData::operator=(const DoubleColumnStatsData& other292) {
-  lowValue = other292.lowValue;
-  highValue = other292.highValue;
-  numNulls = other292.numNulls;
-  numDVs = other292.numDVs;
-  bitVectors = other292.bitVectors;
-  __isset = other292.__isset;
+DoubleColumnStatsData::DoubleColumnStatsData(const DoubleColumnStatsData& other281) {
+  lowValue = other281.lowValue;
+  highValue = other281.highValue;
+  numNulls = other281.numNulls;
+  numDVs = other281.numDVs;
+  bitVectors = other281.bitVectors;
+  __isset = other281.__isset;
+}
+DoubleColumnStatsData& DoubleColumnStatsData::operator=(const DoubleColumnStatsData& other282) {
+  lowValue = other282.lowValue;
+  highValue = other282.highValue;
+  numNulls = other282.numNulls;
+  numDVs = other282.numDVs;
+  bitVectors = other282.bitVectors;
+  __isset = other282.__isset;
   return *this;
 }
 void DoubleColumnStatsData::printTo(std::ostream& out) const {
@@ -7217,21 +6927,21 @@ void swap(LongColumnStatsData &a, LongColumnStatsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-LongColumnStatsData::LongColumnStatsData(const LongColumnStatsData& other293) {
-  lowValue = other293.lowValue;
-  highValue = other293.highValue;
-  numNulls = other293.numNulls;
-  numDVs = other293.numDVs;
-  bitVectors = other293.bitVectors;
-  __isset = other293.__isset;
-}
-LongColumnStatsData& LongColumnStatsData::operator=(const LongColumnStatsData& other294) {
-  lowValue = other294.lowValue;
-  highValue = other294.highValue;
-  numNulls = other294.numNulls;
-  numDVs = other294.numDVs;
-  bitVectors = other294.bitVectors;
-  __isset = other294.__isset;
+LongColumnStatsData::LongColumnStatsData(const LongColumnStatsData& other283) {
+  lowValue = other283.lowValue;
+  highValue = other283.highValue;
+  numNulls = other283.numNulls;
+  numDVs = other283.numDVs;
+  bitVectors = other283.bitVectors;
+  __isset = other283.__isset;
+}
+LongColumnStatsData& LongColumnStatsData::operator=(const LongColumnStatsData& other284) {
+  lowValue = other284.lowValue;
+  highValue = other284.highValue;
+  numNulls = other284.numNulls;
+  numDVs = other284.numDVs;
+  bitVectors = other284.bitVectors;
+  __isset = other284.__isset;
   return *this;
 }
 void LongColumnStatsData::printTo(std::ostream& out) const {
@@ -7397,21 +7107,21 @@ void swap(StringColumnStatsData &a, StringColumnStatsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-StringColumnStatsData::StringColumnStatsData(const StringColumnStatsData& other295) {
-  maxColLen = other295.maxColLen;
-  avgColLen = other295.avgColLen;
-  numNulls = other295.numNulls;
-  numDVs = other295.numDVs;
-  bitVectors = other295.bitVectors;
-  __isset = other295.__isset;
-}
-StringColumnStatsData& StringColumnStatsData::operator=(const StringColumnStatsData& other296) {
-  maxColLen = other296.maxColLen;
-  avgColLen = other296.avgColLen;
-  numNulls = other296.numNulls;
-  numDVs = other296.numDVs;
-  bitVectors = other296.bitVectors;
-  __isset = other296.__isset;
+StringColumnStatsData::StringColumnStatsData(const StringColumnStatsData& other285) {
+  maxColLen = other285.maxColLen;
+  avgColLen = other285.avgColLen;
+  numNulls = other285.numNulls;
+  numDVs = other285.numDVs;
+  bitVectors = other285.bitVectors;
+  __isset = other285.__isset;
+}
+StringColumnStatsData& StringColumnStatsData::operator=(const StringColumnStatsData& other286) {
+  maxColLen = other286.maxColLen;
+  avgColLen = other286.avgColLen;
+  numNulls = other286.numNulls;
+  numDVs = other286.numDVs;
+  bitVectors = other286.bitVectors;
+  __isset = other286.__isset;
   return *this;
 }
 void StringColumnStatsData::printTo(std::ostream& out) const {
@@ -7557,19 +7267,19 @@ void swap(BinaryColumnStatsData &a, BinaryColumnStatsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-BinaryColumnStatsData::BinaryColumnStatsData(const BinaryColumnStatsData& other297) {
-  maxColLen = other297.maxColLen;
-  avgColLen = other297.avgColLen;
-  numNulls = other297.numNulls;
-  bitVectors = other297.bitVectors;
-  __isset = other297.__isset;
+BinaryColumnStatsData::BinaryColumnStatsData(const BinaryColumnStatsData& other287) {
+  maxColLen = other287.maxColLen;
+  avgColLen = other287.avgColLen;
+  numNulls = other287.numNulls;
+  bitVectors = other287.bitVectors;
+  __isset = other287.__isset;
 }
-BinaryColumnStatsData& BinaryColumnStatsData::operator=(const BinaryColumnStatsData& other298) {
-  maxColLen = other298.maxColLen;
-  avgColLen = other298.avgColLen;
-  numNulls = other298.numNulls;
-  bitVectors = other298.bitVectors;
-  __isset = other298.__isset;
+BinaryColumnStatsData& BinaryColumnStatsData::operator=(const BinaryColumnStatsData& other288) {
+  maxColLen = other288.maxColLen;
+  avgColLen = other288.avgColLen;
+  numNulls = other288.numNulls;
+  bitVectors = other288.bitVectors;
+  __isset = other288.__isset;
   return *this;
 }
 void BinaryColumnStatsData::printTo(std::ostream& out) const {
@@ -7674,13 +7384,13 @@ void swap(Decimal &a, Decimal &b) {
   swap(a.scale, b.scale);
 }
 
-Decimal::Decimal(const Decimal& other299) {
-  unscaled = other299.unscaled;
-  scale = other299.scale;
+Decimal::Decimal(const Decimal& other289) {
+  unscaled = other289.unscaled;
+  scale = other289.scale;
 }
-Decimal& Decimal::operator=(const Decimal& other300) {
-  unscaled = other300.unscaled;
-  scale = other300.scale;
+Decimal& Decimal::operator=(const Decimal& other290) {
+  unscaled = other290.unscaled;
+  scale = other290.scale;
   return *this;
 }
 void Decimal::printTo(std::ostream& out) const {
@@ -7841,21 +7551,21 @@ void swap(DecimalColumnStatsData &a, DecimalColumnStatsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-DecimalColumnStatsData::DecimalColumnStatsData(const DecimalColumnStatsData& other301) {
-  lowValue = other301.lowValue;
-  highValue = other301.highValue;
-  numNulls = other301.numNulls;
-  numDVs = other301.numDVs;
-  bitVectors = other301.bitVectors;
-  __isset = other301.__isset;
+DecimalColumnStatsData::DecimalColumnStatsData(const DecimalColumnStatsData& other291) {
+  lowValue = other291.lowValue;
+  highValue = other291.highValue;
+  numNulls = other291.numNulls;
+  numDVs = other291.numDVs;
+  bitVectors = other291.bitVectors;
+  __isset = other291.__isset;
 }
-DecimalColumnStatsData& DecimalColumnStatsData::operator=(const DecimalColumnStatsData& other302) {
-  lowValue = other302.lowValue;
-  highValue = other302.highValue;
-  numNulls = other302.numNulls;
-  numDVs = other302.numDVs;
-  bitVectors = other302.bitVectors;
-  __isset = other302.__isset;
+DecimalColumnStatsData& DecimalColumnStatsData::operator=(const DecimalColumnStatsData& other292) {
+  lowValue = other292.lowValue;
+  highValue = other292.highValue;
+  numNulls = other292.numNulls;
+  numDVs = other292.numDVs;
+  bitVectors = other292.bitVectors;
+  __isset = other292.__isset;
   return *this;
 }
 void DecimalColumnStatsData::printTo(std::ostream& out) const {
@@ -7941,11 +7651,11 @@ void swap(Date &a, Date &b) {
   swap(a.daysSinceEpoch, b.daysSinceEpoch);
 }
 
-Date::Date(const Date& other303) {
-  daysSinceEpoch = other303.daysSinceEpoch;
+Date::Date(const Date& other293) {
+  daysSinceEpoch = other293.daysSinceEpoch;
 }
-Date& Date::operator=(const Date& other304) {
-  daysSinceEpoch = other304.daysSinceEpoch;
+Date& Date::operator=(const Date& other294) {
+  daysSinceEpoch = other294.daysSinceEpoch;
   return *this;
 }
 void Date::printTo(std::ostream& out) const {
@@ -8105,21 +7815,21 @@ void swap(DateColumnStatsData &a, DateColumnStatsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-DateColumnStatsData::DateColumnStatsData(const DateColumnStatsData& other305) {
-  lowValue = other305.lowValue;
-  highValue = other305.highValue;
-  numNulls = other305.numNulls;
-  numDVs = other305.numDVs;
-  bitVectors = other305.bitVectors;
-  __isset = other305.__isset;
-}
-DateColumnStatsData& DateColumnStatsData::operator=(const DateColumnStatsData& other306) {
-  lowValue = other306.lowValue;
-  highValue = other306.highValue;
-  numNulls = other306.numNulls;
-  numDVs = other306.numDVs;
-  bitVectors = other306.bitVectors;
-  __isset = other306.__isset;
+DateColumnStatsData::DateColumnStatsData(const DateColumnStatsData& other295) {
+  lowValue = other295.lowValue;
+  highValue = other295.highValue;
+  numNulls = other295.numNulls;
+  numDVs = other295.numDVs;
+  bitVectors = other295.bitVectors;
+  __isset = other295.__isset;
+}
+DateColumnStatsData& DateColumnStatsData::operator=(const DateColumnStatsData& other296) {
+  lowValue = other296.lowValue;
+  highValue = other296.highValue;
+  numNulls = other296.numNulls;
+  numDVs = other296.numDVs;
+  bitVectors = other296.bitVectors;
+  __isset = other296.__isset;
   return *this;
 }
 void DateColumnStatsData::printTo(std::ostream& out) const {
@@ -8305,25 +8015,25 @@ void swap(ColumnStatisticsData &a, ColumnStatisticsData &b) {
   swap(a.__isset, b.__isset);
 }
 
-ColumnStatisticsData::ColumnStatisticsData(const ColumnStatisticsData& other307) {
-  booleanStats = other307.booleanStats;
-  longStats = other307.longStats;
-  doubleStats = other307.doubleStats;
-  stringStats = other307.stringStats;
-  binaryStats = other307.binaryStats;
-  decimalStats = other307.decimalStats;
-  dateStats = other307.dateStats;
-  __isset = other307.__isset;
-}
-ColumnStatisticsData& ColumnStatisticsData::operator=(const ColumnStatisticsData& other308) {
-  booleanStats = other308.booleanStats;
-  longStats = other308.longStats;
-  doubleStats = other308.doubleStats;
-  stringStats = other308.stringStats;
-  binaryStats = other308.binaryStats;
-  decimalStats = other308.decimalStats;
-  dateStats = other308.dateStats;
-  __isset = other308.__isset;
+ColumnStatisticsData::ColumnStatisticsData(const ColumnStatisticsData& other297) {
+  booleanStats = other297.booleanStats;
+  longStats = other297.longStats;
+  doubleStats = other297.doubleStats;
+  stringStats = other297.stringStats;
+  binaryStats = other297.binaryStats;
+  decimalStats = other297.decimalStats;
+  dateStats = other297.dateStats;
+  __isset = other297.__isset;
+}
+ColumnStatisticsData& ColumnStatisticsData::operator=(const ColumnStatisticsData& other298) {
+  booleanStats = other298.booleanStats;
+  longStats = other298.longStats;
+  doubleStats = other298.doubleStats;
+  stringStats = other298.stringStats;
+  binaryStats = other298.binaryStats;
+  decimalStats = other298.decimalStats;
+  dateStats = other298.dateStats;
+  __isset = other298.__isset;
   return *this;
 }
 void ColumnStatisticsData::printTo(std::ostream& out) const {
@@ -8451,15 +8161,15 @@ void swap(ColumnStatisticsObj &a, ColumnStatisticsObj &b) {
   swap(a.statsData, b.statsData);
 }
 
-ColumnStatisticsObj::ColumnStatisticsObj(const ColumnStatisticsObj& other309) {
-  colName = other309.colName;
-  colType = other309.colType;
-  statsData = other309.statsData;
+ColumnStatisticsObj::ColumnStatisticsObj(const ColumnStatisticsObj& other299) {
+  colName = other299.colName;
+  colType = other299.colType;
+  statsData = other299.statsData;
 }
-ColumnStatisticsObj& ColumnStatisticsObj::operator=(const ColumnStatisticsObj& other310) {
-  colName = other310.colName;
-  colType = other310.colType;
-  statsData = other310.statsData;
+ColumnStatisticsObj& ColumnStatisticsObj::operator=(const ColumnStatisticsObj& other300) {
+  colName = other300.colName;
+  colType = other300.colType;
+  statsData = other300.statsData;
   return *this;
 }
 void ColumnStatisticsObj::printTo(std::ostream& out) const {
@@ -8622,21 +8332,21 @@ void swap(ColumnStatisticsDesc &a, ColumnStatisticsDesc &b) {
   swap(a.__isset, b.__isset);
 }
 
-ColumnStatisticsDesc::ColumnStatisticsDesc(const ColumnStatisticsDesc& other311) {
-  isTblLevel = other311.isTblLevel;
-  dbName = other311.dbName;
-  tableName = other311.tableName;
-  partName = other311.partName;
-  lastAnalyzed = other311.lastAnalyzed;
-  __isset = other311.__isset;
-}
-ColumnStatisticsDesc& ColumnStatisticsDesc::operator=(const ColumnStatisticsDesc& other312) {
-  isTblLevel = other312.isTblLevel;
-  dbName = other312.dbName;
-  tableName = other312.tableName;
-  partName = other312.partName;
-  lastAnalyzed = other312.lastAnalyzed;
-  __isset = other312.__isset;
+ColumnStatisticsDesc::ColumnStatisticsDesc(const ColumnStatisticsDesc& other301) {
+  isTblLevel = other301.isTblLevel;
+  dbName = other301.dbName;
+  tableName = other301.tableName;
+  partName = other301.partName;
+  lastAnalyzed = other301.lastAnalyzed;
+  __isset = other301.__isset;
+}
+ColumnStatisticsDesc& ColumnStatisticsDesc::operator=(const ColumnStatisticsDesc& other302) {
+  isTblLevel = other302.isTblLevel;
+  dbName = other302.dbName;
+  tableName = other302.tableName;
+  partName = other302.partName;
+  lastAnalyzed = other302.lastAnalyzed;
+  __isset = other302.__isset;
   return *this;
 }
 void ColumnStatisticsDesc::printTo(std::ostream& out) const {
@@ -8698,14 +8408,14 @@ uint32_t ColumnStatistics::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->statsObj.clear();
-            uint32_t _size313;
-            ::apache::thrift::protocol::TType _etype316;
-            xfer += iprot->readListBegin(_etype316, _size313);
-            this->statsObj.resize(_size313);
-            uint32_t _i317;
-            for (_i317 = 0; _i317 < _size313; ++_i317)
+            uint32_t _size303;
+            ::apache::thrift::protocol::TType _etype306;
+            xfer += iprot->readListBegin(_etype306, _size303);
+            this->statsObj.resize(_size303);
+            uint32_t _i307;
+            for (_i307 = 0; _i307 < _size303; ++_i307)
             {
-              xfer += this->statsObj[_i317].read(iprot);
+              xfer += this->statsObj[_i307].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -8742,10 +8452,10 @@ uint32_t ColumnStatistics::write(::apache::thrift::protocol::TProtocol* oprot) c
   xfer += oprot->writeFieldBegin("statsObj", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->statsObj.size()));
-    std::vector<ColumnStatisticsObj> ::const_iterator _iter318;
-    for (_iter318 = this->statsObj.begin(); _iter318 != this->statsObj.end(); ++_iter318)
+    std::vector<ColumnStatisticsObj> ::const_iterator _iter308;
+    for (_iter308 = this->statsObj.begin(); _iter308 != this->statsObj.end(); ++_iter308)
     {
-      xfer += (*_iter318).write(oprot);
+      xfer += (*_iter308).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -8762,13 +8472,13 @@ void swap(ColumnStatistics &a, ColumnStatistics &b) {
   swap(a.statsObj, b.statsObj);
 }
 
-ColumnStatistics::ColumnStatistics(const ColumnStatistics& other319) {
-  statsDesc = other319.statsDesc;
-  statsObj = other319.statsObj;
+ColumnStatistics::ColumnStatistics(const ColumnStatistics& other309) {
+  statsDesc = other309.statsDesc;
+  statsObj = other309.statsObj;
 }
-ColumnStatistics& ColumnStatistics::operator=(const ColumnStatistics& other320) {
-  statsDesc = other320.statsDesc;
-  statsObj = other320.statsObj;
+ColumnStatistics& ColumnStatistics::operator=(const ColumnStatistics& other310) {
+  statsDesc = other310.statsDesc;
+  statsObj = other310.statsObj;
   return *this;
 }
 void ColumnStatistics::printTo(std::ostream& out) const {
@@ -8819,14 +8529,14 @@ uint32_t AggrStats::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->colStats.clear();
-            uint32_t _size321;
-            ::apache::thrift::protocol::TType _etype324;
-            xfer += iprot->readListBegin(_etype324, _size321);
-            this->colStats.resize(_size321);
-            uint32_t _i325;
-            for (_i325 = 0; _i325 < _size321; ++_i325)
+            uint32_t _size311;
+            ::apache::thrift::protocol::TType _etype314;
+            xfer += iprot->readListBegin(_etype314, _size311);
+            this->colStats.resize(_size311);
+            uint32_t _i315;
+            for (_i315 = 0; _i315 < _size311; ++_i315)
             {
-              xfer += this->colStats[_i325].read(iprot);
+              xfer += this->colStats[_i315].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -8867,10 +8577,10 @@ uint32_t AggrStats::write(::apache::thrift::protocol::TProtocol* oprot) const {
   xfer += oprot->writeFieldBegin("colStats", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->colStats.size()));
-    std::vector<ColumnStatisticsObj> ::const_iterator _iter326;
-    for (_iter326 = this->colStats.begin(); _iter326 != this->colStats.end(); ++_iter326)
+    std::vector<ColumnStatisticsObj> ::const_iterator _iter316;
+    for (_iter316 = this->colStats.begin(); _iter316 != this->colStats.end(); ++_iter316)
     {
-      xfer += (*_iter326).write(oprot);
+      xfer += (*_iter316).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -8891,13 +8601,13 @@ void swap(AggrStats &a, AggrStats &b) {
   swap(a.partsFound, b.partsFound);
 }
 
-AggrStats::AggrStats(const AggrStats& other327) {
-  colStats = other327.colStats;
-  partsFound = other327.partsFound;
+AggrStats::AggrStats(const AggrStats& other317) {
+  colStats = other317.colStats;
+  partsFound = other317.partsFound;
 }
-AggrStats& AggrStats::operator=(const AggrStats& other328) {
-  colStats = other328.colStats;
-  partsFound = other328.partsFound;
+AggrStats& AggrStats::operator=(const AggrStats& other318) {
+  colStats = other318.colStats;
+  partsFound = other318.partsFound;
   return *this;
 }
 void AggrStats::printTo(std::ostream& out) const {
@@ -8948,14 +8658,14 @@ uint32_t SetPartitionsStatsRequest::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->colStats.clear();
-            uint32_t _size329;
-            ::apache::thrift::protocol::TType _etype332;
-            xfer += iprot->readListBegin(_etype332, _size329);
-            this->colStats.resize(_size329);
-            uint32_t _i333;
-            for (_i333 = 0; _i333 < _size329; ++_i333)
+            uint32_t _size319;
+            ::apache::thrift::protocol::TType _etype322;
+            xfer += iprot->readListBegin(_etype322, _size319);
+            this->colStats.resize(_size319);
+            uint32_t _i323;
+            for (_i323 = 0; _i323 < _size319; ++_i323)
             {
-              xfer += this->colStats[_i333].read(iprot);
+              xfer += this->colStats[_i323].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -8994,10 +8704,10 @@ uint32_t SetPartitionsStatsRequest::write(::apache::thrift::protocol::TProtocol*
   xfer += oprot->writeFieldBegin("colStats", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->colStats.size()));
-    std::vector<ColumnStatistics> ::const_iterator _iter334;
-    for (_iter334 = this->colStats.begin(); _iter334 != this->colStats.end(); ++_iter334)
+    std::vector<ColumnStatistics> ::const_iterator _iter324;
+    for (_iter324 = this->colStats.begin(); _iter324 != this->colStats.end(); ++_iter324)
     {
-      xfer += (*_iter334).write(oprot);
+      xfer += (*_iter324).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -9020,15 +8730,15 @@ void swap(SetPartitionsStatsRequest &a, SetPartitionsStatsRequest &b) {
   swap(a.__isset, b.__isset);
 }
 
-SetPartitionsStatsRequest::SetPartitionsStatsRequest(const SetPartitionsStatsRequest& other335) {
-  colStats = other335.colStats;
-  needMerge = other335.needMerge;
-  __isset = other335.__isset;
+SetPartitionsStatsRequest::SetPartitionsStatsRequest(const SetPartitionsStatsRequest& other325) {
+  colStats = other325.colStats;
+  needMerge = other325.needMerge;
+  __isset = other325.__isset;
 }
-SetPartitionsStatsRequest& SetPartitionsStatsRequest::operator=(const SetPartitionsStatsRequest& other336) {
-  colStats = other336.colStats;
-  needMerge = other336.needMerge;
-  __isset = other336.__isset;
+SetPartitionsStatsRequest& SetPartitionsStatsRequest::operator=(const SetPartitionsStatsRequest& other326) {
+  colStats = other326.colStats;
+  needMerge = other326.needMerge;
+  __isset = other326.__isset;
   return *this;
 }
 void SetPartitionsStatsRequest::printTo(std::ostream& out) const {
@@ -9077,14 +8787,14 @@ uint32_t Schema::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->fieldSchemas.clear();
-            uint32_t _size337;
-            ::apache::thrift::protocol::TType _etype340;
-            xfer += iprot->readListBegin(_etype340, _size337);
-            this->fieldSchemas.resize(_size337);
-            uint32_t _i341;
-            for (_i341 = 0; _i341 < _size337; ++_i341)
+            uint32_t _size327;
+            ::apache::thrift::protocol::TType _etype330;
+            xfer += iprot->readListBegin(_etype330, _size327);
+            this->fieldSchemas.resize(_size327);
+            uint32_t _i331;
+            for (_i331 = 0; _i331 < _size327; ++_i331)
             {
-              xfer += this->fieldSchemas[_i341].read(iprot);
+              xfer += this->fieldSchemas[_i331].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -9097,17 +8807,17 @@ uint32_t Schema::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->properties.clear();
-            uint32_t _size342;
-            ::apache::thrift::protocol::TType _ktype343;
-            ::apache::thrift::protocol::TType _vtype344;
-            xfer += iprot->readMapBegin(_ktype343, _vtype344, _size342);
-            uint32_t _i346;
-            for (_i346 = 0; _i346 < _size342; ++_i346)
+            uint32_t _size332;
+            ::apache::thrift::protocol::TType _ktype333;
+            ::apache::thrift::protocol::TType _vtype334;
+            xfer += iprot->readMapBegin(_ktype333, _vtype334, _size332);
+            uint32_t _i336;
+            for (_i336 = 0; _i336 < _size332; ++_i336)
             {
-              std::string _key347;
-              xfer += iprot->readString(_key347);
-              std::string& _val348 = this->properties[_key347];
-              xfer += iprot->readString(_val348);
+              std::string _key337;
+              xfer += iprot->readString(_key337);
+              std::string& _val338 = this->properties[_key337];
+              xfer += iprot->readString(_val338);
             }
             xfer += iprot->readMapEnd();
           }
@@ -9136,10 +8846,10 @@ uint32_t Schema::write(::apache::thrift::protocol::TProtocol* oprot) const {
   xfer += oprot->writeFieldBegin("fieldSchemas", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->fieldSchemas.size()));
-    std::vector<FieldSchema> ::const_iterator _iter349;
-    for (_iter349 = this->fieldSchemas.begin(); _iter349 != this->fieldSchemas.end(); ++_iter349)
+    std::vector<FieldSchema> ::const_iterator _iter339;
+    for (_iter339 = this->fieldSchemas.begin(); _iter339 != this->fieldSchemas.end(); ++_iter339)
     {
-      xfer += (*_iter349).write(oprot);
+      xfer += (*_iter339).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -9148,11 +8858,11 @@ uint32_t Schema::write(::apache::thrift::protocol::TProtocol* oprot) const {
   xfer += oprot->writeFieldBegin("properties", ::apache::thrift::protocol::T_MAP, 2);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->properties.size()));
-    std::map<std::string, std::string> ::const_iterator _iter350;
-    for (_iter350 = this->properties.begin(); _iter350 != this->properties.end(); ++_iter350)
+    std::map<std::string, std::string> ::const_iterator _iter340;
+    for (_iter340 = this->properties.begin(); _iter340 != this->properties.end(); ++_iter340)
     {
-      xfer += oprot->writeString(_iter350->first);
-      xfer += oprot->writeString(_iter350->second);
+      xfer += oprot->writeString(_iter340->first);
+      xfer += oprot->writeString(_iter340->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -9170,15 +8880,15 @@ void swap(Schema &a, Schema &b) {
   swap(a.__isset, b.__isset);
 }
 
-Schema::Schema(const Schema& other351) {
-  fieldSchemas = other351.fieldSchemas;
-  properties = other351.properties;
-  __isset = other351.__isset;
+Schema::Schema(const Schema& other341) {
+  fieldSchemas = other341.fieldSchemas;
+  properties = other341.properties;
+  __isset = other341.__isset;
 }
-Schema& Schema::operator=(const Schema& other352) {
-  fieldSchemas = other352.fieldSchemas;
-  properties = other352.properties;
-  __isset = other352.__isset;
+Schema& Schema::operator=(const Schema& other342) {
+  fieldSchemas = other342.fieldSchemas;
+  properties = other342.properties;
+  __isset = other342.__isset;
   return *this;
 }
 void Schema::printTo(std::ostream& out) const {
@@ -9223,17 +8933,17 @@ uint32_t EnvironmentContext::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->properties.clear();
-            uint32_t _size353;
-            ::apache::thrift::protocol::TType _ktype354;
-            ::apache::thrift::protocol::TType _vtype355;
-            xfer += iprot->readMapBegin(_ktype354, _vtype355, _size353);
-            uint32_t _i357;
-            for (_i357 = 0; _i357 < _size353; ++_i357)
+            uint32_t _size343;
+            ::apache::thrift::protocol::TType _ktype344;
+            ::apache::thrift::protocol::TType _vtype345;
+            xfer += iprot->readMapBegin(_ktype344, _vtype345, _size343);
+            uint32_t _i347;
+            for (_i347 = 0; _i347 < _size343; ++_i347)
             {
-              std::string _key358;
-              xfer += iprot->readString(_key358);
-              std::string& _val359 = this->properties[_key358];
-              xfer += iprot->readString(_val359);
+              std::string _key348;
+              xfer += iprot->readString(_key348);
+              std::string& _val349 = this->properties[_key348];
+              xfer += iprot->readString(_val349);
             }
             xfer += iprot->readMapEnd();
           }
@@ -9262,11 +8972,11 @@ uint32_t EnvironmentContext::write(::apache::thrift::protocol::TProtocol* oprot)
   xfer += oprot->writeFieldBegin("properties", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->properties.size()));
-    std::map<std::string, std::string> ::const_iterator _iter360;
-    for (_iter360 = this->properties.begin(); _iter360 != this->properties.end(); ++_iter360)
+    std::map<std::string, std::string> ::const_iterator _iter350;
+    for (_iter350 = this->properties.begin(); _iter350 != this->properties.end(); ++_iter350)
     {
-      xfer += oprot->writeString(_iter360->first);
-      xfer += oprot->writeString(_iter360->second);
+      xfer += oprot->writeString(_iter350->first);
+      xfer += oprot->writeString(_iter350->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -9283,13 +8993,13 @@ void swap(EnvironmentContext &a, EnvironmentContext &b) {
   swap(a.__isset, b.__isset);
 }
 
-EnvironmentContext::EnvironmentContext(const EnvironmentContext& other361) {
-  properties = other361.properties;
-  __isset = other361.__isset;
+EnvironmentContext::EnvironmentContext(const EnvironmentContext& other351) {
+  properties = other351.properties;
+  __isset = other351.__isset;
 }
-EnvironmentContext& EnvironmentContext::operator=(const EnvironmentContext& other362) {
-  properties = other362.properties;
-  __isset = other362.__isset;
+EnvironmentContext& EnvironmentContext::operator=(const EnvironmentContext& other352) {
+  properties = other352.properties;
+  __isset = other352.__isset;
   return *this;
 }
 void EnvironmentContext::printTo(std::ostream& out) const {
@@ -9391,13 +9101,13 @@ void swap(PrimaryKeysRequest &a, PrimaryKeysRequest &b) {
   swap(a.tbl_name, b.tbl_name);
 }
 
-PrimaryKeysRequest::PrimaryKeysRequest(const PrimaryKeysRequest& other363) {
-  db_name = other363.db_name;
-  tbl_name = other363.tbl_name;
+PrimaryKeysRequest::PrimaryKeysRequest(const PrimaryKeysRequest& other353) {
+  db_name = other353.db_name;
+  tbl_name = other353.tbl_name;
 }
-PrimaryKeysRequest& PrimaryKeysRequest::operator=(const PrimaryKeysRequest& other364) {
-  db_name = other364.db_name;
-  tbl_name = other364.tbl_name;
+PrimaryKeysRequest& PrimaryKeysRequest::operator=(const PrimaryKeysRequest& other354) {
+  db_name = other354.db_name;
+  tbl_name = other354.tbl_name;
   return *this;
 }
 void PrimaryKeysRequest::printTo(std::ostream& out) const {
@@ -9443,14 +9153,14 @@ uint32_t PrimaryKeysResponse::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->primaryKeys.clear();
-            uint32_t _size365;
-            ::apache::thrift::protocol::TType _etype368;
-            xfer += iprot->readListBegin(_etype368, _size365);
-            this->primaryKeys.resize(_size365);
-            uint32_t _i369;
-            for (_i369 = 0; _i369 < _size365; ++_i369)
+            uint32_t _size355;
+            ::apache::thrift::protocol::TType _etype358;
+            xfer += iprot->readListBegin(_etype358, _size355);
+            this->primaryKeys.resize(_size355);
+            uint32_t _i359;
+            for (_i359 = 0; _i359 < _size355; ++_i359)
             {
-              xfer += this->primaryKeys[_i369].read(iprot);
+              xfer += this->primaryKeys[_i359].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -9481,10 +9191,10 @@ uint32_t PrimaryKeysResponse::write(::apache::thrift::protocol::TProtocol* oprot
   xfer += oprot->writeFieldBegin("primaryKeys", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->primaryKeys.size()));
-    std::vector<SQLPrimaryKey> ::const_iterator _iter370;
-    for (_iter370 = this->primaryKeys.begin(); _iter370 != this->primaryKeys.end(); ++_iter370)
+    std::vector<SQLPrimaryKey> ::const_iterator _iter360;
+    for (_iter360 = this->primaryKeys.begin(); _iter360 != this->primaryKeys.end(); ++_iter360)
     {
-      xfer += (*_iter370).write(oprot);
+      xfer += (*_iter360).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -9500,11 +9210,11 @@ void swap(PrimaryKeysResponse &a, PrimaryKeysResponse &b) {
   swap(a.primaryKeys, b.primaryKeys);
 }
 
-PrimaryKeysResponse::PrimaryKeysResponse(const PrimaryKeysResponse& other371) {
-  primaryKeys = other371.primaryKeys;
+PrimaryKeysResponse::PrimaryKeysResponse(const PrimaryKeysResponse& other361) {
+  primaryKeys = other361.primaryKeys;
 }
-PrimaryKeysResponse& PrimaryKeysResponse::operator=(const PrimaryKeysResponse& other372) {
-  primaryKeys = other372.primaryKeys;
+PrimaryKeysResponse& PrimaryKeysResponse::operator=(const PrimaryKeysResponse& other362) {
+  primaryKeys = other362.primaryKeys;
   return *this;
 }
 void PrimaryKeysResponse::printTo(std::ostream& out) const {
@@ -9635,19 +9345,19 @@ void swap(ForeignKeysRequest &a, ForeignKeysRequest &b) {
   swap(a.__isset, b.__isset);
 }
 
-ForeignKeysRequest::ForeignKeysRequest(const ForeignKeysRequest& other373) {
-  parent_db_name = other373.parent_db_name;
-  parent_tbl_name = other373.parent_tbl_name;
-  foreign_db_name = other373.foreign_db_name;
-  foreign_tbl_name = other373.foreign_tbl_name;
-  __isset = other373.__isset;
+ForeignKeysRequest::ForeignKeysRequest(const ForeignKeysRequest& other363) {
+  parent_db_name = other363.parent_db_name;
+  parent_tbl_name = other363.parent_tbl_name;
+  foreign_db_name = other363.foreign_db_name;
+  foreign_tbl_name = other363.foreign_tbl_name;
+  __isset = other363.__isset;
 }
-ForeignKeysRequest& ForeignKeysRequest::operator=(const ForeignKeysRequest& other374) {
-  parent_db_name = other374.parent_db_name;
-  parent_tbl_name = other374.parent_tbl_name;
-  foreign_db_name = other374.foreign_db_name;
-  foreign_tbl_name = other374.foreign_tbl_name;
-  __isset = other374.__isset;
+ForeignKeysRequest& ForeignKeysRequest::operator=(const ForeignKeysRequest& other364) {
+  parent_db_name = other364.parent_db_name;
+  parent_tbl_name = other364.parent_tbl_name;
+  foreign_db_name = other364.foreign_db_name;
+  foreign_tbl_name = other364.foreign_tbl_name;
+  __isset = other364.__isset;
   return *this;
 }
 void ForeignKeysRequest::printTo(std::ostream& out) const {
@@ -9695,14 +9405,14 @@ uint32_t ForeignKeysResponse::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->foreignKeys.clear();
-            uint32_t _size375;
-            ::apache::thrift::protocol::TType _etype378;
-            xfer += iprot->readListBegin(_etype378, _size375);
-            this->foreignKeys.resize(_size375);
-            uint32_t _i379;
-            for (_i379 = 0; _i379 < _size375; ++_i379)
+            uint32_t _size365;
+            ::apache::thrift::protocol::TType _etype368;
+            xfer += iprot->readListBegin(_etype368, _size365);
+            this->foreignKeys.resize(_size365);
+            uint32_t _i369;
+            for (_i369 = 0; _i369 < _size365; ++_i369)
             {
-              xfer += this->foreignKeys[_i379].read(iprot);
+              xfer += this->foreignKeys[_i369].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -9733,10 +9443,10 @@ uint32_t ForeignKeysResponse::write(::apache::thrift::protocol::TProtocol* oprot
   xfer += oprot->writeFieldBegin("foreignKeys", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->foreignKeys.size()));
-    std::vector<SQLForeignKey> ::const_iterator _iter380;
-    for (_iter380 = this->foreignKeys.begin(); _iter380 != this->foreignKeys.end(); ++_iter380)
+    std::vector<SQLForeignKey> ::const_iterator _iter370;
+    for (_iter370 = this->foreignKeys.begin(); _iter370 != this->foreignKeys.end(); ++_iter370)
     {
-      xfer += (*_iter380).write(oprot);
+      xfer += (*_iter370).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -9752,11 +9462,11 @@ void swap(ForeignKeysResponse &a, ForeignKeysResponse &b) {
   swap(a.foreignKeys, b.foreignKeys);
 }
 
-ForeignKeysResponse::ForeignKeysResponse(const ForeignKeysResponse& other381) {
-  foreignKeys = other381.foreignKeys;
+ForeignKeysResponse::ForeignKeysResponse(const ForeignKeysResponse& other371) {
+  foreignKeys = other371.foreignKeys;
 }
-ForeignKeysResponse& ForeignKeysResponse::operator=(const ForeignKeysResponse& other382) {
-  foreignKeys = other382.foreignKeys;
+ForeignKeysResponse& ForeignKeysResponse::operator=(const ForeignKeysResponse& other372) {
+  foreignKeys = other372.foreignKeys;
   return *this;
 }
 void ForeignKeysResponse::printTo(std::ostream& out) const {
@@ -9858,13 +9568,13 @@ void swap(UniqueConstraintsRequest &a, UniqueConstraintsRequest &b) {
   swap(a.tbl_name, b.tbl_name);
 }
 
-UniqueConstraintsRequest::UniqueConstraintsRequest(const UniqueConstraintsRequest& other383) {
-  db_name = other383.db_name;
-  tbl_name = other383.tbl_name;
+UniqueConstraintsRequest::UniqueConstraintsRequest(const UniqueConstraintsRequest& other373) {
+  db_name = other373.db_name;
+  tbl_name = other373.tbl_name;
 }
-UniqueConstraintsRequest& UniqueConstraintsRequest::operator=(const UniqueConstraintsRequest& other384) {
-  db_name = other384.db_name;
-  tbl_name = other384.tbl_name;
+UniqueConstraintsRequest& UniqueConstraintsRequest::operator=(const UniqueConstraintsRequest& other374) {
+  db_name = other374.db_name;
+  tbl_name = other374.tbl_name;
   return *this;
 }
 void UniqueConstraintsRequest::printTo(std::ostream& out) const {
@@ -9910,14 +9620,14 @@ uint32_t UniqueConstraintsResponse::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->uniqueConstraints.clear();
-            uint32_t _size385;
-            ::apache::thrift::protocol::TType _etype388;
-            xfer += iprot->readListBegin(_etype388, _size385);
-            this->uniqueConstraints.resize(_size385);
-            uint32_t _i389;
-            for (_i389 = 0; _i389 < _size385; ++_i389)
+            uint32_t _size375;
+            ::apache::thrift::protocol::TType _etype378;
+            xfer += iprot->readListBegin(_etype378, _size375);
+            this->uniqueConstraints.resize(_size375);
+            uint32_t _i379;
+            for (_i379 = 0; _i379 < _size375; ++_i379)
             {
-              xfer += this->uniqueConstraints[_i389].read(iprot);
+              xfer += this->uniqueConstraints[_i379].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -9948,10 +9658,10 @@ uint32_t UniqueConstraintsResponse::write(::apache::thrift::protocol::TProtocol*
   xfer += oprot->writeFieldBegin("uniqueConstraints", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->uniqueConstraints.size()));
-    std::vector<SQLUniqueConstraint> ::const_iterator _iter390;
-    for (_iter390 = this->uniqueConstraints.begin(); _iter390 != this->uniqueConstraints.end(); ++_iter390)
+    std::vector<SQLUniqueConstraint> ::const_iterator _iter380;
+    for (_iter380 = this->uniqueConstraints.begin(); _iter380 != this->uniqueConstraints.end(); ++_iter380)
     {
-      xfer += (*_iter390).write(oprot);
+      xfer += (*_iter380).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -9967,11 +9677,11 @@ void swap(UniqueConstraintsResponse &a, UniqueConstraintsResponse &b) {
   swap(a.uniqueConstraints, b.uniqueConstraints);
 }
 
-UniqueConstraintsResponse::UniqueConstraintsResponse(const UniqueConstraintsResponse& other391) {
-  uniqueConstraints = other391.uniqueConstraints;
+UniqueConstraintsResponse::UniqueConstraintsResponse(const UniqueConstraintsResponse& other381) {
+  uniqueConstraints = other381.uniqueConstraints;
 }
-UniqueConstraintsResponse& UniqueConstraintsResponse::operator=(const UniqueConstraintsResponse& other392) {
-  uniqueConstraints = other392.uniqueConstraints;
+UniqueConstraintsResponse& UniqueConstraintsResponse::operator=(const UniqueConstraintsResponse& other382) {
+  uniqueConstraints = other382.uniqueConstraints;
   return *this;
 }
 void UniqueConstraintsResponse::printTo(std::ostream& out) const {
@@ -10073,13 +9783,13 @@ void swap(NotNullConstraintsRequest &a, NotNullConstraintsRequest &b) {
   swap(a.tbl_name, b.tbl_name);
 }
 
-NotNullConstraintsRequest::NotNullConstraintsRequest(const NotNullConstraintsRequest& other393) {
-  db_name = other393.db_name;
-  tbl_name = other393.tbl_name;
+NotNullConstraintsRequest::NotNullConstraintsRequest(const NotNullConstraintsRequest& other383) {
+  db_name = other383.db_name;
+  tbl_name = other383.tbl_name;
 }
-NotNullConstraintsRequest& NotNullConstraintsRequest::operator=(const NotNullConstraintsRequest& other394) {
-  db_name = other394.db_name;
-  tbl_name = other394.tbl_name;
+NotNullConstraintsRequest& NotNullConstraintsRequest::operator=(const NotNullConstraintsRequest& other384) {
+  db_name = other384.db_name;
+  tbl_name = other384.tbl_name;
   return *this;
 }
 void NotNullConstraintsRequest::printTo(std::ostream& out) const {
@@ -10125,14 +9835,14 @@ uint32_t NotNullConstraintsResponse::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->notNullConstraints.clear();
-            uint32_t _size395;
-            ::apache::thrift::protocol::TType _etype398;
-            xfer += iprot->readListBegin(_etype398, _size395);
-            this->notNullConstraints.resize(_size395);
-            uint32_t _i399;
-            for (_i399 = 0; _i399 < _size395; ++_i399)
+            uint32_t _size385;
+            ::apache::thrift::protocol::TType _etype388;
+            xfer += iprot->readListBegin(_etype388, _size385);
+            this->notNullConstraints.resize(_size385);
+            uint32_t _i389;
+            for (_i389 = 0; _i389 < _size385; ++_i389)
             {
-              xfer += this->notNullConstraints[_i399].read(iprot);
+              xfer += this->notNullConstraints[_i389].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -10163,10 +9873,10 @@ uint32_t NotNullConstraintsResponse::write(::apache::thrift::protocol::TProtocol
   xfer += oprot->writeFieldBegin("notNullConstraints", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->notNullConstraints.size()));
-    std::vector<SQLNotNullConstraint> ::const_iterator _iter400;
-    for (_iter400 = this->notNullConstraints.begin(); _iter400 != this->notNullConstraints.end(); ++_iter400)
+    std::vector<SQLNotNullConstraint> ::const_iterator _iter390;
+    for (_iter390 = this->notNullConstraints.begin(); _iter390 != this->notNullConstraints.end(); ++_iter390)
     {
-      xfer += (*_iter400).write(oprot);
+      xfer += (*_iter390).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -10182,11 +9892,11 @@ void swap(NotNullConstraintsResponse &a, NotNullConstraintsResponse &b) {
   swap(a.notNullConstraints, b.notNullConstraints);
 }
 
-NotNullConstraintsResponse::NotNullConstraintsResponse(const NotNullConstraintsResponse& other401) {
-  notNullConstraints = other401.notNullConstraints;
+NotNullConstraintsResponse::NotNullConstraintsResponse(const NotNullConstraintsResponse& other391) {
+  notNullConstraints = other391.notNullConstraints;
 }
-NotNullConstraintsResponse& NotNullConstraintsResponse::operator=(const NotNullConstraintsResponse& other402) {
-  notNullConstraints = other402.notNullConstraints;
+NotNullConstraintsResponse& NotNullConstraintsResponse::operator=(const NotNullConstraintsResponse& other392) {
+  notNullConstraints = other392.notNullConstraints;
   return *this;
 }
 void NotNullConstraintsResponse::printTo(std::ostream& out) const {
@@ -10288,13 +9998,13 @@ void swap(DefaultConstraintsRequest &a, DefaultConstraintsRequest &b) {
   swap(a.tbl_name, b.tbl_name);
 }
 
-DefaultConstraintsRequest::DefaultConstraintsRequest(const DefaultConstraintsRequest& other403) {
-  db_name = other403.db_name;
-  tbl_name = other403.tbl_name;
+DefaultConstraintsRequest::DefaultConstraintsRequest(const DefaultConstraintsRequest& other393) {
+  db_name = other393.db_name;
+  tbl_name = other393.tbl_name;
 }
-DefaultConstraintsRequest& DefaultConstraintsRequest::operator=(const DefaultConstraintsRequest& other404) {
-  db_name = other404.db_name;
-  tbl_name = other404.tbl_name;
+DefaultConstraintsRequest& DefaultConstraintsRequest::operator=(const DefaultConstraintsRequest& other394) {
+  db_name = other394.db_name;
+  tbl_name = other394.tbl_name;
   return *this;
 }
 void DefaultConstraintsRequest::printTo(std::ostream& out) const {
@@ -10340,14 +10050,14 @@ uint32_t DefaultConstraintsResponse::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->defaultConstraints.clear();
-            uint32_t _size405;
-            ::apache::thrift::protocol::TType _etype408;
-            xfer += iprot->readListBegin(_etype408, _size405);
-            this->defaultConstraints.resize(_size405);
-            uint32_t _i409;
-            for (_i409 = 0; _i409 < _size405; ++_i409)
+            uint32_t _size395;
+            ::apache::thrift::protocol::TType _etype398;
+            xfer += iprot->readListBegin(_etype398, _size395);
+            this->defaultConstraints.resize(_size395);
+            uint32_t _i399;
+            for (_i399 = 0; _i399 < _size395; ++_i399)
             {
-              xfer += this->defaultConstraints[_i409].read(iprot);
+              xfer += this->defaultConstraints[_i399].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -10378,10 +10088,10 @@ uint32_t DefaultConstraintsResponse::write(::apache::thrift::protocol::TProtocol
   xfer += oprot->writeFieldBegin("defaultConstraints", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->defaultConstraints.size()));
-    std::vector<SQLDefaultConstraint> ::const_iterator _iter410;
-    for (_iter410 = this->defaultConstraints.begin(); _iter410 != this->defaultConstraints.end(); ++_iter410)
+    std::vector<SQLDefaultConstraint> ::const_iterator _iter400;
+    for (_iter400 = this->defaultConstraints.begin(); _iter400 != this->defaultConstraints.end(); ++_iter400)
     {
-      xfer += (*_iter410).write(oprot);
+      xfer += (*_iter400).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -10397,11 +10107,11 @@ void swap(DefaultConstraintsResponse &a, DefaultConstraintsResponse &b) {
   swap(a.defaultConstraints, b.defaultConstraints);
 }
 
-DefaultConstraintsResponse::DefaultConstraintsResponse(const DefaultConstraintsResponse& other411) {
-  defaultConstraints = other411.defaultConstraints;
+DefaultConstraintsResponse::DefaultConstraintsResponse(const DefaultConstraintsResponse& other401) {
+  defaultConstraints = other401.defaultConstraints;
 }
-DefaultConstraintsResponse& DefaultConstraintsResponse::operator=(const DefaultConstraintsResponse& other412) {
-  defaultConstraints = other412.defaultConstraints;
+DefaultConstraintsResponse& DefaultConstraintsResponse::operator=(const DefaultConstraintsResponse& other402) {
+  defaultConstraints = other402.defaultConstraints;
   return *this;
 }
 void DefaultConstraintsResponse::printTo(std::ostream& out) const {
@@ -10523,15 +10233,15 @@ void swap(DropConstraintRequest &a, DropConstraintRequest &b) {
   swap(a.constraintname, b.constraintname);
 }
 
-DropConstraintRequest::DropConstraintRequest(const DropConstraintRequest& other413) {
-  dbname = other413.dbname;
-  tablename = other413.tablename;
-  constraintname = other413.constraintname;
+DropConstraintRequest::DropConstraintRequest(const DropConstraintRequest& other403) {
+  dbname = other403.dbname;
+  tablename = other403.tablename;
+  constraintname = other403.constraintname;
 }
-DropConstraintRequest& DropConstraintRequest::operator=(const DropConstraintRequest& other414) {
-  dbname = other414.dbname;
-  tablename = other414.tablename;
-  constraintname = other414.constraintname;
+DropConstraintRequest& DropConstraintRequest::operator=(const DropConstraintRequest& other404) {
+  dbname = other404.dbname;
+  tablename = other404.tablename;
+  constraintname = other404.constraintname;
   return *this;
 }
 void DropConstraintRequest::printTo(std::ostream& out) const {
@@ -10578,14 +10288,14 @@ uint32_t AddPrimaryKeyRequest::read(::apache::thrift::protocol::TProtocol* iprot
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->primaryKeyCols.clear();
-            uint32_t _size415;
-            ::apache::thrift::protocol::TType _etype418;
-            xfer += iprot->readListBegin(_etype418, _size415);
-            this->primaryKeyCols.resize(_size415);
-            uint32_t _i419;
-            for (_i419 = 0; _i419 < _size415; ++_i419)
+            uint32_t _size405;
+            ::apache::thrift::protocol::TType _etype408;
+            xfer += iprot->readListBegin(_etype408, _size405);
+            this->primaryKeyCols.resize(_size405);
+            uint32_t _i409;
+            for (_i409 = 0; _i409 < _size405; ++_i409)
             {
-              xfer += this->primaryKeyCols[_i419].read(iprot);
+              xfer += this->primaryKeyCols[_i409].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -10616,10 +10326,10 @@ uint32_t AddPrimaryKeyRequest::write(::apache::thrift::protocol::TProtocol* opro
   xfer += oprot->writeFieldBegin("primaryKeyCols", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->primaryKeyCols.size()));
-    std::vector<SQLPrimaryKey> ::const_iterator _iter420;
-    for (_iter420 = this->primaryKeyCols.begin(); _iter420 != this->primaryKeyCols.end(); ++_iter420)
+    std::vector<SQLPrimaryKey> ::const_iterator _iter410;
+    for (_iter410 = this->primaryKeyCols.begin(); _iter410 != this->primaryKeyCols.end(); ++_iter410)
     {
-      xfer += (*_iter420).write(oprot);
+      xfer += (*_iter410).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -10635,11 +10345,11 @@ void swap(AddPrimaryKeyRequest &a, AddPrimaryKeyRequest &b) {
   swap(a.primaryKeyCols, b.primaryKeyCols);
 }
 
-AddPrimaryKeyRequest::AddPrimaryKeyRequest(const AddPrimaryKeyRequest& other421) {
-  primaryKeyCols = other421.primaryKeyCols;
+AddPrimaryKeyRequest::AddPrimaryKeyRequest(const AddPrimaryKeyRequest& other411) {
+  primaryKeyCols = other411.primaryKeyCols;
 }
-AddPrimaryKeyRequest& AddPrimaryKeyRequest::operator=(const AddPrimaryKeyRequest& other422) {
-  primaryKeyCols = other422.primaryKeyCols;
+AddPrimaryKeyRequest& AddPrimaryKeyRequest::operator=(const AddPrimaryKeyRequest& other412) {
+  primaryKeyCols = other412.primaryKeyCols;
   return *this;
 }
 void AddPrimaryKeyRequest::printTo(std::ostream& out) const {
@@ -10684,14 +10394,14 @@ uint32_t AddForeignKeyRequest::read(::apache::thrift::protocol::TProtocol* iprot
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->foreignKeyCols.clear();
-            uint32_t _size423;
-            ::apache::thrift::protocol::TType _etype426;
-            xfer += iprot->readListBegin(_etype426, _size423);
-            this->foreignKeyCols.resize(_size423);
-            uint32_t _i427;
-            for (_i427 = 0; _i427 < _size423; ++_i427)
+            uint32_t _size413;
+            ::apache::thrift::protocol::TType _etype416;
+            xfer += iprot->readListBegin(_etype416, _size413);
+            this->foreignKeyCols.resize(_size413);
+            uint32_t _i417;
+            for (_i417 = 0; _i417 < _size413; ++_i417)
             {
-              xfer += this->foreignKeyCols[_i427].read(iprot);
+              xfer += this->foreignKeyCols[_i417].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -10722,10 +10432,10 @@ uint32_t AddForeignKeyRequest::write(::apache::thrift::protocol::TProtocol* opro
   xfer += oprot->writeFieldBegin("foreignKeyCols", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->foreignKeyCols.size()));
-    std::vector<SQLForeignKey> ::const_iterator _iter428;
-    for (_iter428 = this->foreignKeyCols.begin(); _iter428 != this->foreignKeyCols.end(); ++_iter428)
+    std::vector<SQLForeignKey> ::const_iterator _iter418;
+    for (_iter418 = this->foreignKeyCols.begin(); _iter418 != this->foreignKeyCols.end(); ++_iter418)
     {
-      xfer += (*_iter428).write(oprot);
+      xfer += (*_iter418).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -10741,11 +10451,11 @@ void swap(AddForeignKeyRequest &a, AddForeignKeyRequest &b) {
   swap(a.foreignKeyCols, b.foreignKeyCols);
 }
 
-AddForeignKeyRequest::AddForeignKeyRequest(const AddForeignKeyRequest& other429) {
-  foreignKeyCols = other429.foreignKeyCols;
+AddForeignKeyRequest::AddForeignKeyRequest(const AddForeignKeyRequest& other419) {
+  foreignKeyCols = other419.foreignKeyCols;
 }
-AddForeignKeyRequest& AddForeignKeyRequest::operator=(const AddForeignKeyRequest& other430) {
-  foreignKeyCols = other430.foreignKeyCols;
+AddForeignKeyRequest& AddForeignKeyRequest::operator=(const AddForeignKeyRequest& other420) {
+  foreignKeyCols = other420.foreignKeyCols;
   return *this;
 }
 void AddForeignKeyRequest::printTo(std::ostream& out) const {
@@ -10790,14 +10500,14 @@ uint32_t AddUniqueConstraintRequest::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->uniqueConstraintCols.clear();
-            uint32_t _size431;
-            ::apache::thrift::protocol::TType _etype434;
-            xfer += iprot->readListBegin(_etype434, _size431);
-            this->uniqueConstraintCols.resize(_size431);
-            uint32_t _i435;
-            for (_i435 = 0; _i435 < _size431; ++_i435)
+            uint32_t _size421;
+            ::apache::thrift::protocol::TType _etype424;
+            xfer += iprot->readListBegin(_etype424, _size421);
+            this->uniqueConstraintCols.resize(_size421);
+            uint32_t _i425;
+            for (_i425 = 0; _i425 < _size421; ++_i425)
             {
-              xfer += this->uniqueConstraintCols[_i435].read(iprot);
+              xfer += this->uniqueConstraintCols[_i425].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -10828,10 +10538,10 @@ uint32_t AddUniqueConstraintRequest::write(::apache::thrift::protocol::TProtocol
   xfer += oprot->writeFieldBegin("uniqueConstraintCols", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->uniqueConstraintCols.size()));
-    std::vector<SQLUniqueConstraint> ::const_iterator _iter436;
-    for (_iter436 = this->uniqueConstraintCols.begin(); _iter436 != this->uniqueConstraintCols.end(); ++_iter436)
+    std::vector<SQLUniqueConstraint> ::const_iterator _iter426;
+    for (_iter426 = this->uniqueConstraintCols.begin(); _iter426 != this->uniqueConstraintCols.end(); ++_iter426)
     {
-      xfer += (*_iter436).write(oprot);
+      xfer += (*_iter426).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -10847,11 +10557,11 @@ void swap(AddUniqueConstraintRequest &a, AddUniqueConstraintRequest &b) {
   swap(a.uniqueConstraintCols, b.uniqueConstraintCols);
 }
 
-AddUniqueConstraintRequest::AddUniqueConstraintRequest(const AddUniqueConstraintRequest& other437) {
-  uniqueConstraintCols = other437.uniqueConstraintCols;
+AddUniqueConstraintRequest::AddUniqueConstraintRequest(const AddUniqueConstraintRequest& other427) {
+  uniqueConstraintCols = other427.uniqueConstraintCols;
 }
-AddUniqueConstraintRequest& AddUniqueConstraintRequest::operator=(const AddUniqueConstraintRequest& other438) {
-  uniqueConstraintCols = other438.uniqueConstraintCols;
+AddUniqueConstraintRequest& AddUniqueConstraintRequest::operator=(const AddUniqueConstraintRequest& other428) {
+  uniqueConstraintCols = other428.uniqueConstraintCols;
   return *this;
 }
 void AddUniqueConstraintRequest::printTo(std::ostream& out) const {
@@ -10896,14 +10606,14 @@ uint32_t AddNotNullConstraintRequest::read(::apache::thrift::protocol::TProtocol
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->notNullConstraintCols.clear();
-            uint32_t _size439;
-            ::apache::thrift::protocol::TType _etype442;
-            xfer += iprot->readListBegin(_etype442, _size439);
-            this->notNullConstraintCols.resize(_size439);
-            uint32_t _i443;
-            for (_i443 = 0; _i443 < _size439; ++_i443)
+            uint32_t _size429;
+            ::apache::thrift::protocol::TType _etype432;
+            xfer += iprot->readListBegin(_etype432, _size429);
+            this->notNullConstraintCols.resize(_size429);
+            uint32_t _i433;
+            for (_i433 = 0; _i433 < _size429; ++_i433)
             {
-              xfer += this->notNullConstraintCols[_i443].read(iprot);
+              xfer += this->notNullConstraintCols[_i433].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -10934,10 +10644,10 @@ uint32_t AddNotNullConstraintRequest::write(::apache::thrift::protocol::TProtoco
   xfer += oprot->writeFieldBegin("notNullConstraintCols", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->notNullConstraintCols.size()));
-    std::vector<SQLNotNullConstraint> ::const_iterator _iter444;
-    for (_iter444 = this->notNullConstraintCols.begin(); _iter444 != this->notNullConstraintCols.end(); ++_iter444)
+    std::vector<SQLNotNullConstraint> ::const_iterator _iter434;
+    for (_iter434 = this->notNullConstraintCols.begin(); _iter434 != this->notNullConstraintCols.end(); ++_iter434)
     {
-      xfer += (*_iter444).write(oprot);
+      xfer += (*_iter434).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -10953,11 +10663,11 @@ void swap(AddNotNullConstraintRequest &a, AddNotNullConstraintRequest &b) {
   swap(a.notNullConstraintCols, b.notNullConstraintCols);
 }
 
-AddNotNullConstraintRequest::AddNotNullConstraintRequest(const AddNotNullConstraintRequest& other445) {
-  notNullConstraintCols = other445.notNullConstraintCols;
+AddNotNullConstraintRequest::AddNotNullConstraintRequest(const AddNotNullConstraintRequest& other435) {
+  notNullConstraintCols = other435.notNullConstraintCols;
 }
-AddNotNullConstraintRequest& AddNotNullConstraintRequest::operator=(const AddNotNullConstraintRequest& other446) {
-  notNullConstraintCols = other446.notNullConstraintCols;
+AddNotNullConstraintRequest& AddNotNullConstraintRequest::operator=(const AddNotNullConstraintRequest& other436) {
+  notNullConstraintCols = other436.notNullConstraintCols;
   return *this;
 }
 void AddNotNullConstraintRequest::printTo(std::ostream& out) const {
@@ -11002,14 +10712,14 @@ uint32_t AddDefaultConstraintRequest::read(::apache::thrift::protocol::TProtocol
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->defaultConstraintCols.clear();
-            uint32_t _size447;
-            ::apache::thrift::protocol::TType _etype450;
-            xfer += iprot->readListBegin(_etype450, _size447);
-            this->defaultConstraintCols.resize(_size447);
-            uint32_t _i451;
-            for (_i451 = 0; _i451 < _size447; ++_i451)
+            uint32_t _size437;
+            ::apache::thrift::protocol::TType _etype440;
+            xfer += iprot->readListBegin(_etype440, _size437);
+            this->defaultConstraintCols.resize(_size437);
+            uint32_t _i441;
+            for (_i441 = 0; _i441 < _size437; ++_i441)
             {
-              xfer += this->defaultConstraintCols[_i451].read(iprot);
+              xfer += this->defaultConstraintCols[_i441].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -11040,10 +10750,10 @@ uint32_t AddDefaultConstraintRequest::write(::apache::thrift::protocol::TProtoco
   xfer += oprot->writeFieldBegin("defaultConstraintCols", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->defaultConstraintCols.size()));
-    std::vector<SQLDefaultConstraint> ::const_iterator _iter452;
-    for (_iter452 = this->defaultConstraintCols.begin(); _iter452 != this->defaultConstraintCols.end(); ++_iter452)
+    std::vector<SQLDefaultConstraint> ::const_iterator _iter442;
+    for (_iter442 = this->defaultConstraintCols.begin(); _iter442 != this->defaultConstraintCols.end(); ++_iter442)
     {
-      xfer += (*_iter452).write(oprot);
+      xfer += (*_iter442).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -11059,11 +10769,11 @@ void swap(AddDefaultConstraintRequest &a, AddDefaultConstraintRequest &b) {
   swap(a.defaultConstraintCols, b.defaultConstraintCols);
 }
 
-AddDefaultConstraintRequest::AddDefaultConstraintRequest(const AddDefaultConstraintRequest& other453) {
-  defaultConstraintCols = other453.defaultConstraintCols;
+AddDefaultConstraintRequest::AddDefaultConstraintRequest(const AddDefaultConstraintRequest& other443) {
+  defaultConstraintCols = other443.defaultConstraintCols;
 }
-AddDefaultConstraintRequest& AddDefaultConstraintRequest::operator=(const AddDefaultConstraintRequest& other454) {
-  defaultConstraintCols = other454.defaultConstraintCols;
+AddDefaultConstraintRequest& AddDefaultConstraintRequest::operator=(const AddDefaultConstraintRequest& other444) {
+  defaultConstraintCols = other444.defaultConstraintCols;
   return *this;
 }
 void AddDefaultConstraintRequest::printTo(std::ostream& out) const {
@@ -11113,14 +10823,14 @@ uint32_t PartitionsByExprResult::read(::apache::thrift::protocol::TProtocol* ipr
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->partitions.clear();
-            uint32_t _size455;
-            ::apache::thrift::protocol::TType _etype458;
-            xfer += iprot->readListBegin(_etype458, _size455);
-            this->partitions.resize(_size455);
-            uint32_t _i459;
-            for (_i459 = 0; _i459 < _size455; ++_i459)
+            uint32_t _size445;
+            ::apache::thrift::protocol::TType _etype448;
+            xfer += iprot->readListBegin(_etype448, _size445);
+            this->partitions.resize(_size445);
+            uint32_t _i449;
+            for (_i449 = 0; _i449 < _size445; ++_i449)
             {
-              xfer += this->partitions[_i459].read(iprot);
+              xfer += this->partitions[_i449].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -11161,10 +10871,10 @@ uint32_t PartitionsByExprResult::write(::apache::thrift::protocol::TProtocol* op
   xfer += oprot->writeFieldBegin("partitions", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->partitions.size()));
-    std::vector<Partition> ::const_iterator _iter460;
-    for (_iter460 = this->partitions.begin(); _iter460 != this->partitions.end(); ++_iter460)
+    std::vector<Partition> ::const_iterator _iter450;
+    for (_iter450 = this->partitions.begin(); _iter450 != this->partitions.end(); ++_iter450)
     {
-      xfer += (*_iter460).write(oprot);
+      xfer += (*_iter450).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -11185,13 +10895,13 @@ void swap(PartitionsByExprResult &a, PartitionsByExprResult &b) {
   swap(a.hasUnknownPartitions, b.hasUnknownPartitions);
 }
 
-PartitionsByExprResult::PartitionsByExprResult(const PartitionsByExprResult& other461) {
-  partitions = other461.partitions;
-  hasUnknownPartitions = other461.hasUnknownPartitions;
+PartitionsByExprResult::PartitionsByExprResult(const PartitionsByExprResult& other451) {
+  partitions = other451.partitions;
+  hasUnknownPartitions = other451.hasUnknownPartitions;
 }
-PartitionsByExprResult& PartitionsByExprResult::operator=(const PartitionsByExprResult& other462) {
-  partitions = other462.partitions;
-  hasUnknownPartitions = other462.hasUnknownPartitions;
+PartitionsByExprResult& PartitionsByExprResult::operator=(const PartitionsByExprResult& other452) {
+  partitions = other452.partitions;
+  hasUnknownPartitions = other452.hasUnknownPartitions;
   return *this;
 }
 void PartitionsByExprResult::printTo(std::ostream& out) const {
@@ -11353,21 +11063,21 @@ void swap(PartitionsByExprRequest &a, PartitionsByExprRequest &b) {
   swap(a.__isset, b.__isset);
 }
 
-PartitionsByExprRequest::PartitionsByExprRequest(const PartitionsByExprRequest& other463) {
-  dbName = other463.dbName;
-  tblName = other463.tblName;
-  expr = other463.expr;
-  defaultPartitionName = other463.defaultPartitionName;
-  maxParts = other463.maxParts;
-  __isset = other463.__isset;
-}
-PartitionsByExprRequest& PartitionsByExprRequest::operator=(const PartitionsByExprRequest& other464) {
-  dbName = other464.dbName;
-  tblName = other464.tblName;
-  expr = other464.expr;
-  defaultPartitionName = other464.defaultPartitionName;
-  maxParts = other464.maxParts;
-  __isset = other464.__isset;
+PartitionsByExprRequest::PartitionsByExprRequest(const PartitionsByExprRequest& other453) {
+  dbName = other453.dbName;
+  tblName = other453.tblName;
+  expr = other453.expr;
+  defaultPartitionName = other453.defaultPartitionName;
+  maxParts = other453.maxParts;
+  __isset = other453.__isset;
+}
+PartitionsByExprRequest& PartitionsByExprRequest::operator=(const PartitionsByExprRequest& other454) {
+  dbName = other454.dbName;
+  tblName = other454.tblName;
+  expr = other454.expr;
+  defaultPartitionName = other454.defaultPartitionName;
+  maxParts = other454.maxParts;
+  __isset = other454.__isset;
   return *this;
 }
 void PartitionsByExprRequest::printTo(std::ostream& out) const {
@@ -11416,14 +11126,14 @@ uint32_t TableStatsResult::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->tableStats.clear();
-            uint32_t _size465;
-            ::apache::thrift::protocol::TType _etype468;
-            xfer += iprot->readListBegin(_etype468, _size465);
-            this->tableStats.resize(_size465);
-            uint32_t _i469;
-            for (_i469 = 0; _i469 < _size465; ++_i469)
+            uint32_t _size455;
+            ::apache::thrift::protocol::TType _etype458;
+            xfer += iprot->readListBegin(_etype458, _size455);
+            this->tableStats.resize(_size455);
+            uint32_t _i459;
+            for (_i459 = 0; _i459 < _size455; ++_i459)
             {
-              xfer += this->tableStats[_i469].read(iprot);
+              xfer += this->tableStats[_i459].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -11454,10 +11164,10 @@ uint32_t TableStatsResult::write(::apache::thrift::protocol::TProtocol* oprot) c
   xfer += oprot->writeFieldBegin("tableStats", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->tableStats.size()));
-    std::vector<ColumnStatisticsObj> ::const_iterator _iter470;
-    for (_iter470 = this->tableStats.begin(); _iter470 != this->tableStats.end(); ++_iter470)
+    std::vector<ColumnStatisticsObj> ::const_iterator _iter460;
+    for (_iter460 = this->tableStats.begin(); _iter460 != this->tableStats.end(); ++_iter460)
     {
-      xfer += (*_iter470).write(oprot);
+      xfer += (*_iter460).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -11473,11 +11183,11 @@ void swap(TableStatsResult &a, TableStatsResult &b) {
   swap(a.tableStats, b.tableStats);
 }
 
-TableStatsResult::TableStatsResult(const TableStatsResult& other471) {
-  tableStats = other471.tableStats;
+TableStatsResult::TableStatsResult(const TableStatsResult& other461) {
+  tableStats = other461.tableStats;
 }
-TableStatsResult& TableStatsResult::operator=(const TableStatsResult& other472) {
-  tableStats = other472.tableStats;
+TableStatsResult& TableStatsResult::operator=(const TableStatsResult& other462) {
+  tableStats = other462.tableStats;
   return *this;
 }
 void TableStatsResult::printTo(std::ostream& out) const {
@@ -11522,26 +11232,26 @@ uint32_t PartitionsStatsResult::read(::apache::thrift::protocol::TProtocol* ipro
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->partStats.clear();
-            uint32_t _size473;
-            ::apache::thrift::protocol::TType _ktype474;
-            ::apache::thrift::protocol::TType _vtype475;
-            xfer += iprot->readMapBegin(_ktype474, _vtype475, _size473);
-            uint32_t _i477;
-            for (_i477 = 0; _i477 < _size473; ++_i477)
+            uint32_t _size463;
+            ::apache::thrift::protocol::TType _ktype464;
+            ::apache::thrift::protocol::TType _vtype465;
+            xfer += iprot->readMapBegin(_ktype464, _vtype465, _size463);
+            uint32_t _i467;
+            for (_i467 = 0; _i467 < _size463; ++_i467)
             {
-              std::string _key478;
-              xfer += iprot->readString(_key478);
-              std::vector<ColumnStatisticsObj> & _val479 = this->partStats[_key478];
+              std::string _key468;
+              xfer += iprot->readString(_key468);
+              std::vector<ColumnStatisticsObj> & _val469 = this->partStats[_key468];
               {
-                _val479.clear();
-                uint32_t _size480;
-                ::apache::thrift::protocol::TType _etype483;
-                xfer += iprot->readListBegin(_etype483, _size480);
-                _val479.resize(_size480);
-                uint32_t _i484;
-                for (_i484 = 0; _i484 < _size480; ++_i484)
+                _val469.clear();
+                uint32_t _size470;
+                ::apache::thrift::protocol::TType _etype473;
+                xfer += iprot->readListBegin(_etype473, _size470);
+                _val469.resize(_size470);
+                uint32_t _i474;
+                for (_i474 = 0; _i474 < _size470; ++_i474)
                 {
-                  xfer += _val479[_i484].read(iprot);
+                  xfer += _val469[_i474].read(iprot);
                 }
                 xfer += iprot->readListEnd();
               }
@@ -11575,16 +11285,16 @@ uint32_t PartitionsStatsResult::write(::apache::thrift::protocol::TProtocol* opr
   xfer += oprot->writeFieldBegin("partStats", ::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_LIST, static_cast<uint32_t>(this->partStats.size()));
-    std::map<std::string, std::vector<ColumnStatisticsObj> > ::const_iterator _iter485;
-    for (_iter485 = this->partStats.begin(); _iter485 != this->partStats.end(); ++_iter485)
+    std::map<std::string, std::vector<ColumnStatisticsObj> > ::const_iterator _iter475;
+    for (_iter475 = this->partStats.begin(); _iter475 != this->partStats.end(); ++_iter475)
     {
-      xfer += oprot->writeString(_iter485->first);
+      xfer += oprot->writeString(_iter475->first);
       {
-        xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(_iter485->second.size()));
-        std::vector<ColumnStatisticsObj> ::const_iterator _iter486;
-        for (_iter486 = _iter485->second.begin(); _iter486 != _iter485->second.end(); ++_iter486)
+        xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(_iter475->second.size()));
+        std::vector<ColumnStatisticsObj> ::const_iterator _iter476;
+        for (_iter476 = _iter475->second.begin(); _iter476 != _iter475->second.end(); ++_iter476)
         {
-          xfer += (*_iter486).write(oprot);
+          xfer += (*_iter476).write(oprot);
         }
         xfer += oprot->writeListEnd();
       }
@@ -11603,11 +11313,11 @@ void swap(PartitionsStatsResult &a, PartitionsStatsResult &b) {
   swap(a.partStats, b.partStats);
 }
 
-PartitionsStatsResult::PartitionsStatsResult(const PartitionsStatsResult& other487) {
-  partStats = other487.partStats;
+PartitionsStatsResult::PartitionsStatsResult(const PartitionsStatsResult& other477) {
+  partStats = other477.partStats;
 }
-PartitionsStatsResult& PartitionsStatsResult::operator=(const PartitionsStatsResult& other488) {
-  partStats = other488.partStats;
+PartitionsStatsResult& PartitionsStatsResult::operator=(const PartitionsStatsResult& other478) {
+  partStats = other478.partStats;
   return *this;
 }
 void PartitionsStatsResult::printTo(std::ostream& out) const {
@@ -11678,14 +11388,14 @@ uint32_t TableStatsRequest::read(::apache::thrift::protocol::TProtocol* iprot) {
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->colNames.clear();
-            uint32_t _size489;
-            ::apache::thrift::protocol::TType _etype492;
-            xfer += iprot->readListBegin(_etype492, _size489);
-            this->colNames.resize(_size489);
-            uint32_t _i493;
-            for (_i493 = 0; _i493 < _size489; ++_i493)
+            uint32_t _size479;
+            ::apache::thrift::protocol::TType _etype482;
+            xfer += iprot->readListBegin(_etype482, _size479);
+            this->colNames.resize(_size479);
+            uint32_t _i483;
+            for (_i483 = 0; _i483 < _size479; ++_i483)
             {
-              xfer += iprot->readString(this->colNames[_i493]);
+              xfer += iprot->readString(this->colNames[_i483]);
             }
             xfer += iprot->readListEnd();
           }
@@ -11728,10 +11438,10 @@ uint32_t TableStatsRequest::write(::apache::thrift::protocol::TProtocol* oprot)
   xfer += oprot->writeFieldBegin("colNames", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->colNames.size()));
-    std::vector<std::string> ::const_iterator _iter494;
-    for (_iter494 = this->colNames.begin(); _iter494 != this->colNames.end(); ++_iter494)
+    std::vector<std::string> ::const_iterator _iter484;
+    for (_iter484 = this->colNames.begin(); _iter484 != this->colNames.end(); ++_iter484)
     {
-      xfer += oprot->writeString((*_iter494));
+      xfer += oprot->writeString((*_iter484));
     }
     xfer += oprot->writeListEnd();
   }
@@ -11749,15 +11459,15 @@ void swap(TableStatsRequest &a, TableStatsRequest &b) {
   swap(a.colNames, b.colNames);
 }
 
-TableStatsRequest::TableStatsRequest(const TableStatsRequest& other495) {
-  dbName = other495.dbName;
-  tblName = other495.tblName;
-  colNames = other495.colNames;
+TableStatsRequest::TableStatsRequest(const TableStatsRequest& other485) {
+  dbName = other485.dbName;
+  tblName = other485.tblName;
+  colNames = other485.colNames;
 }
-TableStatsRequest& TableStatsRequest::operator=(const TableStatsRequest& other496) {
-  dbName = other496.dbName;
-  tblName = other496.tblName;
-  colNames = other496.colNames;
+TableStatsRequest& TableStatsRequest::operator=(const TableStatsRequest& other486) {
+  dbName = other486.dbName;
+  tblName = other486.tblName;
+  colNames = other486.colNames;
   return *this;
 }
 void TableStatsRequest::printTo(std::ostream& out) const {
@@ -11835,14 +11545,14 @@ uint32_t PartitionsStatsRequest::read(::apache::thrift::protocol::TProtocol* ipr
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->colNames.clear();
-            uint32_t _size497;
-            ::apache::thrift::protocol::TType _etype500;
-            xfer += iprot->readListBegin(_etype500, _size497);
-            this->colNames.resize(_size497);
-            uint32_t _i501;
-            for (_i501 = 0; _i501 < _size497; ++_i501)
+            uint32_t _size487;
+            ::apache::thrift::protocol::TType _etype490;
+            xfer += iprot->readListBegin(_etype490, _size487);
+            this->colNames.resize(_size487);
+            uint32_t _i491;
+            for (_i491 = 0; _i491 < _size487; ++_i491)
             {
-              xfer += iprot->readString(this->colNames[_i501]);
+              xfer += iprot->readString(this->colNames[_i491]);
             }
             xfer += iprot->readListEnd();
           }
@@ -11855,14 +11565,14 @@ uint32_t PartitionsStatsRequest::read(::apache::thrift::protocol::TProtocol* ipr
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->partNames.clear();
-            uint32_t _size502;
-            ::apache::thrift::protocol::TType _etype505;
-            xfer += iprot->readListBegin(_etype505, _size502);
-            this->partNames.resize(_size502);
-            uint32_t _i506;
-            for (_i506 = 0; _i506 < _size502; ++_i506)
+            uint32_t _size492;
+            ::apache::thrift::protocol::TType _etype495;
+            xfer += iprot->readListBegin(_etype495, _size492);
+            this->partNames.resize(_size492);
+            uint32_t _i496;
+            for (_i496 = 0; _i496 < _size492; ++_i496)
             {
-              xfer += iprot->readString(this->partNames[_i506]);
+              xfer += iprot->readString(this->partNames[_i496]);
             }
             xfer += iprot->readListEnd();
           }
@@ -11907,10 +11617,10 @@ uint32_t PartitionsStatsRequest::write(::apache::thrift::protocol::TProtocol* op
   xfer += oprot->writeFieldBegin("colNames", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->colNames.size()));
-    std::vector<std::string> ::const_iterator _iter507;
-    for (_iter507 = this->colNames.begin(); _iter507 != this->colNames.end(); ++_iter507)
+    std::vector<std::string> ::const_iterator _iter497;
+    for (_iter497 = this->colNames.begin(); _iter497 != this->colNames.end()

<TRUNCATED>

[02/22] hive git commit: HIVE-17626: Query reoptimization using cached runtime statistics (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStatsReaderHook.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStatsReaderHook.java b/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStatsReaderHook.java
new file mode 100644
index 0000000..6b5fa1f
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStatsReaderHook.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.stats;
+
+import java.util.List;
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.ql.QueryPlan;
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.exec.Utilities;
+import org.apache.hadoop.hive.ql.exec.tez.TezTask;
+import org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext;
+import org.apache.hadoop.hive.ql.hooks.HookContext;
+import org.apache.hadoop.hive.ql.hooks.HookContext.HookType;
+import org.apache.hadoop.hive.ql.hooks.PrivateHookContext;
+import org.apache.hadoop.hive.ql.plan.BaseWork;
+import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+import org.apache.tez.common.counters.TezCounter;
+import org.apache.tez.common.counters.TezCounters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class OperatorStatsReaderHook implements ExecuteWithHookContext {
+
+  private static final Logger LOG = LoggerFactory.getLogger(OperatorStatsReaderHook.class);
+  private boolean collectOnSuccess;
+
+  @Override
+  public void run(HookContext hookContext) throws Exception {
+
+    if (hookContext.getHookType() == HookType.PRE_EXEC_HOOK) {
+      return;
+    }
+    if (hookContext.getHookType() == HookType.POST_EXEC_HOOK && !isCollectOnSuccess()) {
+      return;
+    }
+
+    HiveConf conf = hookContext.getConf();
+    QueryPlan plan = hookContext.getQueryPlan();
+    List<TezTask> rootTasks = Utilities.getTezTasks(plan.getRootTasks());
+    for (TezTask tezTask : rootTasks) {
+      List<BaseWork> baseWorks = tezTask.getWork().getAllWork();
+      for (BaseWork baseWork : baseWorks) {
+        String vertexName = baseWork.getName();
+        LOG.debug("Reading runtime statistics for tez vertex task: {}", vertexName);
+        TezCounters counters = tezTask.getTezCounters();
+        if (counters != null) {
+          String groupName = HiveConf.getVar(conf, HiveConf.ConfVars.HIVECOUNTERGROUP);
+          for (Operator<? extends OperatorDesc> op : baseWork.getAllOperators()) {
+            String operatorId = op.getOperatorId();
+            OperatorStats operatorStats = null;
+            String counterName = Operator.Counter.RECORDS_OUT_OPERATOR.toString() + "_" + operatorId;
+            TezCounter tezCounter = counters.getGroup(groupName).findCounter(counterName, false);
+            if (tezCounter != null) {
+              if (operatorStats == null) {
+                operatorStats = new OperatorStats(operatorId);
+              }
+              operatorStats.setOutputRecords(tezCounter.getValue());
+            }
+
+            if (operatorStats != null) {
+              ((PrivateHookContext) hookContext).getContext().getPlanMapper().link(op, operatorStats);
+            } else {
+              LOG.debug("Unable to get statistics for vertex: {} opId: {} groupName: {}", vertexName, operatorId,
+                  groupName);
+            }
+          }
+        }
+      }
+    }
+  }
+
+  public boolean isCollectOnSuccess() {
+    return collectOnSuccess;
+  }
+
+  public void setCollectOnSuccess(boolean collectOnSuccess) {
+    this.collectOnSuccess = collectOnSuccess;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrueOOM.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrueOOM.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrueOOM.java
new file mode 100644
index 0000000..c5c7383
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrueOOM.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.udf.generic;
+
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;
+import org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.hive.ql.udf.UDFType;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.io.BooleanWritable;
+
+@UDFType(deterministic = false)
+public class GenericUDFAssertTrueOOM extends GenericUDF {
+  private ObjectInspectorConverters.Converter conditionConverter = null;
+
+  public GenericUDFAssertTrueOOM() {
+  }
+
+  @Override
+  public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {
+    HiveConf conf = SessionState.getSessionConf();
+    if (!conf.getBoolVar(HiveConf.ConfVars.HIVE_IN_TEST)) {
+      throw new RuntimeException("this UDF is only available in testmode");
+    }
+    if (arguments.length != 1) {
+      throw new UDFArgumentLengthException("ASSERT_TRUE_OOM() expects one argument.");
+    }
+    if (arguments[0].getCategory() != Category.PRIMITIVE) {
+      throw new UDFArgumentTypeException(0, "Argument to ASSERT_TRUE_OOM() should be primitive.");
+    }
+    conditionConverter =
+        ObjectInspectorConverters.getConverter(arguments[0], PrimitiveObjectInspectorFactory.writableBooleanObjectInspector);
+
+    return PrimitiveObjectInspectorFactory.writableVoidObjectInspector;
+  }
+
+  @Override
+  public Object evaluate(DeferredObject[] arguments) throws HiveException {
+    BooleanWritable condition = (BooleanWritable) conditionConverter.convert(arguments[0].get());
+    if (condition == null || !condition.get()) {
+      throw new MapJoinMemoryExhaustionError("assert_true_oom: assertation failed; Simulated OOM");
+    }
+    return null;
+  }
+
+  @Override
+  public String getDisplayString(String[] children) {
+    return getStandardDisplayString("assert_true_oom", children);
+  }
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFEnforceNotNullConstraint.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFEnforceNotNullConstraint.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFEnforceNotNullConstraint.java
index 6c469bf..e8516fb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFEnforceNotNullConstraint.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFEnforceNotNullConstraint.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorGroupByOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorGroupByOperator.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorGroupByOperator.java
index fa3f89f..e65288b 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorGroupByOperator.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorGroupByOperator.java
@@ -41,8 +41,6 @@ import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.ql.CompilationOpContext;
 import org.apache.hadoop.hive.ql.exec.Operator;
 import org.apache.hadoop.hive.ql.exec.OperatorFactory;
-import org.apache.hadoop.hive.ql.exec.util.collectoroperator.RowVectorCollectorTestOperator;
-import org.apache.hadoop.hive.ql.exec.util.rowobjects.RowTestObjects;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.aggregates.VectorUDAFCountStar;
 import org.apache.hadoop.hive.ql.exec.vector.util.FakeCaptureVectorToRowOutputOperator;
 import org.apache.hadoop.hive.ql.exec.vector.util.FakeVectorRowBatchFromConcat;
@@ -61,7 +59,6 @@ import org.apache.hadoop.hive.ql.plan.VectorGroupByDesc;
 import org.apache.hadoop.hive.ql.plan.VectorGroupByDesc.ProcessingMode;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCount;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFCount.GenericUDAFCountEvaluator;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFMax;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFMin;
@@ -75,7 +72,6 @@ import org.apache.hadoop.hive.serde2.io.DoubleWritable;
 import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
 import org.apache.hadoop.hive.serde2.io.ShortWritable;
 import org.apache.hadoop.hive.serde2.io.TimestampWritable;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
 import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
@@ -2555,7 +2551,7 @@ public class TestVectorGroupByOperator {
         (VectorGroupByOperator) Vectorizer.vectorizeGroupByOperator(groupByOp, ctx, vectorDesc);
 
     FakeCaptureVectorToRowOutputOperator out = FakeCaptureVectorToRowOutputOperator.addCaptureOutputChild(cCtx, vgo);
-    vgo.initialize(null, null);
+    vgo.initialize(hconf, null);
 
     for (VectorizedRowBatch unit: data) {
       vgo.process(unit,  0);

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOpSigFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOpSigFactory.java b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOpSigFactory.java
new file mode 100644
index 0000000..5d6a274
--- /dev/null
+++ b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOpSigFactory.java
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.signature;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import org.apache.hadoop.hive.ql.CompilationOpContext;
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.plan.AbstractOperatorDesc;
+import org.apache.hadoop.hive.ql.plan.api.OperatorType;
+import org.junit.Rule;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+
+
+public class TestOpSigFactory {
+  CompilationOpContext cCtx = new CompilationOpContext();
+
+  @Rule
+  public MockitoRule a = MockitoJUnit.rule();
+
+  @Spy
+  OpTreeSignatureFactory f = OpTreeSignatureFactory.newCache();
+
+  public static class SampleDesc extends AbstractOperatorDesc {
+    private static final long serialVersionUID = 1L;
+    private int desc_invocations;
+
+    @Signature
+    public int asd() {
+      desc_invocations++;
+      return 8;
+    }
+
+    public int getDesc_invocations() {
+      return desc_invocations;
+    }
+  }
+
+  static class SampleOperator extends Operator<SampleDesc> {
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public void process(Object row, int tag) throws HiveException {
+    }
+
+    @Override
+    public String getName() {
+      return "A1";
+    }
+
+    @Override
+    public OperatorType getType() {
+      return OperatorType.FILTER;
+    }
+  }
+
+  @Test
+  public void checkExplicit() {
+    SampleOperator so = new SampleOperator();
+    SampleDesc sd = new SampleDesc();
+    so.setConf(sd);
+
+    f.getSignature(so);
+    f.getSignature(so);
+
+    verify(f, times(2)).getSignature(Mockito.any());
+    assertEquals(1, sd.getDesc_invocations());
+  }
+
+  @Test
+  public void checkImplicit() {
+    SampleOperator so = new SampleOperator();
+    SampleDesc sd = new SampleDesc();
+    so.setConf(sd);
+
+    SampleOperator so2 = new SampleOperator();
+    SampleDesc sd2 = new SampleDesc();
+    so2.setConf(sd2);
+
+    so.getParentOperators().add(so2);
+    so2.getChildOperators().add(so);
+
+    f.getSignature(so);
+    // computes the sig of every object
+    verify(f, times(2)).getSignature(Mockito.any());
+    assertEquals(1, sd.getDesc_invocations());
+    assertEquals(1, sd2.getDesc_invocations());
+
+    f.getSignature(so);
+    f.getSignature(so2);
+
+    verify(f, times(4)).getSignature(Mockito.any());
+    assertEquals(1, sd.getDesc_invocations());
+    assertEquals(1, sd2.getDesc_invocations());
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOperatorSignature.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOperatorSignature.java b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOperatorSignature.java
new file mode 100644
index 0000000..8c899e7
--- /dev/null
+++ b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestOperatorSignature.java
@@ -0,0 +1,159 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.signature;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+
+import org.apache.hadoop.hive.ql.CompilationOpContext;
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.exec.OperatorFactory;
+import org.apache.hadoop.hive.ql.metadata.Table;
+import org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc;
+import org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc;
+import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
+import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
+import org.apache.hadoop.hive.ql.plan.FilterDesc;
+import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+import org.apache.hadoop.hive.ql.plan.TableScanDesc;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFConcat;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
+import org.junit.Test;
+
+import com.google.common.collect.Lists;
+
+public class TestOperatorSignature {
+
+  GenericUDF udf = new GenericUDFConcat();
+
+  CompilationOpContext cCtx = new CompilationOpContext();
+
+  @Test
+  public void testFilterOpEquals() {
+    Operator<? extends OperatorDesc> op7 = getFilterOp(7);
+    Operator<? extends OperatorDesc> op8 = getFilterOp(8);
+    Operator<? extends OperatorDesc> op7b = getFilterOp(7);
+
+    checkEquals(op7, op7b);
+    checkNotEquals(op7, op8);
+  }
+
+  @Test
+  public void testTree1() {
+    Operator<?> tr37 = getFilTsOp(3, 7);
+    Operator<?> tr37a = getFilTsOp(3, 7);
+    Operator<?> tr17 = getFilTsOp(1, 7);
+    Operator<?> tr31 = getFilTsOp(3, 1);
+
+    checkEquals(tr37, tr37a);
+
+    checkTreeNotEquals(tr37, tr17);
+    checkTreeEquals(tr37, tr37a);
+    checkTreeNotEquals(tr37, tr31);
+  }
+
+  private Operator<?> getFilTsOp(int i, int j) {
+    Operator<TableScanDesc> ts = getTsOp(i);
+    Operator<? extends OperatorDesc> fil = getFilterOp(j);
+
+    ts.getChildOperators().add(fil);
+    fil.getParentOperators().add(ts);
+
+    return fil;
+  }
+
+  @Test
+  public void testTableScand() {
+    Operator<TableScanDesc> t1 = getTsOp(3);
+    Operator<TableScanDesc> t1a = getTsOp(3);
+    Operator<TableScanDesc> t2 = getTsOp(4);
+
+    assertTrue(t1.logicalEquals(t1a));
+    checkEquals(t1, t1a);
+    checkNotEquals(t1, t2);
+  }
+
+  private void checkEquals(Operator<?> o1, Operator<?> o2) {
+    assertTrue(o1.logicalEquals(o2));
+    OpSignature s1 = OpSignature.of(o1);
+    OpSignature s2 = OpSignature.of(o2);
+
+    s1.proveEquals(s2);
+    assertTrue("sigCmp", s1.signatureCompare(s2));
+    assertEquals(s1.hashCode(), s2.hashCode());
+    assertEquals(s1, s2);
+  }
+
+
+  private void checkNotEquals(Operator<? extends OperatorDesc> o1, Operator<? extends OperatorDesc> o2) {
+    assertFalse(o1.logicalEquals(o2));
+    OpSignature s1 = OpSignature.of(o1);
+    OpSignature s2 = OpSignature.of(o2);
+
+    assertFalse(s1.signatureCompare(s2));
+    // this might be a little bit too much...but in most cases this should be true
+    assertNotEquals(s1.hashCode(), s2.hashCode());
+    assertNotEquals(s1, s2);
+  }
+
+  private void checkTreeEquals(Operator<?> o1, Operator<?> o2) {
+    OpTreeSignature ts1 = OpTreeSignature.of(o1);
+    OpTreeSignature ts2 = OpTreeSignature.of(o2);
+
+    assertEquals(ts1.hashCode(), ts2.hashCode());
+    assertEquals(ts1, ts2);
+  }
+
+  private void checkTreeNotEquals(Operator<? extends OperatorDesc> o1, Operator<? extends OperatorDesc> o2) {
+
+    OpTreeSignature ts1 = OpTreeSignature.of(o1);
+    OpTreeSignature ts2 = OpTreeSignature.of(o2);
+
+    assertNotEquals(ts1.hashCode(), ts2.hashCode());
+    assertNotEquals(ts1, ts2);
+  }
+
+
+  private Operator<? extends OperatorDesc> getFilterOp(int constVal) {
+    ExprNodeDesc pred = new ExprNodeConstantDesc(constVal);
+    FilterDesc fd = new FilterDesc(pred, true);
+    Operator<? extends OperatorDesc> op = OperatorFactory.get(cCtx, fd);
+    return op;
+  }
+
+  private Operator<TableScanDesc> getTsOp(int i) {
+    Table tblMetadata = new Table("db", "table");
+    // FIXME: I think this shouldn't be sensitive to the alias; but currently its included in logicalEquals...check that
+    TableScanDesc desc = new TableScanDesc("alias"/*+ cCtx.nextOperatorId()*/, tblMetadata);
+      List<ExprNodeDesc> as =
+        Lists.newArrayList(new ExprNodeConstantDesc(TypeInfoFactory.intTypeInfo, Integer.valueOf(i)),
+          new ExprNodeColumnDesc(TypeInfoFactory.intTypeInfo, "c1", "aa", false));
+    ExprNodeGenericFuncDesc f1 = new ExprNodeGenericFuncDesc(TypeInfoFactory.intTypeInfo, udf, as);
+    desc.setFilterExpr(f1);
+    Operator<TableScanDesc> ts = OperatorFactory.get(cCtx, desc);
+    return ts;
+  }
+
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestCounterMapping.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestCounterMapping.java b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestCounterMapping.java
new file mode 100644
index 0000000..9fe95e4
--- /dev/null
+++ b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestCounterMapping.java
@@ -0,0 +1,194 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hive.ql.plan.mapping;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Objects;
+
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.ql.DriverFactory;
+import org.apache.hadoop.hive.ql.IDriver;
+import org.apache.hadoop.hive.ql.exec.FilterOperator;
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFilter;
+import org.apache.hadoop.hive.ql.parse.ParseException;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+import org.apache.hadoop.hive.ql.plan.mapper.SimpleRuntimeStatsSource;
+import org.apache.hadoop.hive.ql.reexec.ReExecDriver;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper.LinkGroup;
+import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.hive.ql.stats.OperatorStats;
+import org.apache.hadoop.hive.ql.stats.OperatorStatsReaderHook;
+import org.apache.hive.testutils.HiveTestEnvSetup;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+
+public class TestCounterMapping {
+
+  @ClassRule
+  public static HiveTestEnvSetup env_setup = new HiveTestEnvSetup();
+
+  @Rule
+  public TestRule methodRule = env_setup.getMethodRule();
+
+  static Comparator<Operator<?>> OPERATOR_ID_COMPARATOR = new Comparator<Operator<?>>() {
+
+    @Override
+    public int compare(Operator<?> o1, Operator<?> o2) {
+      return Objects.compare(o1.getOperatorId(), o2.getOperatorId(), Comparator.naturalOrder());
+    }
+  };
+
+
+  @BeforeClass
+  public static void beforeClass() throws Exception {
+    IDriver driver = createDriver();
+    dropTables(driver);
+    String cmds[] = {
+        // @formatter:off
+        "create table s (x int)",
+        "insert into s values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)",
+        "create table tu(id_uv int,id_uw int,u int)",
+        "create table tv(id_uv int,v int)",
+        "create table tw(id_uw int,w int)",
+
+        "from s\n" +
+        "insert overwrite table tu\n" +
+        "        select x,x,x\n" +
+        "        where x<=6 or x=10\n" +
+        "insert overwrite table tv\n" +
+        "        select x,x\n" +
+        "        where x<=3 or x=10\n" +
+        "insert overwrite table tw\n" +
+        "        select x,x\n" +
+        "",
+        // @formatter:on
+    };
+    for (String cmd : cmds) {
+      int ret = driver.run(cmd).getResponseCode();
+      assertEquals("Checking command success", 0, ret);
+    }
+  }
+
+  @AfterClass
+  public static void afterClass() throws Exception {
+    IDriver driver = createDriver();
+    dropTables(driver);
+  }
+
+  public static void dropTables(IDriver driver) throws Exception {
+    String tables[] = { "s", "tu", "tv", "tw" };
+    for (String t : tables) {
+      int ret = driver.run("drop table if exists " + t).getResponseCode();
+      assertEquals("Checking command success", 0, ret);
+    }
+  }
+
+  private PlanMapper getMapperForQuery(IDriver driver, String query) {
+    int ret;
+    ret = driver.run(query).getResponseCode();
+    assertEquals("Checking command success", 0, ret);
+    PlanMapper pm0 = driver.getContext().getPlanMapper();
+    return pm0;
+  }
+
+  @Test
+  public void testUsageOfRuntimeInfo() throws ParseException {
+    IDriver driver = createDriver();
+    String query = "select sum(u) from tu where u>1";
+    PlanMapper pm1 = getMapperForQuery(driver, query);
+
+    List<FilterOperator> filters1 = pm1.getAll(FilterOperator.class);
+    filters1.sort(OPERATOR_ID_COMPARATOR.reversed());
+    FilterOperator filter1 = filters1.get(0);
+
+    driver = createDriver();
+    ((ReExecDriver) driver).setRuntimeStatsSource(new SimpleRuntimeStatsSource(pm1));
+
+    PlanMapper pm2 = getMapperForQuery(driver, query);
+
+    List<FilterOperator> filters2 = pm2.getAll(FilterOperator.class);
+    filters2.sort(OPERATOR_ID_COMPARATOR.reversed());
+    FilterOperator filter2 = filters2.get(0);
+
+    assertEquals("original check", 7, filter1.getStatistics().getNumRows());
+    assertEquals("optimized check", 6, filter2.getStatistics().getNumRows());
+
+  }
+
+  @Test
+  @Ignore("needs HiveFilter mapping")
+  public void testMappingJoinLookup() throws ParseException {
+    IDriver driver = createDriver();
+
+    PlanMapper pm0 = getMapperForQuery(driver, "select sum(tu.id_uv),sum(u) from tu join tv on (tu.id_uv = tv.id_uv) where u>1 and v>1");
+
+    Iterator<LinkGroup> itG = pm0.iterateGroups();
+    int checkedOperators = 0;
+    while (itG.hasNext()) {
+      LinkGroup g = itG.next();
+      List<HiveFilter> hfs = g.getAll(HiveFilter.class);
+      List<OperatorStats> oss = g.getAll(OperatorStats.class);
+      List<FilterOperator> fos = g.getAll(FilterOperator.class);
+
+      if (fos.size() > 0 && oss.size() > 0) {
+        if (hfs.size() == 0) {
+          fail("HiveFilter is not connected?");
+        }
+        OperatorStats os = oss.get(0);
+        if (!(os.getOutputRecords() == 3 || os.getOutputRecords() == 6)) {
+          fail("nonexpected number of records produced");
+        }
+        checkedOperators++;
+      }
+    }
+    assertEquals(2, checkedOperators);
+  }
+
+  private static IDriver createDriver() {
+    //    HiveConf conf = new HiveConf(Driver.class);
+    HiveConf conf = env_setup.getTestCtx().hiveConf;
+    conf.setBoolVar(ConfVars.HIVE_QUERY_REEXECUTION_ENABLED, true);
+    conf.setBoolVar(ConfVars.HIVE_QUERY_REEXECUTION_ALWAYS_COLLECT_OPERATOR_STATS, true);
+    conf.set("hive.auto.convert.join", "false");
+    conf.set("hive.optimize.ppd", "false");
+
+    conf.setVar(HiveConf.ConfVars.HIVE_AUTHORIZATION_MANAGER,
+        "org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory");
+    //    conf.setVar(HiveConf.ConfVars.SEMANTIC_ANALYZER_HOOK, CheckInputReadEntityDirect.class.getName());
+    HiveConf.setBoolVar(conf, HiveConf.ConfVars.HIVE_SUPPORT_CONCURRENCY, false);
+    HiveConf.setVar(conf, HiveConf.ConfVars.POSTEXECHOOKS, OperatorStatsReaderHook.class.getName());
+    SessionState.start(conf);
+
+    IDriver driver = DriverFactory.newDriver(conf);
+    return driver;
+  }
+
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java
new file mode 100644
index 0000000..cfb0ca3
--- /dev/null
+++ b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hive.ql.plan.mapping;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Iterator;
+import java.util.List;
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.ql.DriverFactory;
+import org.apache.hadoop.hive.ql.IDriver;
+import org.apache.hadoop.hive.ql.exec.FilterOperator;
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.exec.TableScanOperator;
+import org.apache.hadoop.hive.ql.parse.ParseException;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper.LinkGroup;
+import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.hive.ql.stats.OperatorStatsReaderHook;
+import org.apache.hive.testutils.HiveTestEnvSetup;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+
+public class TestOperatorCmp {
+
+  @ClassRule
+  public static HiveTestEnvSetup env_setup = new HiveTestEnvSetup();
+
+  @Rule
+  public TestRule methodRule = env_setup.getMethodRule();
+
+  @BeforeClass
+  public static void beforeClass() throws Exception {
+    IDriver driver = createDriver();
+    dropTables(driver);
+    String cmds[] = {
+        // @formatter:off
+        "create table tu(id_uv int,id_uw int,u int)",
+        "create table tv(id_uv int,v int)",
+        "create table tw(id_uw int,w int)",
+
+        "insert into tu values (10,10,10),(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6)",
+        "insert into tv values (10,10),(1,1),(2,2),(3,3)",
+        "insert into tw values (10,10),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9)",
+        // @formatter:on
+    };
+    for (String cmd : cmds) {
+      int ret = driver.run(cmd).getResponseCode();
+      assertEquals("Checking command success", 0, ret);
+    }
+  }
+
+  @AfterClass
+  public static void afterClass() throws Exception {
+    IDriver driver = createDriver();
+    dropTables(driver);
+  }
+
+  public static void dropTables(IDriver driver) throws Exception {
+    String tables[] = { "tu", "tv", "tw" };
+    for (String t : tables) {
+      int ret = driver.run("drop table if exists " + t).getResponseCode();
+      assertEquals("Checking command success", 0, ret);
+    }
+  }
+
+  private PlanMapper getMapperForQuery(IDriver driver, String query) {
+    int ret = driver.run(query).getResponseCode();
+    assertEquals("Checking command success", 0, ret);
+    PlanMapper pm0 = driver.getContext().getPlanMapper();
+    return pm0;
+  }
+
+  @Test
+  public void testUnrelatedFiltersAreNotMatched0() throws ParseException {
+    IDriver driver = createDriver();
+    String query = "select u from tu where id_uv = 1 union all select v from tv where id_uv = 1";
+
+    PlanMapper pm = getMapperForQuery(driver, query);
+    Iterator<LinkGroup> itG = pm.iterateGroups();
+    List<FilterOperator> fos = pm.getAll(FilterOperator.class);
+    assertEquals(2, fos.size());
+
+    assertFalse("logicalEquals", compareOperators(fos.get(0), fos.get(1)));
+
+  }
+
+  @Test
+  public void testUnrelatedFiltersAreNotMatched1() throws ParseException {
+    IDriver driver = createDriver();
+    PlanMapper pm0 = getMapperForQuery(driver, "select u from tu where id_uv = 1 group by u");
+    PlanMapper pm1 = getMapperForQuery(driver, "select v from tv where id_uv = 1 group by v");
+    List<FilterOperator> fos0 = pm0.getAll(FilterOperator.class);
+    List<FilterOperator> fos1 = pm1.getAll(FilterOperator.class);
+    assertEquals(1, fos0.size());
+    assertEquals(1, fos1.size());
+
+    assertFalse("logicalEquals", compareOperators(fos0.get(0), fos1.get(0)));
+  }
+
+  @Test
+  public void testDifferentFiltersAreNotMatched1() throws ParseException {
+    IDriver driver = createDriver();
+    PlanMapper pm0 = getMapperForQuery(driver, "select u from tu where id_uv = 1 group by u");
+    PlanMapper pm1 = getMapperForQuery(driver, "select u from tu where id_uv = 2 group by u");
+
+    assertHelper(AssertHelperOp.SAME, pm0, pm1, TableScanOperator.class);
+    assertHelper(AssertHelperOp.NOT_SAME, pm0, pm1, FilterOperator.class);
+
+  }
+
+  @Test
+  public void testSameFiltersMatched1() throws ParseException, Exception {
+    IDriver driver = createDriver();
+    PlanMapper pm0 = getMapperForQuery(driver, "select u from tu where id_uv = 1 group by u");
+    PlanMapper pm1 = getMapperForQuery(driver, "select u from tu where id_uv = 1 group by u");
+
+    assertHelper(AssertHelperOp.SAME, pm0, pm1, FilterOperator.class);
+    assertHelper(AssertHelperOp.SAME, pm0, pm1, TableScanOperator.class);
+  }
+
+
+  enum AssertHelperOp {
+    SAME, NOT_SAME
+  };
+
+  private <T extends Operator<?>> void assertHelper(AssertHelperOp same,PlanMapper pm0, PlanMapper pm1, Class<T> clazz) {
+    List<T> fos0 = pm0.getAll(clazz);
+    List<T> fos1 = pm1.getAll(clazz);
+    assertEquals(1, fos0.size());
+    assertEquals(1, fos1.size());
+
+    if (same == AssertHelperOp.SAME) {
+      assertTrue(clazz + " " + same, compareOperators(fos0.get(0), fos1.get(0)));
+    } else {
+      assertFalse(clazz + " " + same, compareOperators(fos0.get(0), fos1.get(0)));
+    }
+  }
+
+  private boolean compareOperators(Operator<?> opL, Operator<?> opR) {
+    return opL.logicalEqualsTree(opR);
+  }
+
+  private static IDriver createDriver() {
+    HiveConf conf = env_setup.getTestCtx().hiveConf;
+
+    conf.setBoolVar(ConfVars.HIVE_QUERY_REEXECUTION_ENABLED, true);
+    conf.setBoolVar(ConfVars.HIVE_QUERY_REEXECUTION_ALWAYS_COLLECT_OPERATOR_STATS, true);
+    conf.setVar(ConfVars.HIVE_QUERY_REEXECUTION_STRATEGIES, "reoptimize");
+    conf.set("zzz", "1");
+    conf.set("reexec.overlay.zzz", "2000");
+    //
+    conf.setVar(HiveConf.ConfVars.HIVE_AUTHORIZATION_MANAGER,
+        "org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory");
+    HiveConf.setBoolVar(conf, HiveConf.ConfVars.HIVE_SUPPORT_CONCURRENCY, false);
+    HiveConf.setVar(conf, HiveConf.ConfVars.POSTEXECHOOKS, OperatorStatsReaderHook.class.getName());
+    SessionState.start(conf);
+
+    IDriver driver = DriverFactory.newDriver(conf);
+    return driver;
+  }
+
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestReOptimization.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestReOptimization.java b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestReOptimization.java
new file mode 100644
index 0000000..6d7bb07
--- /dev/null
+++ b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestReOptimization.java
@@ -0,0 +1,188 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hive.ql.plan.mapping;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.ql.DriverFactory;
+import org.apache.hadoop.hive.ql.IDriver;
+import org.apache.hadoop.hive.ql.exec.FilterOperator;
+import org.apache.hadoop.hive.ql.plan.Statistics;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper.LinkGroup;
+import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
+import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.hive.ql.stats.OperatorStats;
+import org.apache.hadoop.hive.ql.stats.OperatorStatsReaderHook;
+import org.apache.hive.testutils.HiveTestEnvSetup;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+
+public class TestReOptimization {
+
+  @ClassRule
+  public static HiveTestEnvSetup env_setup = new HiveTestEnvSetup();
+
+  @Rule
+  public TestRule methodRule = env_setup.getMethodRule();
+
+  @BeforeClass
+  public static void beforeClass() throws Exception {
+    IDriver driver = createDriver("");
+    dropTables(driver);
+    String cmds[] = {
+        // @formatter:off
+        "create table tu(id_uv int,id_uw int,u int)",
+        "create table tv(id_uv int,v int)",
+        "create table tw(id_uw int,w int)",
+
+        "insert into tu values (10,10,10),(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6)",
+        "insert into tv values (10,10),(1,1),(2,2),(3,3)",
+        "insert into tw values (10,10),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9)",
+        // @formatter:on
+    };
+    for (String cmd : cmds) {
+      int ret = driver.run(cmd).getResponseCode();
+      assertEquals("Checking command success", 0, ret);
+    }
+  }
+
+  @AfterClass
+  public static void afterClass() throws Exception {
+    IDriver driver = createDriver("");
+    dropTables(driver);
+  }
+
+  public static void dropTables(IDriver driver) throws Exception {
+    String tables[] = { "tu", "tv", "tw" };
+    for (String t : tables) {
+      int ret = driver.run("drop table if exists " + t).getResponseCode();
+      assertEquals("Checking command success", 0, ret);
+    }
+  }
+
+  private PlanMapper getMapperForQuery(IDriver driver, String query) throws CommandProcessorResponse {
+    CommandProcessorResponse res = driver.run(query);
+    if (res.getResponseCode() != 0) {
+      throw res;
+    }
+    PlanMapper pm0 = driver.getContext().getPlanMapper();
+    return pm0;
+  }
+
+  @Test
+  public void testStatsAreSetInReopt() throws Exception {
+    IDriver driver = createDriver("overlay,reoptimize");
+    String query = "select assert_true_oom(${hiveconf:zzz} > sum(u*v)) from tu join tv on (tu.id_uv=tv.id_uv) where u<10 and v>1";
+
+    PlanMapper pm = getMapperForQuery(driver, query);
+    Iterator<LinkGroup> itG = pm.iterateGroups();
+    int checkedOperators = 0;
+    while (itG.hasNext()) {
+      LinkGroup g = itG.next();
+      List<FilterOperator> fos = g.getAll(FilterOperator.class);
+      List<OperatorStats> oss = g.getAll(OperatorStats.class);
+      // FIXME: oss seems to contain duplicates
+
+      if (fos.size() > 0 && oss.size() > 0) {
+        fos.sort(TestCounterMapping.OPERATOR_ID_COMPARATOR.reversed());
+
+        FilterOperator fo = fos.get(0);
+        OperatorStats os = oss.get(0);
+
+        Statistics stats = fo.getStatistics();
+        assertEquals(os.getOutputRecords(), stats.getNumRows());
+
+        if (!(os.getOutputRecords() == 3 || os.getOutputRecords() == 6)) {
+          fail("nonexpected number of records produced");
+        }
+        checkedOperators++;
+      }
+    }
+    assertEquals(2, checkedOperators);
+  }
+
+  @Test
+  public void testReExecutedIfMapJoinError() throws Exception {
+
+    IDriver driver = createDriver("overlay,reoptimize");
+    String query =
+        "select assert_true_oom(${hiveconf:zzz}>sum(1)) from tu join tv on (tu.id_uv=tv.id_uv) where u<10 and v>1";
+    PlanMapper pm = getMapperForQuery(driver, query);
+
+  }
+
+  @Test(expected = CommandProcessorResponse.class)
+  public void testNotReExecutedIfAssertionError() throws Exception {
+    IDriver driver = createDriver("reoptimize");
+    String query =
+        "select assert_true(${hiveconf:zzz}>sum(1)) from tu join tv on (tu.id_uv=tv.id_uv) where u<10 and v>1";
+
+    PlanMapper pm = getMapperForQuery(driver, query);
+    assertEquals(1, driver.getContext().getExecutionIndex());
+  }
+
+  @Test
+  public void testExplainSupport() throws Exception {
+
+    IDriver driver = createDriver("overlay,reoptimize");
+    String query = "explain reoptimization select 1 from tu join tv on (tu.id_uv=tv.id_uv) where u<10 and v>1";
+    PlanMapper pm = getMapperForQuery(driver, query);
+    List<String> res = new ArrayList<>();
+    List<String> res1 = new ArrayList<>();
+    while (driver.getResults(res1)) {
+      res.addAll(res1);
+    }
+
+    assertEquals("2TS", 2, res.stream().filter(line -> line.contains("TS_")).count());
+    assertEquals("2TS(runtime)", 2,
+        res.stream().filter(line -> line.contains("TS") && line.contains("runtime")).count());
+
+  }
+
+  private static IDriver createDriver(String strategies) {
+    HiveConf conf = env_setup.getTestCtx().hiveConf;
+
+    conf.setBoolVar(ConfVars.HIVE_QUERY_REEXECUTION_ENABLED, true);
+    conf.setVar(ConfVars.HIVE_QUERY_REEXECUTION_STRATEGIES, strategies);
+    conf.setBoolVar(ConfVars.HIVE_EXPLAIN_USER, true);
+    conf.set("zzz", "1");
+    conf.set("reexec.overlay.zzz", "2000");
+    //
+    conf.setVar(HiveConf.ConfVars.HIVE_AUTHORIZATION_MANAGER,
+        "org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory");
+    HiveConf.setBoolVar(conf, HiveConf.ConfVars.HIVE_SUPPORT_CONCURRENCY, false);
+    HiveConf.setVar(conf, HiveConf.ConfVars.POSTEXECHOOKS, OperatorStatsReaderHook.class.getName());
+    SessionState.start(conf);
+
+    IDriver driver = DriverFactory.newDriver(conf);
+    return driver;
+  }
+
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hive/testutils/HiveTestEnvSetup.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hive/testutils/HiveTestEnvSetup.java b/ql/src/test/org/apache/hive/testutils/HiveTestEnvSetup.java
index cc97317..f872da0 100644
--- a/ql/src/test/org/apache/hive/testutils/HiveTestEnvSetup.java
+++ b/ql/src/test/org/apache/hive/testutils/HiveTestEnvSetup.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/org/apache/hive/testutils/TestHiveTestEnvSetup.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hive/testutils/TestHiveTestEnvSetup.java b/ql/src/test/org/apache/hive/testutils/TestHiveTestEnvSetup.java
index 9161366..c34affd 100644
--- a/ql/src/test/org/apache/hive/testutils/TestHiveTestEnvSetup.java
+++ b/ql/src/test/org/apache/hive/testutils/TestHiveTestEnvSetup.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/queries/clientnegative/bad_exec_hooks.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/bad_exec_hooks.q b/ql/src/test/queries/clientnegative/bad_exec_hooks.q
index 709d8d9..ee6f73f 100644
--- a/ql/src/test/queries/clientnegative/bad_exec_hooks.q
+++ b/ql/src/test/queries/clientnegative/bad_exec_hooks.q
@@ -1,3 +1,4 @@
+set hive.query.reexecution.enabled=false;
 set hive.exec.pre.hooks="org.this.is.a.bad.class";
 
 EXPLAIN

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/queries/clientpositive/hook_order.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/hook_order.q b/ql/src/test/queries/clientpositive/hook_order.q
index b6753b3..7602731 100644
--- a/ql/src/test/queries/clientpositive/hook_order.q
+++ b/ql/src/test/queries/clientpositive/hook_order.q
@@ -1,3 +1,5 @@
+set hive.query.reexecution.enabled=false;
+
 SET hive.exec.pre.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunFirst,org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunSecond;
 SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunFirst,org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunSecond;
 SET hive.semantic.analyzer.hook=org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunFirstSemanticAnalysisHook,org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunSecondSemanticAnalysisHook;

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/queries/clientpositive/retry_failure.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/retry_failure.q b/ql/src/test/queries/clientpositive/retry_failure.q
new file mode 100644
index 0000000..0b9922b
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/retry_failure.q
@@ -0,0 +1,11 @@
+create table tx(a int,f string);
+insert into tx values (1,'non_existent_file');
+
+set zzz=1;
+set reexec.overlay.zzz=2;
+
+set hive.query.reexecution.enabled=true;
+set hive.query.reexecution.strategies=overlay;
+
+select assert_true(${hiveconf:zzz} > a) from tx group by a;
+

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/queries/clientpositive/retry_failure_oom.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/retry_failure_oom.q b/ql/src/test/queries/clientpositive/retry_failure_oom.q
new file mode 100644
index 0000000..21c9f8c
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/retry_failure_oom.q
@@ -0,0 +1,12 @@
+
+create table tx(a int,f string);
+insert into tx values (1,'non_existent_file');
+
+set zzz=1;
+set reexec.overlay.zzz=2;
+
+set hive.query.reexecution.enabled=true;
+set hive.query.reexecution.strategies=overlay,reoptimize;
+
+select assert_true_oom(${hiveconf:zzz} > a) from tx group by a;
+

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/queries/clientpositive/retry_failure_stat_changes.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/retry_failure_stat_changes.q b/ql/src/test/queries/clientpositive/retry_failure_stat_changes.q
new file mode 100644
index 0000000..c594255
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/retry_failure_stat_changes.q
@@ -0,0 +1,29 @@
+
+create table tx(a int,u int);
+insert into tx values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(10,10);
+
+create table px(a int,p int);
+insert into px values (2,2),(3,3),(5,5),(7,7),(11,11);
+
+
+set hive.explain.user=true;
+set hive.query.reexecution.enabled=true;
+set hive.query.reexecution.strategies=overlay,reoptimize;
+
+explain REOPTIMIZATION 
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2;
+
+set hive.auto.convert.join=false;
+explain analyze
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2;
+set hive.auto.convert.join=true;
+explain analyze
+select sum(u*p) from tx join px on (u=p) where u<10 and p>2;
+
+set zzz=1;
+set reexec.overlay.zzz=2000;
+
+explain
+select assert_true_oom(${hiveconf:zzz} > sum(u*p)) from tx join px on (tx.a=px.a) where u<10 and p>2;
+select assert_true_oom(${hiveconf:zzz} > sum(u*p)) from tx join px on (tx.a=px.a) where u<10 and p>2;
+

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/dp_counter_mm.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dp_counter_mm.q.out b/ql/src/test/results/clientpositive/llap/dp_counter_mm.q.out
index 8699160..18f4c69 100644
--- a/ql/src/test/results/clientpositive/llap/dp_counter_mm.q.out
+++ b/ql/src/test/results/clientpositive/llap/dp_counter_mm.q.out
@@ -23,6 +23,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 57
    RECORDS_OUT_1_default.src2: 84
    RECORDS_OUT_INTERMEDIATE_Map_1: 57
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 84
+   RECORDS_OUT_OPERATOR_FS_4: 84
+   RECORDS_OUT_OPERATOR_FS_6: 57
+   RECORDS_OUT_OPERATOR_GBY_2: 57
+   RECORDS_OUT_OPERATOR_GBY_4: 57
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 57
+   RECORDS_OUT_OPERATOR_SEL_1: 84
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 57
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -41,6 +53,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 121
    RECORDS_OUT_1_default.src2: 189
    RECORDS_OUT_INTERMEDIATE_Map_1: 121
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 189
+   RECORDS_OUT_OPERATOR_FS_4: 189
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 189
+   RECORDS_OUT_OPERATOR_SEL_5: 121
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -67,6 +91,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 121
    RECORDS_OUT_1_default.src2: 189
    RECORDS_OUT_INTERMEDIATE_Map_1: 121
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 189
+   RECORDS_OUT_OPERATOR_FS_4: 189
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 189
+   RECORDS_OUT_OPERATOR_SEL_5: 121
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -85,6 +121,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 184
    RECORDS_OUT_1_default.src2: 292
    RECORDS_OUT_INTERMEDIATE_Map_1: 184
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 292
+   RECORDS_OUT_OPERATOR_FS_4: 292
+   RECORDS_OUT_OPERATOR_FS_6: 184
+   RECORDS_OUT_OPERATOR_GBY_2: 184
+   RECORDS_OUT_OPERATOR_GBY_4: 184
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 184
+   RECORDS_OUT_OPERATOR_SEL_1: 292
+   RECORDS_OUT_OPERATOR_SEL_2: 292
+   RECORDS_OUT_OPERATOR_SEL_5: 184
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -121,6 +169,22 @@ Stage-2 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 84
    RECORDS_OUT_2_default.src3: 105
    RECORDS_OUT_INTERMEDIATE_Map_1: 121
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 105
+   RECORDS_OUT_OPERATOR_FIL_9: 84
+   RECORDS_OUT_OPERATOR_FS_4: 84
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_FS_8: 105
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 121
+   RECORDS_OUT_OPERATOR_SEL_6: 105
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-2 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -143,6 +207,22 @@ Stage-2 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 84
    RECORDS_OUT_2_default.src3: 208
    RECORDS_OUT_INTERMEDIATE_Map_1: 184
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 208
+   RECORDS_OUT_OPERATOR_FIL_9: 84
+   RECORDS_OUT_OPERATOR_FS_4: 84
+   RECORDS_OUT_OPERATOR_FS_6: 184
+   RECORDS_OUT_OPERATOR_FS_8: 208
+   RECORDS_OUT_OPERATOR_GBY_2: 184
+   RECORDS_OUT_OPERATOR_GBY_4: 184
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 184
+   RECORDS_OUT_OPERATOR_SEL_1: 292
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 184
+   RECORDS_OUT_OPERATOR_SEL_6: 208
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-2 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -175,6 +255,21 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 189
    RECORDS_OUT_INTERMEDIATE_Map_1: 57
    RECORDS_OUT_INTERMEDIATE_Map_4: 64
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 84
+   RECORDS_OUT_OPERATOR_FIL_11: 105
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_FS_9: 189
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 226
+   RECORDS_OUT_OPERATOR_SEL_7: 189
+   RECORDS_OUT_OPERATOR_TS_0: 500
+   RECORDS_OUT_OPERATOR_TS_3: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    GROUPED_INPUT_SPLITS_Map_4: 1
@@ -203,6 +298,21 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 292
    RECORDS_OUT_INTERMEDIATE_Map_1: 57
    RECORDS_OUT_INTERMEDIATE_Map_4: 127
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 84
+   RECORDS_OUT_OPERATOR_FIL_11: 208
+   RECORDS_OUT_OPERATOR_FS_6: 184
+   RECORDS_OUT_OPERATOR_FS_9: 292
+   RECORDS_OUT_OPERATOR_GBY_2: 184
+   RECORDS_OUT_OPERATOR_GBY_4: 184
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 184
+   RECORDS_OUT_OPERATOR_SEL_1: 292
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 392
+   RECORDS_OUT_OPERATOR_SEL_7: 292
+   RECORDS_OUT_OPERATOR_TS_0: 500
+   RECORDS_OUT_OPERATOR_TS_3: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    GROUPED_INPUT_SPLITS_Map_4: 1

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/dp_counter_non_mm.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dp_counter_non_mm.q.out b/ql/src/test/results/clientpositive/llap/dp_counter_non_mm.q.out
index 9f6426c..28f376f 100644
--- a/ql/src/test/results/clientpositive/llap/dp_counter_non_mm.q.out
+++ b/ql/src/test/results/clientpositive/llap/dp_counter_non_mm.q.out
@@ -23,6 +23,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 57
    RECORDS_OUT_1_default.src2: 84
    RECORDS_OUT_INTERMEDIATE_Map_1: 57
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 84
+   RECORDS_OUT_OPERATOR_FS_4: 84
+   RECORDS_OUT_OPERATOR_FS_6: 57
+   RECORDS_OUT_OPERATOR_GBY_2: 57
+   RECORDS_OUT_OPERATOR_GBY_4: 57
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 57
+   RECORDS_OUT_OPERATOR_SEL_1: 84
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 57
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -41,6 +53,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 121
    RECORDS_OUT_1_default.src2: 189
    RECORDS_OUT_INTERMEDIATE_Map_1: 121
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 189
+   RECORDS_OUT_OPERATOR_FS_4: 189
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 189
+   RECORDS_OUT_OPERATOR_SEL_5: 121
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -67,6 +91,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 121
    RECORDS_OUT_1_default.src2: 189
    RECORDS_OUT_INTERMEDIATE_Map_1: 121
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 189
+   RECORDS_OUT_OPERATOR_FS_4: 189
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 189
+   RECORDS_OUT_OPERATOR_SEL_5: 121
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -85,6 +121,18 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_0: 184
    RECORDS_OUT_1_default.src2: 292
    RECORDS_OUT_INTERMEDIATE_Map_1: 184
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_5: 292
+   RECORDS_OUT_OPERATOR_FS_4: 292
+   RECORDS_OUT_OPERATOR_FS_6: 184
+   RECORDS_OUT_OPERATOR_GBY_2: 184
+   RECORDS_OUT_OPERATOR_GBY_4: 184
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 184
+   RECORDS_OUT_OPERATOR_SEL_1: 292
+   RECORDS_OUT_OPERATOR_SEL_2: 292
+   RECORDS_OUT_OPERATOR_SEL_5: 184
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -121,6 +169,22 @@ Stage-2 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 84
    RECORDS_OUT_2_default.src3: 105
    RECORDS_OUT_INTERMEDIATE_Map_1: 121
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 105
+   RECORDS_OUT_OPERATOR_FIL_9: 84
+   RECORDS_OUT_OPERATOR_FS_4: 84
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_FS_8: 105
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 121
+   RECORDS_OUT_OPERATOR_SEL_6: 105
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-2 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -143,6 +207,22 @@ Stage-2 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 84
    RECORDS_OUT_2_default.src3: 208
    RECORDS_OUT_INTERMEDIATE_Map_1: 184
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 208
+   RECORDS_OUT_OPERATOR_FIL_9: 84
+   RECORDS_OUT_OPERATOR_FS_4: 84
+   RECORDS_OUT_OPERATOR_FS_6: 184
+   RECORDS_OUT_OPERATOR_FS_8: 208
+   RECORDS_OUT_OPERATOR_GBY_2: 184
+   RECORDS_OUT_OPERATOR_GBY_4: 184
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 184
+   RECORDS_OUT_OPERATOR_SEL_1: 292
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 184
+   RECORDS_OUT_OPERATOR_SEL_6: 208
+   RECORDS_OUT_OPERATOR_TS_0: 500
 Stage-2 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    INPUT_DIRECTORIES_Map_1: 1
@@ -175,6 +255,21 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 189
    RECORDS_OUT_INTERMEDIATE_Map_1: 57
    RECORDS_OUT_INTERMEDIATE_Map_4: 64
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 84
+   RECORDS_OUT_OPERATOR_FIL_11: 105
+   RECORDS_OUT_OPERATOR_FS_6: 121
+   RECORDS_OUT_OPERATOR_FS_9: 189
+   RECORDS_OUT_OPERATOR_GBY_2: 121
+   RECORDS_OUT_OPERATOR_GBY_4: 121
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 121
+   RECORDS_OUT_OPERATOR_SEL_1: 189
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 226
+   RECORDS_OUT_OPERATOR_SEL_7: 189
+   RECORDS_OUT_OPERATOR_TS_0: 500
+   RECORDS_OUT_OPERATOR_TS_3: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    GROUPED_INPUT_SPLITS_Map_4: 1
@@ -203,6 +298,21 @@ Stage-1 HIVE COUNTERS:
    RECORDS_OUT_1_default.src2: 292
    RECORDS_OUT_INTERMEDIATE_Map_1: 57
    RECORDS_OUT_INTERMEDIATE_Map_4: 127
+   RECORDS_OUT_INTERMEDIATE_Reducer_3: 0
+   RECORDS_OUT_OPERATOR_FIL_10: 84
+   RECORDS_OUT_OPERATOR_FIL_11: 208
+   RECORDS_OUT_OPERATOR_FS_6: 184
+   RECORDS_OUT_OPERATOR_FS_9: 292
+   RECORDS_OUT_OPERATOR_GBY_2: 184
+   RECORDS_OUT_OPERATOR_GBY_4: 184
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 184
+   RECORDS_OUT_OPERATOR_SEL_1: 292
+   RECORDS_OUT_OPERATOR_SEL_2: 84
+   RECORDS_OUT_OPERATOR_SEL_5: 392
+   RECORDS_OUT_OPERATOR_SEL_7: 292
+   RECORDS_OUT_OPERATOR_TS_0: 500
+   RECORDS_OUT_OPERATOR_TS_3: 500
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 1
    GROUPED_INPUT_SPLITS_Map_4: 1

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/orc_llap_counters.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_llap_counters.q.out b/ql/src/test/results/clientpositive/llap/orc_llap_counters.q.out
index cd3023f..af237ea 100644
--- a/ql/src/test/results/clientpositive/llap/orc_llap_counters.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_llap_counters.q.out
@@ -261,6 +261,13 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2100
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_9: 1
+   RECORDS_OUT_OPERATOR_GBY_8: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_7: 2100
+   RECORDS_OUT_OPERATOR_SEL_6: 2100
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 262144
    ALLOCATED_USED_BYTES: 26
@@ -289,6 +296,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -311,6 +321,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 8
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 8
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 8
+   RECORDS_OUT_OPERATOR_SEL_9: 8
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 1048576
    ALLOCATED_USED_BYTES: 2732
@@ -343,6 +361,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 22
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 22
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 22
+   RECORDS_OUT_OPERATOR_SEL_9: 22
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -373,6 +399,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 16
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 16
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 16
+   RECORDS_OUT_OPERATOR_SEL_9: 16
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -403,6 +437,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 18
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 18
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 18
+   RECORDS_OUT_OPERATOR_SEL_9: 18
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -433,6 +475,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 1
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 1
+   RECORDS_OUT_OPERATOR_SEL_9: 1
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -463,6 +513,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 32
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 32
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 32
+   RECORDS_OUT_OPERATOR_SEL_9: 32
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -493,6 +551,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 32
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 32
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 32
+   RECORDS_OUT_OPERATOR_SEL_9: 32
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -523,6 +589,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1697
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 1697
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 1697
+   RECORDS_OUT_OPERATOR_SEL_9: 1697
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -553,6 +627,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 12
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 12
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 12
+   RECORDS_OUT_OPERATOR_SEL_9: 12
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -583,6 +665,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1713
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 1713
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 1713
+   RECORDS_OUT_OPERATOR_SEL_9: 1713
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -613,6 +703,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 6
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 6
+   RECORDS_OUT_OPERATOR_SEL_9: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -643,6 +741,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 50
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 50
+   RECORDS_OUT_OPERATOR_FS_9: 1
+   RECORDS_OUT_OPERATOR_GBY_8: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 50
+   RECORDS_OUT_OPERATOR_SEL_2: 50
+   RECORDS_OUT_OPERATOR_TS_0: 1100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -673,6 +779,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 318
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 318
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 318
+   RECORDS_OUT_OPERATOR_SEL_9: 318
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0
@@ -700,6 +814,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -719,6 +836,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -741,6 +861,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 0
+   RECORDS_OUT_OPERATOR_SEL_9: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 830
    CACHE_MISS_BYTES: 0
@@ -768,6 +896,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_7: 0
+   RECORDS_OUT_OPERATOR_FS_9: 1
+   RECORDS_OUT_OPERATOR_GBY_8: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_3: 0
+   RECORDS_OUT_OPERATOR_SEL_2: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 830
    CACHE_MISS_BYTES: 0
@@ -792,6 +928,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -814,6 +953,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2
+   RECORDS_OUT_OPERATOR_SEL_9: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 1310720
    ALLOCATED_USED_BYTES: 13796
@@ -846,6 +993,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 6
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 6
+   RECORDS_OUT_OPERATOR_SEL_9: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -876,6 +1031,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 6
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 6
+   RECORDS_OUT_OPERATOR_SEL_9: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -903,6 +1066,9 @@ Stage-1 FILE SYSTEM COUNTERS:
 Stage-1 HIVE COUNTERS:
    CREATED_FILES: 1
    RECORDS_OUT_0: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
 Stage-1 INPUT COUNTERS:
    GROUPED_INPUT_SPLITS_Map_1: 0
    INPUT_DIRECTORIES_Map_1: 1
@@ -925,6 +1091,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2100
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2100
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2100
+   RECORDS_OUT_OPERATOR_SEL_9: 2100
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -955,6 +1129,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 0
+   RECORDS_OUT_OPERATOR_SEL_9: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -982,6 +1164,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2
+   RECORDS_OUT_OPERATOR_SEL_9: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1012,6 +1202,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2
+   RECORDS_OUT_OPERATOR_SEL_9: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1042,6 +1240,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2
+   RECORDS_OUT_OPERATOR_SEL_9: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1072,6 +1278,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 81
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 81
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 81
+   RECORDS_OUT_OPERATOR_SEL_9: 81
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1102,6 +1316,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 74
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 74
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 74
+   RECORDS_OUT_OPERATOR_SEL_9: 74
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1132,6 +1354,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 12
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 12
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 12
+   RECORDS_OUT_OPERATOR_SEL_9: 12
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1162,6 +1392,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 13
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 13
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 13
+   RECORDS_OUT_OPERATOR_SEL_9: 13
+   RECORDS_OUT_OPERATOR_TS_0: 2000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1192,6 +1430,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 1
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 1
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 1
+   RECORDS_OUT_OPERATOR_SEL_9: 1
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1222,6 +1468,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 7
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 7
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 7
+   RECORDS_OUT_OPERATOR_SEL_9: 7
+   RECORDS_OUT_OPERATOR_TS_0: 1100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1252,6 +1506,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 0
+   RECORDS_OUT_OPERATOR_SEL_9: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -1279,6 +1541,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 0
+   RECORDS_OUT_OPERATOR_SEL_9: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -1306,6 +1576,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 0
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 0
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 0
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 0
+   RECORDS_OUT_OPERATOR_SEL_9: 0
+   RECORDS_OUT_OPERATOR_TS_0: 0
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1735
    CACHE_MISS_BYTES: 0
@@ -1333,6 +1611,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2
+   RECORDS_OUT_OPERATOR_SEL_9: 2
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1363,6 +1649,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 6
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 6
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 6
+   RECORDS_OUT_OPERATOR_SEL_9: 6
+   RECORDS_OUT_OPERATOR_TS_0: 1100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 5715
    CACHE_MISS_BYTES: 0
@@ -1393,6 +1687,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 1000
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2
+   RECORDS_OUT_OPERATOR_SEL_9: 2
+   RECORDS_OUT_OPERATOR_TS_0: 1000
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 6770
    CACHE_MISS_BYTES: 0
@@ -1423,6 +1725,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2
+   RECORDS_OUT_OPERATOR_SEL_9: 2
+   RECORDS_OUT_OPERATOR_TS_0: 100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 6770
    CACHE_MISS_BYTES: 0

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/test/results/clientpositive/llap/orc_llap_counters1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_llap_counters1.q.out b/ql/src/test/results/clientpositive/llap/orc_llap_counters1.q.out
index e7a1a5b..01fb4af 100644
--- a/ql/src/test/results/clientpositive/llap/orc_llap_counters1.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_llap_counters1.q.out
@@ -261,6 +261,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2094
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2094
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2094
+   RECORDS_OUT_OPERATOR_SEL_9: 2094
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    ALLOCATED_BYTES: 1310720
    ALLOCATED_USED_BYTES: 2758
@@ -293,6 +301,14 @@ Stage-1 HIVE COUNTERS:
    RECORDS_IN_Map_1: 2100
    RECORDS_OUT_0: 1
    RECORDS_OUT_INTERMEDIATE_Map_1: 2094
+   RECORDS_OUT_INTERMEDIATE_Reducer_2: 0
+   RECORDS_OUT_OPERATOR_FIL_8: 2094
+   RECORDS_OUT_OPERATOR_FS_12: 1
+   RECORDS_OUT_OPERATOR_GBY_11: 1
+   RECORDS_OUT_OPERATOR_MAP_0: 0
+   RECORDS_OUT_OPERATOR_RS_10: 2094
+   RECORDS_OUT_OPERATOR_SEL_9: 2094
+   RECORDS_OUT_OPERATOR_TS_0: 2100
 Stage-1 LLAP IO COUNTERS:
    CACHE_HIT_BYTES: 1079
    CACHE_MISS_BYTES: 0


[15/22] hive git commit: HIVE-18715: Remove index support from metastore (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRequest.java
index 93a5034..bb9bc51 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRequest.java
@@ -961,14 +961,14 @@ import org.slf4j.LoggerFactory;
           case 3: // PARTITION_KEYS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list500 = iprot.readListBegin();
-                struct.partitionKeys = new ArrayList<FieldSchema>(_list500.size);
-                FieldSchema _elem501;
-                for (int _i502 = 0; _i502 < _list500.size; ++_i502)
+                org.apache.thrift.protocol.TList _list490 = iprot.readListBegin();
+                struct.partitionKeys = new ArrayList<FieldSchema>(_list490.size);
+                FieldSchema _elem491;
+                for (int _i492 = 0; _i492 < _list490.size; ++_i492)
                 {
-                  _elem501 = new FieldSchema();
-                  _elem501.read(iprot);
-                  struct.partitionKeys.add(_elem501);
+                  _elem491 = new FieldSchema();
+                  _elem491.read(iprot);
+                  struct.partitionKeys.add(_elem491);
                 }
                 iprot.readListEnd();
               }
@@ -996,14 +996,14 @@ import org.slf4j.LoggerFactory;
           case 6: // PARTITION_ORDER
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list503 = iprot.readListBegin();
-                struct.partitionOrder = new ArrayList<FieldSchema>(_list503.size);
-                FieldSchema _elem504;
-                for (int _i505 = 0; _i505 < _list503.size; ++_i505)
+                org.apache.thrift.protocol.TList _list493 = iprot.readListBegin();
+                struct.partitionOrder = new ArrayList<FieldSchema>(_list493.size);
+                FieldSchema _elem494;
+                for (int _i495 = 0; _i495 < _list493.size; ++_i495)
                 {
-                  _elem504 = new FieldSchema();
-                  _elem504.read(iprot);
-                  struct.partitionOrder.add(_elem504);
+                  _elem494 = new FieldSchema();
+                  _elem494.read(iprot);
+                  struct.partitionOrder.add(_elem494);
                 }
                 iprot.readListEnd();
               }
@@ -1055,9 +1055,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PARTITION_KEYS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.partitionKeys.size()));
-          for (FieldSchema _iter506 : struct.partitionKeys)
+          for (FieldSchema _iter496 : struct.partitionKeys)
           {
-            _iter506.write(oprot);
+            _iter496.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -1080,9 +1080,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(PARTITION_ORDER_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.partitionOrder.size()));
-            for (FieldSchema _iter507 : struct.partitionOrder)
+            for (FieldSchema _iter497 : struct.partitionOrder)
             {
-              _iter507.write(oprot);
+              _iter497.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1120,9 +1120,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.tblName);
       {
         oprot.writeI32(struct.partitionKeys.size());
-        for (FieldSchema _iter508 : struct.partitionKeys)
+        for (FieldSchema _iter498 : struct.partitionKeys)
         {
-          _iter508.write(oprot);
+          _iter498.write(oprot);
         }
       }
       BitSet optionals = new BitSet();
@@ -1151,9 +1151,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetPartitionOrder()) {
         {
           oprot.writeI32(struct.partitionOrder.size());
-          for (FieldSchema _iter509 : struct.partitionOrder)
+          for (FieldSchema _iter499 : struct.partitionOrder)
           {
-            _iter509.write(oprot);
+            _iter499.write(oprot);
           }
         }
       }
@@ -1173,14 +1173,14 @@ import org.slf4j.LoggerFactory;
       struct.tblName = iprot.readString();
       struct.setTblNameIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list510 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.partitionKeys = new ArrayList<FieldSchema>(_list510.size);
-        FieldSchema _elem511;
-        for (int _i512 = 0; _i512 < _list510.size; ++_i512)
+        org.apache.thrift.protocol.TList _list500 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.partitionKeys = new ArrayList<FieldSchema>(_list500.size);
+        FieldSchema _elem501;
+        for (int _i502 = 0; _i502 < _list500.size; ++_i502)
         {
-          _elem511 = new FieldSchema();
-          _elem511.read(iprot);
-          struct.partitionKeys.add(_elem511);
+          _elem501 = new FieldSchema();
+          _elem501.read(iprot);
+          struct.partitionKeys.add(_elem501);
         }
       }
       struct.setPartitionKeysIsSet(true);
@@ -1195,14 +1195,14 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list513 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.partitionOrder = new ArrayList<FieldSchema>(_list513.size);
-          FieldSchema _elem514;
-          for (int _i515 = 0; _i515 < _list513.size; ++_i515)
+          org.apache.thrift.protocol.TList _list503 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.partitionOrder = new ArrayList<FieldSchema>(_list503.size);
+          FieldSchema _elem504;
+          for (int _i505 = 0; _i505 < _list503.size; ++_i505)
           {
-            _elem514 = new FieldSchema();
-            _elem514.read(iprot);
-            struct.partitionOrder.add(_elem514);
+            _elem504 = new FieldSchema();
+            _elem504.read(iprot);
+            struct.partitionOrder.add(_elem504);
           }
         }
         struct.setPartitionOrderIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesResponse.java
index e1e0de4..a98f748 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // PARTITION_VALUES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list524 = iprot.readListBegin();
-                struct.partitionValues = new ArrayList<PartitionValuesRow>(_list524.size);
-                PartitionValuesRow _elem525;
-                for (int _i526 = 0; _i526 < _list524.size; ++_i526)
+                org.apache.thrift.protocol.TList _list514 = iprot.readListBegin();
+                struct.partitionValues = new ArrayList<PartitionValuesRow>(_list514.size);
+                PartitionValuesRow _elem515;
+                for (int _i516 = 0; _i516 < _list514.size; ++_i516)
                 {
-                  _elem525 = new PartitionValuesRow();
-                  _elem525.read(iprot);
-                  struct.partitionValues.add(_elem525);
+                  _elem515 = new PartitionValuesRow();
+                  _elem515.read(iprot);
+                  struct.partitionValues.add(_elem515);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PARTITION_VALUES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.partitionValues.size()));
-          for (PartitionValuesRow _iter527 : struct.partitionValues)
+          for (PartitionValuesRow _iter517 : struct.partitionValues)
           {
-            _iter527.write(oprot);
+            _iter517.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.partitionValues.size());
-        for (PartitionValuesRow _iter528 : struct.partitionValues)
+        for (PartitionValuesRow _iter518 : struct.partitionValues)
         {
-          _iter528.write(oprot);
+          _iter518.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, PartitionValuesResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list529 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.partitionValues = new ArrayList<PartitionValuesRow>(_list529.size);
-        PartitionValuesRow _elem530;
-        for (int _i531 = 0; _i531 < _list529.size; ++_i531)
+        org.apache.thrift.protocol.TList _list519 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.partitionValues = new ArrayList<PartitionValuesRow>(_list519.size);
+        PartitionValuesRow _elem520;
+        for (int _i521 = 0; _i521 < _list519.size; ++_i521)
         {
-          _elem530 = new PartitionValuesRow();
-          _elem530.read(iprot);
-          struct.partitionValues.add(_elem530);
+          _elem520 = new PartitionValuesRow();
+          _elem520.read(iprot);
+          struct.partitionValues.add(_elem520);
         }
       }
       struct.setPartitionValuesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRow.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRow.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRow.java
index e39063f..b8a55e9 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRow.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRow.java
@@ -351,13 +351,13 @@ import org.slf4j.LoggerFactory;
           case 1: // ROW
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list516 = iprot.readListBegin();
-                struct.row = new ArrayList<String>(_list516.size);
-                String _elem517;
-                for (int _i518 = 0; _i518 < _list516.size; ++_i518)
+                org.apache.thrift.protocol.TList _list506 = iprot.readListBegin();
+                struct.row = new ArrayList<String>(_list506.size);
+                String _elem507;
+                for (int _i508 = 0; _i508 < _list506.size; ++_i508)
                 {
-                  _elem517 = iprot.readString();
-                  struct.row.add(_elem517);
+                  _elem507 = iprot.readString();
+                  struct.row.add(_elem507);
                 }
                 iprot.readListEnd();
               }
@@ -383,9 +383,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(ROW_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.row.size()));
-          for (String _iter519 : struct.row)
+          for (String _iter509 : struct.row)
           {
-            oprot.writeString(_iter519);
+            oprot.writeString(_iter509);
           }
           oprot.writeListEnd();
         }
@@ -410,9 +410,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.row.size());
-        for (String _iter520 : struct.row)
+        for (String _iter510 : struct.row)
         {
-          oprot.writeString(_iter520);
+          oprot.writeString(_iter510);
         }
       }
     }
@@ -421,13 +421,13 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, PartitionValuesRow struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list521 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.row = new ArrayList<String>(_list521.size);
-        String _elem522;
-        for (int _i523 = 0; _i523 < _list521.size; ++_i523)
+        org.apache.thrift.protocol.TList _list511 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.row = new ArrayList<String>(_list511.size);
+        String _elem512;
+        for (int _i513 = 0; _i513 < _list511.size; ++_i513)
         {
-          _elem522 = iprot.readString();
-          struct.row.add(_elem522);
+          _elem512 = iprot.readString();
+          struct.row.add(_elem512);
         }
       }
       struct.setRowIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsByExprResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsByExprResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsByExprResult.java
index 1069acc..521b68d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsByExprResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsByExprResult.java
@@ -439,14 +439,14 @@ import org.slf4j.LoggerFactory;
           case 1: // PARTITIONS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list402 = iprot.readListBegin();
-                struct.partitions = new ArrayList<Partition>(_list402.size);
-                Partition _elem403;
-                for (int _i404 = 0; _i404 < _list402.size; ++_i404)
+                org.apache.thrift.protocol.TList _list392 = iprot.readListBegin();
+                struct.partitions = new ArrayList<Partition>(_list392.size);
+                Partition _elem393;
+                for (int _i394 = 0; _i394 < _list392.size; ++_i394)
                 {
-                  _elem403 = new Partition();
-                  _elem403.read(iprot);
-                  struct.partitions.add(_elem403);
+                  _elem393 = new Partition();
+                  _elem393.read(iprot);
+                  struct.partitions.add(_elem393);
                 }
                 iprot.readListEnd();
               }
@@ -480,9 +480,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PARTITIONS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.partitions.size()));
-          for (Partition _iter405 : struct.partitions)
+          for (Partition _iter395 : struct.partitions)
           {
-            _iter405.write(oprot);
+            _iter395.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -510,9 +510,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.partitions.size());
-        for (Partition _iter406 : struct.partitions)
+        for (Partition _iter396 : struct.partitions)
         {
-          _iter406.write(oprot);
+          _iter396.write(oprot);
         }
       }
       oprot.writeBool(struct.hasUnknownPartitions);
@@ -522,14 +522,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, PartitionsByExprResult struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list407 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.partitions = new ArrayList<Partition>(_list407.size);
-        Partition _elem408;
-        for (int _i409 = 0; _i409 < _list407.size; ++_i409)
+        org.apache.thrift.protocol.TList _list397 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.partitions = new ArrayList<Partition>(_list397.size);
+        Partition _elem398;
+        for (int _i399 = 0; _i399 < _list397.size; ++_i399)
         {
-          _elem408 = new Partition();
-          _elem408.read(iprot);
-          struct.partitions.add(_elem408);
+          _elem398 = new Partition();
+          _elem398.read(iprot);
+          struct.partitions.add(_elem398);
         }
       }
       struct.setPartitionsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsRequest.java
index 1de1233..c1d9337 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsRequest.java
@@ -639,13 +639,13 @@ import org.slf4j.LoggerFactory;
           case 3: // COL_NAMES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list444 = iprot.readListBegin();
-                struct.colNames = new ArrayList<String>(_list444.size);
-                String _elem445;
-                for (int _i446 = 0; _i446 < _list444.size; ++_i446)
+                org.apache.thrift.protocol.TList _list434 = iprot.readListBegin();
+                struct.colNames = new ArrayList<String>(_list434.size);
+                String _elem435;
+                for (int _i436 = 0; _i436 < _list434.size; ++_i436)
                 {
-                  _elem445 = iprot.readString();
-                  struct.colNames.add(_elem445);
+                  _elem435 = iprot.readString();
+                  struct.colNames.add(_elem435);
                 }
                 iprot.readListEnd();
               }
@@ -657,13 +657,13 @@ import org.slf4j.LoggerFactory;
           case 4: // PART_NAMES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list447 = iprot.readListBegin();
-                struct.partNames = new ArrayList<String>(_list447.size);
-                String _elem448;
-                for (int _i449 = 0; _i449 < _list447.size; ++_i449)
+                org.apache.thrift.protocol.TList _list437 = iprot.readListBegin();
+                struct.partNames = new ArrayList<String>(_list437.size);
+                String _elem438;
+                for (int _i439 = 0; _i439 < _list437.size; ++_i439)
                 {
-                  _elem448 = iprot.readString();
-                  struct.partNames.add(_elem448);
+                  _elem438 = iprot.readString();
+                  struct.partNames.add(_elem438);
                 }
                 iprot.readListEnd();
               }
@@ -699,9 +699,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(COL_NAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.colNames.size()));
-          for (String _iter450 : struct.colNames)
+          for (String _iter440 : struct.colNames)
           {
-            oprot.writeString(_iter450);
+            oprot.writeString(_iter440);
           }
           oprot.writeListEnd();
         }
@@ -711,9 +711,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PART_NAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.partNames.size()));
-          for (String _iter451 : struct.partNames)
+          for (String _iter441 : struct.partNames)
           {
-            oprot.writeString(_iter451);
+            oprot.writeString(_iter441);
           }
           oprot.writeListEnd();
         }
@@ -740,16 +740,16 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.tblName);
       {
         oprot.writeI32(struct.colNames.size());
-        for (String _iter452 : struct.colNames)
+        for (String _iter442 : struct.colNames)
         {
-          oprot.writeString(_iter452);
+          oprot.writeString(_iter442);
         }
       }
       {
         oprot.writeI32(struct.partNames.size());
-        for (String _iter453 : struct.partNames)
+        for (String _iter443 : struct.partNames)
         {
-          oprot.writeString(_iter453);
+          oprot.writeString(_iter443);
         }
       }
     }
@@ -762,24 +762,24 @@ import org.slf4j.LoggerFactory;
       struct.tblName = iprot.readString();
       struct.setTblNameIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list454 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.colNames = new ArrayList<String>(_list454.size);
-        String _elem455;
-        for (int _i456 = 0; _i456 < _list454.size; ++_i456)
+        org.apache.thrift.protocol.TList _list444 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.colNames = new ArrayList<String>(_list444.size);
+        String _elem445;
+        for (int _i446 = 0; _i446 < _list444.size; ++_i446)
         {
-          _elem455 = iprot.readString();
-          struct.colNames.add(_elem455);
+          _elem445 = iprot.readString();
+          struct.colNames.add(_elem445);
         }
       }
       struct.setColNamesIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list457 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.partNames = new ArrayList<String>(_list457.size);
-        String _elem458;
-        for (int _i459 = 0; _i459 < _list457.size; ++_i459)
+        org.apache.thrift.protocol.TList _list447 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.partNames = new ArrayList<String>(_list447.size);
+        String _elem448;
+        for (int _i449 = 0; _i449 < _list447.size; ++_i449)
         {
-          _elem458 = iprot.readString();
-          struct.partNames.add(_elem458);
+          _elem448 = iprot.readString();
+          struct.partNames.add(_elem448);
         }
       }
       struct.setPartNamesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsResult.java
index c2183e5..2bf7fc5 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsResult.java
@@ -363,26 +363,26 @@ import org.slf4j.LoggerFactory;
           case 1: // PART_STATS
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map418 = iprot.readMapBegin();
-                struct.partStats = new HashMap<String,List<ColumnStatisticsObj>>(2*_map418.size);
-                String _key419;
-                List<ColumnStatisticsObj> _val420;
-                for (int _i421 = 0; _i421 < _map418.size; ++_i421)
+                org.apache.thrift.protocol.TMap _map408 = iprot.readMapBegin();
+                struct.partStats = new HashMap<String,List<ColumnStatisticsObj>>(2*_map408.size);
+                String _key409;
+                List<ColumnStatisticsObj> _val410;
+                for (int _i411 = 0; _i411 < _map408.size; ++_i411)
                 {
-                  _key419 = iprot.readString();
+                  _key409 = iprot.readString();
                   {
-                    org.apache.thrift.protocol.TList _list422 = iprot.readListBegin();
-                    _val420 = new ArrayList<ColumnStatisticsObj>(_list422.size);
-                    ColumnStatisticsObj _elem423;
-                    for (int _i424 = 0; _i424 < _list422.size; ++_i424)
+                    org.apache.thrift.protocol.TList _list412 = iprot.readListBegin();
+                    _val410 = new ArrayList<ColumnStatisticsObj>(_list412.size);
+                    ColumnStatisticsObj _elem413;
+                    for (int _i414 = 0; _i414 < _list412.size; ++_i414)
                     {
-                      _elem423 = new ColumnStatisticsObj();
-                      _elem423.read(iprot);
-                      _val420.add(_elem423);
+                      _elem413 = new ColumnStatisticsObj();
+                      _elem413.read(iprot);
+                      _val410.add(_elem413);
                     }
                     iprot.readListEnd();
                   }
-                  struct.partStats.put(_key419, _val420);
+                  struct.partStats.put(_key409, _val410);
                 }
                 iprot.readMapEnd();
               }
@@ -408,14 +408,14 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PART_STATS_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, struct.partStats.size()));
-          for (Map.Entry<String, List<ColumnStatisticsObj>> _iter425 : struct.partStats.entrySet())
+          for (Map.Entry<String, List<ColumnStatisticsObj>> _iter415 : struct.partStats.entrySet())
           {
-            oprot.writeString(_iter425.getKey());
+            oprot.writeString(_iter415.getKey());
             {
-              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter425.getValue().size()));
-              for (ColumnStatisticsObj _iter426 : _iter425.getValue())
+              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter415.getValue().size()));
+              for (ColumnStatisticsObj _iter416 : _iter415.getValue())
               {
-                _iter426.write(oprot);
+                _iter416.write(oprot);
               }
               oprot.writeListEnd();
             }
@@ -443,14 +443,14 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.partStats.size());
-        for (Map.Entry<String, List<ColumnStatisticsObj>> _iter427 : struct.partStats.entrySet())
+        for (Map.Entry<String, List<ColumnStatisticsObj>> _iter417 : struct.partStats.entrySet())
         {
-          oprot.writeString(_iter427.getKey());
+          oprot.writeString(_iter417.getKey());
           {
-            oprot.writeI32(_iter427.getValue().size());
-            for (ColumnStatisticsObj _iter428 : _iter427.getValue())
+            oprot.writeI32(_iter417.getValue().size());
+            for (ColumnStatisticsObj _iter418 : _iter417.getValue())
             {
-              _iter428.write(oprot);
+              _iter418.write(oprot);
             }
           }
         }
@@ -461,25 +461,25 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, PartitionsStatsResult struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TMap _map429 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
-        struct.partStats = new HashMap<String,List<ColumnStatisticsObj>>(2*_map429.size);
-        String _key430;
-        List<ColumnStatisticsObj> _val431;
-        for (int _i432 = 0; _i432 < _map429.size; ++_i432)
+        org.apache.thrift.protocol.TMap _map419 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
+        struct.partStats = new HashMap<String,List<ColumnStatisticsObj>>(2*_map419.size);
+        String _key420;
+        List<ColumnStatisticsObj> _val421;
+        for (int _i422 = 0; _i422 < _map419.size; ++_i422)
         {
-          _key430 = iprot.readString();
+          _key420 = iprot.readString();
           {
-            org.apache.thrift.protocol.TList _list433 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            _val431 = new ArrayList<ColumnStatisticsObj>(_list433.size);
-            ColumnStatisticsObj _elem434;
-            for (int _i435 = 0; _i435 < _list433.size; ++_i435)
+            org.apache.thrift.protocol.TList _list423 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            _val421 = new ArrayList<ColumnStatisticsObj>(_list423.size);
+            ColumnStatisticsObj _elem424;
+            for (int _i425 = 0; _i425 < _list423.size; ++_i425)
             {
-              _elem434 = new ColumnStatisticsObj();
-              _elem434.read(iprot);
-              _val431.add(_elem434);
+              _elem424 = new ColumnStatisticsObj();
+              _elem424.read(iprot);
+              _val421.add(_elem424);
             }
           }
-          struct.partStats.put(_key430, _val431);
+          struct.partStats.put(_key420, _val421);
         }
       }
       struct.setPartStatsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrimaryKeysResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrimaryKeysResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrimaryKeysResponse.java
index 43f070c..7eed56f 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrimaryKeysResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrimaryKeysResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // PRIMARY_KEYS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list322 = iprot.readListBegin();
-                struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list322.size);
-                SQLPrimaryKey _elem323;
-                for (int _i324 = 0; _i324 < _list322.size; ++_i324)
+                org.apache.thrift.protocol.TList _list312 = iprot.readListBegin();
+                struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list312.size);
+                SQLPrimaryKey _elem313;
+                for (int _i314 = 0; _i314 < _list312.size; ++_i314)
                 {
-                  _elem323 = new SQLPrimaryKey();
-                  _elem323.read(iprot);
-                  struct.primaryKeys.add(_elem323);
+                  _elem313 = new SQLPrimaryKey();
+                  _elem313.read(iprot);
+                  struct.primaryKeys.add(_elem313);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PRIMARY_KEYS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.primaryKeys.size()));
-          for (SQLPrimaryKey _iter325 : struct.primaryKeys)
+          for (SQLPrimaryKey _iter315 : struct.primaryKeys)
           {
-            _iter325.write(oprot);
+            _iter315.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.primaryKeys.size());
-        for (SQLPrimaryKey _iter326 : struct.primaryKeys)
+        for (SQLPrimaryKey _iter316 : struct.primaryKeys)
         {
-          _iter326.write(oprot);
+          _iter316.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, PrimaryKeysResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list327 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list327.size);
-        SQLPrimaryKey _elem328;
-        for (int _i329 = 0; _i329 < _list327.size; ++_i329)
+        org.apache.thrift.protocol.TList _list317 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.primaryKeys = new ArrayList<SQLPrimaryKey>(_list317.size);
+        SQLPrimaryKey _elem318;
+        for (int _i319 = 0; _i319 < _list317.size; ++_i319)
         {
-          _elem328 = new SQLPrimaryKey();
-          _elem328.read(iprot);
-          struct.primaryKeys.add(_elem328);
+          _elem318 = new SQLPrimaryKey();
+          _elem318.read(iprot);
+          struct.primaryKeys.add(_elem318);
         }
       }
       struct.setPrimaryKeysIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PutFileMetadataRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PutFileMetadataRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PutFileMetadataRequest.java
index ba2b320..0b0da14 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PutFileMetadataRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PutFileMetadataRequest.java
@@ -547,13 +547,13 @@ import org.slf4j.LoggerFactory;
           case 1: // FILE_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list746 = iprot.readListBegin();
-                struct.fileIds = new ArrayList<Long>(_list746.size);
-                long _elem747;
-                for (int _i748 = 0; _i748 < _list746.size; ++_i748)
+                org.apache.thrift.protocol.TList _list736 = iprot.readListBegin();
+                struct.fileIds = new ArrayList<Long>(_list736.size);
+                long _elem737;
+                for (int _i738 = 0; _i738 < _list736.size; ++_i738)
                 {
-                  _elem747 = iprot.readI64();
-                  struct.fileIds.add(_elem747);
+                  _elem737 = iprot.readI64();
+                  struct.fileIds.add(_elem737);
                 }
                 iprot.readListEnd();
               }
@@ -565,13 +565,13 @@ import org.slf4j.LoggerFactory;
           case 2: // METADATA
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list749 = iprot.readListBegin();
-                struct.metadata = new ArrayList<ByteBuffer>(_list749.size);
-                ByteBuffer _elem750;
-                for (int _i751 = 0; _i751 < _list749.size; ++_i751)
+                org.apache.thrift.protocol.TList _list739 = iprot.readListBegin();
+                struct.metadata = new ArrayList<ByteBuffer>(_list739.size);
+                ByteBuffer _elem740;
+                for (int _i741 = 0; _i741 < _list739.size; ++_i741)
                 {
-                  _elem750 = iprot.readBinary();
-                  struct.metadata.add(_elem750);
+                  _elem740 = iprot.readBinary();
+                  struct.metadata.add(_elem740);
                 }
                 iprot.readListEnd();
               }
@@ -605,9 +605,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FILE_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.fileIds.size()));
-          for (long _iter752 : struct.fileIds)
+          for (long _iter742 : struct.fileIds)
           {
-            oprot.writeI64(_iter752);
+            oprot.writeI64(_iter742);
           }
           oprot.writeListEnd();
         }
@@ -617,9 +617,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(METADATA_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.metadata.size()));
-          for (ByteBuffer _iter753 : struct.metadata)
+          for (ByteBuffer _iter743 : struct.metadata)
           {
-            oprot.writeBinary(_iter753);
+            oprot.writeBinary(_iter743);
           }
           oprot.writeListEnd();
         }
@@ -651,16 +651,16 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.fileIds.size());
-        for (long _iter754 : struct.fileIds)
+        for (long _iter744 : struct.fileIds)
         {
-          oprot.writeI64(_iter754);
+          oprot.writeI64(_iter744);
         }
       }
       {
         oprot.writeI32(struct.metadata.size());
-        for (ByteBuffer _iter755 : struct.metadata)
+        for (ByteBuffer _iter745 : struct.metadata)
         {
-          oprot.writeBinary(_iter755);
+          oprot.writeBinary(_iter745);
         }
       }
       BitSet optionals = new BitSet();
@@ -677,24 +677,24 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, PutFileMetadataRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list756 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.fileIds = new ArrayList<Long>(_list756.size);
-        long _elem757;
-        for (int _i758 = 0; _i758 < _list756.size; ++_i758)
+        org.apache.thrift.protocol.TList _list746 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.fileIds = new ArrayList<Long>(_list746.size);
+        long _elem747;
+        for (int _i748 = 0; _i748 < _list746.size; ++_i748)
         {
-          _elem757 = iprot.readI64();
-          struct.fileIds.add(_elem757);
+          _elem747 = iprot.readI64();
+          struct.fileIds.add(_elem747);
         }
       }
       struct.setFileIdsIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list759 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.metadata = new ArrayList<ByteBuffer>(_list759.size);
-        ByteBuffer _elem760;
-        for (int _i761 = 0; _i761 < _list759.size; ++_i761)
+        org.apache.thrift.protocol.TList _list749 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.metadata = new ArrayList<ByteBuffer>(_list749.size);
+        ByteBuffer _elem750;
+        for (int _i751 = 0; _i751 < _list749.size; ++_i751)
         {
-          _elem760 = iprot.readBinary();
-          struct.metadata.add(_elem760);
+          _elem750 = iprot.readBinary();
+          struct.metadata.add(_elem750);
         }
       }
       struct.setMetadataIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RequestPartsSpec.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RequestPartsSpec.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RequestPartsSpec.java
index 96fd264..5639a98 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RequestPartsSpec.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RequestPartsSpec.java
@@ -168,13 +168,13 @@ import org.slf4j.LoggerFactory;
           if (field.type == NAMES_FIELD_DESC.type) {
             List<String> names;
             {
-              org.apache.thrift.protocol.TList _list484 = iprot.readListBegin();
-              names = new ArrayList<String>(_list484.size);
-              String _elem485;
-              for (int _i486 = 0; _i486 < _list484.size; ++_i486)
+              org.apache.thrift.protocol.TList _list474 = iprot.readListBegin();
+              names = new ArrayList<String>(_list474.size);
+              String _elem475;
+              for (int _i476 = 0; _i476 < _list474.size; ++_i476)
               {
-                _elem485 = iprot.readString();
-                names.add(_elem485);
+                _elem475 = iprot.readString();
+                names.add(_elem475);
               }
               iprot.readListEnd();
             }
@@ -187,14 +187,14 @@ import org.slf4j.LoggerFactory;
           if (field.type == EXPRS_FIELD_DESC.type) {
             List<DropPartitionsExpr> exprs;
             {
-              org.apache.thrift.protocol.TList _list487 = iprot.readListBegin();
-              exprs = new ArrayList<DropPartitionsExpr>(_list487.size);
-              DropPartitionsExpr _elem488;
-              for (int _i489 = 0; _i489 < _list487.size; ++_i489)
+              org.apache.thrift.protocol.TList _list477 = iprot.readListBegin();
+              exprs = new ArrayList<DropPartitionsExpr>(_list477.size);
+              DropPartitionsExpr _elem478;
+              for (int _i479 = 0; _i479 < _list477.size; ++_i479)
               {
-                _elem488 = new DropPartitionsExpr();
-                _elem488.read(iprot);
-                exprs.add(_elem488);
+                _elem478 = new DropPartitionsExpr();
+                _elem478.read(iprot);
+                exprs.add(_elem478);
               }
               iprot.readListEnd();
             }
@@ -219,9 +219,9 @@ import org.slf4j.LoggerFactory;
         List<String> names = (List<String>)value_;
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, names.size()));
-          for (String _iter490 : names)
+          for (String _iter480 : names)
           {
-            oprot.writeString(_iter490);
+            oprot.writeString(_iter480);
           }
           oprot.writeListEnd();
         }
@@ -230,9 +230,9 @@ import org.slf4j.LoggerFactory;
         List<DropPartitionsExpr> exprs = (List<DropPartitionsExpr>)value_;
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, exprs.size()));
-          for (DropPartitionsExpr _iter491 : exprs)
+          for (DropPartitionsExpr _iter481 : exprs)
           {
-            _iter491.write(oprot);
+            _iter481.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -250,13 +250,13 @@ import org.slf4j.LoggerFactory;
         case NAMES:
           List<String> names;
           {
-            org.apache.thrift.protocol.TList _list492 = iprot.readListBegin();
-            names = new ArrayList<String>(_list492.size);
-            String _elem493;
-            for (int _i494 = 0; _i494 < _list492.size; ++_i494)
+            org.apache.thrift.protocol.TList _list482 = iprot.readListBegin();
+            names = new ArrayList<String>(_list482.size);
+            String _elem483;
+            for (int _i484 = 0; _i484 < _list482.size; ++_i484)
             {
-              _elem493 = iprot.readString();
-              names.add(_elem493);
+              _elem483 = iprot.readString();
+              names.add(_elem483);
             }
             iprot.readListEnd();
           }
@@ -264,14 +264,14 @@ import org.slf4j.LoggerFactory;
         case EXPRS:
           List<DropPartitionsExpr> exprs;
           {
-            org.apache.thrift.protocol.TList _list495 = iprot.readListBegin();
-            exprs = new ArrayList<DropPartitionsExpr>(_list495.size);
-            DropPartitionsExpr _elem496;
-            for (int _i497 = 0; _i497 < _list495.size; ++_i497)
+            org.apache.thrift.protocol.TList _list485 = iprot.readListBegin();
+            exprs = new ArrayList<DropPartitionsExpr>(_list485.size);
+            DropPartitionsExpr _elem486;
+            for (int _i487 = 0; _i487 < _list485.size; ++_i487)
             {
-              _elem496 = new DropPartitionsExpr();
-              _elem496.read(iprot);
-              exprs.add(_elem496);
+              _elem486 = new DropPartitionsExpr();
+              _elem486.read(iprot);
+              exprs.add(_elem486);
             }
             iprot.readListEnd();
           }
@@ -291,9 +291,9 @@ import org.slf4j.LoggerFactory;
         List<String> names = (List<String>)value_;
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, names.size()));
-          for (String _iter498 : names)
+          for (String _iter488 : names)
           {
-            oprot.writeString(_iter498);
+            oprot.writeString(_iter488);
           }
           oprot.writeListEnd();
         }
@@ -302,9 +302,9 @@ import org.slf4j.LoggerFactory;
         List<DropPartitionsExpr> exprs = (List<DropPartitionsExpr>)value_;
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, exprs.size()));
-          for (DropPartitionsExpr _iter499 : exprs)
+          for (DropPartitionsExpr _iter489 : exprs)
           {
-            _iter499.write(oprot);
+            _iter489.write(oprot);
           }
           oprot.writeListEnd();
         }

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
index eaae445..3f39bd5 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
@@ -445,14 +445,14 @@ import org.slf4j.LoggerFactory;
           case 1: // FIELD_SCHEMAS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list294 = iprot.readListBegin();
-                struct.fieldSchemas = new ArrayList<FieldSchema>(_list294.size);
-                FieldSchema _elem295;
-                for (int _i296 = 0; _i296 < _list294.size; ++_i296)
+                org.apache.thrift.protocol.TList _list284 = iprot.readListBegin();
+                struct.fieldSchemas = new ArrayList<FieldSchema>(_list284.size);
+                FieldSchema _elem285;
+                for (int _i286 = 0; _i286 < _list284.size; ++_i286)
                 {
-                  _elem295 = new FieldSchema();
-                  _elem295.read(iprot);
-                  struct.fieldSchemas.add(_elem295);
+                  _elem285 = new FieldSchema();
+                  _elem285.read(iprot);
+                  struct.fieldSchemas.add(_elem285);
                 }
                 iprot.readListEnd();
               }
@@ -464,15 +464,15 @@ import org.slf4j.LoggerFactory;
           case 2: // PROPERTIES
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map297 = iprot.readMapBegin();
-                struct.properties = new HashMap<String,String>(2*_map297.size);
-                String _key298;
-                String _val299;
-                for (int _i300 = 0; _i300 < _map297.size; ++_i300)
+                org.apache.thrift.protocol.TMap _map287 = iprot.readMapBegin();
+                struct.properties = new HashMap<String,String>(2*_map287.size);
+                String _key288;
+                String _val289;
+                for (int _i290 = 0; _i290 < _map287.size; ++_i290)
                 {
-                  _key298 = iprot.readString();
-                  _val299 = iprot.readString();
-                  struct.properties.put(_key298, _val299);
+                  _key288 = iprot.readString();
+                  _val289 = iprot.readString();
+                  struct.properties.put(_key288, _val289);
                 }
                 iprot.readMapEnd();
               }
@@ -498,9 +498,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(FIELD_SCHEMAS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.fieldSchemas.size()));
-          for (FieldSchema _iter301 : struct.fieldSchemas)
+          for (FieldSchema _iter291 : struct.fieldSchemas)
           {
-            _iter301.write(oprot);
+            _iter291.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -510,10 +510,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
-          for (Map.Entry<String, String> _iter302 : struct.properties.entrySet())
+          for (Map.Entry<String, String> _iter292 : struct.properties.entrySet())
           {
-            oprot.writeString(_iter302.getKey());
-            oprot.writeString(_iter302.getValue());
+            oprot.writeString(_iter292.getKey());
+            oprot.writeString(_iter292.getValue());
           }
           oprot.writeMapEnd();
         }
@@ -547,19 +547,19 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetFieldSchemas()) {
         {
           oprot.writeI32(struct.fieldSchemas.size());
-          for (FieldSchema _iter303 : struct.fieldSchemas)
+          for (FieldSchema _iter293 : struct.fieldSchemas)
           {
-            _iter303.write(oprot);
+            _iter293.write(oprot);
           }
         }
       }
       if (struct.isSetProperties()) {
         {
           oprot.writeI32(struct.properties.size());
-          for (Map.Entry<String, String> _iter304 : struct.properties.entrySet())
+          for (Map.Entry<String, String> _iter294 : struct.properties.entrySet())
           {
-            oprot.writeString(_iter304.getKey());
-            oprot.writeString(_iter304.getValue());
+            oprot.writeString(_iter294.getKey());
+            oprot.writeString(_iter294.getValue());
           }
         }
       }
@@ -571,29 +571,29 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list305 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.fieldSchemas = new ArrayList<FieldSchema>(_list305.size);
-          FieldSchema _elem306;
-          for (int _i307 = 0; _i307 < _list305.size; ++_i307)
+          org.apache.thrift.protocol.TList _list295 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.fieldSchemas = new ArrayList<FieldSchema>(_list295.size);
+          FieldSchema _elem296;
+          for (int _i297 = 0; _i297 < _list295.size; ++_i297)
           {
-            _elem306 = new FieldSchema();
-            _elem306.read(iprot);
-            struct.fieldSchemas.add(_elem306);
+            _elem296 = new FieldSchema();
+            _elem296.read(iprot);
+            struct.fieldSchemas.add(_elem296);
           }
         }
         struct.setFieldSchemasIsSet(true);
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TMap _map308 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.properties = new HashMap<String,String>(2*_map308.size);
-          String _key309;
-          String _val310;
-          for (int _i311 = 0; _i311 < _map308.size; ++_i311)
+          org.apache.thrift.protocol.TMap _map298 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.properties = new HashMap<String,String>(2*_map298.size);
+          String _key299;
+          String _val300;
+          for (int _i301 = 0; _i301 < _map298.size; ++_i301)
           {
-            _key309 = iprot.readString();
-            _val310 = iprot.readString();
-            struct.properties.put(_key309, _val310);
+            _key299 = iprot.readString();
+            _val300 = iprot.readString();
+            struct.properties.put(_key299, _val300);
           }
         }
         struct.setPropertiesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SetPartitionsStatsRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SetPartitionsStatsRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SetPartitionsStatsRequest.java
index ae0fbb4..dd95409 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SetPartitionsStatsRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SetPartitionsStatsRequest.java
@@ -435,14 +435,14 @@ import org.slf4j.LoggerFactory;
           case 1: // COL_STATS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list286 = iprot.readListBegin();
-                struct.colStats = new ArrayList<ColumnStatistics>(_list286.size);
-                ColumnStatistics _elem287;
-                for (int _i288 = 0; _i288 < _list286.size; ++_i288)
+                org.apache.thrift.protocol.TList _list276 = iprot.readListBegin();
+                struct.colStats = new ArrayList<ColumnStatistics>(_list276.size);
+                ColumnStatistics _elem277;
+                for (int _i278 = 0; _i278 < _list276.size; ++_i278)
                 {
-                  _elem287 = new ColumnStatistics();
-                  _elem287.read(iprot);
-                  struct.colStats.add(_elem287);
+                  _elem277 = new ColumnStatistics();
+                  _elem277.read(iprot);
+                  struct.colStats.add(_elem277);
                 }
                 iprot.readListEnd();
               }
@@ -476,9 +476,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(COL_STATS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.colStats.size()));
-          for (ColumnStatistics _iter289 : struct.colStats)
+          for (ColumnStatistics _iter279 : struct.colStats)
           {
-            _iter289.write(oprot);
+            _iter279.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -508,9 +508,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.colStats.size());
-        for (ColumnStatistics _iter290 : struct.colStats)
+        for (ColumnStatistics _iter280 : struct.colStats)
         {
-          _iter290.write(oprot);
+          _iter280.write(oprot);
         }
       }
       BitSet optionals = new BitSet();
@@ -527,14 +527,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, SetPartitionsStatsRequest struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list291 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.colStats = new ArrayList<ColumnStatistics>(_list291.size);
-        ColumnStatistics _elem292;
-        for (int _i293 = 0; _i293 < _list291.size; ++_i293)
+        org.apache.thrift.protocol.TList _list281 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.colStats = new ArrayList<ColumnStatistics>(_list281.size);
+        ColumnStatistics _elem282;
+        for (int _i283 = 0; _i283 < _list281.size; ++_i283)
         {
-          _elem292 = new ColumnStatistics();
-          _elem292.read(iprot);
-          struct.colStats.add(_elem292);
+          _elem282 = new ColumnStatistics();
+          _elem282.read(iprot);
+          struct.colStats.add(_elem282);
         }
       }
       struct.setColStatsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowCompactResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowCompactResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowCompactResponse.java
index bd335ef..a189d0a 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowCompactResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowCompactResponse.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // COMPACTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list654 = iprot.readListBegin();
-                struct.compacts = new ArrayList<ShowCompactResponseElement>(_list654.size);
-                ShowCompactResponseElement _elem655;
-                for (int _i656 = 0; _i656 < _list654.size; ++_i656)
+                org.apache.thrift.protocol.TList _list644 = iprot.readListBegin();
+                struct.compacts = new ArrayList<ShowCompactResponseElement>(_list644.size);
+                ShowCompactResponseElement _elem645;
+                for (int _i646 = 0; _i646 < _list644.size; ++_i646)
                 {
-                  _elem655 = new ShowCompactResponseElement();
-                  _elem655.read(iprot);
-                  struct.compacts.add(_elem655);
+                  _elem645 = new ShowCompactResponseElement();
+                  _elem645.read(iprot);
+                  struct.compacts.add(_elem645);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(COMPACTS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.compacts.size()));
-          for (ShowCompactResponseElement _iter657 : struct.compacts)
+          for (ShowCompactResponseElement _iter647 : struct.compacts)
           {
-            _iter657.write(oprot);
+            _iter647.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.compacts.size());
-        for (ShowCompactResponseElement _iter658 : struct.compacts)
+        for (ShowCompactResponseElement _iter648 : struct.compacts)
         {
-          _iter658.write(oprot);
+          _iter648.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, ShowCompactResponse struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list659 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.compacts = new ArrayList<ShowCompactResponseElement>(_list659.size);
-        ShowCompactResponseElement _elem660;
-        for (int _i661 = 0; _i661 < _list659.size; ++_i661)
+        org.apache.thrift.protocol.TList _list649 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.compacts = new ArrayList<ShowCompactResponseElement>(_list649.size);
+        ShowCompactResponseElement _elem650;
+        for (int _i651 = 0; _i651 < _list649.size; ++_i651)
         {
-          _elem660 = new ShowCompactResponseElement();
-          _elem660.read(iprot);
-          struct.compacts.add(_elem660);
+          _elem650 = new ShowCompactResponseElement();
+          _elem650.read(iprot);
+          struct.compacts.add(_elem650);
         }
       }
       struct.setCompactsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowLocksResponse.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowLocksResponse.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowLocksResponse.java
index eff942b..3715509 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowLocksResponse.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowLocksResponse.java
@@ -350,14 +350,14 @@ import org.slf4j.LoggerFactory;
           case 1: // LOCKS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list620 = iprot.readListBegin();
-                struct.locks = new ArrayList<ShowLocksResponseElement>(_list620.size);
-                ShowLocksResponseElement _elem621;
-                for (int _i622 = 0; _i622 < _list620.size; ++_i622)
+                org.apache.thrift.protocol.TList _list610 = iprot.readListBegin();
+                struct.locks = new ArrayList<ShowLocksResponseElement>(_list610.size);
+                ShowLocksResponseElement _elem611;
+                for (int _i612 = 0; _i612 < _list610.size; ++_i612)
                 {
-                  _elem621 = new ShowLocksResponseElement();
-                  _elem621.read(iprot);
-                  struct.locks.add(_elem621);
+                  _elem611 = new ShowLocksResponseElement();
+                  _elem611.read(iprot);
+                  struct.locks.add(_elem611);
                 }
                 iprot.readListEnd();
               }
@@ -383,9 +383,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(LOCKS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.locks.size()));
-          for (ShowLocksResponseElement _iter623 : struct.locks)
+          for (ShowLocksResponseElement _iter613 : struct.locks)
           {
-            _iter623.write(oprot);
+            _iter613.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -416,9 +416,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetLocks()) {
         {
           oprot.writeI32(struct.locks.size());
-          for (ShowLocksResponseElement _iter624 : struct.locks)
+          for (ShowLocksResponseElement _iter614 : struct.locks)
           {
-            _iter624.write(oprot);
+            _iter614.write(oprot);
           }
         }
       }
@@ -430,14 +430,14 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list625 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.locks = new ArrayList<ShowLocksResponseElement>(_list625.size);
-          ShowLocksResponseElement _elem626;
-          for (int _i627 = 0; _i627 < _list625.size; ++_i627)
+          org.apache.thrift.protocol.TList _list615 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.locks = new ArrayList<ShowLocksResponseElement>(_list615.size);
+          ShowLocksResponseElement _elem616;
+          for (int _i617 = 0; _i617 < _list615.size; ++_i617)
           {
-            _elem626 = new ShowLocksResponseElement();
-            _elem626.read(iprot);
-            struct.locks.add(_elem626);
+            _elem616 = new ShowLocksResponseElement();
+            _elem616.read(iprot);
+            struct.locks.add(_elem616);
           }
         }
         struct.setLocksIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsRequest.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsRequest.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsRequest.java
index ad886b8..ccab0e1 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsRequest.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsRequest.java
@@ -537,13 +537,13 @@ import org.slf4j.LoggerFactory;
           case 3: // COL_NAMES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list436 = iprot.readListBegin();
-                struct.colNames = new ArrayList<String>(_list436.size);
-                String _elem437;
-                for (int _i438 = 0; _i438 < _list436.size; ++_i438)
+                org.apache.thrift.protocol.TList _list426 = iprot.readListBegin();
+                struct.colNames = new ArrayList<String>(_list426.size);
+                String _elem427;
+                for (int _i428 = 0; _i428 < _list426.size; ++_i428)
                 {
-                  _elem437 = iprot.readString();
-                  struct.colNames.add(_elem437);
+                  _elem427 = iprot.readString();
+                  struct.colNames.add(_elem427);
                 }
                 iprot.readListEnd();
               }
@@ -579,9 +579,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(COL_NAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.colNames.size()));
-          for (String _iter439 : struct.colNames)
+          for (String _iter429 : struct.colNames)
           {
-            oprot.writeString(_iter439);
+            oprot.writeString(_iter429);
           }
           oprot.writeListEnd();
         }
@@ -608,9 +608,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.tblName);
       {
         oprot.writeI32(struct.colNames.size());
-        for (String _iter440 : struct.colNames)
+        for (String _iter430 : struct.colNames)
         {
-          oprot.writeString(_iter440);
+          oprot.writeString(_iter430);
         }
       }
     }
@@ -623,13 +623,13 @@ import org.slf4j.LoggerFactory;
       struct.tblName = iprot.readString();
       struct.setTblNameIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list441 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-        struct.colNames = new ArrayList<String>(_list441.size);
-        String _elem442;
-        for (int _i443 = 0; _i443 < _list441.size; ++_i443)
+        org.apache.thrift.protocol.TList _list431 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.colNames = new ArrayList<String>(_list431.size);
+        String _elem432;
+        for (int _i433 = 0; _i433 < _list431.size; ++_i433)
         {
-          _elem442 = iprot.readString();
-          struct.colNames.add(_elem442);
+          _elem432 = iprot.readString();
+          struct.colNames.add(_elem432);
         }
       }
       struct.setColNamesIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsResult.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsResult.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsResult.java
index 64af8ba..4e8c5b2 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsResult.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsResult.java
@@ -354,14 +354,14 @@ import org.slf4j.LoggerFactory;
           case 1: // TABLE_STATS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list410 = iprot.readListBegin();
-                struct.tableStats = new ArrayList<ColumnStatisticsObj>(_list410.size);
-                ColumnStatisticsObj _elem411;
-                for (int _i412 = 0; _i412 < _list410.size; ++_i412)
+                org.apache.thrift.protocol.TList _list400 = iprot.readListBegin();
+                struct.tableStats = new ArrayList<ColumnStatisticsObj>(_list400.size);
+                ColumnStatisticsObj _elem401;
+                for (int _i402 = 0; _i402 < _list400.size; ++_i402)
                 {
-                  _elem411 = new ColumnStatisticsObj();
-                  _elem411.read(iprot);
-                  struct.tableStats.add(_elem411);
+                  _elem401 = new ColumnStatisticsObj();
+                  _elem401.read(iprot);
+                  struct.tableStats.add(_elem401);
                 }
                 iprot.readListEnd();
               }
@@ -387,9 +387,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(TABLE_STATS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tableStats.size()));
-          for (ColumnStatisticsObj _iter413 : struct.tableStats)
+          for (ColumnStatisticsObj _iter403 : struct.tableStats)
           {
-            _iter413.write(oprot);
+            _iter403.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -414,9 +414,9 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.tableStats.size());
-        for (ColumnStatisticsObj _iter414 : struct.tableStats)
+        for (ColumnStatisticsObj _iter404 : struct.tableStats)
         {
-          _iter414.write(oprot);
+          _iter404.write(oprot);
         }
       }
     }
@@ -425,14 +425,14 @@ import org.slf4j.LoggerFactory;
     public void read(org.apache.thrift.protocol.TProtocol prot, TableStatsResult struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list415 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.tableStats = new ArrayList<ColumnStatisticsObj>(_list415.size);
-        ColumnStatisticsObj _elem416;
-        for (int _i417 = 0; _i417 < _list415.size; ++_i417)
+        org.apache.thrift.protocol.TList _list405 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.tableStats = new ArrayList<ColumnStatisticsObj>(_list405.size);
+        ColumnStatisticsObj _elem406;
+        for (int _i407 = 0; _i407 < _list405.size; ++_i407)
         {
-          _elem416 = new ColumnStatisticsObj();
-          _elem416.read(iprot);
-          struct.tableStats.add(_elem416);
+          _elem406 = new ColumnStatisticsObj();
+          _elem406.read(iprot);
+          struct.tableStats.add(_elem406);
         }
       }
       struct.setTableStatsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hive/blob/7c22d74c/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableValidWriteIds.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableValidWriteIds.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableValidWriteIds.java
index 3f9b0d9..aab0aa3 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableValidWriteIds.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableValidWriteIds.java
@@ -708,13 +708,13 @@ import org.slf4j.LoggerFactory;
           case 3: // INVALID_WRITE_IDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list580 = iprot.readListBegin();
-                struct.invalidWriteIds = new ArrayList<Long>(_list580.size);
-                long _elem581;
-                for (int _i582 = 0; _i582 < _list580.size; ++_i582)
+                org.apache.thrift.protocol.TList _list570 = iprot.readListBegin();
+                struct.invalidWriteIds = new ArrayList<Long>(_list570.size);
+                long _elem571;
+                for (int _i572 = 0; _i572 < _list570.size; ++_i572)
                 {
-                  _elem581 = iprot.readI64();
-                  struct.invalidWriteIds.add(_elem581);
+                  _elem571 = iprot.readI64();
+                  struct.invalidWriteIds.add(_elem571);
                 }
                 iprot.readListEnd();
               }
@@ -764,9 +764,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(INVALID_WRITE_IDS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.invalidWriteIds.size()));
-          for (long _iter583 : struct.invalidWriteIds)
+          for (long _iter573 : struct.invalidWriteIds)
           {
-            oprot.writeI64(_iter583);
+            oprot.writeI64(_iter573);
           }
           oprot.writeListEnd();
         }
@@ -803,9 +803,9 @@ import org.slf4j.LoggerFactory;
       oprot.writeI64(struct.writeIdHighWaterMark);
       {
         oprot.writeI32(struct.invalidWriteIds.size());
-        for (long _iter584 : struct.invalidWriteIds)
+        for (long _iter574 : struct.invalidWriteIds)
         {
-          oprot.writeI64(_iter584);
+          oprot.writeI64(_iter574);
         }
       }
       oprot.writeBinary(struct.abortedBits);
@@ -827,13 +827,13 @@ import org.slf4j.LoggerFactory;
       struct.writeIdHighWaterMark = iprot.readI64();
       struct.setWriteIdHighWaterMarkIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list585 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-        struct.invalidWriteIds = new ArrayList<Long>(_list585.size);
-        long _elem586;
-        for (int _i587 = 0; _i587 < _list585.size; ++_i587)
+        org.apache.thrift.protocol.TList _list575 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+        struct.invalidWriteIds = new ArrayList<Long>(_list575.size);
+        long _elem576;
+        for (int _i577 = 0; _i577 < _list575.size; ++_i577)
         {
-          _elem586 = iprot.readI64();
-          struct.invalidWriteIds.add(_elem586);
+          _elem576 = iprot.readI64();
+          struct.invalidWriteIds.add(_elem576);
         }
       }
       struct.setInvalidWriteIdsIsSet(true);


[03/22] hive git commit: HIVE-17626: Query reoptimization using cached runtime statistics (Zoltan Haindrich reviewed by Ashutosh Chauhan)

Posted by kg...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
index 9a3f81c..22b052c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
@@ -27,11 +27,12 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Optional;
 import java.util.Set;
 import java.util.Stack;
 
 import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.ql.ErrorMsg;
+import org.apache.hadoop.hive.ql.Context;
 import org.apache.hadoop.hive.ql.exec.AbstractMapJoinOperator;
 import org.apache.hadoop.hive.ql.exec.ColumnInfo;
 import org.apache.hadoop.hive.ql.exec.CommonJoinOperator;
@@ -74,6 +75,8 @@ import org.apache.hadoop.hive.ql.plan.MapJoinDesc;
 import org.apache.hadoop.hive.ql.plan.OperatorDesc;
 import org.apache.hadoop.hive.ql.plan.Statistics;
 import org.apache.hadoop.hive.ql.plan.Statistics.State;
+import org.apache.hadoop.hive.ql.plan.mapper.RuntimeStatsSource;
+import org.apache.hadoop.hive.ql.stats.OperatorStats;
 import org.apache.hadoop.hive.ql.stats.StatsUtils;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
@@ -132,7 +135,9 @@ public class StatsRulesProcFactory {
       try {
         // gather statistics for the first time and the attach it to table scan operator
         Statistics stats = StatsUtils.collectStatistics(aspCtx.getConf(), partList, colStatsCached, table, tsop);
-        tsop.setStatistics(stats.clone());
+
+        stats = applyRuntimeStats(aspCtx.getParseContext().getContext(), stats, (Operator<?>) tsop);
+        tsop.setStatistics(stats);
 
         if (LOG.isDebugEnabled()) {
           LOG.debug("[0] STATS-" + tsop.toString() + " (" + table.getTableName() + "): " +
@@ -144,6 +149,7 @@ public class StatsRulesProcFactory {
       }
       return null;
     }
+
   }
 
   /**
@@ -181,14 +187,15 @@ public class StatsRulesProcFactory {
       if (satisfyPrecondition(parentStats)) {
         // this will take care of mapping between input column names and output column names. The
         // returned column stats will have the output column names.
-        List<ColStatistics> colStats = StatsUtils.getColStatisticsFromExprMap(conf, parentStats,
-            sop.getColumnExprMap(), sop.getSchema());
+        List<ColStatistics> colStats =
+            StatsUtils.getColStatisticsFromExprMap(conf, parentStats, sop.getColumnExprMap(), sop.getSchema());
         stats.setColumnStats(colStats);
         // in case of select(*) the data size does not change
         if (!sop.getConf().isSelectStar() && !sop.getConf().isSelStarNoCompute()) {
           long dataSize = StatsUtils.getDataSizeFromColumnStats(stats.getNumRows(), colStats);
           stats.setDataSize(dataSize);
         }
+        stats = applyRuntimeStats(aspCtx.getParseContext().getContext(), stats, (Operator<?>) sop);
         sop.setStatistics(stats);
 
         if (LOG.isDebugEnabled()) {
@@ -196,7 +203,8 @@ public class StatsRulesProcFactory {
         }
       } else {
         if (parentStats != null) {
-          sop.setStatistics(parentStats.clone());
+          stats = applyRuntimeStats(aspCtx.getParseContext().getContext(), stats, (Operator<?>) sop);
+          sop.setStatistics(stats);
 
           if (LOG.isDebugEnabled()) {
             LOG.debug("[1] STATS-" + sop.toString() + ": " + parentStats.extendedToString());
@@ -299,7 +307,10 @@ public class StatsRulesProcFactory {
             LOG.debug("[1] STATS-" + fop.toString() + ": " + st.extendedToString());
           }
         }
+
+        st = applyRuntimeStats(aspCtx.getParseContext().getContext(), st, (Operator<?>) fop);
         fop.setStatistics(st);
+
         aspCtx.setAndExprStats(null);
       }
       return null;
@@ -1249,6 +1260,7 @@ public class StatsRulesProcFactory {
         }
       }
 
+      stats = applyRuntimeStats(aspCtx.getParseContext().getContext(), stats, (Operator<?>) gop);
       gop.setStatistics(stats);
 
       if (LOG.isDebugEnabled() && stats != null) {
@@ -1576,6 +1588,7 @@ public class StatsRulesProcFactory {
           }
         }
 
+        stats = applyRuntimeStats(aspCtx.getParseContext().getContext(), stats, jop);
         jop.setStatistics(stats);
 
         if (LOG.isDebugEnabled()) {
@@ -1665,6 +1678,7 @@ public class StatsRulesProcFactory {
           }
         }
 
+        wcStats = applyRuntimeStats(aspCtx.getParseContext().getContext(), wcStats, jop);
         jop.setStatistics(wcStats);
 
         if (LOG.isDebugEnabled()) {
@@ -2215,6 +2229,7 @@ public class StatsRulesProcFactory {
     @Override
     public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
         Object... nodeOutputs) throws SemanticException {
+      AnnotateStatsProcCtx aspCtx = (AnnotateStatsProcCtx) procCtx;
       LimitOperator lop = (LimitOperator) nd;
       Operator<? extends OperatorDesc> parent = lop.getParentOperators().get(0);
       Statistics parentStats = parent.getStatistics();
@@ -2232,6 +2247,7 @@ public class StatsRulesProcFactory {
         if (limit <= parentStats.getNumRows()) {
           updateStats(stats, limit, true, lop);
         }
+        stats = applyRuntimeStats(aspCtx.getParseContext().getContext(), stats, (Operator<?>) lop);
         lop.setStatistics(stats);
 
         if (LOG.isDebugEnabled()) {
@@ -2243,7 +2259,8 @@ public class StatsRulesProcFactory {
           // in the absence of column statistics, compute data size based on
           // based on average row size
           limit = StatsUtils.getMaxIfOverflow(limit);
-          Statistics wcStats = parentStats.scaleToRowCount(limit);
+          Statistics wcStats = parentStats.scaleToRowCount(limit, true);
+          wcStats = applyRuntimeStats(aspCtx.getParseContext().getContext(), wcStats, (Operator<?>) lop);
           lop.setStatistics(wcStats);
           if (LOG.isDebugEnabled()) {
             LOG.debug("[1] STATS-" + lop.toString() + ": " + wcStats.extendedToString());
@@ -2265,8 +2282,7 @@ public class StatsRulesProcFactory {
   public static class ReduceSinkStatsRule extends DefaultStatsRule implements NodeProcessor {
 
     @Override
-    public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
-        Object... nodeOutputs) throws SemanticException {
+    public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException {
       ReduceSinkOperator rop = (ReduceSinkOperator) nd;
       Operator<? extends OperatorDesc> parent = rop.getParentOperators().get(0);
       Statistics parentStats = parent.getStatistics();
@@ -2283,8 +2299,7 @@ public class StatsRulesProcFactory {
             String prefixedKey = Utilities.ReduceField.KEY.toString() + "." + key;
             ExprNodeDesc end = colExprMap.get(prefixedKey);
             if (end != null) {
-              ColStatistics cs = StatsUtils
-                  .getColStatisticsFromExpression(conf, parentStats, end);
+              ColStatistics cs = StatsUtils.getColStatisticsFromExpression(conf, parentStats, end);
               if (cs != null) {
                 cs.setColumnName(prefixedKey);
                 colStats.add(cs);
@@ -2296,8 +2311,7 @@ public class StatsRulesProcFactory {
             String prefixedVal = Utilities.ReduceField.VALUE.toString() + "." + val;
             ExprNodeDesc end = colExprMap.get(prefixedVal);
             if (end != null) {
-              ColStatistics cs = StatsUtils
-                  .getColStatisticsFromExpression(conf, parentStats, end);
+              ColStatistics cs = StatsUtils.getColStatisticsFromExpression(conf, parentStats, end);
               if (cs != null) {
                 cs.setColumnName(prefixedVal);
                 colStats.add(cs);
@@ -2307,6 +2321,8 @@ public class StatsRulesProcFactory {
 
           outStats.setColumnStats(colStats);
         }
+
+        outStats = applyRuntimeStats(aspCtx.getParseContext().getContext(), outStats, (Operator<?>) rop);
         rop.setStatistics(outStats);
         if (LOG.isDebugEnabled()) {
           LOG.debug("[0] STATS-" + rop.toString() + ": " + outStats.extendedToString());
@@ -2355,6 +2371,7 @@ public class StatsRulesProcFactory {
                 LOG.debug("[0] STATS-" + op.toString() + ": " + stats.extendedToString());
               }
             }
+            stats = applyRuntimeStats(aspCtx.getParseContext().getContext(), stats, op);
             op.getConf().setStatistics(stats);
           }
         }
@@ -2473,4 +2490,24 @@ public class StatsRulesProcFactory {
     return stats != null && stats.getBasicStatsState().equals(Statistics.State.COMPLETE)
         && !stats.getColumnStatsState().equals(Statistics.State.NONE);
   }
+
+
+  private static Statistics applyRuntimeStats(Context context, Statistics stats, Operator<?> op) {
+    if (!context.getRuntimeStatsSource().isPresent()) {
+      return stats;
+    }
+    RuntimeStatsSource rss = context.getRuntimeStatsSource().get();
+
+    Optional<OperatorStats> os = rss.lookup(op);
+
+    if (!os.isPresent()) {
+      return stats;
+    }
+    LOG.debug("using runtime stats for {}; {}", op, os.get());
+    Statistics outStats = stats.clone();
+    outStats = outStats.scaleToRowCount(os.get().getOutputRecords(), false);
+    outStats.setRuntimeStats(true);
+    return outStats;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
index 78cbf25..a1ec96c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
@@ -303,6 +303,7 @@ KW_COMPACTIONS: 'COMPACTIONS';
 KW_TRANSACTIONS: 'TRANSACTIONS';
 KW_REWRITE : 'REWRITE';
 KW_AUTHORIZATION: 'AUTHORIZATION';
+KW_REOPTIMIZATION: 'REOPTIMIZATION';
 KW_CONF: 'CONF';
 KW_VALUES: 'VALUES';
 KW_RELOAD: 'RELOAD';

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
index 0c6aece..3abc752 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
@@ -774,14 +774,21 @@ explainStatement
 	: KW_EXPLAIN (
 	    explainOption* execStatement -> ^(TOK_EXPLAIN execStatement explainOption*)
         |
-        KW_REWRITE queryStatementExpression -> ^(TOK_EXPLAIN_SQ_REWRITE queryStatementExpression))
+        KW_REWRITE queryStatementExpression -> ^(TOK_EXPLAIN_SQ_REWRITE queryStatementExpression)
+      )
 	;
 
 explainOption
 @init { msgs.push("explain option"); }
 @after { msgs.pop(); }
-    : KW_EXTENDED|KW_FORMATTED|KW_DEPENDENCY|KW_LOGICAL|KW_AUTHORIZATION|KW_ANALYZE|
-      (KW_VECTORIZATION vectorizationOnly? vectorizatonDetail?)
+    : KW_EXTENDED
+    | KW_FORMATTED
+    | KW_DEPENDENCY
+    | KW_LOGICAL
+    | KW_AUTHORIZATION
+    | KW_ANALYZE
+    | KW_REOPTIMIZATION
+    | (KW_VECTORIZATION vectorizationOnly? vectorizatonDetail?)
     ;
 
 vectorizationOnly

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g
index 35f9edf..2bba33f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g
@@ -832,6 +832,7 @@ nonReserved
     | KW_ZONE
     | KW_TIMESTAMPTZ
     | KW_DEFAULT
+    | KW_REOPTIMIZATION
     | KW_RESOURCE | KW_PLAN | KW_PLANS | KW_QUERY_PARALLELISM | KW_ACTIVATE | KW_MOVE | KW_DO
     | KW_POOL | KW_ALLOC_FRACTION | KW_SCHEDULING_POLICY | KW_PATH | KW_MAPPING | KW_WORKLOAD | KW_MANAGEMENT | KW_ACTIVE | KW_UNMANAGED
 

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java
index 714cf39..e04a783 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java
@@ -22,12 +22,9 @@ package org.apache.hadoop.hive.ql.plan;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.ql.exec.PTFUtils;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
-import org.apache.hadoop.hive.ql.stats.StatsCollectionContext;
 
-public class AbstractOperatorDesc implements OperatorDesc {
+public abstract class AbstractOperatorDesc implements OperatorDesc {
 
   protected boolean vectorMode = false;
 
@@ -125,10 +122,12 @@ public class AbstractOperatorDesc implements OperatorDesc {
     this.memAvailable = memoryAvailble;
   }
 
+  @Override
   public String getRuntimeStatsTmpDir() {
     return runtimeStatsTmpDir;
   }
 
+  @Override
   public void setRuntimeStatsTmpDir(String runtimeStatsTmpDir) {
     this.runtimeStatsTmpDir = runtimeStatsTmpDir;
   }
@@ -161,4 +160,9 @@ public class AbstractOperatorDesc implements OperatorDesc {
     this.colExprMap = colExprMap;
   }
 
+  @Override
+  public void fillSignature(Map<String, Object> ret) {
+    throw new RuntimeException();
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/AppMasterEventDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/AppMasterEventDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/AppMasterEventDesc.java
index 7d5be6b..a68371a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/AppMasterEventDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/AppMasterEventDesc.java
@@ -19,14 +19,15 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.IOException;
-import java.util.List;
 import java.util.Objects;
 
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
 import org.apache.hadoop.io.DataOutputBuffer;
 
 
+
 @SuppressWarnings("serial")
 @Explain(displayName = "Application Master Event Operator")
 public class AppMasterEventDesc extends AbstractOperatorDesc {
@@ -36,11 +37,13 @@ public class AppMasterEventDesc extends AbstractOperatorDesc {
   private String inputName;
 
   @Explain(displayName = "Target Vertex")
+  @Signature
   public String getVertexName() {
     return vertexName;
   }
 
   @Explain(displayName = "Target Input")
+  @Signature
   public String getInputName() {
     return inputName;
   }
@@ -53,6 +56,7 @@ public class AppMasterEventDesc extends AbstractOperatorDesc {
     this.vertexName = vertexName;
   }
 
+  @Signature
   public TableDesc getTable() {
     return table;
   }
@@ -98,4 +102,5 @@ public class AppMasterEventDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java
index 7332693..5a81add 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java
@@ -19,6 +19,8 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 
@@ -38,6 +40,7 @@ public class CommonMergeJoinDesc extends MapJoinDesc implements Serializable {
     this.mapJoinConversionPos = mapJoinConversionPos;
   }
 
+  @Signature
   public int getNumBuckets() {
     return numBuckets;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java
index 5d3fdb8..32c6c6f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java
@@ -23,6 +23,7 @@ import java.util.Objects;
 
 import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator;
 import org.apache.hadoop.hive.ql.exec.TableScanOperator;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.io.DataOutputBuffer;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
@@ -67,6 +68,7 @@ public class DynamicPruningEventDesc extends AppMasterEventDesc {
     return targetColumnName + " (" + targetColumnType + ")";
   }
 
+  @Signature
   public String getTargetColumnName() {
     return targetColumnName;
   }
@@ -75,6 +77,7 @@ public class DynamicPruningEventDesc extends AppMasterEventDesc {
     this.targetColumnName = columnName;
   }
 
+  @Signature
   public String getTargetColumnType() {
     return targetColumnType;
   }
@@ -94,6 +97,7 @@ public class DynamicPruningEventDesc extends AppMasterEventDesc {
   }
 
   @Explain(displayName = "Partition key expr")
+  @Signature
   public String getPartKeyString() {
     return this.partKey.getExprString();
   }
@@ -112,4 +116,5 @@ public class DynamicPruningEventDesc extends AppMasterEventDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
index ce61fc5..e15a49f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
@@ -25,6 +25,7 @@ import java.util.Objects;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.metadata.Table;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
 
@@ -191,6 +192,7 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
   }
 
   @Explain(displayName = "directory", explainLevels = { Level.EXTENDED })
+  @Signature
   public Path getDirName() {
     return dirName;
   }
@@ -214,6 +216,7 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
   }
 
   @Explain(displayName = "table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
+  @Signature
   public TableDesc getTableInfo() {
     return tableInfo;
   }
@@ -223,6 +226,7 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
   }
 
   @Explain(displayName = "compressed")
+  @Signature
   public boolean getCompressed() {
     return compressed;
   }
@@ -232,6 +236,8 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
   }
 
   @Explain(displayName = "GlobalTableId", explainLevels = { Level.EXTENDED })
+  @Signature
+
   public int getDestTableId() {
     return destTableId;
   }
@@ -260,6 +266,8 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
    * @return the multiFileSpray
    */
   @Explain(displayName = "MultiFileSpray", explainLevels = { Level.EXTENDED })
+  @Signature
+
   public boolean isMultiFileSpray() {
     return multiFileSpray;
   }
@@ -311,6 +319,8 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
    * @return the totalFiles
    */
   @Explain(displayName = "TotalFiles", explainLevels = { Level.EXTENDED })
+  @Signature
+
   public int getTotalFiles() {
     return totalFiles;
   }
@@ -340,6 +350,8 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
    * @return the numFiles
    */
   @Explain(displayName = "NumFilesPerFileSink", explainLevels = { Level.EXTENDED })
+  @Signature
+
   public int getNumFiles() {
     return numFiles;
   }
@@ -364,6 +376,7 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
   }
 
   @Explain(displayName = "Static Partition Specification", explainLevels = { Level.EXTENDED })
+  @Signature
   public String getStaticSpec() {
     return staticSpec;
   }
@@ -374,6 +387,8 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
 
   @Override
   @Explain(displayName = "GatherStats", explainLevels = { Level.EXTENDED })
+  @Signature
+
   public boolean isGatherStats() {
     return gatherStats;
   }
@@ -391,6 +406,9 @@ public class FileSinkDesc extends AbstractOperatorDesc implements IStatsGatherDe
    */
   @Override
   @Explain(displayName = "Stats Publishing Key Prefix", explainLevels = { Level.EXTENDED })
+  // FIXME: including this in the signature will almost certenly differ even if the operator is doing the same
+  // there might be conflicting usages of logicalCompare?
+  @Signature
   public String getStatsAggPrefix() {
     // dirName uniquely identifies destination directory of a FileSinkOperator.
     // If more than one FileSinkOperator write to the same partition, this dirName

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
index d59834c..fc7327a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
@@ -22,6 +22,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
 
@@ -109,6 +110,7 @@ public class FilterDesc extends AbstractOperatorDesc {
     this.sampleDescr = sampleDescr;
   }
 
+  @Signature
   public String getPredicateString() {
     return PlanUtils.getExprListString(Arrays.asList(predicate));
   }
@@ -137,6 +139,7 @@ public class FilterDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "isSamplingPred", explainLevels = { Level.EXTENDED })
+  @Signature
   public boolean getIsSamplingPred() {
     return isSamplingPred;
   }
@@ -154,6 +157,7 @@ public class FilterDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "sampleDesc", explainLevels = { Level.EXTENDED })
+  @Signature
   public String getSampleDescExpr() {
     return sampleDescr == null ? null : sampleDescr.toString();
   }
@@ -234,4 +238,5 @@ public class FilterDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java
index 86cc77d..31237c8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java
@@ -25,16 +25,12 @@ import java.util.Objects;
 
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.ql.exec.vector.VectorAggregationDesc;
-import org.apache.hadoop.hive.ql.exec.vector.expressions.aggregates.VectorAggregateExpression;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.udf.UDFType;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator;
 import org.apache.hive.common.util.AnnotationUtils;
-import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
 
 
 /**
@@ -129,6 +125,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "mode")
+  @Signature
   public String getModeString() {
     switch (mode) {
     case COMPLETE:
@@ -155,6 +152,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "keys")
+  @Signature
   public String getKeyString() {
     return PlanUtils.getExprListString(keys);
   }
@@ -173,6 +171,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "outputColumnNames")
+  @Signature
   public ArrayList<java.lang.String> getOutputColumnNames() {
     return outputColumnNames;
   }
@@ -183,6 +182,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "pruneGroupingSetId", displayOnlyOnTrue = true)
+  @Signature
   public boolean pruneGroupingSetId() {
     return groupingSetPosition >= 0 &&
         outputColumnNames.size() != keys.size() + aggregators.size();
@@ -210,6 +210,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "aggregations", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
+  @Signature
   public List<String> getAggregatorStrings() {
     List<String> res = new ArrayList<String>();
     for (AggregationDesc agg: aggregators) {
@@ -235,6 +236,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "bucketGroup", displayOnlyOnTrue = true)
+  @Signature
   public boolean getBucketGroup() {
     return bucketGroup;
   }
@@ -424,4 +426,5 @@ public class GroupByDesc extends AbstractOperatorDesc {
     return false;
   }
 
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java
index 9c651ab..a61a47e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java
@@ -26,6 +26,7 @@ import java.util.Map;
 import java.util.Objects;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 
@@ -289,6 +290,7 @@ public class HashTableSinkDesc extends JoinDesc implements Serializable {
 
   @Override
   @Explain(displayName = "filter mappings", explainLevels = { Level.EXTENDED })
+  @Signature
   public Map<Integer, String> getFilterMapString() {
     return toCompactString(filterMap);
   }
@@ -304,6 +306,7 @@ public class HashTableSinkDesc extends JoinDesc implements Serializable {
   /**
    * @return the keys in string form
    */
+  @Override
   @Explain(displayName = "keys")
   public Map<Byte, String> getKeysString() {
     Map<Byte, String> keyMap = new LinkedHashMap<Byte, String>();
@@ -313,6 +316,7 @@ public class HashTableSinkDesc extends JoinDesc implements Serializable {
     return keyMap;
   }
 
+  @Override
   @Explain(displayName = "keys", explainLevels = { Level.USER })
   public Map<Byte, String> getUserLevelExplainKeysString() {
     Map<Byte, String> keyMap = new LinkedHashMap<Byte, String>();
@@ -399,4 +403,5 @@ public class HashTableSinkDesc extends JoinDesc implements Serializable {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java
index 6dcf05a..ea22131 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
 
 /**
  * Join conditions Descriptor implementation.
- * 
+ *
  */
 public class JoinCondDesc implements Serializable {
   private static final long serialVersionUID = 1L;
@@ -153,7 +153,7 @@ public class JoinCondDesc implements Serializable {
 
   @Explain(explainLevels = { Level.USER })
   public String getUserLevelJoinCondString() {
-    JSONObject join = new JSONObject(new LinkedHashMap());
+    JSONObject join = new JSONObject(new LinkedHashMap<>());
     try {
       switch (type) {
       case JoinDesc.INNER_JOIN:
@@ -200,4 +200,6 @@ public class JoinCondDesc implements Serializable {
     }
     return true;
   }
+
+  // XXX: is hashCode missing here?
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
index bd45c75..5b7f4c3 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
@@ -30,6 +30,7 @@ import java.util.Objects;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.ql.exec.MemoryMonitorInfo;
 import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.parse.QBJoinTree;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
@@ -229,6 +230,7 @@ public class JoinDesc extends AbstractOperatorDesc {
    * @return the keys in string form
    */
   @Explain(displayName = "keys")
+  @Signature
   public Map<Byte, String> getKeysString() {
     if (joinKeys == null) {
       return null;
@@ -266,6 +268,7 @@ public class JoinDesc extends AbstractOperatorDesc {
    * @return Map from alias to filters on the alias.
    */
   @Explain(displayName = "filter predicates")
+  @Signature
   public Map<Byte, String> getFiltersStringMap() {
     if (getFilters() == null || getFilters().size() == 0) {
       return null;
@@ -342,6 +345,7 @@ public class JoinDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "outputColumnNames")
+  @Signature
   public List<String> getOutputColumnNames() {
     return outputColumnNames;
   }
@@ -365,6 +369,7 @@ public class JoinDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "condition map", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
+  @Signature
   public List<JoinCondDesc> getCondsList() {
     if (conds == null) {
       return null;
@@ -425,6 +430,7 @@ public class JoinDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "handleSkewJoin", displayOnlyOnTrue = true)
+  @Signature
   public boolean getHandleSkewJoin() {
     return handleSkewJoin;
   }
@@ -524,6 +530,7 @@ public class JoinDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "nullSafes")
+  @Signature
   public String getNullSafeString() {
     if (nullsafes == null) {
       return null;
@@ -740,4 +747,5 @@ public class JoinDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java
index 3837a49..85a4683 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.ql.plan;
 import java.util.ArrayList;
 import java.util.Objects;
 
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 
@@ -49,6 +50,7 @@ public class LateralViewJoinDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "outputColumnNames")
+  @Signature
   public ArrayList<String> getOutputInternalColNames() {
     return outputInternalColNames;
   }
@@ -74,4 +76,5 @@ public class LateralViewJoinDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java
index ce53fea..698af94 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.ql.plan;
 
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
 
@@ -58,6 +59,7 @@ public class LimitDesc extends AbstractOperatorDesc {
     this.offset = offset;
   }
 
+  @Signature
   @Explain(displayName = "Number of rows", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public int getLimit() {
     return limit;
@@ -100,4 +102,5 @@ public class LimitDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java
index cf4ab60..91ea159 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java
@@ -33,6 +33,7 @@ import java.util.Set;
 
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.ql.exec.MemoryMonitorInfo;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
 import org.apache.hadoop.hive.ql.plan.VectorMapJoinDesc.HashTableImplementationType;
@@ -139,6 +140,7 @@ public class MapJoinDesc extends JoinDesc implements Serializable {
   }
 
   @Explain(displayName = "input vertices", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
+  @Signature
   public Map<Integer, String> getParentToInput() {
     return parentToInput;
   }
@@ -156,6 +158,7 @@ public class MapJoinDesc extends JoinDesc implements Serializable {
   }
 
   @Explain(displayName = "Estimated key counts", explainLevels = { Level.EXTENDED })
+  @Signature
   public String getKeyCountsExplainDesc() {
     StringBuilder result = null;
     for (Map.Entry<Integer, Long> entry : parentKeyCounts.entrySet()) {
@@ -250,6 +253,7 @@ public class MapJoinDesc extends JoinDesc implements Serializable {
    * @return the position of the big table not in memory
    */
   @Explain(displayName = "Position of Big Table", explainLevels = { Level.EXTENDED })
+  @Signature
   public int getPosBigTable() {
     return posBigTable;
   }
@@ -340,6 +344,7 @@ public class MapJoinDesc extends JoinDesc implements Serializable {
   }
 
   @Explain(displayName = "BucketMapJoin", explainLevels = { Level.USER, Level.EXTENDED }, displayOnlyOnTrue = true)
+  @Signature
   public boolean isBucketMapJoin() {
     return isBucketMapJoin;
   }
@@ -607,4 +612,5 @@ public class MapJoinDesc extends JoinDesc implements Serializable {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/OperatorDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/OperatorDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/OperatorDesc.java
index 870b4d9..e8a5827 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/OperatorDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/OperatorDesc.java
@@ -34,7 +34,10 @@ public interface OperatorDesc extends Serializable, Cloneable {
   public void setMaxMemoryAvailable(long memoryAvailble);
   public String getRuntimeStatsTmpDir();
   public void setRuntimeStatsTmpDir(String runtimeStatsTmpDir);
+
   boolean isSame(OperatorDesc other);
   public Map<String, ExprNodeDesc> getColumnExprMap();
   public void setColumnExprMap(Map<String, ExprNodeDesc> colExprMap);
+
+  void fillSignature(Map<String, Object> ret);
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
index bf24ff8..f2955af 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceSinkDesc.java
@@ -27,6 +27,7 @@ import java.util.Objects;
 import java.util.Set;
 
 import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
 import org.apache.hadoop.hive.ql.plan.VectorReduceSinkDesc.ReduceSinkKeyType;
@@ -97,7 +98,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
   private float topNMemoryUsage = -1;
   private boolean mapGroupBy;  // for group-by, values with same key on top-K should be forwarded
   //flag used to control how TopN handled for PTF/Windowing partitions.
-  private boolean isPTFReduceSink = false; 
+  private boolean isPTFReduceSink = false;
   private boolean skipTag; // Skip writing tags when feeding into mapjoin hashtable
   private boolean forwarding; // Whether this RS can forward records directly instead of shuffling/sorting
 
@@ -206,6 +207,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     return PlanUtils.getExprListString(keyCols);
   }
 
+  @Signature
   public java.util.ArrayList<ExprNodeDesc> getKeyCols() {
     return keyCols;
   }
@@ -227,6 +229,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     return PlanUtils.getExprListString(valueCols);
   }
 
+  @Signature
   public java.util.ArrayList<ExprNodeDesc> getValueCols() {
     return valueCols;
   }
@@ -245,6 +248,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     return PlanUtils.getExprListString(partitionCols, true);
   }
 
+  @Signature
   public java.util.ArrayList<ExprNodeDesc> getPartitionCols() {
     return partitionCols;
   }
@@ -261,6 +265,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     return false;
   }
 
+  @Signature
   @Explain(displayName = "tag", explainLevels = { Level.EXTENDED })
   public int getTag() {
     return tag;
@@ -270,6 +275,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     this.tag = tag;
   }
 
+  @Signature
   public int getTopN() {
     return topN;
   }
@@ -349,6 +355,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
    *         of the same length as key columns, that consists of only "+"
    *         (ascending order) and "-" (descending order).
    */
+  @Signature
   @Explain(displayName = "sort order")
   public String getOrder() {
     return keySerializeInfo.getProperties().getProperty(
@@ -437,6 +444,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     return forwarding;
   }
 
+  @Signature
   @Explain(displayName = "auto parallelism", explainLevels = { Level.EXTENDED })
   public final boolean isAutoParallel() {
     return (this.reduceTraits.contains(ReducerTraits.AUTOPARALLEL));
@@ -462,7 +470,7 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     // reducers or hash function.
 
     boolean wasUnset = this.reduceTraits.remove(ReducerTraits.UNSET);
-    
+
     if (this.reduceTraits.contains(ReducerTraits.FIXED)) {
       return;
     } else if (traits.contains(ReducerTraits.FIXED)) {
@@ -661,4 +669,5 @@ public class ReduceSinkDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/ScriptDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ScriptDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ScriptDesc.java
index 858de98..53fca99 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ScriptDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ScriptDesc.java
@@ -18,12 +18,13 @@
 
 package org.apache.hadoop.hive.ql.plan;
 
+import java.util.Objects;
+
 import org.apache.hadoop.hive.ql.exec.RecordReader;
 import org.apache.hadoop.hive.ql.exec.RecordWriter;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
-import java.util.Objects;
-
 
 /**
  * ScriptDesc.
@@ -63,6 +64,7 @@ public class ScriptDesc extends AbstractOperatorDesc {
     this.scriptErrInfo = scriptErrInfo;
   }
 
+  @Signature
   @Explain(displayName = "command", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getScriptCmd() {
     return scriptCmd;
@@ -72,6 +74,7 @@ public class ScriptDesc extends AbstractOperatorDesc {
     this.scriptCmd = scriptCmd;
   }
 
+  @Signature
   @Explain(displayName = "output info", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public TableDesc getScriptOutputInfo() {
     return scriptOutputInfo;
@@ -154,4 +157,5 @@ public class ScriptDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/SelectDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/SelectDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/SelectDesc.java
index e38e7e4..51b94fe 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/SelectDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/SelectDesc.java
@@ -23,6 +23,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
 
@@ -72,6 +73,7 @@ public class SelectDesc extends AbstractOperatorDesc {
     return ret;
   }
 
+  @Signature
   @Explain(displayName = "expressions")
   public String getColListString() {
     return PlanUtils.getExprListString(colList);
@@ -86,6 +88,7 @@ public class SelectDesc extends AbstractOperatorDesc {
     this.colList = colList;
   }
 
+  @Signature
   @Explain(displayName = "outputColumnNames")
   public List<java.lang.String> getOutputColumnNames() {
     return outputColumnNames;
@@ -101,6 +104,7 @@ public class SelectDesc extends AbstractOperatorDesc {
     this.outputColumnNames = outputColumnNames;
   }
 
+  @Signature
   @Explain(displayName = "SELECT * ")
   public String explainNoCompute() {
     if (isSelStarNoCompute()) {
@@ -184,4 +188,5 @@ public class SelectDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/Statistics.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/Statistics.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/Statistics.java
index 0057f0c..fd461ae 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/Statistics.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/Statistics.java
@@ -49,6 +49,7 @@ public class Statistics implements Serializable {
   private State basicStatsState;
   private Map<String, ColStatistics> columnStats;
   private State columnStatsState;
+  private boolean runtimeStats;
 
   public Statistics() {
     this(0, 0);
@@ -119,6 +120,9 @@ public class Statistics implements Serializable {
   @Explain(displayName = "Statistics")
   public String toString() {
     StringBuilder sb = new StringBuilder();
+    if (runtimeStats) {
+      sb.append("(RUNTIME) ");
+    }
     sb.append("Num rows: ");
     sb.append(numRows);
     if (runTimeNumRows >= 0) {
@@ -136,6 +140,9 @@ public class Statistics implements Serializable {
   @Explain(displayName = "Statistics", explainLevels = { Level.USER })
   public String toUserLevelExplainString() {
     StringBuilder sb = new StringBuilder();
+    if (runtimeStats) {
+      sb.append("runtime: ");
+    }
     sb.append("rows=");
     sb.append(numRows);
     if (runTimeNumRows >= 0) {
@@ -153,6 +160,9 @@ public class Statistics implements Serializable {
 
   public String extendedToString() {
     StringBuilder sb = new StringBuilder();
+    if (runtimeStats) {
+      sb.append(" (runtime) ");
+    }
     sb.append(" numRows: ");
     sb.append(numRows);
     sb.append(" dataSize: ");
@@ -179,6 +189,8 @@ public class Statistics implements Serializable {
       }
       clone.setColumnStats(cloneColStats);
     }
+    // TODO: this boolean flag is set only by RS stats annotation at this point
+    //clone.setRuntimeStats(runtimeStats);
     return clone;
   }
 
@@ -300,10 +312,13 @@ public class Statistics implements Serializable {
     this.runTimeNumRows = runTimeNumRows;
   }
 
-  public Statistics scaleToRowCount(long newRowCount) {
+  public Statistics scaleToRowCount(long newRowCount, boolean downScaleOnly) {
     Statistics ret;
     ret = clone();
-    if(numRows == 0 || newRowCount >= numRows) {
+    if (numRows == 0) {
+      return ret;
+    }
+    if (downScaleOnly && newRowCount >= numRows) {
       return ret;
     }
     // FIXME: using real scaling by new/old ration might yield better results?
@@ -311,4 +326,12 @@ public class Statistics implements Serializable {
     ret.dataSize = StatsUtils.safeMult(getAvgRowSize(), newRowCount);
     return ret;
   }
+
+  public boolean isRuntimeStats() {
+    return runtimeStats;
+  }
+
+  public void setRuntimeStats(final boolean runtimeStats) {
+    this.runtimeStats = runtimeStats;
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java
index 59968fa..57df7e2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java
@@ -30,6 +30,7 @@ import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.metadata.Table;
 import org.apache.hadoop.hive.ql.metadata.VirtualColumn;
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
 import org.apache.hadoop.hive.ql.parse.TableSample;
 import org.apache.hadoop.hive.ql.plan.BaseWork.BaseExplainVectorization;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
@@ -156,10 +157,20 @@ public class TableScanDesc extends AbstractOperatorDesc implements IStatsGatherD
   }
 
   @Explain(displayName = "alias")
+  // FIXME: this might not needed to be in the signature; but in that case the compare shouldn't consider it either!
+  @Signature
   public String getAlias() {
     return alias;
   }
 
+  @Signature
+  public String getPredicateString() {
+    if (filterExpr == null) {
+      return null;
+    }
+    return PlanUtils.getExprListString(Arrays.asList(filterExpr));
+  }
+
   @Explain(displayName = "table", jsonOnly = true)
   public String getTableName() {
     return this.tableName;
@@ -219,6 +230,7 @@ public class TableScanDesc extends AbstractOperatorDesc implements IStatsGatherD
     return PlanUtils.getExprListString(Arrays.asList(filterExpr));
   }
 
+  // @Signature // XXX
   public ExprNodeGenericFuncDesc getFilterExpr() {
     return filterExpr;
   }
@@ -296,6 +308,7 @@ public class TableScanDesc extends AbstractOperatorDesc implements IStatsGatherD
 
   @Override
   @Explain(displayName = "GatherStats", explainLevels = { Level.EXTENDED })
+  @Signature
   public boolean isGatherStats() {
     return gatherStats;
   }
@@ -347,6 +360,7 @@ public class TableScanDesc extends AbstractOperatorDesc implements IStatsGatherD
     this.rowLimit = rowLimit;
   }
 
+  @Signature
   public int getRowLimit() {
     return rowLimit;
   }
@@ -372,6 +386,11 @@ public class TableScanDesc extends AbstractOperatorDesc implements IStatsGatherD
     return isMetadataOnly;
   }
 
+  //  @Signature
+  public String getQualifiedTable() {
+    return tableMetadata.getFullyQualifiedName();
+  }
+
   public Table getTableMetadata() {
     return tableMetadata;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/UDTFDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/UDTFDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/UDTFDesc.java
index cf8e6e5..adcf707 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/UDTFDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/UDTFDesc.java
@@ -19,10 +19,12 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDTF;
-import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 import java.util.Objects;
 
+import org.apache.hadoop.hive.ql.optimizer.signature.Signature;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * All member variables should have a setters and getters of the form get<member
@@ -54,6 +56,7 @@ public class UDTFDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "function name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
+  @Signature
   public String getUDTFName() {
     return genericUDTF.toString();
   }
@@ -67,6 +70,7 @@ public class UDTFDesc extends AbstractOperatorDesc {
   }
 
   @Explain(displayName = "outer lateral view")
+  @Signature
   public String isOuterLateralView() {
     return outerLV ? "true" : null;
   }
@@ -80,4 +84,5 @@ public class UDTFDesc extends AbstractOperatorDesc {
     }
     return false;
   }
+
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/EmptyStatsSource.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/EmptyStatsSource.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/EmptyStatsSource.java
new file mode 100644
index 0000000..57762ed
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/EmptyStatsSource.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan.mapper;
+
+public class EmptyStatsSource implements StatsSource {
+
+  @Override
+  public boolean canProvideStatsFor(Class<?> class1) {
+    return false;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/GroupTransformer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/GroupTransformer.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/GroupTransformer.java
new file mode 100644
index 0000000..7b9e99e
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/GroupTransformer.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan.mapper;
+
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper.LinkGroup;
+
+public interface GroupTransformer {
+  void map(LinkGroup group);
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapper.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapper.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapper.java
new file mode 100644
index 0000000..36d7e58
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapper.java
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan.mapper;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Objects;
+import java.util.Set;
+
+import com.google.common.annotations.VisibleForTesting;
+
+/**
+ * Enables to connect related objects to eachother.
+ *
+ * Most importantly it aids to connect Operators to OperatorStats and probably RelNodes.
+ */
+public class PlanMapper {
+
+  Set<LinkGroup> groups = new HashSet<>();
+  private Map<Object, LinkGroup> objectMap = new HashMap<>();
+
+  public class LinkGroup {
+    Set<Object> members = new HashSet<>();
+
+    public void add(Object o) {
+      members.add(o);
+      objectMap.put(o, this);
+    }
+
+    @SuppressWarnings("unchecked")
+    public <T> List<T> getAll(Class<T> clazz) {
+      List<T> ret = new ArrayList<>();
+      for (Object m : members) {
+        if (clazz.isInstance(m)) {
+          ret.add((T) m);
+        }
+      }
+      return ret;
+    }
+  }
+
+  public void link(Object o1, Object o2) {
+    LinkGroup g1 = objectMap.get(o1);
+    LinkGroup g2 = objectMap.get(o2);
+    if (g1 != null && g2 != null && g1 != g2) {
+      throw new RuntimeException("equivalence mapping violation");
+    }
+    LinkGroup targetGroup = (g1 != null) ? g1 : (g2 != null ? g2 : new LinkGroup());
+    groups.add(targetGroup);
+    targetGroup.add(o1);
+    targetGroup.add(o2);
+  }
+
+  public <T> List<T> getAll(Class<T> clazz) {
+    List<T> ret = new ArrayList<>();
+    for (LinkGroup g : groups) {
+      ret.addAll(g.getAll(clazz));
+    }
+    return ret;
+  }
+
+  public void runMapper(GroupTransformer mapper) {
+    for (LinkGroup equivGroup : groups) {
+      mapper.map(equivGroup);
+    }
+  }
+
+  public <T> List<T> lookupAll(Class<T> clazz, Object key) {
+    LinkGroup group = objectMap.get(key);
+    if (group == null) {
+      throw new NoSuchElementException(Objects.toString(key));
+    }
+    return group.getAll(clazz);
+  }
+
+  public <T> T lookup(Class<T> clazz, Object key) {
+    List<T> all = lookupAll(clazz, key);
+    if (all.size() != 1) {
+      // FIXME: use a different exception type?
+      throw new IllegalArgumentException("Expected match count is 1; but got:" + all);
+    }
+    return all.get(0);
+  }
+
+  @VisibleForTesting
+  public Iterator<LinkGroup> iterateGroups() {
+    return groups.iterator();
+
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapperProcess.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapperProcess.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapperProcess.java
new file mode 100644
index 0000000..424dd79
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapperProcess.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan.mapper;
+
+import java.util.List;
+
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.optimizer.signature.OpTreeSignature;
+import org.apache.hadoop.hive.ql.optimizer.signature.OpTreeSignatureFactory;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper.LinkGroup;
+
+public class PlanMapperProcess {
+
+  private static class OpTreeSignatureMapper implements GroupTransformer {
+
+    private OpTreeSignatureFactory cache = OpTreeSignatureFactory.newCache();
+
+    @Override
+    public void map(LinkGroup group) {
+      List<Operator> operators= group.getAll(Operator.class);
+      for (Operator op : operators) {
+        group.add(OpTreeSignature.of(op,cache));
+      }
+    }
+  }
+
+  public static void runPostProcess(PlanMapper planMapper) {
+    planMapper.runMapper(new OpTreeSignatureMapper());
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/RuntimeStatsSource.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/RuntimeStatsSource.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/RuntimeStatsSource.java
new file mode 100644
index 0000000..21a0678
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/RuntimeStatsSource.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan.mapper;
+
+import java.util.Optional;
+
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.stats.OperatorStats;
+
+public interface RuntimeStatsSource extends StatsSource {
+  public Optional<OperatorStats> lookup(Operator<?> tsop);
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/SimpleRuntimeStatsSource.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/SimpleRuntimeStatsSource.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/SimpleRuntimeStatsSource.java
new file mode 100644
index 0000000..6f340b8
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/SimpleRuntimeStatsSource.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan.mapper;
+
+import java.util.List;
+import java.util.NoSuchElementException;
+import java.util.Optional;
+
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFilter;
+import org.apache.hadoop.hive.ql.optimizer.signature.OpTreeSignature;
+import org.apache.hadoop.hive.ql.stats.OperatorStats;
+
+public class SimpleRuntimeStatsSource implements RuntimeStatsSource {
+
+  private final PlanMapper pm;
+
+
+  public SimpleRuntimeStatsSource(PlanMapper pm) {
+    PlanMapperProcess.runPostProcess(pm);
+    this.pm = pm;
+  }
+
+  @Override
+  public Optional<OperatorStats> lookup(Operator<?> op) {
+    try {
+      OpTreeSignature sig = OpTreeSignature.of(op);
+      List<OperatorStats> v = pm.lookupAll(OperatorStats.class, sig);
+      if (v.size() > 0) {
+        return Optional.of(v.get(0));
+      }
+      return Optional.empty();
+    } catch (NoSuchElementException | IllegalArgumentException iae) {
+      return Optional.empty();
+    }
+  }
+
+  @Override
+  public boolean canProvideStatsFor(Class<?> class1) {
+    if (Operator.class.isAssignableFrom(class1)) {
+      return true;
+    }
+    if (HiveFilter.class.isAssignableFrom(class1)) {
+      return true;
+    }
+    return false;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/StatsSource.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/StatsSource.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/StatsSource.java
new file mode 100644
index 0000000..a4cb6e9
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/StatsSource.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.plan.mapper;
+
+public interface StatsSource {
+
+  boolean canProvideStatsFor(Class<?> class1);
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/reexec/IReExecutionPlugin.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/reexec/IReExecutionPlugin.java b/ql/src/java/org/apache/hadoop/hive/ql/reexec/IReExecutionPlugin.java
new file mode 100644
index 0000000..2b0d23c
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/reexec/IReExecutionPlugin.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.reexec;
+
+import org.apache.hadoop.hive.common.classification.InterfaceAudience;
+import org.apache.hadoop.hive.common.classification.InterfaceStability;
+import org.apache.hadoop.hive.ql.Driver;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+
+/**
+ * Defines an interface for re-execution logics.
+ *
+ * FIXME: rethink methods.
+ */
+@InterfaceAudience.Private
+@InterfaceStability.Unstable
+public interface IReExecutionPlugin {
+
+  /**
+   * Called when the {@link Driver} is being initialized
+   *
+   * The plugin may add hooks/etc to tap into the system.
+   */
+  void initialize(Driver driver);
+
+  /**
+   * Called before executing the query.
+   */
+  void beforeExecute(int executionIndex, boolean explainReOptimization);
+
+  /**
+   * The query have failed, does this plugin advises to re-execute it again?
+   */
+  boolean shouldReExecute(int executionNum);
+
+  /**
+   * The plugin should prepare for the re-compilaton of the query.
+   */
+  void prepareToReExecute();
+
+  /**
+   * The query have failed; and have been recompiled - does this plugin advises to re-execute it again?
+   */
+  boolean shouldReExecute(int executionNum, PlanMapper oldPlanMapper, PlanMapper newPlanMapper);
+
+
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java
new file mode 100644
index 0000000..9303171
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java
@@ -0,0 +1,263 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.reexec;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.antlr.runtime.tree.Tree;
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.metastore.api.Schema;
+import org.apache.hadoop.hive.ql.Context;
+import org.apache.hadoop.hive.ql.Driver;
+import org.apache.hadoop.hive.ql.IDriver;
+import org.apache.hadoop.hive.ql.QueryDisplay;
+import org.apache.hadoop.hive.ql.QueryInfo;
+import org.apache.hadoop.hive.ql.QueryPlan;
+import org.apache.hadoop.hive.ql.QueryState;
+import org.apache.hadoop.hive.ql.exec.FetchTask;
+import org.apache.hadoop.hive.ql.exec.Task;
+import org.apache.hadoop.hive.ql.parse.ASTNode;
+import org.apache.hadoop.hive.ql.parse.HiveParser;
+import org.apache.hadoop.hive.ql.parse.HiveSemanticAnalyzerHook;
+import org.apache.hadoop.hive.ql.parse.HiveSemanticAnalyzerHookContext;
+import org.apache.hadoop.hive.ql.parse.SemanticException;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+import org.apache.hadoop.hive.ql.plan.mapper.SimpleRuntimeStatsSource;
+import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.annotations.VisibleForTesting;
+
+/**
+ * Enables to use re-execution logics.
+ *
+ * Covers the IDriver interface, handles query re-execution; and asks clear questions from the underlying re-execution plugins.
+ */
+public class ReExecDriver implements IDriver {
+
+  private class HandleReOptimizationExplain implements HiveSemanticAnalyzerHook {
+
+    @Override
+    public ASTNode preAnalyze(HiveSemanticAnalyzerHookContext context, ASTNode ast) throws SemanticException {
+      if (ast.getType() == HiveParser.TOK_EXPLAIN) {
+        int childCount = ast.getChildCount();
+        for (int i = 1; i < childCount; i++) {
+          if (ast.getChild(i).getType() == HiveParser.KW_REOPTIMIZATION) {
+            explainReOptimization = true;
+            ast.deleteChild(i);
+            break;
+          }
+        }
+        if (explainReOptimization && firstExecution()) {
+          Tree execTree = ast.getChild(0);
+          execTree.setParent(ast.getParent());
+          ast.getParent().setChild(0, execTree);
+          return (ASTNode) execTree;
+        }
+      }
+      return ast;
+    }
+
+    @Override
+    public void postAnalyze(HiveSemanticAnalyzerHookContext context, List<Task<? extends Serializable>> rootTasks)
+        throws SemanticException {
+    }
+  }
+
+  private static final Logger LOG = LoggerFactory.getLogger(ReExecDriver.class);
+  private boolean explainReOptimization;
+  protected Driver coreDriver;
+  private QueryState queryState;
+  private String currentQuery;
+  private int executionIndex;
+
+  private ArrayList<IReExecutionPlugin> plugins;
+
+  @Override
+  public HiveConf getConf() {
+    return queryState.getConf();
+  }
+
+  public boolean firstExecution() {
+    return executionIndex == 0;
+  }
+
+  public ReExecDriver(QueryState queryState, String userName, QueryInfo queryInfo,
+      ArrayList<IReExecutionPlugin> plugins) {
+    this.queryState = queryState;
+    coreDriver = new Driver(queryState, userName, queryInfo, null);
+    coreDriver.getHookRunner().addSemanticAnalyzerHook(new HandleReOptimizationExplain());
+    this.plugins = plugins;
+
+    for (IReExecutionPlugin p : plugins) {
+      p.initialize(coreDriver);
+    }
+  }
+
+  @Override
+  public int compile(String string) {
+    return coreDriver.compile(string);
+  }
+
+  @Override
+  public CommandProcessorResponse compileAndRespond(String statement) {
+    currentQuery = statement;
+    return coreDriver.compileAndRespond(statement);
+  }
+
+  @Override
+  public QueryPlan getPlan() {
+    return coreDriver.getPlan();
+  }
+
+  @Override
+  public QueryDisplay getQueryDisplay() {
+    return coreDriver.getQueryDisplay();
+  }
+
+  @Override
+  public void setOperationId(String guid64) {
+    coreDriver.setOperationId(guid64);
+  }
+
+  @Override
+  public CommandProcessorResponse run() {
+    executionIndex = 0;
+    int maxExecutuions = 1 + coreDriver.getConf().getIntVar(ConfVars.HIVE_QUERY_MAX_REEXECUTION_COUNT);
+
+
+    while (true) {
+      executionIndex++;
+      for (IReExecutionPlugin p : plugins) {
+        p.beforeExecute(executionIndex, explainReOptimization);
+      }
+      coreDriver.getContext().setExecutionIndex(executionIndex);
+      LOG.info("Execution #{} of query", executionIndex);
+      CommandProcessorResponse cpr = coreDriver.run();
+
+      boolean shouldReExecute = explainReOptimization && executionIndex==1;
+      shouldReExecute |= cpr.getResponseCode() != 0 && shouldReExecute();
+
+      if (executionIndex >= maxExecutuions || !shouldReExecute) {
+        return cpr;
+      }
+      LOG.info("Preparing to re-execute query");
+      prepareToReExecute();
+      PlanMapper oldPlanMapper = coreDriver.getPlanMapper();
+      CommandProcessorResponse compile_resp = coreDriver.compileAndRespond(currentQuery);
+      if (compile_resp.failed()) {
+        // FIXME: somehow place pointers that re-execution compilation have failed; the query have been successfully compiled before?
+        return compile_resp;
+      }
+
+      PlanMapper newPlanMapper = coreDriver.getPlanMapper();
+      if (!explainReOptimization && !shouldReExecuteAfterCompile(oldPlanMapper, newPlanMapper)) {
+        // FIXME: retain old error; or create a new one?
+        return cpr;
+      }
+    }
+  }
+
+  private boolean shouldReExecuteAfterCompile(PlanMapper oldPlanMapper, PlanMapper newPlanMapper) {
+    boolean ret = false;
+    for (IReExecutionPlugin p : plugins) {
+      ret |= p.shouldReExecute(executionIndex, oldPlanMapper, newPlanMapper);
+    }
+    return ret;
+  }
+
+  private boolean shouldReExecute() {
+    boolean ret = false;
+    for (IReExecutionPlugin p : plugins) {
+      ret |= p.shouldReExecute(executionIndex);
+    }
+    return ret;
+  }
+
+  @Override
+  public CommandProcessorResponse run(String command) {
+    CommandProcessorResponse r0 = compileAndRespond(command);
+    if (r0.getResponseCode() != 0) {
+      return r0;
+    }
+    return run();
+  }
+
+  protected void prepareToReExecute() {
+    for (IReExecutionPlugin p : plugins) {
+      p.prepareToReExecute();
+    }
+  }
+
+  @Override
+  public boolean getResults(List res) throws IOException {
+    return coreDriver.getResults(res);
+  }
+
+  @Override
+  public void setMaxRows(int maxRows) {
+    coreDriver.setMaxRows(maxRows);
+  }
+
+  @Override
+  public FetchTask getFetchTask() {
+    return coreDriver.getFetchTask();
+  }
+
+  @Override
+  public Schema getSchema() {
+    return coreDriver.getSchema();
+  }
+
+  @Override
+  public boolean isFetchingTable() {
+    return coreDriver.isFetchingTable();
+  }
+
+  @Override
+  public void resetFetch() throws IOException {
+    coreDriver.resetFetch();
+  }
+
+  @Override
+  public void close() {
+    coreDriver.close();
+  }
+
+  @Override
+  public void destroy() {
+    coreDriver.destroy();
+  }
+
+  @Override
+  public final Context getContext() {
+    return coreDriver.getContext();
+  }
+
+  @VisibleForTesting
+  public void setRuntimeStatsSource(SimpleRuntimeStatsSource statsSource) {
+    coreDriver.setRuntimeStatsSource(statsSource);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java
new file mode 100644
index 0000000..4ee3c14
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecutionOverlayPlugin.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.reexec;
+
+import java.util.Map;
+
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.ql.Driver;
+import org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext;
+import org.apache.hadoop.hive.ql.hooks.HookContext;
+import org.apache.hadoop.hive.ql.hooks.HookContext.HookType;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+
+/**
+ * Re-Executes a query only adding an extra overlay
+ */
+public class ReExecutionOverlayPlugin implements IReExecutionPlugin {
+
+  private Driver driver;
+  private Map<String, String> subtree;
+
+  class LocalHook implements ExecuteWithHookContext {
+
+    @Override
+    public void run(HookContext hookContext) throws Exception {
+      if (hookContext.getHookType() == HookType.ON_FAILURE_HOOK) {
+        Throwable exception = hookContext.getException();
+        if (exception != null) {
+          if (exception.getMessage().contains("Vertex failed,")) {
+            retryPossible = true;
+          }
+        }
+      }
+    }
+  }
+
+  @Override
+  public void initialize(Driver driver) {
+    this.driver = driver;
+    driver.getHookRunner().addOnFailureHook(new LocalHook());
+    HiveConf conf = driver.getConf();
+    subtree = conf.subtree("reexec.overlay");
+  }
+
+  private boolean retryPossible;
+
+  @Override
+  public void prepareToReExecute() {
+    HiveConf conf = driver.getConf();
+    conf.verifyAndSetAll(subtree);
+  }
+
+  @Override
+  public boolean shouldReExecute(int executionNum) {
+    return executionNum == 1 && !subtree.isEmpty() && retryPossible;
+  }
+
+  @Override
+  public boolean shouldReExecute(int executionNum, PlanMapper pm1, PlanMapper pm2) {
+    return executionNum == 1;
+  }
+
+  @Override
+  public void beforeExecute(int executionIndex, boolean explainReOptimization) {
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReOptimizePlugin.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReOptimizePlugin.java b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReOptimizePlugin.java
new file mode 100644
index 0000000..7078587
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/reexec/ReOptimizePlugin.java
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.reexec;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hadoop.hive.ql.Driver;
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionError;
+import org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext;
+import org.apache.hadoop.hive.ql.hooks.HookContext;
+import org.apache.hadoop.hive.ql.hooks.HookContext.HookType;
+import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
+import org.apache.hadoop.hive.ql.plan.mapper.SimpleRuntimeStatsSource;
+import org.apache.hadoop.hive.ql.stats.OperatorStatsReaderHook;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ */
+public class ReOptimizePlugin implements IReExecutionPlugin {
+
+  private static final Logger LOG = LoggerFactory.getLogger(ReOptimizePlugin.class);
+
+  private boolean retryPossible;
+
+  private Driver coreDriver;
+
+  private OperatorStatsReaderHook statsReaderHook;
+
+  class LocalHook implements ExecuteWithHookContext {
+
+    @Override
+    public void run(HookContext hookContext) throws Exception {
+      if (hookContext.getHookType() == HookType.ON_FAILURE_HOOK) {
+        Throwable exception = hookContext.getException();
+        if (exception != null) {
+          {
+            String message = exception.getMessage();
+            if (message != null) {
+              boolean isOOM = message.contains(MapJoinMemoryExhaustionError.class.getName())
+                  || message.contains(OutOfMemoryError.class.getName());
+              if (message.contains("Vertex failed,") && isOOM) {
+                retryPossible = true;
+              }
+              System.out.println(exception);
+            }
+          }
+        }
+      }
+    }
+  }
+
+  @Override
+  public void initialize(Driver driver) {
+    coreDriver = driver;
+    coreDriver.getHookRunner().addOnFailureHook(new LocalHook());
+    statsReaderHook = new OperatorStatsReaderHook();
+    coreDriver.getHookRunner().addOnFailureHook(statsReaderHook);
+    coreDriver.getHookRunner().addPostHook(statsReaderHook);
+    //    statsReaderHook.setCollectOnSuccess(true);
+    statsReaderHook.setCollectOnSuccess(
+        driver.getConf().getBoolVar(ConfVars.HIVE_QUERY_REEXECUTION_ALWAYS_COLLECT_OPERATOR_STATS));
+  }
+
+  @Override
+  public boolean shouldReExecute(int executionNum) {
+    return retryPossible;
+  }
+
+  @Override
+  public void prepareToReExecute() {
+    statsReaderHook.setCollectOnSuccess(true);
+    PlanMapper pm = coreDriver.getContext().getPlanMapper();
+    coreDriver.setRuntimeStatsSource(new SimpleRuntimeStatsSource(pm));
+    retryPossible = false;
+  }
+
+  @Override
+  public boolean shouldReExecute(int executionNum, PlanMapper oldPlanMapper, PlanMapper newPlanMapper) {
+    return planDidChange(oldPlanMapper, newPlanMapper);
+  }
+
+  private boolean planDidChange(PlanMapper pmL, PlanMapper pmR) {
+    List<Operator> opsL = getRootOps(pmL);
+    List<Operator> opsR = getRootOps(pmR);
+    for (Iterator<Operator> itL = opsL.iterator(); itL.hasNext();) {
+      Operator<?> opL = itL.next();
+      for (Iterator<Operator> itR = opsR.iterator(); itR.hasNext();) {
+        Operator<?> opR = itR.next();
+        if (opL.logicalEqualsTree(opR)) {
+          itL.remove();
+          itR.remove();
+          break;
+        }
+      }
+    }
+    return opsL.isEmpty() && opsR.isEmpty();
+  }
+
+  private List<Operator> getRootOps(PlanMapper pmL) {
+    List<Operator> ops = pmL.getAll(Operator.class);
+    for (Iterator<Operator> iterator = ops.iterator(); iterator.hasNext();) {
+      Operator o = iterator.next();
+      if (o.getNumChild() != 0) {
+        iterator.remove();
+      }
+    }
+    return ops;
+  }
+
+  @Override
+  public void beforeExecute(int executionIndex, boolean explainReOptimization) {
+    if (explainReOptimization) {
+      statsReaderHook.setCollectOnSuccess(true);
+    }
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31e36f01/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStats.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStats.java b/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStats.java
new file mode 100644
index 0000000..52e18a8
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/stats/OperatorStats.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hive.ql.stats;
+
+public class OperatorStats {
+  private final String operatorId;
+  private long outputRecords;
+
+  public OperatorStats(final String opId) {
+    this.operatorId = opId;
+    this.outputRecords = -1;
+  }
+
+  public long getOutputRecords() {
+    return outputRecords;
+  }
+
+  public void setOutputRecords(final long outputRecords) {
+    this.outputRecords = outputRecords;
+  }
+
+  public String getOperatorId() {
+    return operatorId;
+  }
+
+  @Override
+  public String toString() {
+    return String.format("OperatorStats %s records: %d", operatorId, outputRecords);
+  }
+}