hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gangtim...@apache.org
Subject svn commit: r1467491 [1/2] - in /hive/trunk: metastore/if/ metastore/src/gen/thrift/gen-cpp/ metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ metastore/src/gen/thrift/gen-php/metastore/ metastore/src/gen/thrift/gen-py/hive_me...
Date Fri, 12 Apr 2013 22:10:33 GMT
Author: gangtimliu
Date: Fri Apr 12 22:10:31 2013
New Revision: 1467491

URL: http://svn.apache.org/r1467491
Log:
HIVE-4322: SkewedInfo in Metastore Thrift API cannot be deserialized in Python (Samuel Yuan via Gang Tim Liu)

Added:
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedValueList.java
Modified:
    hive/trunk/metastore/if/hive_metastore.thrift
    hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
    hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java
    hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
    hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php
    hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
    hive/trunk/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
    hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
    hive/trunk/metastore/src/test/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Partition.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/listbucketingpruner/ListBucketingPruner.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ListBucketingCtx.java

Modified: hive/trunk/metastore/if/hive_metastore.thrift
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/if/hive_metastore.thrift?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/if/hive_metastore.thrift (original)
+++ hive/trunk/metastore/if/hive_metastore.thrift Fri Apr 12 22:10:31 2013
@@ -131,11 +131,16 @@ struct Order {
   2: i32    order // asc(1) or desc(0)
 }
 
+// Workaround for HIVE-4322
+struct SkewedValueList {
+  1: list<string> skewedValueList
+}
+
 // this object holds all the information about skewed table
 struct SkewedInfo {
   1: list<string> skewedColNames, // skewed column names
   2: list<list<string>> skewedColValues, //skewed values
-  3: map<list<string>, string> skewedColValueLocationMaps, //skewed value to location mappings
+  3: map<SkewedValueList, string> skewedColValueLocationMaps, //skewed value to location mappings
 }
 
 // this object holds all the information about physical storage of the data belonging to a table

Modified: hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp Fri Apr 12 22:10:31 2013
@@ -1404,10 +1404,10 @@ void swap(Order &a, Order &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* SkewedInfo::ascii_fingerprint = "4BF2ED84BC3C3EB297A2AE2FA8427EB1";
-const uint8_t SkewedInfo::binary_fingerprint[16] = {0x4B,0xF2,0xED,0x84,0xBC,0x3C,0x3E,0xB2,0x97,0xA2,0xAE,0x2F,0xA8,0x42,0x7E,0xB1};
+const char* SkewedValueList::ascii_fingerprint = "ACE4F644F0FDD289DDC4EE5B83BC13C0";
+const uint8_t SkewedValueList::binary_fingerprint[16] = {0xAC,0xE4,0xF6,0x44,0xF0,0xFD,0xD2,0x89,0xDD,0xC4,0xEE,0x5B,0x83,0xBC,0x13,0xC0};
 
-uint32_t SkewedInfo::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t SkewedValueList::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   uint32_t xfer = 0;
   std::string fname;
@@ -1430,15 +1430,97 @@ uint32_t SkewedInfo::read(::apache::thri
       case 1:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->skewedColNames.clear();
+            this->skewedValueList.clear();
             uint32_t _size79;
             ::apache::thrift::protocol::TType _etype82;
             xfer += iprot->readListBegin(_etype82, _size79);
-            this->skewedColNames.resize(_size79);
+            this->skewedValueList.resize(_size79);
             uint32_t _i83;
             for (_i83 = 0; _i83 < _size79; ++_i83)
             {
-              xfer += iprot->readString(this->skewedColNames[_i83]);
+              xfer += iprot->readString(this->skewedValueList[_i83]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.skewedValueList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t SkewedValueList::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("SkewedValueList");
+
+  xfer += oprot->writeFieldBegin("skewedValueList", ::apache::thrift::protocol::T_LIST, 1);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->skewedValueList.size()));
+    std::vector<std::string> ::const_iterator _iter84;
+    for (_iter84 = this->skewedValueList.begin(); _iter84 != this->skewedValueList.end(); ++_iter84)
+    {
+      xfer += oprot->writeString((*_iter84));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(SkewedValueList &a, SkewedValueList &b) {
+  using ::std::swap;
+  swap(a.skewedValueList, b.skewedValueList);
+  swap(a.__isset, b.__isset);
+}
+
+const char* SkewedInfo::ascii_fingerprint = "F4A067072461B8071E4F5A6BE5276FC0";
+const uint8_t SkewedInfo::binary_fingerprint[16] = {0xF4,0xA0,0x67,0x07,0x24,0x61,0xB8,0x07,0x1E,0x4F,0x5A,0x6B,0xE5,0x27,0x6F,0xC0};
+
+uint32_t SkewedInfo::read(::apache::thrift::protocol::TProtocol* 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_LIST) {
+          {
+            this->skewedColNames.clear();
+            uint32_t _size85;
+            ::apache::thrift::protocol::TType _etype88;
+            xfer += iprot->readListBegin(_etype88, _size85);
+            this->skewedColNames.resize(_size85);
+            uint32_t _i89;
+            for (_i89 = 0; _i89 < _size85; ++_i89)
+            {
+              xfer += iprot->readString(this->skewedColNames[_i89]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1451,23 +1533,23 @@ uint32_t SkewedInfo::read(::apache::thri
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->skewedColValues.clear();
-            uint32_t _size84;
-            ::apache::thrift::protocol::TType _etype87;
-            xfer += iprot->readListBegin(_etype87, _size84);
-            this->skewedColValues.resize(_size84);
-            uint32_t _i88;
-            for (_i88 = 0; _i88 < _size84; ++_i88)
+            uint32_t _size90;
+            ::apache::thrift::protocol::TType _etype93;
+            xfer += iprot->readListBegin(_etype93, _size90);
+            this->skewedColValues.resize(_size90);
+            uint32_t _i94;
+            for (_i94 = 0; _i94 < _size90; ++_i94)
             {
               {
-                this->skewedColValues[_i88].clear();
-                uint32_t _size89;
-                ::apache::thrift::protocol::TType _etype92;
-                xfer += iprot->readListBegin(_etype92, _size89);
-                this->skewedColValues[_i88].resize(_size89);
-                uint32_t _i93;
-                for (_i93 = 0; _i93 < _size89; ++_i93)
+                this->skewedColValues[_i94].clear();
+                uint32_t _size95;
+                ::apache::thrift::protocol::TType _etype98;
+                xfer += iprot->readListBegin(_etype98, _size95);
+                this->skewedColValues[_i94].resize(_size95);
+                uint32_t _i99;
+                for (_i99 = 0; _i99 < _size95; ++_i99)
                 {
-                  xfer += iprot->readString(this->skewedColValues[_i88][_i93]);
+                  xfer += iprot->readString(this->skewedColValues[_i94][_i99]);
                 }
                 xfer += iprot->readListEnd();
               }
@@ -1483,29 +1565,17 @@ uint32_t SkewedInfo::read(::apache::thri
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->skewedColValueLocationMaps.clear();
-            uint32_t _size94;
-            ::apache::thrift::protocol::TType _ktype95;
-            ::apache::thrift::protocol::TType _vtype96;
-            xfer += iprot->readMapBegin(_ktype95, _vtype96, _size94);
-            uint32_t _i98;
-            for (_i98 = 0; _i98 < _size94; ++_i98)
+            uint32_t _size100;
+            ::apache::thrift::protocol::TType _ktype101;
+            ::apache::thrift::protocol::TType _vtype102;
+            xfer += iprot->readMapBegin(_ktype101, _vtype102, _size100);
+            uint32_t _i104;
+            for (_i104 = 0; _i104 < _size100; ++_i104)
             {
-              std::vector<std::string>  _key99;
-              {
-                _key99.clear();
-                uint32_t _size101;
-                ::apache::thrift::protocol::TType _etype104;
-                xfer += iprot->readListBegin(_etype104, _size101);
-                _key99.resize(_size101);
-                uint32_t _i105;
-                for (_i105 = 0; _i105 < _size101; ++_i105)
-                {
-                  xfer += iprot->readString(_key99[_i105]);
-                }
-                xfer += iprot->readListEnd();
-              }
-              std::string& _val100 = this->skewedColValueLocationMaps[_key99];
-              xfer += iprot->readString(_val100);
+              SkewedValueList _key105;
+              xfer += _key105.read(iprot);
+              std::string& _val106 = this->skewedColValueLocationMaps[_key105];
+              xfer += iprot->readString(_val106);
             }
             xfer += iprot->readMapEnd();
           }
@@ -1533,10 +1603,10 @@ uint32_t SkewedInfo::write(::apache::thr
   xfer += oprot->writeFieldBegin("skewedColNames", ::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->skewedColNames.size()));
-    std::vector<std::string> ::const_iterator _iter106;
-    for (_iter106 = this->skewedColNames.begin(); _iter106 != this->skewedColNames.end(); ++_iter106)
+    std::vector<std::string> ::const_iterator _iter107;
+    for (_iter107 = this->skewedColNames.begin(); _iter107 != this->skewedColNames.end(); ++_iter107)
     {
-      xfer += oprot->writeString((*_iter106));
+      xfer += oprot->writeString((*_iter107));
     }
     xfer += oprot->writeListEnd();
   }
@@ -1545,15 +1615,15 @@ uint32_t SkewedInfo::write(::apache::thr
   xfer += oprot->writeFieldBegin("skewedColValues", ::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_LIST, static_cast<uint32_t>(this->skewedColValues.size()));
-    std::vector<std::vector<std::string> > ::const_iterator _iter107;
-    for (_iter107 = this->skewedColValues.begin(); _iter107 != this->skewedColValues.end(); ++_iter107)
+    std::vector<std::vector<std::string> > ::const_iterator _iter108;
+    for (_iter108 = this->skewedColValues.begin(); _iter108 != this->skewedColValues.end(); ++_iter108)
     {
       {
-        xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*_iter107).size()));
-        std::vector<std::string> ::const_iterator _iter108;
-        for (_iter108 = (*_iter107).begin(); _iter108 != (*_iter107).end(); ++_iter108)
+        xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*_iter108).size()));
+        std::vector<std::string> ::const_iterator _iter109;
+        for (_iter109 = (*_iter108).begin(); _iter109 != (*_iter108).end(); ++_iter109)
         {
-          xfer += oprot->writeString((*_iter108));
+          xfer += oprot->writeString((*_iter109));
         }
         xfer += oprot->writeListEnd();
       }
@@ -1564,20 +1634,12 @@ uint32_t SkewedInfo::write(::apache::thr
 
   xfer += oprot->writeFieldBegin("skewedColValueLocationMaps", ::apache::thrift::protocol::T_MAP, 3);
   {
-    xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_LIST, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->skewedColValueLocationMaps.size()));
-    std::map<std::vector<std::string> , std::string> ::const_iterator _iter109;
-    for (_iter109 = this->skewedColValueLocationMaps.begin(); _iter109 != this->skewedColValueLocationMaps.end(); ++_iter109)
+    xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRUCT, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->skewedColValueLocationMaps.size()));
+    std::map<SkewedValueList, std::string> ::const_iterator _iter110;
+    for (_iter110 = this->skewedColValueLocationMaps.begin(); _iter110 != this->skewedColValueLocationMaps.end(); ++_iter110)
     {
-      {
-        xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(_iter109->first.size()));
-        std::vector<std::string> ::const_iterator _iter110;
-        for (_iter110 = _iter109->first.begin(); _iter110 != _iter109->first.end(); ++_iter110)
-        {
-          xfer += oprot->writeString((*_iter110));
-        }
-        xfer += oprot->writeListEnd();
-      }
-      xfer += oprot->writeString(_iter109->second);
+      xfer += _iter110->first.write(oprot);
+      xfer += oprot->writeString(_iter110->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -1596,8 +1658,8 @@ void swap(SkewedInfo &a, SkewedInfo &b) 
   swap(a.__isset, b.__isset);
 }
 
-const char* StorageDescriptor::ascii_fingerprint = "CA8C9AA5FE4C32643757D8639CEF0CD7";
-const uint8_t StorageDescriptor::binary_fingerprint[16] = {0xCA,0x8C,0x9A,0xA5,0xFE,0x4C,0x32,0x64,0x37,0x57,0xD8,0x63,0x9C,0xEF,0x0C,0xD7};
+const char* StorageDescriptor::ascii_fingerprint = "283664579DDA891300CFDE15F5771323";
+const uint8_t StorageDescriptor::binary_fingerprint[16] = {0x28,0x36,0x64,0x57,0x9D,0xDA,0x89,0x13,0x00,0xCF,0xDE,0x15,0xF5,0x77,0x13,0x23};
 
 uint32_t StorageDescriptor::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -1887,8 +1949,8 @@ void swap(StorageDescriptor &a, StorageD
   swap(a.__isset, b.__isset);
 }
 
-const char* Table::ascii_fingerprint = "68640B4B66B355CF317429AF70D2C260";
-const uint8_t Table::binary_fingerprint[16] = {0x68,0x64,0x0B,0x4B,0x66,0xB3,0x55,0xCF,0x31,0x74,0x29,0xAF,0x70,0xD2,0xC2,0x60};
+const char* Table::ascii_fingerprint = "AEBB39149C622C62B239988E19489807";
+const uint8_t Table::binary_fingerprint[16] = {0xAE,0xBB,0x39,0x14,0x9C,0x62,0x2C,0x62,0xB2,0x39,0x98,0x8E,0x19,0x48,0x98,0x07};
 
 uint32_t Table::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2150,8 +2212,8 @@ void swap(Table &a, Table &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* Partition::ascii_fingerprint = "31A52241B88A426C34087FE38343FF51";
-const uint8_t Partition::binary_fingerprint[16] = {0x31,0xA5,0x22,0x41,0xB8,0x8A,0x42,0x6C,0x34,0x08,0x7F,0xE3,0x83,0x43,0xFF,0x51};
+const char* Partition::ascii_fingerprint = "81AD5F7E827DDC1A37C18BF73ECA603F";
+const uint8_t Partition::binary_fingerprint[16] = {0x81,0xAD,0x5F,0x7E,0x82,0x7D,0xDC,0x1A,0x37,0xC1,0x8B,0xF7,0x3E,0xCA,0x60,0x3F};
 
 uint32_t Partition::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2348,8 +2410,8 @@ void swap(Partition &a, Partition &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* Index::ascii_fingerprint = "09EEF655216AC81802850988D6C470A6";
-const uint8_t Index::binary_fingerprint[16] = {0x09,0xEE,0xF6,0x55,0x21,0x6A,0xC8,0x18,0x02,0x85,0x09,0x88,0xD6,0xC4,0x70,0xA6};
+const char* Index::ascii_fingerprint = "A2822E71566DF57594774A6CF56D11B5";
+const uint8_t Index::binary_fingerprint[16] = {0xA2,0x82,0x2E,0x71,0x56,0x6D,0xF5,0x75,0x94,0x77,0x4A,0x6C,0xF5,0x6D,0x11,0xB5};
 
 uint32_t Index::read(::apache::thrift::protocol::TProtocol* iprot) {
 

Modified: hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h Fri Apr 12 22:10:31 2013
@@ -799,6 +799,49 @@ class Order {
 
 void swap(Order &a, Order &b);
 
+typedef struct _SkewedValueList__isset {
+  _SkewedValueList__isset() : skewedValueList(false) {}
+  bool skewedValueList;
+} _SkewedValueList__isset;
+
+class SkewedValueList {
+ public:
+
+  static const char* ascii_fingerprint; // = "ACE4F644F0FDD289DDC4EE5B83BC13C0";
+  static const uint8_t binary_fingerprint[16]; // = {0xAC,0xE4,0xF6,0x44,0xF0,0xFD,0xD2,0x89,0xDD,0xC4,0xEE,0x5B,0x83,0xBC,0x13,0xC0};
+
+  SkewedValueList() {
+  }
+
+  virtual ~SkewedValueList() throw() {}
+
+  std::vector<std::string>  skewedValueList;
+
+  _SkewedValueList__isset __isset;
+
+  void __set_skewedValueList(const std::vector<std::string> & val) {
+    skewedValueList = val;
+  }
+
+  bool operator == (const SkewedValueList & rhs) const
+  {
+    if (!(skewedValueList == rhs.skewedValueList))
+      return false;
+    return true;
+  }
+  bool operator != (const SkewedValueList &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const SkewedValueList & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(SkewedValueList &a, SkewedValueList &b);
+
 typedef struct _SkewedInfo__isset {
   _SkewedInfo__isset() : skewedColNames(false), skewedColValues(false), skewedColValueLocationMaps(false) {}
   bool skewedColNames;
@@ -809,8 +852,8 @@ typedef struct _SkewedInfo__isset {
 class SkewedInfo {
  public:
 
-  static const char* ascii_fingerprint; // = "4BF2ED84BC3C3EB297A2AE2FA8427EB1";
-  static const uint8_t binary_fingerprint[16]; // = {0x4B,0xF2,0xED,0x84,0xBC,0x3C,0x3E,0xB2,0x97,0xA2,0xAE,0x2F,0xA8,0x42,0x7E,0xB1};
+  static const char* ascii_fingerprint; // = "F4A067072461B8071E4F5A6BE5276FC0";
+  static const uint8_t binary_fingerprint[16]; // = {0xF4,0xA0,0x67,0x07,0x24,0x61,0xB8,0x07,0x1E,0x4F,0x5A,0x6B,0xE5,0x27,0x6F,0xC0};
 
   SkewedInfo() {
   }
@@ -819,7 +862,7 @@ class SkewedInfo {
 
   std::vector<std::string>  skewedColNames;
   std::vector<std::vector<std::string> >  skewedColValues;
-  std::map<std::vector<std::string> , std::string>  skewedColValueLocationMaps;
+  std::map<SkewedValueList, std::string>  skewedColValueLocationMaps;
 
   _SkewedInfo__isset __isset;
 
@@ -831,7 +874,7 @@ class SkewedInfo {
     skewedColValues = val;
   }
 
-  void __set_skewedColValueLocationMaps(const std::map<std::vector<std::string> , std::string> & val) {
+  void __set_skewedColValueLocationMaps(const std::map<SkewedValueList, std::string> & val) {
     skewedColValueLocationMaps = val;
   }
 
@@ -877,8 +920,8 @@ typedef struct _StorageDescriptor__isset
 class StorageDescriptor {
  public:
 
-  static const char* ascii_fingerprint; // = "CA8C9AA5FE4C32643757D8639CEF0CD7";
-  static const uint8_t binary_fingerprint[16]; // = {0xCA,0x8C,0x9A,0xA5,0xFE,0x4C,0x32,0x64,0x37,0x57,0xD8,0x63,0x9C,0xEF,0x0C,0xD7};
+  static const char* ascii_fingerprint; // = "283664579DDA891300CFDE15F5771323";
+  static const uint8_t binary_fingerprint[16]; // = {0x28,0x36,0x64,0x57,0x9D,0xDA,0x89,0x13,0x00,0xCF,0xDE,0x15,0xF5,0x77,0x13,0x23};
 
   StorageDescriptor() : location(), inputFormat(), outputFormat(), compressed(0), numBuckets(0), storedAsSubDirectories(0) {
   }
@@ -1015,8 +1058,8 @@ typedef struct _Table__isset {
 class Table {
  public:
 
-  static const char* ascii_fingerprint; // = "68640B4B66B355CF317429AF70D2C260";
-  static const uint8_t binary_fingerprint[16]; // = {0x68,0x64,0x0B,0x4B,0x66,0xB3,0x55,0xCF,0x31,0x74,0x29,0xAF,0x70,0xD2,0xC2,0x60};
+  static const char* ascii_fingerprint; // = "AEBB39149C622C62B239988E19489807";
+  static const uint8_t binary_fingerprint[16]; // = {0xAE,0xBB,0x39,0x14,0x9C,0x62,0x2C,0x62,0xB2,0x39,0x98,0x8E,0x19,0x48,0x98,0x07};
 
   Table() : tableName(), dbName(), owner(), createTime(0), lastAccessTime(0), retention(0), viewOriginalText(), viewExpandedText(), tableType() {
   }
@@ -1152,8 +1195,8 @@ typedef struct _Partition__isset {
 class Partition {
  public:
 
-  static const char* ascii_fingerprint; // = "31A52241B88A426C34087FE38343FF51";
-  static const uint8_t binary_fingerprint[16]; // = {0x31,0xA5,0x22,0x41,0xB8,0x8A,0x42,0x6C,0x34,0x08,0x7F,0xE3,0x83,0x43,0xFF,0x51};
+  static const char* ascii_fingerprint; // = "81AD5F7E827DDC1A37C18BF73ECA603F";
+  static const uint8_t binary_fingerprint[16]; // = {0x81,0xAD,0x5F,0x7E,0x82,0x7D,0xDC,0x1A,0x37,0xC1,0x8B,0xF7,0x3E,0xCA,0x60,0x3F};
 
   Partition() : dbName(), tableName(), createTime(0), lastAccessTime(0) {
   }
@@ -1256,8 +1299,8 @@ typedef struct _Index__isset {
 class Index {
  public:
 
-  static const char* ascii_fingerprint; // = "09EEF655216AC81802850988D6C470A6";
-  static const uint8_t binary_fingerprint[16]; // = {0x09,0xEE,0xF6,0x55,0x21,0x6A,0xC8,0x18,0x02,0x85,0x09,0x88,0xD6,0xC4,0x70,0xA6};
+  static const char* ascii_fingerprint; // = "A2822E71566DF57594774A6CF56D11B5";
+  static const uint8_t binary_fingerprint[16]; // = {0xA2,0x82,0x2E,0x71,0x56,0x6D,0xF5,0x75,0x94,0x77,0x4A,0x6C,0xF5,0x6D,0x11,0xB5};
 
   Index() : indexName(), indexHandlerClass(), dbName(), origTableName(), createTime(0), lastAccessTime(0), indexTableName(), deferredRebuild(0) {
   }

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java Fri Apr 12 22:10:31 2013
@@ -708,7 +708,7 @@ public class Database implements org.apa
                 for (int _i79 = 0; _i79 < _map78.size; ++_i79)
                 {
                   String _key80; // required
-                  String _val81; // optional
+                  String _val81; // required
                   _key80 = iprot.readString();
                   _val81 = iprot.readString();
                   struct.parameters.put(_key80, _val81);
@@ -858,7 +858,7 @@ public class Database implements org.apa
           for (int _i85 = 0; _i85 < _map84.size; ++_i85)
           {
             String _key86; // required
-            String _val87; // optional
+            String _val87; // required
             _key86 = iprot.readString();
             _val87 = iprot.readString();
             struct.parameters.put(_key86, _val87);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java Fri Apr 12 22:10:31 2013
@@ -356,7 +356,7 @@ public class EnvironmentContext implemen
                 for (int _i247 = 0; _i247 < _map246.size; ++_i247)
                 {
                   String _key248; // required
-                  String _val249; // optional
+                  String _val249; // required
                   _key248 = iprot.readString();
                   _val249 = iprot.readString();
                   struct.properties.put(_key248, _val249);
@@ -439,7 +439,7 @@ public class EnvironmentContext implemen
           for (int _i253 = 0; _i253 < _map252.size; ++_i253)
           {
             String _key254; // required
-            String _val255; // optional
+            String _val255; // required
             _key254 = iprot.readString();
             _val255 = iprot.readString();
             struct.properties.put(_key254, _val255);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java Fri Apr 12 22:10:31 2013
@@ -1145,7 +1145,7 @@ public class Index implements org.apache
                 for (int _i211 = 0; _i211 < _map210.size; ++_i211)
                 {
                   String _key212; // required
-                  String _val213; // optional
+                  String _val213; // required
                   _key212 = iprot.readString();
                   _val213 = iprot.readString();
                   struct.parameters.put(_key212, _val213);
@@ -1362,7 +1362,7 @@ public class Index implements org.apache
           for (int _i217 = 0; _i217 < _map216.size; ++_i217)
           {
             String _key218; // required
-            String _val219; // optional
+            String _val219; // required
             _key218 = iprot.readString();
             _val219 = iprot.readString();
             struct.parameters.put(_key218, _val219);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java Fri Apr 12 22:10:31 2013
@@ -1005,7 +1005,7 @@ public class Partition implements org.ap
                 for (int _i196 = 0; _i196 < _map195.size; ++_i196)
                 {
                   String _key197; // required
-                  String _val198; // optional
+                  String _val198; // required
                   _key197 = iprot.readString();
                   _val198 = iprot.readString();
                   struct.parameters.put(_key197, _val198);
@@ -1219,7 +1219,7 @@ public class Partition implements org.ap
           for (int _i207 = 0; _i207 < _map206.size; ++_i207)
           {
             String _key208; // required
-            String _val209; // optional
+            String _val209; // required
             _key208 = iprot.readString();
             _val209 = iprot.readString();
             struct.parameters.put(_key208, _val209);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java Fri Apr 12 22:10:31 2013
@@ -580,7 +580,7 @@ public class PrincipalPrivilegeSet imple
                 for (int _i25 = 0; _i25 < _map24.size; ++_i25)
                 {
                   String _key26; // required
-                  List<PrivilegeGrantInfo> _val27; // optional
+                  List<PrivilegeGrantInfo> _val27; // required
                   _key26 = iprot.readString();
                   {
                     org.apache.thrift.protocol.TList _list28 = iprot.readListBegin();
@@ -611,7 +611,7 @@ public class PrincipalPrivilegeSet imple
                 for (int _i32 = 0; _i32 < _map31.size; ++_i32)
                 {
                   String _key33; // required
-                  List<PrivilegeGrantInfo> _val34; // optional
+                  List<PrivilegeGrantInfo> _val34; // required
                   _key33 = iprot.readString();
                   {
                     org.apache.thrift.protocol.TList _list35 = iprot.readListBegin();
@@ -642,7 +642,7 @@ public class PrincipalPrivilegeSet imple
                 for (int _i39 = 0; _i39 < _map38.size; ++_i39)
                 {
                   String _key40; // required
-                  List<PrivilegeGrantInfo> _val41; // optional
+                  List<PrivilegeGrantInfo> _val41; // required
                   _key40 = iprot.readString();
                   {
                     org.apache.thrift.protocol.TList _list42 = iprot.readListBegin();
@@ -827,7 +827,7 @@ public class PrincipalPrivilegeSet imple
           for (int _i58 = 0; _i58 < _map57.size; ++_i58)
           {
             String _key59; // required
-            List<PrivilegeGrantInfo> _val60; // optional
+            List<PrivilegeGrantInfo> _val60; // required
             _key59 = iprot.readString();
             {
               org.apache.thrift.protocol.TList _list61 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -852,7 +852,7 @@ public class PrincipalPrivilegeSet imple
           for (int _i65 = 0; _i65 < _map64.size; ++_i65)
           {
             String _key66; // required
-            List<PrivilegeGrantInfo> _val67; // optional
+            List<PrivilegeGrantInfo> _val67; // required
             _key66 = iprot.readString();
             {
               org.apache.thrift.protocol.TList _list68 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -877,7 +877,7 @@ public class PrincipalPrivilegeSet imple
           for (int _i72 = 0; _i72 < _map71.size; ++_i72)
           {
             String _key73; // required
-            List<PrivilegeGrantInfo> _val74; // optional
+            List<PrivilegeGrantInfo> _val74; // required
             _key73 = iprot.readString();
             {
               org.apache.thrift.protocol.TList _list75 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java Fri Apr 12 22:10:31 2013
@@ -476,7 +476,7 @@ public class Schema implements org.apach
                 for (int _i232 = 0; _i232 < _map231.size; ++_i232)
                 {
                   String _key233; // required
-                  String _val234; // optional
+                  String _val234; // required
                   _key233 = iprot.readString();
                   _val234 = iprot.readString();
                   struct.properties.put(_key233, _val234);
@@ -597,7 +597,7 @@ public class Schema implements org.apach
           for (int _i243 = 0; _i243 < _map242.size; ++_i243)
           {
             String _key244; // required
-            String _val245; // optional
+            String _val245; // required
             _key244 = iprot.readString();
             _val245 = iprot.readString();
             struct.properties.put(_key244, _val245);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java Fri Apr 12 22:10:31 2013
@@ -534,7 +534,7 @@ public class SerDeInfo implements org.ap
                 for (int _i89 = 0; _i89 < _map88.size; ++_i89)
                 {
                   String _key90; // required
-                  String _val91; // optional
+                  String _val91; // required
                   _key90 = iprot.readString();
                   _val91 = iprot.readString();
                   struct.parameters.put(_key90, _val91);
@@ -647,7 +647,7 @@ public class SerDeInfo implements org.ap
           for (int _i95 = 0; _i95 < _map94.size; ++_i95)
           {
             String _key96; // required
-            String _val97; // optional
+            String _val97; // required
             _key96 = iprot.readString();
             _val97 = iprot.readString();
             struct.parameters.put(_key96, _val97);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java Fri Apr 12 22:10:31 2013
@@ -46,7 +46,7 @@ public class SkewedInfo implements org.a
 
   private List<String> skewedColNames; // required
   private List<List<String>> skewedColValues; // required
-  private Map<List<String>,String> skewedColValueLocationMaps; // required
+  private Map<SkewedValueList,String> skewedColValueLocationMaps; // 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 {
@@ -125,8 +125,7 @@ public class SkewedInfo implements org.a
                 new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
     tmpMap.put(_Fields.SKEWED_COL_VALUE_LOCATION_MAPS, new org.apache.thrift.meta_data.FieldMetaData("skewedColValueLocationMaps", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)), 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SkewedValueList.class),
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SkewedInfo.class, metaDataMap);
@@ -138,7 +137,7 @@ public class SkewedInfo implements org.a
   public SkewedInfo(
     List<String> skewedColNames,
     List<List<String>> skewedColValues,
-    Map<List<String>,String> skewedColValueLocationMaps)
+    Map<SkewedValueList,String> skewedColValueLocationMaps)
   {
     this();
     this.skewedColNames = skewedColNames;
@@ -169,16 +168,13 @@ public class SkewedInfo implements org.a
       this.skewedColValues = __this__skewedColValues;
     }
     if (other.isSetSkewedColValueLocationMaps()) {
-      Map<List<String>,String> __this__skewedColValueLocationMaps = new HashMap<List<String>,String>();
-      for (Map.Entry<List<String>, String> other_element : other.skewedColValueLocationMaps.entrySet()) {
+      Map<SkewedValueList,String> __this__skewedColValueLocationMaps = new HashMap<SkewedValueList,String>();
+      for (Map.Entry<SkewedValueList, String> other_element : other.skewedColValueLocationMaps.entrySet()) {
 
-        List<String> other_element_key = other_element.getKey();
+        SkewedValueList other_element_key = other_element.getKey();
         String other_element_value = other_element.getValue();
 
-        List<String> __this__skewedColValueLocationMaps_copy_key = new ArrayList<String>();
-        for (String other_element_key_element : other_element_key) {
-          __this__skewedColValueLocationMaps_copy_key.add(other_element_key_element);
-        }
+        SkewedValueList __this__skewedColValueLocationMaps_copy_key = new SkewedValueList(other_element_key);
 
         String __this__skewedColValueLocationMaps_copy_value = other_element_value;
 
@@ -279,18 +275,18 @@ public class SkewedInfo implements org.a
     return (this.skewedColValueLocationMaps == null) ? 0 : this.skewedColValueLocationMaps.size();
   }
 
-  public void putToSkewedColValueLocationMaps(List<String> key, String val) {
+  public void putToSkewedColValueLocationMaps(SkewedValueList key, String val) {
     if (this.skewedColValueLocationMaps == null) {
-      this.skewedColValueLocationMaps = new HashMap<List<String>,String>();
+      this.skewedColValueLocationMaps = new HashMap<SkewedValueList,String>();
     }
     this.skewedColValueLocationMaps.put(key, val);
   }
 
-  public Map<List<String>,String> getSkewedColValueLocationMaps() {
+  public Map<SkewedValueList,String> getSkewedColValueLocationMaps() {
     return this.skewedColValueLocationMaps;
   }
 
-  public void setSkewedColValueLocationMaps(Map<List<String>,String> skewedColValueLocationMaps) {
+  public void setSkewedColValueLocationMaps(Map<SkewedValueList,String> skewedColValueLocationMaps) {
     this.skewedColValueLocationMaps = skewedColValueLocationMaps;
   }
 
@@ -331,7 +327,7 @@ public class SkewedInfo implements org.a
       if (value == null) {
         unsetSkewedColValueLocationMaps();
       } else {
-        setSkewedColValueLocationMaps((Map<List<String>,String>)value);
+        setSkewedColValueLocationMaps((Map<SkewedValueList,String>)value);
       }
       break;
 
@@ -562,13 +558,13 @@ public class SkewedInfo implements org.a
           case 1: // SKEWED_COL_NAMES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list98 = iprot.readListBegin();
-                struct.skewedColNames = new ArrayList<String>(_list98.size);
-                for (int _i99 = 0; _i99 < _list98.size; ++_i99)
+                org.apache.thrift.protocol.TList _list106 = iprot.readListBegin();
+                struct.skewedColNames = new ArrayList<String>(_list106.size);
+                for (int _i107 = 0; _i107 < _list106.size; ++_i107)
                 {
-                  String _elem100; // required
-                  _elem100 = iprot.readString();
-                  struct.skewedColNames.add(_elem100);
+                  String _elem108; // required
+                  _elem108 = iprot.readString();
+                  struct.skewedColNames.add(_elem108);
                 }
                 iprot.readListEnd();
               }
@@ -580,23 +576,23 @@ public class SkewedInfo implements org.a
           case 2: // SKEWED_COL_VALUES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list101 = iprot.readListBegin();
-                struct.skewedColValues = new ArrayList<List<String>>(_list101.size);
-                for (int _i102 = 0; _i102 < _list101.size; ++_i102)
+                org.apache.thrift.protocol.TList _list109 = iprot.readListBegin();
+                struct.skewedColValues = new ArrayList<List<String>>(_list109.size);
+                for (int _i110 = 0; _i110 < _list109.size; ++_i110)
                 {
-                  List<String> _elem103; // required
+                  List<String> _elem111; // required
                   {
-                    org.apache.thrift.protocol.TList _list104 = iprot.readListBegin();
-                    _elem103 = new ArrayList<String>(_list104.size);
-                    for (int _i105 = 0; _i105 < _list104.size; ++_i105)
+                    org.apache.thrift.protocol.TList _list112 = iprot.readListBegin();
+                    _elem111 = new ArrayList<String>(_list112.size);
+                    for (int _i113 = 0; _i113 < _list112.size; ++_i113)
                     {
-                      String _elem106; // required
-                      _elem106 = iprot.readString();
-                      _elem103.add(_elem106);
+                      String _elem114; // required
+                      _elem114 = iprot.readString();
+                      _elem111.add(_elem114);
                     }
                     iprot.readListEnd();
                   }
-                  struct.skewedColValues.add(_elem103);
+                  struct.skewedColValues.add(_elem111);
                 }
                 iprot.readListEnd();
               }
@@ -608,25 +604,16 @@ public class SkewedInfo implements org.a
           case 3: // SKEWED_COL_VALUE_LOCATION_MAPS
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map107 = iprot.readMapBegin();
-                struct.skewedColValueLocationMaps = new HashMap<List<String>,String>(2*_map107.size);
-                for (int _i108 = 0; _i108 < _map107.size; ++_i108)
+                org.apache.thrift.protocol.TMap _map115 = iprot.readMapBegin();
+                struct.skewedColValueLocationMaps = new HashMap<SkewedValueList,String>(2*_map115.size);
+                for (int _i116 = 0; _i116 < _map115.size; ++_i116)
                 {
-                  List<String> _key109; // required
-                  String _val110; // optional
-                  {
-                    org.apache.thrift.protocol.TList _list111 = iprot.readListBegin();
-                    _key109 = new ArrayList<String>(_list111.size);
-                    for (int _i112 = 0; _i112 < _list111.size; ++_i112)
-                    {
-                      String _elem113; // required
-                      _elem113 = iprot.readString();
-                      _key109.add(_elem113);
-                    }
-                    iprot.readListEnd();
-                  }
-                  _val110 = iprot.readString();
-                  struct.skewedColValueLocationMaps.put(_key109, _val110);
+                  SkewedValueList _key117; // required
+                  String _val118; // required
+                  _key117 = new SkewedValueList();
+                  _key117.read(iprot);
+                  _val118 = iprot.readString();
+                  struct.skewedColValueLocationMaps.put(_key117, _val118);
                 }
                 iprot.readMapEnd();
               }
@@ -652,9 +639,9 @@ public class SkewedInfo implements org.a
         oprot.writeFieldBegin(SKEWED_COL_NAMES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.skewedColNames.size()));
-          for (String _iter114 : struct.skewedColNames)
+          for (String _iter119 : struct.skewedColNames)
           {
-            oprot.writeString(_iter114);
+            oprot.writeString(_iter119);
           }
           oprot.writeListEnd();
         }
@@ -664,13 +651,13 @@ public class SkewedInfo implements org.a
         oprot.writeFieldBegin(SKEWED_COL_VALUES_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, struct.skewedColValues.size()));
-          for (List<String> _iter115 : struct.skewedColValues)
+          for (List<String> _iter120 : struct.skewedColValues)
           {
             {
-              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter115.size()));
-              for (String _iter116 : _iter115)
+              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter120.size()));
+              for (String _iter121 : _iter120)
               {
-                oprot.writeString(_iter116);
+                oprot.writeString(_iter121);
               }
               oprot.writeListEnd();
             }
@@ -682,18 +669,11 @@ public class SkewedInfo implements org.a
       if (struct.skewedColValueLocationMaps != null) {
         oprot.writeFieldBegin(SKEWED_COL_VALUE_LOCATION_MAPS_FIELD_DESC);
         {
-          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.STRING, struct.skewedColValueLocationMaps.size()));
-          for (Map.Entry<List<String>, String> _iter117 : struct.skewedColValueLocationMaps.entrySet())
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRING, struct.skewedColValueLocationMaps.size()));
+          for (Map.Entry<SkewedValueList, String> _iter122 : struct.skewedColValueLocationMaps.entrySet())
           {
-            {
-              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter117.getKey().size()));
-              for (String _iter118 : _iter117.getKey())
-              {
-                oprot.writeString(_iter118);
-              }
-              oprot.writeListEnd();
-            }
-            oprot.writeString(_iter117.getValue());
+            _iter122.getKey().write(oprot);
+            oprot.writeString(_iter122.getValue());
           }
           oprot.writeMapEnd();
         }
@@ -730,22 +710,22 @@ public class SkewedInfo implements org.a
       if (struct.isSetSkewedColNames()) {
         {
           oprot.writeI32(struct.skewedColNames.size());
-          for (String _iter119 : struct.skewedColNames)
+          for (String _iter123 : struct.skewedColNames)
           {
-            oprot.writeString(_iter119);
+            oprot.writeString(_iter123);
           }
         }
       }
       if (struct.isSetSkewedColValues()) {
         {
           oprot.writeI32(struct.skewedColValues.size());
-          for (List<String> _iter120 : struct.skewedColValues)
+          for (List<String> _iter124 : struct.skewedColValues)
           {
             {
-              oprot.writeI32(_iter120.size());
-              for (String _iter121 : _iter120)
+              oprot.writeI32(_iter124.size());
+              for (String _iter125 : _iter124)
               {
-                oprot.writeString(_iter121);
+                oprot.writeString(_iter125);
               }
             }
           }
@@ -754,16 +734,10 @@ public class SkewedInfo implements org.a
       if (struct.isSetSkewedColValueLocationMaps()) {
         {
           oprot.writeI32(struct.skewedColValueLocationMaps.size());
-          for (Map.Entry<List<String>, String> _iter122 : struct.skewedColValueLocationMaps.entrySet())
+          for (Map.Entry<SkewedValueList, String> _iter126 : struct.skewedColValueLocationMaps.entrySet())
           {
-            {
-              oprot.writeI32(_iter122.getKey().size());
-              for (String _iter123 : _iter122.getKey())
-              {
-                oprot.writeString(_iter123);
-              }
-            }
-            oprot.writeString(_iter122.getValue());
+            _iter126.getKey().write(oprot);
+            oprot.writeString(_iter126.getValue());
           }
         }
       }
@@ -775,59 +749,51 @@ public class SkewedInfo implements org.a
       BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list124 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.skewedColNames = new ArrayList<String>(_list124.size);
-          for (int _i125 = 0; _i125 < _list124.size; ++_i125)
+          org.apache.thrift.protocol.TList _list127 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.skewedColNames = new ArrayList<String>(_list127.size);
+          for (int _i128 = 0; _i128 < _list127.size; ++_i128)
           {
-            String _elem126; // required
-            _elem126 = iprot.readString();
-            struct.skewedColNames.add(_elem126);
+            String _elem129; // required
+            _elem129 = iprot.readString();
+            struct.skewedColNames.add(_elem129);
           }
         }
         struct.setSkewedColNamesIsSet(true);
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list127 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, iprot.readI32());
-          struct.skewedColValues = new ArrayList<List<String>>(_list127.size);
-          for (int _i128 = 0; _i128 < _list127.size; ++_i128)
+          org.apache.thrift.protocol.TList _list130 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, iprot.readI32());
+          struct.skewedColValues = new ArrayList<List<String>>(_list130.size);
+          for (int _i131 = 0; _i131 < _list130.size; ++_i131)
           {
-            List<String> _elem129; // required
+            List<String> _elem132; // required
             {
-              org.apache.thrift.protocol.TList _list130 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-              _elem129 = new ArrayList<String>(_list130.size);
-              for (int _i131 = 0; _i131 < _list130.size; ++_i131)
+              org.apache.thrift.protocol.TList _list133 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+              _elem132 = new ArrayList<String>(_list133.size);
+              for (int _i134 = 0; _i134 < _list133.size; ++_i134)
               {
-                String _elem132; // required
-                _elem132 = iprot.readString();
-                _elem129.add(_elem132);
+                String _elem135; // required
+                _elem135 = iprot.readString();
+                _elem132.add(_elem135);
               }
             }
-            struct.skewedColValues.add(_elem129);
+            struct.skewedColValues.add(_elem132);
           }
         }
         struct.setSkewedColValuesIsSet(true);
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TMap _map133 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.skewedColValueLocationMaps = new HashMap<List<String>,String>(2*_map133.size);
-          for (int _i134 = 0; _i134 < _map133.size; ++_i134)
+          org.apache.thrift.protocol.TMap _map136 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.skewedColValueLocationMaps = new HashMap<SkewedValueList,String>(2*_map136.size);
+          for (int _i137 = 0; _i137 < _map136.size; ++_i137)
           {
-            List<String> _key135; // required
-            String _val136; // optional
-            {
-              org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-              _key135 = new ArrayList<String>(_list137.size);
-              for (int _i138 = 0; _i138 < _list137.size; ++_i138)
-              {
-                String _elem139; // required
-                _elem139 = iprot.readString();
-                _key135.add(_elem139);
-              }
-            }
-            _val136 = iprot.readString();
-            struct.skewedColValueLocationMaps.put(_key135, _val136);
+            SkewedValueList _key138; // required
+            String _val139; // required
+            _key138 = new SkewedValueList();
+            _key138.read(iprot);
+            _val139 = iprot.readString();
+            struct.skewedColValueLocationMaps.put(_key138, _val139);
           }
         }
         struct.setSkewedColValueLocationMapsIsSet(true);

Added: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedValueList.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedValueList.java?rev=1467491&view=auto
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedValueList.java (added)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedValueList.java Fri Apr 12 22:10:31 2013
@@ -0,0 +1,443 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * 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.commons.lang.builder.HashCodeBuilder;
+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 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 org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SkewedValueList implements org.apache.thrift.TBase<SkewedValueList, SkewedValueList._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SkewedValueList");
+
+  private static final org.apache.thrift.protocol.TField SKEWED_VALUE_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("skewedValueList", org.apache.thrift.protocol.TType.LIST, (short)1);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new SkewedValueListStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new SkewedValueListTupleSchemeFactory());
+  }
+
+  private List<String> skewedValueList; // 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 {
+    SKEWED_VALUE_LIST((short)1, "skewedValueList");
+
+    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: // SKEWED_VALUE_LIST
+          return SKEWED_VALUE_LIST;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  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.SKEWED_VALUE_LIST, new org.apache.thrift.meta_data.FieldMetaData("skewedValueList", org.apache.thrift.TFieldRequirementType.DEFAULT,
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SkewedValueList.class, metaDataMap);
+  }
+
+  public SkewedValueList() {
+  }
+
+  public SkewedValueList(
+    List<String> skewedValueList)
+  {
+    this();
+    this.skewedValueList = skewedValueList;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public SkewedValueList(SkewedValueList other) {
+    if (other.isSetSkewedValueList()) {
+      List<String> __this__skewedValueList = new ArrayList<String>();
+      for (String other_element : other.skewedValueList) {
+        __this__skewedValueList.add(other_element);
+      }
+      this.skewedValueList = __this__skewedValueList;
+    }
+  }
+
+  public SkewedValueList deepCopy() {
+    return new SkewedValueList(this);
+  }
+
+  @Override
+  public void clear() {
+    this.skewedValueList = null;
+  }
+
+  public int getSkewedValueListSize() {
+    return (this.skewedValueList == null) ? 0 : this.skewedValueList.size();
+  }
+
+  public java.util.Iterator<String> getSkewedValueListIterator() {
+    return (this.skewedValueList == null) ? null : this.skewedValueList.iterator();
+  }
+
+  public void addToSkewedValueList(String elem) {
+    if (this.skewedValueList == null) {
+      this.skewedValueList = new ArrayList<String>();
+    }
+    this.skewedValueList.add(elem);
+  }
+
+  public List<String> getSkewedValueList() {
+    return this.skewedValueList;
+  }
+
+  public void setSkewedValueList(List<String> skewedValueList) {
+    this.skewedValueList = skewedValueList;
+  }
+
+  public void unsetSkewedValueList() {
+    this.skewedValueList = null;
+  }
+
+  /** Returns true if field skewedValueList is set (has been assigned a value) and false otherwise */
+  public boolean isSetSkewedValueList() {
+    return this.skewedValueList != null;
+  }
+
+  public void setSkewedValueListIsSet(boolean value) {
+    if (!value) {
+      this.skewedValueList = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case SKEWED_VALUE_LIST:
+      if (value == null) {
+        unsetSkewedValueList();
+      } else {
+        setSkewedValueList((List<String>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case SKEWED_VALUE_LIST:
+      return getSkewedValueList();
+
+    }
+    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 SKEWED_VALUE_LIST:
+      return isSetSkewedValueList();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof SkewedValueList)
+      return this.equals((SkewedValueList)that);
+    return false;
+  }
+
+  public boolean equals(SkewedValueList that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_skewedValueList = true && this.isSetSkewedValueList();
+    boolean that_present_skewedValueList = true && that.isSetSkewedValueList();
+    if (this_present_skewedValueList || that_present_skewedValueList) {
+      if (!(this_present_skewedValueList && that_present_skewedValueList))
+        return false;
+      if (!this.skewedValueList.equals(that.skewedValueList))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    HashCodeBuilder builder = new HashCodeBuilder();
+
+    boolean present_skewedValueList = true && (isSetSkewedValueList());
+    builder.append(present_skewedValueList);
+    if (present_skewedValueList)
+      builder.append(skewedValueList);
+
+    return builder.toHashCode();
+  }
+
+  public int compareTo(SkewedValueList other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    SkewedValueList typedOther = (SkewedValueList)other;
+
+    lastComparison = Boolean.valueOf(isSetSkewedValueList()).compareTo(typedOther.isSetSkewedValueList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSkewedValueList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.skewedValueList, typedOther.skewedValueList);
+      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("SkewedValueList(");
+    boolean first = true;
+
+    sb.append("skewedValueList:");
+    if (this.skewedValueList == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.skewedValueList);
+    }
+    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 SkewedValueListStandardSchemeFactory implements SchemeFactory {
+    public SkewedValueListStandardScheme getScheme() {
+      return new SkewedValueListStandardScheme();
+    }
+  }
+
+  private static class SkewedValueListStandardScheme extends StandardScheme<SkewedValueList> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, SkewedValueList 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: // SKEWED_VALUE_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list98 = iprot.readListBegin();
+                struct.skewedValueList = new ArrayList<String>(_list98.size);
+                for (int _i99 = 0; _i99 < _list98.size; ++_i99)
+                {
+                  String _elem100; // required
+                  _elem100 = iprot.readString();
+                  struct.skewedValueList.add(_elem100);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSkewedValueListIsSet(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, SkewedValueList struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.skewedValueList != null) {
+        oprot.writeFieldBegin(SKEWED_VALUE_LIST_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.skewedValueList.size()));
+          for (String _iter101 : struct.skewedValueList)
+          {
+            oprot.writeString(_iter101);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class SkewedValueListTupleSchemeFactory implements SchemeFactory {
+    public SkewedValueListTupleScheme getScheme() {
+      return new SkewedValueListTupleScheme();
+    }
+  }
+
+  private static class SkewedValueListTupleScheme extends TupleScheme<SkewedValueList> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, SkewedValueList struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetSkewedValueList()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetSkewedValueList()) {
+        {
+          oprot.writeI32(struct.skewedValueList.size());
+          for (String _iter102 : struct.skewedValueList)
+          {
+            oprot.writeString(_iter102);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, SkewedValueList struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list103 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.skewedValueList = new ArrayList<String>(_list103.size);
+          for (int _i104 = 0; _i104 < _list103.size; ++_i104)
+          {
+            String _elem105; // required
+            _elem105 = iprot.readString();
+            struct.skewedValueList.add(_elem105);
+          }
+        }
+        struct.setSkewedValueListIsSet(true);
+      }
+    }
+  }
+
+}
+

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java Fri Apr 12 22:10:31 2013
@@ -1410,7 +1410,7 @@ public class StorageDescriptor implement
                 for (int _i150 = 0; _i150 < _map149.size; ++_i150)
                 {
                   String _key151; // required
-                  String _val152; // optional
+                  String _val152; // required
                   _key151 = iprot.readString();
                   _val152 = iprot.readString();
                   struct.parameters.put(_key151, _val152);
@@ -1734,7 +1734,7 @@ public class StorageDescriptor implement
           for (int _i171 = 0; _i171 < _map170.size; ++_i171)
           {
             String _key172; // required
-            String _val173; // optional
+            String _val173; // required
             _key172 = iprot.readString();
             _val173 = iprot.readString();
             struct.parameters.put(_key172, _val173);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java Fri Apr 12 22:10:31 2013
@@ -1423,7 +1423,7 @@ public class Table implements org.apache
                 for (int _i178 = 0; _i178 < _map177.size; ++_i178)
                 {
                   String _key179; // required
-                  String _val180; // optional
+                  String _val180; // required
                   _key179 = iprot.readString();
                   _val180 = iprot.readString();
                   struct.parameters.put(_key179, _val180);
@@ -1723,7 +1723,7 @@ public class Table implements org.apache
           for (int _i189 = 0; _i189 < _map188.size; ++_i189)
           {
             String _key190; // required
-            String _val191; // optional
+            String _val191; // required
             _key190 = iprot.readString();
             _val191 = iprot.readString();
             struct.parameters.put(_key190, _val191);

Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java Fri Apr 12 22:10:31 2013
@@ -17350,7 +17350,7 @@ public class ThriftHiveMetastore {
                   for (int _i273 = 0; _i273 < _map272.size; ++_i273)
                   {
                     String _key274; // required
-                    Type _val275; // optional
+                    Type _val275; // required
                     _key274 = iprot.readString();
                     _val275 = new Type();
                     _val275.read(iprot);
@@ -17454,7 +17454,7 @@ public class ThriftHiveMetastore {
             for (int _i279 = 0; _i279 < _map278.size; ++_i279)
             {
               String _key280; // required
-              Type _val281; // optional
+              Type _val281; // required
               _key280 = iprot.readString();
               _val281 = new Type();
               _val281.read(iprot);
@@ -68039,7 +68039,7 @@ public class ThriftHiveMetastore {
                   for (int _i547 = 0; _i547 < _map546.size; ++_i547)
                   {
                     String _key548; // required
-                    String _val549; // optional
+                    String _val549; // required
                     _key548 = iprot.readString();
                     _val549 = iprot.readString();
                     struct.success.put(_key548, _val549);
@@ -68142,7 +68142,7 @@ public class ThriftHiveMetastore {
             for (int _i553 = 0; _i553 < _map552.size; ++_i553)
             {
               String _key554; // required
-              String _val555; // optional
+              String _val555; // required
               _key554 = iprot.readString();
               _val555 = iprot.readString();
               struct.success.put(_key554, _val555);
@@ -68756,7 +68756,7 @@ public class ThriftHiveMetastore {
                   for (int _i557 = 0; _i557 < _map556.size; ++_i557)
                   {
                     String _key558; // required
-                    String _val559; // optional
+                    String _val559; // required
                     _key558 = iprot.readString();
                     _val559 = iprot.readString();
                     struct.part_vals.put(_key558, _val559);
@@ -68888,7 +68888,7 @@ public class ThriftHiveMetastore {
             for (int _i563 = 0; _i563 < _map562.size; ++_i563)
             {
               String _key564; // required
-              String _val565; // optional
+              String _val565; // required
               _key564 = iprot.readString();
               _val565 = iprot.readString();
               struct.part_vals.put(_key564, _val565);
@@ -70391,7 +70391,7 @@ public class ThriftHiveMetastore {
                   for (int _i567 = 0; _i567 < _map566.size; ++_i567)
                   {
                     String _key568; // required
-                    String _val569; // optional
+                    String _val569; // required
                     _key568 = iprot.readString();
                     _val569 = iprot.readString();
                     struct.part_vals.put(_key568, _val569);
@@ -70523,7 +70523,7 @@ public class ThriftHiveMetastore {
             for (int _i573 = 0; _i573 < _map572.size; ++_i573)
             {
               String _key574; // required
-              String _val575; // optional
+              String _val575; // required
               _key574 = iprot.readString();
               _val575 = iprot.readString();
               struct.part_vals.put(_key574, _val575);

Modified: hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php?rev=1467491&r1=1467490&r2=1467491&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-php/metastore/Types.php Fri Apr 12 22:10:31 2013
@@ -1815,6 +1815,104 @@ class Order {
 
 }
 
+class SkewedValueList {
+  static $_TSPEC;
+
+  public $skewedValueList = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'skewedValueList',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['skewedValueList'])) {
+        $this->skewedValueList = $vals['skewedValueList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'SkewedValueList';
+  }
+
+  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::LST) {
+            $this->skewedValueList = array();
+            $_size87 = 0;
+            $_etype90 = 0;
+            $xfer += $input->readListBegin($_etype90, $_size87);
+            for ($_i91 = 0; $_i91 < $_size87; ++$_i91)
+            {
+              $elem92 = null;
+              $xfer += $input->readString($elem92);
+              $this->skewedValueList []= $elem92;
+            }
+            $xfer += $input->readListEnd();
+          } 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('SkewedValueList');
+    if ($this->skewedValueList !== null) {
+      if (!is_array($this->skewedValueList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('skewedValueList', TType::LST, 1);
+      {
+        $output->writeListBegin(TType::STRING, count($this->skewedValueList));
+        {
+          foreach ($this->skewedValueList as $iter93)
+          {
+            $xfer += $output->writeString($iter93);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class SkewedInfo {
   static $_TSPEC;
 
@@ -1848,14 +1946,11 @@ class SkewedInfo {
         3 => array(
           'var' => 'skewedColValueLocationMaps',
           'type' => TType::MAP,
-          'ktype' => TType::LST,
+          'ktype' => TType::STRUCT,
           'vtype' => TType::STRING,
           'key' => array(
-            'type' => TType::LST,
-            'etype' => TType::STRING,
-            'elem' => array(
-              'type' => TType::STRING,
-              ),
+            'type' => TType::STRUCT,
+            'class' => '\metastore\SkewedValueList',
           ),
           'val' => array(
             'type' => TType::STRING,
@@ -1898,14 +1993,14 @@ class SkewedInfo {
         case 1:
           if ($ftype == TType::LST) {
             $this->skewedColNames = array();
-            $_size87 = 0;
-            $_etype90 = 0;
-            $xfer += $input->readListBegin($_etype90, $_size87);
-            for ($_i91 = 0; $_i91 < $_size87; ++$_i91)
+            $_size94 = 0;
+            $_etype97 = 0;
+            $xfer += $input->readListBegin($_etype97, $_size94);
+            for ($_i98 = 0; $_i98 < $_size94; ++$_i98)
             {
-              $elem92 = null;
-              $xfer += $input->readString($elem92);
-              $this->skewedColNames []= $elem92;
+              $elem99 = null;
+              $xfer += $input->readString($elem99);
+              $this->skewedColNames []= $elem99;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1915,24 +2010,24 @@ class SkewedInfo {
         case 2:
           if ($ftype == TType::LST) {
             $this->skewedColValues = array();
-            $_size93 = 0;
-            $_etype96 = 0;
-            $xfer += $input->readListBegin($_etype96, $_size93);
-            for ($_i97 = 0; $_i97 < $_size93; ++$_i97)
+            $_size100 = 0;
+            $_etype103 = 0;
+            $xfer += $input->readListBegin($_etype103, $_size100);
+            for ($_i104 = 0; $_i104 < $_size100; ++$_i104)
             {
-              $elem98 = null;
-              $elem98 = array();
-              $_size99 = 0;
-              $_etype102 = 0;
-              $xfer += $input->readListBegin($_etype102, $_size99);
-              for ($_i103 = 0; $_i103 < $_size99; ++$_i103)
+              $elem105 = null;
+              $elem105 = array();
+              $_size106 = 0;
+              $_etype109 = 0;
+              $xfer += $input->readListBegin($_etype109, $_size106);
+              for ($_i110 = 0; $_i110 < $_size106; ++$_i110)
               {
-                $elem104 = null;
-                $xfer += $input->readString($elem104);
-                $elem98 []= $elem104;
+                $elem111 = null;
+                $xfer += $input->readString($elem111);
+                $elem105 []= $elem111;
               }
               $xfer += $input->readListEnd();
-              $this->skewedColValues []= $elem98;
+              $this->skewedColValues []= $elem105;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1942,27 +2037,18 @@ class SkewedInfo {
         case 3:
           if ($ftype == TType::MAP) {
             $this->skewedColValueLocationMaps = array();
-            $_size105 = 0;
-            $_ktype106 = 0;
-            $_vtype107 = 0;
-            $xfer += $input->readMapBegin($_ktype106, $_vtype107, $_size105);
-            for ($_i109 = 0; $_i109 < $_size105; ++$_i109)
+            $_size112 = 0;
+            $_ktype113 = 0;
+            $_vtype114 = 0;
+            $xfer += $input->readMapBegin($_ktype113, $_vtype114, $_size112);
+            for ($_i116 = 0; $_i116 < $_size112; ++$_i116)
             {
-              $key110 = array();
-              $val111 = '';
-              $key110 = array();
-              $_size112 = 0;
-              $_etype115 = 0;
-              $xfer += $input->readListBegin($_etype115, $_size112);
-              for ($_i116 = 0; $_i116 < $_size112; ++$_i116)
-              {
-                $elem117 = null;
-                $xfer += $input->readString($elem117);
-                $key110 []= $elem117;
-              }
-              $xfer += $input->readListEnd();
-              $xfer += $input->readString($val111);
-              $this->skewedColValueLocationMaps[$key110] = $val111;
+              $key117 = new \metastore\SkewedValueList();
+              $val118 = '';
+              $key117 = new \metastore\SkewedValueList();
+              $xfer += $key117->read($input);
+              $xfer += $input->readString($val118);
+              $this->skewedColValueLocationMaps[$key117] = $val118;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -1990,9 +2076,9 @@ class SkewedInfo {
       {
         $output->writeListBegin(TType::STRING, count($this->skewedColNames));
         {
-          foreach ($this->skewedColNames as $iter118)
+          foreach ($this->skewedColNames as $iter119)
           {
-            $xfer += $output->writeString($iter118);
+            $xfer += $output->writeString($iter119);
           }
         }
         $output->writeListEnd();
@@ -2007,14 +2093,14 @@ class SkewedInfo {
       {
         $output->writeListBegin(TType::LST, count($this->skewedColValues));
         {
-          foreach ($this->skewedColValues as $iter119)
+          foreach ($this->skewedColValues as $iter120)
           {
             {
-              $output->writeListBegin(TType::STRING, count($iter119));
+              $output->writeListBegin(TType::STRING, count($iter120));
               {
-                foreach ($iter119 as $iter120)
+                foreach ($iter120 as $iter121)
                 {
-                  $xfer += $output->writeString($iter120);
+                  $xfer += $output->writeString($iter121);
                 }
               }
               $output->writeListEnd();
@@ -2031,21 +2117,12 @@ class SkewedInfo {
       }
       $xfer += $output->writeFieldBegin('skewedColValueLocationMaps', TType::MAP, 3);
       {
-        $output->writeMapBegin(TType::LST, TType::STRING, count($this->skewedColValueLocationMaps));
+        $output->writeMapBegin(TType::STRUCT, TType::STRING, count($this->skewedColValueLocationMaps));
         {
-          foreach ($this->skewedColValueLocationMaps as $kiter121 => $viter122)
+          foreach ($this->skewedColValueLocationMaps as $kiter122 => $viter123)
           {
-            {
-              $output->writeListBegin(TType::STRING, count($kiter121));
-              {
-                foreach ($kiter121 as $iter123)
-                {
-                  $xfer += $output->writeString($iter123);
-                }
-              }
-              $output->writeListEnd();
-            }
-            $xfer += $output->writeString($viter122);
+            $xfer += $kiter122->write($output);
+            $xfer += $output->writeString($viter123);
           }
         }
         $output->writeMapEnd();



Mime
View raw message