http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp 
b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
index 5fd4a90..cb0ee7a 100644
--- a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
+++ b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
@@ -151,14 +151,6 @@ const char* _kResourceTypeNames[] = {
 };
 const std::map<int, const char*> 
_ResourceType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, 
_kResourceTypeValues, _kResourceTypeNames), ::apache::thrift::TEnumIterator(-1, 
NULL, NULL));
 
-int _kFileMetadataExprTypeValues[] = {
-  FileMetadataExprType::ORC_SARG
-};
-const char* _kFileMetadataExprTypeNames[] = {
-  "ORC_SARG"
-};
-const std::map<int, const char*> 
_FileMetadataExprType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(1, 
_kFileMetadataExprTypeValues, _kFileMetadataExprTypeNames), 
::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
 
 Version::~Version() throw() {
 }
@@ -14270,11 +14262,6 @@ void 
GetFileMetadataByExprRequest::__set_doGetFooters(const bool val) {
 __isset.doGetFooters = true;
 }
 
-void GetFileMetadataByExprRequest::__set_type(const FileMetadataExprType::type 
val) {
-  this->type = val;
-__isset.type = true;
-}
-
 uint32_t 
GetFileMetadataByExprRequest::read(::apache::thrift::protocol::TProtocol* 
iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -14334,16 +14321,6 @@ uint32_t 
GetFileMetadataByExprRequest::read(::apache::thrift::protocol::TProtoco
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast626;
-          xfer += iprot->readI32(ecast626);
-          this->type = (FileMetadataExprType::type)ecast626;
-          this->__isset.type = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -14368,10 +14345,10 @@ uint32_t 
GetFileMetadataByExprRequest::write(::apache::thrift::protocol::TProtoc
   xfer += oprot->writeFieldBegin("fileIds", 
::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_I64, 
static_cast<uint32_t>(this->fileIds.size()));
-    std::vector<int64_t> ::const_iterator _iter627;
-    for (_iter627 = this->fileIds.begin(); _iter627 != this->fileIds.end(); 
++_iter627)
+    std::vector<int64_t> ::const_iterator _iter626;
+    for (_iter626 = this->fileIds.begin(); _iter626 != this->fileIds.end(); 
++_iter626)
     {
-      xfer += oprot->writeI64((*_iter627));
+      xfer += oprot->writeI64((*_iter626));
     }
     xfer += oprot->writeListEnd();
   }
@@ -14386,11 +14363,6 @@ uint32_t 
GetFileMetadataByExprRequest::write(::apache::thrift::protocol::TProtoc
     xfer += oprot->writeBool(this->doGetFooters);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.type) {
-    xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 
4);
-    xfer += oprot->writeI32((int32_t)this->type);
-    xfer += oprot->writeFieldEnd();
-  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -14401,23 +14373,20 @@ void swap(GetFileMetadataByExprRequest &a, 
GetFileMetadataByExprRequest &b) {
   swap(a.fileIds, b.fileIds);
   swap(a.expr, b.expr);
   swap(a.doGetFooters, b.doGetFooters);
-  swap(a.type, b.type);
   swap(a.__isset, b.__isset);
 }
 
-GetFileMetadataByExprRequest::GetFileMetadataByExprRequest(const 
GetFileMetadataByExprRequest& other628) {
+GetFileMetadataByExprRequest::GetFileMetadataByExprRequest(const 
GetFileMetadataByExprRequest& other627) {
+  fileIds = other627.fileIds;
+  expr = other627.expr;
+  doGetFooters = other627.doGetFooters;
+  __isset = other627.__isset;
+}
+GetFileMetadataByExprRequest& GetFileMetadataByExprRequest::operator=(const 
GetFileMetadataByExprRequest& other628) {
   fileIds = other628.fileIds;
   expr = other628.expr;
   doGetFooters = other628.doGetFooters;
-  type = other628.type;
   __isset = other628.__isset;
-}
-GetFileMetadataByExprRequest& GetFileMetadataByExprRequest::operator=(const 
GetFileMetadataByExprRequest& other629) {
-  fileIds = other629.fileIds;
-  expr = other629.expr;
-  doGetFooters = other629.doGetFooters;
-  type = other629.type;
-  __isset = other629.__isset;
   return *this;
 }
 void GetFileMetadataByExprRequest::printTo(std::ostream& out) const {
@@ -14426,7 +14395,6 @@ void 
GetFileMetadataByExprRequest::printTo(std::ostream& out) const {
   out << "fileIds=" << to_string(fileIds);
   out << ", " << "expr=" << to_string(expr);
   out << ", " << "doGetFooters="; (__isset.doGetFooters ? (out << 
to_string(doGetFooters)) : (out << "<null>"));
-  out << ", " << "type="; (__isset.type ? (out << to_string(type)) : (out << 
"<null>"));
   out << ")";
 }
 
@@ -14470,17 +14438,17 @@ uint32_t 
GetFileMetadataResult::read(::apache::thrift::protocol::TProtocol* ipro
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->metadata.clear();
-            uint32_t _size630;
-            ::apache::thrift::protocol::TType _ktype631;
-            ::apache::thrift::protocol::TType _vtype632;
-            xfer += iprot->readMapBegin(_ktype631, _vtype632, _size630);
-            uint32_t _i634;
-            for (_i634 = 0; _i634 < _size630; ++_i634)
+            uint32_t _size629;
+            ::apache::thrift::protocol::TType _ktype630;
+            ::apache::thrift::protocol::TType _vtype631;
+            xfer += iprot->readMapBegin(_ktype630, _vtype631, _size629);
+            uint32_t _i633;
+            for (_i633 = 0; _i633 < _size629; ++_i633)
             {
-              int64_t _key635;
-              xfer += iprot->readI64(_key635);
-              std::string& _val636 = this->metadata[_key635];
-              xfer += iprot->readBinary(_val636);
+              int64_t _key634;
+              xfer += iprot->readI64(_key634);
+              std::string& _val635 = this->metadata[_key634];
+              xfer += iprot->readBinary(_val635);
             }
             xfer += iprot->readMapEnd();
           }
@@ -14521,11 +14489,11 @@ uint32_t 
GetFileMetadataResult::write(::apache::thrift::protocol::TProtocol* opr
   xfer += oprot->writeFieldBegin("metadata", 
::apache::thrift::protocol::T_MAP, 1);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I64, 
::apache::thrift::protocol::T_STRING, 
static_cast<uint32_t>(this->metadata.size()));
-    std::map<int64_t, std::string> ::const_iterator _iter637;
-    for (_iter637 = this->metadata.begin(); _iter637 != this->metadata.end(); 
++_iter637)
+    std::map<int64_t, std::string> ::const_iterator _iter636;
+    for (_iter636 = this->metadata.begin(); _iter636 != this->metadata.end(); 
++_iter636)
     {
-      xfer += oprot->writeI64(_iter637->first);
-      xfer += oprot->writeBinary(_iter637->second);
+      xfer += oprot->writeI64(_iter636->first);
+      xfer += oprot->writeBinary(_iter636->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -14546,13 +14514,13 @@ void swap(GetFileMetadataResult &a, 
GetFileMetadataResult &b) {
   swap(a.isSupported, b.isSupported);
 }
 
-GetFileMetadataResult::GetFileMetadataResult(const GetFileMetadataResult& 
other638) {
+GetFileMetadataResult::GetFileMetadataResult(const GetFileMetadataResult& 
other637) {
+  metadata = other637.metadata;
+  isSupported = other637.isSupported;
+}
+GetFileMetadataResult& GetFileMetadataResult::operator=(const 
GetFileMetadataResult& other638) {
   metadata = other638.metadata;
   isSupported = other638.isSupported;
-}
-GetFileMetadataResult& GetFileMetadataResult::operator=(const 
GetFileMetadataResult& other639) {
-  metadata = other639.metadata;
-  isSupported = other639.isSupported;
   return *this;
 }
 void GetFileMetadataResult::printTo(std::ostream& out) const {
@@ -14598,14 +14566,14 @@ uint32_t 
GetFileMetadataRequest::read(::apache::thrift::protocol::TProtocol* ipr
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->fileIds.clear();
-            uint32_t _size640;
-            ::apache::thrift::protocol::TType _etype643;
-            xfer += iprot->readListBegin(_etype643, _size640);
-            this->fileIds.resize(_size640);
-            uint32_t _i644;
-            for (_i644 = 0; _i644 < _size640; ++_i644)
+            uint32_t _size639;
+            ::apache::thrift::protocol::TType _etype642;
+            xfer += iprot->readListBegin(_etype642, _size639);
+            this->fileIds.resize(_size639);
+            uint32_t _i643;
+            for (_i643 = 0; _i643 < _size639; ++_i643)
             {
-              xfer += iprot->readI64(this->fileIds[_i644]);
+              xfer += iprot->readI64(this->fileIds[_i643]);
             }
             xfer += iprot->readListEnd();
           }
@@ -14636,10 +14604,10 @@ uint32_t 
GetFileMetadataRequest::write(::apache::thrift::protocol::TProtocol* op
   xfer += oprot->writeFieldBegin("fileIds", 
::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_I64, 
static_cast<uint32_t>(this->fileIds.size()));
-    std::vector<int64_t> ::const_iterator _iter645;
-    for (_iter645 = this->fileIds.begin(); _iter645 != this->fileIds.end(); 
++_iter645)
+    std::vector<int64_t> ::const_iterator _iter644;
+    for (_iter644 = this->fileIds.begin(); _iter644 != this->fileIds.end(); 
++_iter644)
     {
-      xfer += oprot->writeI64((*_iter645));
+      xfer += oprot->writeI64((*_iter644));
     }
     xfer += oprot->writeListEnd();
   }
@@ -14655,11 +14623,11 @@ void swap(GetFileMetadataRequest &a, 
GetFileMetadataRequest &b) {
   swap(a.fileIds, b.fileIds);
 }
 
-GetFileMetadataRequest::GetFileMetadataRequest(const GetFileMetadataRequest& 
other646) {
-  fileIds = other646.fileIds;
+GetFileMetadataRequest::GetFileMetadataRequest(const GetFileMetadataRequest& 
other645) {
+  fileIds = other645.fileIds;
 }
-GetFileMetadataRequest& GetFileMetadataRequest::operator=(const 
GetFileMetadataRequest& other647) {
-  fileIds = other647.fileIds;
+GetFileMetadataRequest& GetFileMetadataRequest::operator=(const 
GetFileMetadataRequest& other646) {
+  fileIds = other646.fileIds;
   return *this;
 }
 void GetFileMetadataRequest::printTo(std::ostream& out) const {
@@ -14718,11 +14686,11 @@ void swap(PutFileMetadataResult &a, 
PutFileMetadataResult &b) {
   (void) b;
 }
 
-PutFileMetadataResult::PutFileMetadataResult(const PutFileMetadataResult& 
other648) {
-  (void) other648;
+PutFileMetadataResult::PutFileMetadataResult(const PutFileMetadataResult& 
other647) {
+  (void) other647;
 }
-PutFileMetadataResult& PutFileMetadataResult::operator=(const 
PutFileMetadataResult& other649) {
-  (void) other649;
+PutFileMetadataResult& PutFileMetadataResult::operator=(const 
PutFileMetadataResult& other648) {
+  (void) other648;
   return *this;
 }
 void PutFileMetadataResult::printTo(std::ostream& out) const {
@@ -14771,14 +14739,14 @@ uint32_t 
PutFileMetadataRequest::read(::apache::thrift::protocol::TProtocol* ipr
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->fileIds.clear();
-            uint32_t _size650;
-            ::apache::thrift::protocol::TType _etype653;
-            xfer += iprot->readListBegin(_etype653, _size650);
-            this->fileIds.resize(_size650);
-            uint32_t _i654;
-            for (_i654 = 0; _i654 < _size650; ++_i654)
+            uint32_t _size649;
+            ::apache::thrift::protocol::TType _etype652;
+            xfer += iprot->readListBegin(_etype652, _size649);
+            this->fileIds.resize(_size649);
+            uint32_t _i653;
+            for (_i653 = 0; _i653 < _size649; ++_i653)
             {
-              xfer += iprot->readI64(this->fileIds[_i654]);
+              xfer += iprot->readI64(this->fileIds[_i653]);
             }
             xfer += iprot->readListEnd();
           }
@@ -14791,14 +14759,14 @@ uint32_t 
PutFileMetadataRequest::read(::apache::thrift::protocol::TProtocol* ipr
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->metadata.clear();
-            uint32_t _size655;
-            ::apache::thrift::protocol::TType _etype658;
-            xfer += iprot->readListBegin(_etype658, _size655);
-            this->metadata.resize(_size655);
-            uint32_t _i659;
-            for (_i659 = 0; _i659 < _size655; ++_i659)
+            uint32_t _size654;
+            ::apache::thrift::protocol::TType _etype657;
+            xfer += iprot->readListBegin(_etype657, _size654);
+            this->metadata.resize(_size654);
+            uint32_t _i658;
+            for (_i658 = 0; _i658 < _size654; ++_i658)
             {
-              xfer += iprot->readBinary(this->metadata[_i659]);
+              xfer += iprot->readBinary(this->metadata[_i658]);
             }
             xfer += iprot->readListEnd();
           }
@@ -14831,10 +14799,10 @@ uint32_t 
PutFileMetadataRequest::write(::apache::thrift::protocol::TProtocol* op
   xfer += oprot->writeFieldBegin("fileIds", 
::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_I64, 
static_cast<uint32_t>(this->fileIds.size()));
-    std::vector<int64_t> ::const_iterator _iter660;
-    for (_iter660 = this->fileIds.begin(); _iter660 != this->fileIds.end(); 
++_iter660)
+    std::vector<int64_t> ::const_iterator _iter659;
+    for (_iter659 = this->fileIds.begin(); _iter659 != this->fileIds.end(); 
++_iter659)
     {
-      xfer += oprot->writeI64((*_iter660));
+      xfer += oprot->writeI64((*_iter659));
     }
     xfer += oprot->writeListEnd();
   }
@@ -14843,10 +14811,10 @@ uint32_t 
PutFileMetadataRequest::write(::apache::thrift::protocol::TProtocol* op
   xfer += oprot->writeFieldBegin("metadata", 
::apache::thrift::protocol::T_LIST, 2);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, 
static_cast<uint32_t>(this->metadata.size()));
-    std::vector<std::string> ::const_iterator _iter661;
-    for (_iter661 = this->metadata.begin(); _iter661 != this->metadata.end(); 
++_iter661)
+    std::vector<std::string> ::const_iterator _iter660;
+    for (_iter660 = this->metadata.begin(); _iter660 != this->metadata.end(); 
++_iter660)
     {
-      xfer += oprot->writeBinary((*_iter661));
+      xfer += oprot->writeBinary((*_iter660));
     }
     xfer += oprot->writeListEnd();
   }
@@ -14863,13 +14831,13 @@ void swap(PutFileMetadataRequest &a, 
PutFileMetadataRequest &b) {
   swap(a.metadata, b.metadata);
 }
 
-PutFileMetadataRequest::PutFileMetadataRequest(const PutFileMetadataRequest& 
other662) {
+PutFileMetadataRequest::PutFileMetadataRequest(const PutFileMetadataRequest& 
other661) {
+  fileIds = other661.fileIds;
+  metadata = other661.metadata;
+}
+PutFileMetadataRequest& PutFileMetadataRequest::operator=(const 
PutFileMetadataRequest& other662) {
   fileIds = other662.fileIds;
   metadata = other662.metadata;
-}
-PutFileMetadataRequest& PutFileMetadataRequest::operator=(const 
PutFileMetadataRequest& other663) {
-  fileIds = other663.fileIds;
-  metadata = other663.metadata;
   return *this;
 }
 void PutFileMetadataRequest::printTo(std::ostream& out) const {
@@ -14929,11 +14897,11 @@ void swap(ClearFileMetadataResult &a, 
ClearFileMetadataResult &b) {
   (void) b;
 }
 
-ClearFileMetadataResult::ClearFileMetadataResult(const 
ClearFileMetadataResult& other664) {
-  (void) other664;
+ClearFileMetadataResult::ClearFileMetadataResult(const 
ClearFileMetadataResult& other663) {
+  (void) other663;
 }
-ClearFileMetadataResult& ClearFileMetadataResult::operator=(const 
ClearFileMetadataResult& other665) {
-  (void) other665;
+ClearFileMetadataResult& ClearFileMetadataResult::operator=(const 
ClearFileMetadataResult& other664) {
+  (void) other664;
   return *this;
 }
 void ClearFileMetadataResult::printTo(std::ostream& out) const {
@@ -14977,14 +14945,14 @@ uint32_t 
ClearFileMetadataRequest::read(::apache::thrift::protocol::TProtocol* i
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->fileIds.clear();
-            uint32_t _size666;
-            ::apache::thrift::protocol::TType _etype669;
-            xfer += iprot->readListBegin(_etype669, _size666);
-            this->fileIds.resize(_size666);
-            uint32_t _i670;
-            for (_i670 = 0; _i670 < _size666; ++_i670)
+            uint32_t _size665;
+            ::apache::thrift::protocol::TType _etype668;
+            xfer += iprot->readListBegin(_etype668, _size665);
+            this->fileIds.resize(_size665);
+            uint32_t _i669;
+            for (_i669 = 0; _i669 < _size665; ++_i669)
             {
-              xfer += iprot->readI64(this->fileIds[_i670]);
+              xfer += iprot->readI64(this->fileIds[_i669]);
             }
             xfer += iprot->readListEnd();
           }
@@ -15015,10 +14983,10 @@ uint32_t 
ClearFileMetadataRequest::write(::apache::thrift::protocol::TProtocol*
   xfer += oprot->writeFieldBegin("fileIds", 
::apache::thrift::protocol::T_LIST, 1);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_I64, 
static_cast<uint32_t>(this->fileIds.size()));
-    std::vector<int64_t> ::const_iterator _iter671;
-    for (_iter671 = this->fileIds.begin(); _iter671 != this->fileIds.end(); 
++_iter671)
+    std::vector<int64_t> ::const_iterator _iter670;
+    for (_iter670 = this->fileIds.begin(); _iter670 != this->fileIds.end(); 
++_iter670)
     {
-      xfer += oprot->writeI64((*_iter671));
+      xfer += oprot->writeI64((*_iter670));
     }
     xfer += oprot->writeListEnd();
   }
@@ -15034,11 +15002,11 @@ void swap(ClearFileMetadataRequest &a, 
ClearFileMetadataRequest &b) {
   swap(a.fileIds, b.fileIds);
 }
 
-ClearFileMetadataRequest::ClearFileMetadataRequest(const 
ClearFileMetadataRequest& other672) {
-  fileIds = other672.fileIds;
+ClearFileMetadataRequest::ClearFileMetadataRequest(const 
ClearFileMetadataRequest& other671) {
+  fileIds = other671.fileIds;
 }
-ClearFileMetadataRequest& ClearFileMetadataRequest::operator=(const 
ClearFileMetadataRequest& other673) {
-  fileIds = other673.fileIds;
+ClearFileMetadataRequest& ClearFileMetadataRequest::operator=(const 
ClearFileMetadataRequest& other672) {
+  fileIds = other672.fileIds;
   return *this;
 }
 void ClearFileMetadataRequest::printTo(std::ostream& out) const {
@@ -15083,14 +15051,14 @@ uint32_t 
GetAllFunctionsResponse::read(::apache::thrift::protocol::TProtocol* ip
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->functions.clear();
-            uint32_t _size674;
-            ::apache::thrift::protocol::TType _etype677;
-            xfer += iprot->readListBegin(_etype677, _size674);
-            this->functions.resize(_size674);
-            uint32_t _i678;
-            for (_i678 = 0; _i678 < _size674; ++_i678)
+            uint32_t _size673;
+            ::apache::thrift::protocol::TType _etype676;
+            xfer += iprot->readListBegin(_etype676, _size673);
+            this->functions.resize(_size673);
+            uint32_t _i677;
+            for (_i677 = 0; _i677 < _size673; ++_i677)
             {
-              xfer += this->functions[_i678].read(iprot);
+              xfer += this->functions[_i677].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -15120,10 +15088,10 @@ uint32_t 
GetAllFunctionsResponse::write(::apache::thrift::protocol::TProtocol* o
     xfer += oprot->writeFieldBegin("functions", 
::apache::thrift::protocol::T_LIST, 1);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, 
static_cast<uint32_t>(this->functions.size()));
-      std::vector<Function> ::const_iterator _iter679;
-      for (_iter679 = this->functions.begin(); _iter679 != 
this->functions.end(); ++_iter679)
+      std::vector<Function> ::const_iterator _iter678;
+      for (_iter678 = this->functions.begin(); _iter678 != 
this->functions.end(); ++_iter678)
       {
-        xfer += (*_iter679).write(oprot);
+        xfer += (*_iter678).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -15140,13 +15108,13 @@ void swap(GetAllFunctionsResponse &a, 
GetAllFunctionsResponse &b) {
   swap(a.__isset, b.__isset);
 }
 
-GetAllFunctionsResponse::GetAllFunctionsResponse(const 
GetAllFunctionsResponse& other680) {
+GetAllFunctionsResponse::GetAllFunctionsResponse(const 
GetAllFunctionsResponse& other679) {
+  functions = other679.functions;
+  __isset = other679.__isset;
+}
+GetAllFunctionsResponse& GetAllFunctionsResponse::operator=(const 
GetAllFunctionsResponse& other680) {
   functions = other680.functions;
   __isset = other680.__isset;
-}
-GetAllFunctionsResponse& GetAllFunctionsResponse::operator=(const 
GetAllFunctionsResponse& other681) {
-  functions = other681.functions;
-  __isset = other681.__isset;
   return *this;
 }
 void GetAllFunctionsResponse::printTo(std::ostream& out) const {
@@ -15226,13 +15194,13 @@ void swap(MetaException &a, MetaException &b) {
   swap(a.__isset, b.__isset);
 }
 
-MetaException::MetaException(const MetaException& other682) : TException() {
+MetaException::MetaException(const MetaException& other681) : TException() {
+  message = other681.message;
+  __isset = other681.__isset;
+}
+MetaException& MetaException::operator=(const MetaException& other682) {
   message = other682.message;
   __isset = other682.__isset;
-}
-MetaException& MetaException::operator=(const MetaException& other683) {
-  message = other683.message;
-  __isset = other683.__isset;
   return *this;
 }
 void MetaException::printTo(std::ostream& out) const {
@@ -15323,13 +15291,13 @@ void swap(UnknownTableException &a, 
UnknownTableException &b) {
   swap(a.__isset, b.__isset);
 }
 
-UnknownTableException::UnknownTableException(const UnknownTableException& 
other684) : TException() {
+UnknownTableException::UnknownTableException(const UnknownTableException& 
other683) : TException() {
+  message = other683.message;
+  __isset = other683.__isset;
+}
+UnknownTableException& UnknownTableException::operator=(const 
UnknownTableException& other684) {
   message = other684.message;
   __isset = other684.__isset;
-}
-UnknownTableException& UnknownTableException::operator=(const 
UnknownTableException& other685) {
-  message = other685.message;
-  __isset = other685.__isset;
   return *this;
 }
 void UnknownTableException::printTo(std::ostream& out) const {
@@ -15420,13 +15388,13 @@ void swap(UnknownDBException &a, UnknownDBException 
&b) {
   swap(a.__isset, b.__isset);
 }
 
-UnknownDBException::UnknownDBException(const UnknownDBException& other686) : 
TException() {
+UnknownDBException::UnknownDBException(const UnknownDBException& other685) : 
TException() {
+  message = other685.message;
+  __isset = other685.__isset;
+}
+UnknownDBException& UnknownDBException::operator=(const UnknownDBException& 
other686) {
   message = other686.message;
   __isset = other686.__isset;
-}
-UnknownDBException& UnknownDBException::operator=(const UnknownDBException& 
other687) {
-  message = other687.message;
-  __isset = other687.__isset;
   return *this;
 }
 void UnknownDBException::printTo(std::ostream& out) const {
@@ -15517,13 +15485,13 @@ void swap(AlreadyExistsException &a, 
AlreadyExistsException &b) {
   swap(a.__isset, b.__isset);
 }
 
-AlreadyExistsException::AlreadyExistsException(const AlreadyExistsException& 
other688) : TException() {
+AlreadyExistsException::AlreadyExistsException(const AlreadyExistsException& 
other687) : TException() {
+  message = other687.message;
+  __isset = other687.__isset;
+}
+AlreadyExistsException& AlreadyExistsException::operator=(const 
AlreadyExistsException& other688) {
   message = other688.message;
   __isset = other688.__isset;
-}
-AlreadyExistsException& AlreadyExistsException::operator=(const 
AlreadyExistsException& other689) {
-  message = other689.message;
-  __isset = other689.__isset;
   return *this;
 }
 void AlreadyExistsException::printTo(std::ostream& out) const {
@@ -15614,13 +15582,13 @@ void swap(InvalidPartitionException &a, 
InvalidPartitionException &b) {
   swap(a.__isset, b.__isset);
 }
 
-InvalidPartitionException::InvalidPartitionException(const 
InvalidPartitionException& other690) : TException() {
+InvalidPartitionException::InvalidPartitionException(const 
InvalidPartitionException& other689) : TException() {
+  message = other689.message;
+  __isset = other689.__isset;
+}
+InvalidPartitionException& InvalidPartitionException::operator=(const 
InvalidPartitionException& other690) {
   message = other690.message;
   __isset = other690.__isset;
-}
-InvalidPartitionException& InvalidPartitionException::operator=(const 
InvalidPartitionException& other691) {
-  message = other691.message;
-  __isset = other691.__isset;
   return *this;
 }
 void InvalidPartitionException::printTo(std::ostream& out) const {
@@ -15711,13 +15679,13 @@ void swap(UnknownPartitionException &a, 
UnknownPartitionException &b) {
   swap(a.__isset, b.__isset);
 }
 
-UnknownPartitionException::UnknownPartitionException(const 
UnknownPartitionException& other692) : TException() {
+UnknownPartitionException::UnknownPartitionException(const 
UnknownPartitionException& other691) : TException() {
+  message = other691.message;
+  __isset = other691.__isset;
+}
+UnknownPartitionException& UnknownPartitionException::operator=(const 
UnknownPartitionException& other692) {
   message = other692.message;
   __isset = other692.__isset;
-}
-UnknownPartitionException& UnknownPartitionException::operator=(const 
UnknownPartitionException& other693) {
-  message = other693.message;
-  __isset = other693.__isset;
   return *this;
 }
 void UnknownPartitionException::printTo(std::ostream& out) const {
@@ -15808,13 +15776,13 @@ void swap(InvalidObjectException &a, 
InvalidObjectException &b) {
   swap(a.__isset, b.__isset);
 }
 
-InvalidObjectException::InvalidObjectException(const InvalidObjectException& 
other694) : TException() {
+InvalidObjectException::InvalidObjectException(const InvalidObjectException& 
other693) : TException() {
+  message = other693.message;
+  __isset = other693.__isset;
+}
+InvalidObjectException& InvalidObjectException::operator=(const 
InvalidObjectException& other694) {
   message = other694.message;
   __isset = other694.__isset;
-}
-InvalidObjectException& InvalidObjectException::operator=(const 
InvalidObjectException& other695) {
-  message = other695.message;
-  __isset = other695.__isset;
   return *this;
 }
 void InvalidObjectException::printTo(std::ostream& out) const {
@@ -15905,13 +15873,13 @@ void swap(NoSuchObjectException &a, 
NoSuchObjectException &b) {
   swap(a.__isset, b.__isset);
 }
 
-NoSuchObjectException::NoSuchObjectException(const NoSuchObjectException& 
other696) : TException() {
+NoSuchObjectException::NoSuchObjectException(const NoSuchObjectException& 
other695) : TException() {
+  message = other695.message;
+  __isset = other695.__isset;
+}
+NoSuchObjectException& NoSuchObjectException::operator=(const 
NoSuchObjectException& other696) {
   message = other696.message;
   __isset = other696.__isset;
-}
-NoSuchObjectException& NoSuchObjectException::operator=(const 
NoSuchObjectException& other697) {
-  message = other697.message;
-  __isset = other697.__isset;
   return *this;
 }
 void NoSuchObjectException::printTo(std::ostream& out) const {
@@ -16002,13 +15970,13 @@ void swap(IndexAlreadyExistsException &a, 
IndexAlreadyExistsException &b) {
   swap(a.__isset, b.__isset);
 }
 
-IndexAlreadyExistsException::IndexAlreadyExistsException(const 
IndexAlreadyExistsException& other698) : TException() {
+IndexAlreadyExistsException::IndexAlreadyExistsException(const 
IndexAlreadyExistsException& other697) : TException() {
+  message = other697.message;
+  __isset = other697.__isset;
+}
+IndexAlreadyExistsException& IndexAlreadyExistsException::operator=(const 
IndexAlreadyExistsException& other698) {
   message = other698.message;
   __isset = other698.__isset;
-}
-IndexAlreadyExistsException& IndexAlreadyExistsException::operator=(const 
IndexAlreadyExistsException& other699) {
-  message = other699.message;
-  __isset = other699.__isset;
   return *this;
 }
 void IndexAlreadyExistsException::printTo(std::ostream& out) const {
@@ -16099,13 +16067,13 @@ void swap(InvalidOperationException &a, 
InvalidOperationException &b) {
   swap(a.__isset, b.__isset);
 }
 
-InvalidOperationException::InvalidOperationException(const 
InvalidOperationException& other700) : TException() {
+InvalidOperationException::InvalidOperationException(const 
InvalidOperationException& other699) : TException() {
+  message = other699.message;
+  __isset = other699.__isset;
+}
+InvalidOperationException& InvalidOperationException::operator=(const 
InvalidOperationException& other700) {
   message = other700.message;
   __isset = other700.__isset;
-}
-InvalidOperationException& InvalidOperationException::operator=(const 
InvalidOperationException& other701) {
-  message = other701.message;
-  __isset = other701.__isset;
   return *this;
 }
 void InvalidOperationException::printTo(std::ostream& out) const {
@@ -16196,13 +16164,13 @@ void swap(ConfigValSecurityException &a, 
ConfigValSecurityException &b) {
   swap(a.__isset, b.__isset);
 }
 
-ConfigValSecurityException::ConfigValSecurityException(const 
ConfigValSecurityException& other702) : TException() {
+ConfigValSecurityException::ConfigValSecurityException(const 
ConfigValSecurityException& other701) : TException() {
+  message = other701.message;
+  __isset = other701.__isset;
+}
+ConfigValSecurityException& ConfigValSecurityException::operator=(const 
ConfigValSecurityException& other702) {
   message = other702.message;
   __isset = other702.__isset;
-}
-ConfigValSecurityException& ConfigValSecurityException::operator=(const 
ConfigValSecurityException& other703) {
-  message = other703.message;
-  __isset = other703.__isset;
   return *this;
 }
 void ConfigValSecurityException::printTo(std::ostream& out) const {
@@ -16293,13 +16261,13 @@ void swap(InvalidInputException &a, 
InvalidInputException &b) {
   swap(a.__isset, b.__isset);
 }
 
-InvalidInputException::InvalidInputException(const InvalidInputException& 
other704) : TException() {
+InvalidInputException::InvalidInputException(const InvalidInputException& 
other703) : TException() {
+  message = other703.message;
+  __isset = other703.__isset;
+}
+InvalidInputException& InvalidInputException::operator=(const 
InvalidInputException& other704) {
   message = other704.message;
   __isset = other704.__isset;
-}
-InvalidInputException& InvalidInputException::operator=(const 
InvalidInputException& other705) {
-  message = other705.message;
-  __isset = other705.__isset;
   return *this;
 }
 void InvalidInputException::printTo(std::ostream& out) const {
@@ -16390,13 +16358,13 @@ void swap(NoSuchTxnException &a, NoSuchTxnException 
&b) {
   swap(a.__isset, b.__isset);
 }
 
-NoSuchTxnException::NoSuchTxnException(const NoSuchTxnException& other706) : 
TException() {
+NoSuchTxnException::NoSuchTxnException(const NoSuchTxnException& other705) : 
TException() {
+  message = other705.message;
+  __isset = other705.__isset;
+}
+NoSuchTxnException& NoSuchTxnException::operator=(const NoSuchTxnException& 
other706) {
   message = other706.message;
   __isset = other706.__isset;
-}
-NoSuchTxnException& NoSuchTxnException::operator=(const NoSuchTxnException& 
other707) {
-  message = other707.message;
-  __isset = other707.__isset;
   return *this;
 }
 void NoSuchTxnException::printTo(std::ostream& out) const {
@@ -16487,13 +16455,13 @@ void swap(TxnAbortedException &a, TxnAbortedException 
&b) {
   swap(a.__isset, b.__isset);
 }
 
-TxnAbortedException::TxnAbortedException(const TxnAbortedException& other708) 
: TException() {
+TxnAbortedException::TxnAbortedException(const TxnAbortedException& other707) 
: TException() {
+  message = other707.message;
+  __isset = other707.__isset;
+}
+TxnAbortedException& TxnAbortedException::operator=(const TxnAbortedException& 
other708) {
   message = other708.message;
   __isset = other708.__isset;
-}
-TxnAbortedException& TxnAbortedException::operator=(const TxnAbortedException& 
other709) {
-  message = other709.message;
-  __isset = other709.__isset;
   return *this;
 }
 void TxnAbortedException::printTo(std::ostream& out) const {
@@ -16584,13 +16552,13 @@ void swap(TxnOpenException &a, TxnOpenException &b) {
   swap(a.__isset, b.__isset);
 }
 
-TxnOpenException::TxnOpenException(const TxnOpenException& other710) : 
TException() {
+TxnOpenException::TxnOpenException(const TxnOpenException& other709) : 
TException() {
+  message = other709.message;
+  __isset = other709.__isset;
+}
+TxnOpenException& TxnOpenException::operator=(const TxnOpenException& 
other710) {
   message = other710.message;
   __isset = other710.__isset;
-}
-TxnOpenException& TxnOpenException::operator=(const TxnOpenException& 
other711) {
-  message = other711.message;
-  __isset = other711.__isset;
   return *this;
 }
 void TxnOpenException::printTo(std::ostream& out) const {
@@ -16681,13 +16649,13 @@ void swap(NoSuchLockException &a, NoSuchLockException 
&b) {
   swap(a.__isset, b.__isset);
 }
 
-NoSuchLockException::NoSuchLockException(const NoSuchLockException& other712) 
: TException() {
+NoSuchLockException::NoSuchLockException(const NoSuchLockException& other711) 
: TException() {
+  message = other711.message;
+  __isset = other711.__isset;
+}
+NoSuchLockException& NoSuchLockException::operator=(const NoSuchLockException& 
other712) {
   message = other712.message;
   __isset = other712.__isset;
-}
-NoSuchLockException& NoSuchLockException::operator=(const NoSuchLockException& 
other713) {
-  message = other713.message;
-  __isset = other713.__isset;
   return *this;
 }
 void NoSuchLockException::printTo(std::ostream& out) const {

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h 
b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
index 53ab272..c20badd 100644
--- a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
+++ b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
@@ -137,14 +137,6 @@ struct ResourceType {
 
 extern const std::map<int, const char*> _ResourceType_VALUES_TO_NAMES;
 
-struct FileMetadataExprType {
-  enum type {
-    ORC_SARG = 1
-  };
-};
-
-extern const std::map<int, const char*> _FileMetadataExprType_VALUES_TO_NAMES;
-
 class Version;
 
 class FieldSchema;
@@ -5805,9 +5797,8 @@ inline std::ostream& operator<<(std::ostream& out, const 
GetFileMetadataByExprRe
 }
 
 typedef struct _GetFileMetadataByExprRequest__isset {
-  _GetFileMetadataByExprRequest__isset() : doGetFooters(false), type(false) {}
+  _GetFileMetadataByExprRequest__isset() : doGetFooters(false) {}
   bool doGetFooters :1;
-  bool type :1;
 } _GetFileMetadataByExprRequest__isset;
 
 class GetFileMetadataByExprRequest {
@@ -5815,14 +5806,13 @@ class GetFileMetadataByExprRequest {
 
   GetFileMetadataByExprRequest(const GetFileMetadataByExprRequest&);
   GetFileMetadataByExprRequest& operator=(const GetFileMetadataByExprRequest&);
-  GetFileMetadataByExprRequest() : expr(), doGetFooters(0), 
type((FileMetadataExprType::type)0) {
+  GetFileMetadataByExprRequest() : expr(), doGetFooters(0) {
   }
 
   virtual ~GetFileMetadataByExprRequest() throw();
   std::vector<int64_t>  fileIds;
   std::string expr;
   bool doGetFooters;
-  FileMetadataExprType::type type;
 
   _GetFileMetadataByExprRequest__isset __isset;
 
@@ -5832,8 +5822,6 @@ class GetFileMetadataByExprRequest {
 
   void __set_doGetFooters(const bool val);
 
-  void __set_type(const FileMetadataExprType::type val);
-
   bool operator == (const GetFileMetadataByExprRequest & rhs) const
   {
     if (!(fileIds == rhs.fileIds))
@@ -5844,10 +5832,6 @@ class GetFileMetadataByExprRequest {
       return false;
     else if (__isset.doGetFooters && !(doGetFooters == rhs.doGetFooters))
       return false;
-    if (__isset.type != rhs.__isset.type)
-      return false;
-    else if (__isset.type && !(type == rhs.type))
-      return false;
     return true;
   }
   bool operator != (const GetFileMetadataByExprRequest &rhs) const {

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FileMetadataExprType.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FileMetadataExprType.java
 
b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FileMetadataExprType.java
deleted file mode 100644
index 4e393e2..0000000
--- 
a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FileMetadataExprType.java
+++ /dev/null
@@ -1,42 +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 java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-public enum FileMetadataExprType implements org.apache.thrift.TEnum {
-  ORC_SARG(1);
-
-  private final int value;
-
-  private FileMetadataExprType(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static FileMetadataExprType findByValue(int value) { 
-    switch (value) {
-      case 1:
-        return ORC_SARG;
-      default:
-        return null;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
 
b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
index 0236b4a..b880093 100644
--- 
a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
+++ 
b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java
@@ -41,7 +41,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
   private static final org.apache.thrift.protocol.TField FILE_IDS_FIELD_DESC = 
new org.apache.thrift.protocol.TField("fileIds", 
org.apache.thrift.protocol.TType.LIST, (short)1);
   private static final org.apache.thrift.protocol.TField EXPR_FIELD_DESC = new 
org.apache.thrift.protocol.TField("expr", 
org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField 
DO_GET_FOOTERS_FIELD_DESC = new 
org.apache.thrift.protocol.TField("doGetFooters", 
org.apache.thrift.protocol.TType.BOOL, (short)3);
-  private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new 
org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, 
(short)4);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = 
new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -52,18 +51,12 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
   private List<Long> fileIds; // required
   private ByteBuffer expr; // required
   private boolean doGetFooters; // optional
-  private FileMetadataExprType type; // optional
 
   /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     FILE_IDS((short)1, "fileIds"),
     EXPR((short)2, "expr"),
-    DO_GET_FOOTERS((short)3, "doGetFooters"),
-    /**
-     * 
-     * @see FileMetadataExprType
-     */
-    TYPE((short)4, "type");
+    DO_GET_FOOTERS((short)3, "doGetFooters");
 
     private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
 
@@ -84,8 +77,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
           return EXPR;
         case 3: // DO_GET_FOOTERS
           return DO_GET_FOOTERS;
-        case 4: // TYPE
-          return TYPE;
         default:
           return null;
       }
@@ -128,7 +119,7 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
   // isset id assignments
   private static final int __DOGETFOOTERS_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = 
{_Fields.DO_GET_FOOTERS,_Fields.TYPE};
+  private static final _Fields optionals[] = {_Fields.DO_GET_FOOTERS};
   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);
@@ -139,8 +130,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING
        , true)));
     tmpMap.put(_Fields.DO_GET_FOOTERS, new 
org.apache.thrift.meta_data.FieldMetaData("doGetFooters", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
-    tmpMap.put(_Fields.TYPE, new 
org.apache.thrift.meta_data.FieldMetaData("type", 
org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new 
org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, 
FileMetadataExprType.class)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetFileMetadataByExprRequest.class,
 metaDataMap);
   }
@@ -170,9 +159,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
       this.expr = org.apache.thrift.TBaseHelper.copyBinary(other.expr);
     }
     this.doGetFooters = other.doGetFooters;
-    if (other.isSetType()) {
-      this.type = other.type;
-    }
   }
 
   public GetFileMetadataByExprRequest deepCopy() {
@@ -185,7 +171,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
     this.expr = null;
     setDoGetFootersIsSet(false);
     this.doGetFooters = false;
-    this.type = null;
   }
 
   public int getFileIdsSize() {
@@ -280,37 +265,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, 
__DOGETFOOTERS_ISSET_ID, value);
   }
 
-  /**
-   * 
-   * @see FileMetadataExprType
-   */
-  public FileMetadataExprType getType() {
-    return this.type;
-  }
-
-  /**
-   * 
-   * @see FileMetadataExprType
-   */
-  public void setType(FileMetadataExprType type) {
-    this.type = type;
-  }
-
-  public void unsetType() {
-    this.type = null;
-  }
-
-  /** Returns true if field type is set (has been assigned a value) and false 
otherwise */
-  public boolean isSetType() {
-    return this.type != null;
-  }
-
-  public void setTypeIsSet(boolean value) {
-    if (!value) {
-      this.type = null;
-    }
-  }
-
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case FILE_IDS:
@@ -337,14 +291,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
       }
       break;
 
-    case TYPE:
-      if (value == null) {
-        unsetType();
-      } else {
-        setType((FileMetadataExprType)value);
-      }
-      break;
-
     }
   }
 
@@ -359,9 +305,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
     case DO_GET_FOOTERS:
       return isDoGetFooters();
 
-    case TYPE:
-      return getType();
-
     }
     throw new IllegalStateException();
   }
@@ -379,8 +322,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
       return isSetExpr();
     case DO_GET_FOOTERS:
       return isSetDoGetFooters();
-    case TYPE:
-      return isSetType();
     }
     throw new IllegalStateException();
   }
@@ -425,15 +366,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
         return false;
     }
 
-    boolean this_present_type = true && this.isSetType();
-    boolean that_present_type = true && that.isSetType();
-    if (this_present_type || that_present_type) {
-      if (!(this_present_type && that_present_type))
-        return false;
-      if (!this.type.equals(that.type))
-        return false;
-    }
-
     return true;
   }
 
@@ -456,11 +388,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
     if (present_doGetFooters)
       list.add(doGetFooters);
 
-    boolean present_type = true && (isSetType());
-    list.add(present_type);
-    if (present_type)
-      list.add(type.getValue());
-
     return list.hashCode();
   }
 
@@ -502,16 +429,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetType()).compareTo(other.isSetType());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetType()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, 
other.type);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
     return 0;
   }
 
@@ -553,16 +470,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
       sb.append(this.doGetFooters);
       first = false;
     }
-    if (isSetType()) {
-      if (!first) sb.append(", ");
-      sb.append("type:");
-      if (this.type == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.type);
-      }
-      first = false;
-    }
     sb.append(")");
     return sb.toString();
   }
@@ -650,14 +557,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
             }
             break;
-          case 4: // TYPE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.type = 
org.apache.hadoop.hive.metastore.api.FileMetadataExprType.findByValue(iprot.readI32());
-              struct.setTypeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-            }
-            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
         }
@@ -693,13 +592,6 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
         oprot.writeBool(struct.doGetFooters);
         oprot.writeFieldEnd();
       }
-      if (struct.type != null) {
-        if (struct.isSetType()) {
-          oprot.writeFieldBegin(TYPE_FIELD_DESC);
-          oprot.writeI32(struct.type.getValue());
-          oprot.writeFieldEnd();
-        }
-      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -729,16 +621,10 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
       if (struct.isSetDoGetFooters()) {
         optionals.set(0);
       }
-      if (struct.isSetType()) {
-        optionals.set(1);
-      }
-      oprot.writeBitSet(optionals, 2);
+      oprot.writeBitSet(optionals, 1);
       if (struct.isSetDoGetFooters()) {
         oprot.writeBool(struct.doGetFooters);
       }
-      if (struct.isSetType()) {
-        oprot.writeI32(struct.type.getValue());
-      }
     }
 
     @Override
@@ -757,15 +643,11 @@ public class GetFileMetadataByExprRequest implements 
org.apache.thrift.TBase<Get
       struct.setFileIdsIsSet(true);
       struct.expr = iprot.readBinary();
       struct.setExprIsSet(true);
-      BitSet incoming = iprot.readBitSet(2);
+      BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         struct.doGetFooters = iprot.readBool();
         struct.setDoGetFootersIsSet(true);
       }
-      if (incoming.get(1)) {
-        struct.type = 
org.apache.hadoop.hive.metastore.api.FileMetadataExprType.findByValue(iprot.readI32());
-        struct.setTypeIsSet(true);
-      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/gen/thrift/gen-php/metastore/Types.php
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-php/metastore/Types.php 
b/metastore/src/gen/thrift/gen-php/metastore/Types.php
index e63213d..3ec2b1c 100644
--- a/metastore/src/gen/thrift/gen-php/metastore/Types.php
+++ b/metastore/src/gen/thrift/gen-php/metastore/Types.php
@@ -143,13 +143,6 @@ final class ResourceType {
   );
 }
 
-final class FileMetadataExprType {
-  const ORC_SARG = 1;
-  static public $__names = array(
-    1 => 'ORC_SARG',
-  );
-}
-
 class Version {
   static $_TSPEC;
 
@@ -14115,10 +14108,6 @@ class GetFileMetadataByExprRequest {
    * @var bool
    */
   public $doGetFooters = null;
-  /**
-   * @var int
-   */
-  public $type = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -14139,10 +14128,6 @@ class GetFileMetadataByExprRequest {
           'var' => 'doGetFooters',
           'type' => TType::BOOL,
           ),
-        4 => array(
-          'var' => 'type',
-          'type' => TType::I32,
-          ),
         );
     }
     if (is_array($vals)) {
@@ -14155,9 +14140,6 @@ class GetFileMetadataByExprRequest {
       if (isset($vals['doGetFooters'])) {
         $this->doGetFooters = $vals['doGetFooters'];
       }
-      if (isset($vals['type'])) {
-        $this->type = $vals['type'];
-      }
     }
   }
 
@@ -14211,13 +14193,6 @@ class GetFileMetadataByExprRequest {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->type);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -14258,11 +14233,6 @@ class GetFileMetadataByExprRequest {
       $xfer += $output->writeBool($this->doGetFooters);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->type !== null) {
-      $xfer += $output->writeFieldBegin('type', TType::I32, 4);
-      $xfer += $output->writeI32($this->type);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py 
b/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
index 8940dff..221d602 100644
--- a/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
+++ b/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
@@ -213,17 +213,6 @@ class ResourceType:
     "ARCHIVE": 3,
   }
 
-class FileMetadataExprType:
-  ORC_SARG = 1
-
-  _VALUES_TO_NAMES = {
-    1: "ORC_SARG",
-  }
-
-  _NAMES_TO_VALUES = {
-    "ORC_SARG": 1,
-  }
-
 
 class Version:
   """
@@ -9938,7 +9927,6 @@ class GetFileMetadataByExprRequest:
    - fileIds
    - expr
    - doGetFooters
-   - type
   """
 
   thrift_spec = (
@@ -9946,14 +9934,12 @@ class GetFileMetadataByExprRequest:
     (1, TType.LIST, 'fileIds', (TType.I64,None), None, ), # 1
     (2, TType.STRING, 'expr', None, None, ), # 2
     (3, TType.BOOL, 'doGetFooters', None, None, ), # 3
-    (4, TType.I32, 'type', None, None, ), # 4
   )
 
-  def __init__(self, fileIds=None, expr=None, doGetFooters=None, type=None,):
+  def __init__(self, fileIds=None, expr=None, doGetFooters=None,):
     self.fileIds = fileIds
     self.expr = expr
     self.doGetFooters = doGetFooters
-    self.type = type
 
   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:
@@ -9984,11 +9970,6 @@ class GetFileMetadataByExprRequest:
           self.doGetFooters = iprot.readBool()
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.I32:
-          self.type = iprot.readI32()
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -10014,10 +9995,6 @@ class GetFileMetadataByExprRequest:
       oprot.writeFieldBegin('doGetFooters', TType.BOOL, 3)
       oprot.writeBool(self.doGetFooters)
       oprot.writeFieldEnd()
-    if self.type is not None:
-      oprot.writeFieldBegin('type', TType.I32, 4)
-      oprot.writeI32(self.type)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -10034,7 +10011,6 @@ class GetFileMetadataByExprRequest:
     value = (value * 31) ^ hash(self.fileIds)
     value = (value * 31) ^ hash(self.expr)
     value = (value * 31) ^ hash(self.doGetFooters)
-    value = (value * 31) ^ hash(self.type)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb 
b/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
index 08b9b06..cfabbb8 100644
--- a/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
+++ b/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
@@ -101,12 +101,6 @@ module ResourceType
   VALID_VALUES = Set.new([JAR, FILE, ARCHIVE]).freeze
 end
 
-module FileMetadataExprType
-  ORC_SARG = 1
-  VALUE_MAP = {1 => "ORC_SARG"}
-  VALID_VALUES = Set.new([ORC_SARG]).freeze
-end
-
 class Version
   include ::Thrift::Struct, ::Thrift::Struct_Union
   VERSION = 1
@@ -2280,13 +2274,11 @@ class GetFileMetadataByExprRequest
   FILEIDS = 1
   EXPR = 2
   DOGETFOOTERS = 3
-  TYPE = 4
 
   FIELDS = {
     FILEIDS => {:type => ::Thrift::Types::LIST, :name => 'fileIds', :element 
=> {:type => ::Thrift::Types::I64}},
     EXPR => {:type => ::Thrift::Types::STRING, :name => 'expr', :binary => 
true},
-    DOGETFOOTERS => {:type => ::Thrift::Types::BOOL, :name => 'doGetFooters', 
:optional => true},
-    TYPE => {:type => ::Thrift::Types::I32, :name => 'type', :optional => 
true, :enum_class => ::FileMetadataExprType}
+    DOGETFOOTERS => {:type => ::Thrift::Types::BOOL, :name => 'doGetFooters', 
:optional => true}
   }
 
   def struct_fields; FIELDS; end
@@ -2294,9 +2286,6 @@ class GetFileMetadataByExprRequest
   def validate
     raise 
::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required 
field fileIds is unset!') unless @fileIds
     raise 
::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required 
field expr is unset!') unless @expr
-    unless @type.nil? || ::FileMetadataExprType::VALID_VALUES.include?(@type)
-      raise 
::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid 
value of field type!')
-    end
   end
 
   ::Thrift::Struct.generate_accessors self

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java
deleted file mode 100644
index 7c3525a..0000000
--- 
a/metastore/src/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java
+++ /dev/null
@@ -1,30 +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;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.List;
-
-public interface FileMetadataHandler {
-
-  void getFileMetadataByExpr(List<Long> fileIds, byte[] expr,
-      ByteBuffer[] metadatas, ByteBuffer[] results, boolean[] eliminated) 
throws IOException;
-
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
index 8ed4310..40e6e62 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -5617,16 +5617,13 @@ public class HiveMetaStore extends ThriftHiveMetastore {
         return result;
       }
       result.setIsSupported(true);
-
       List<Long> fileIds = req.getFileIds();
-      boolean needMetadata = !req.isSetDoGetFooters() || req.isDoGetFooters();
-      FileMetadataExprType type = req.isSetType() ? req.getType() : 
FileMetadataExprType.ORC_SARG;
-
-      ByteBuffer[] metadatas = needMetadata ? new ByteBuffer[fileIds.size()] : 
null;
-      ByteBuffer[] ppdResults = new ByteBuffer[fileIds.size()];
+      byte[] expr = req.getExpr();
+      boolean needMetadata = req.isDoGetFooters();
+      ByteBuffer[] metadatas = new ByteBuffer[fileIds.size()];
+      ByteBuffer[] stripeBitsets = new ByteBuffer[fileIds.size()];
       boolean[] eliminated = new boolean[fileIds.size()];
-
-      getMS().getFileMetadataByExpr(fileIds, type, req.getExpr(), metadatas, 
ppdResults, eliminated);
+      getMS().getFileMetadataByExpr(fileIds, expr, metadatas, stripeBitsets, 
eliminated);
       for (int i = 0; i < metadatas.length; ++i) {
         long fileId = fileIds.get(i);
         ByteBuffer metadata = metadatas[i];
@@ -5634,7 +5631,7 @@ public class HiveMetaStore extends ThriftHiveMetastore {
         metadata = (eliminated[i] || !needMetadata) ? null
             : handleReadOnlyBufferForThrift(metadata);
         MetadataPpdResult mpr = new MetadataPpdResult();
-        ByteBuffer bitset = eliminated[i] ? null : 
handleReadOnlyBufferForThrift(ppdResults[i]);
+        ByteBuffer bitset = eliminated[i] ? null : 
handleReadOnlyBufferForThrift(stripeBitsets[i]);
         mpr.setMetadata(metadata);
         mpr.setIncludeBitset(bitset);
         result.putToMetadata(fileId, mpr);

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index 0f98963..f0c1893 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -79,7 +79,6 @@ import 
org.apache.hadoop.hive.metastore.api.ColumnStatisticsObj;
 import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId;
 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.FunctionType;
 import org.apache.hadoop.hive.metastore.api.HiveObjectPrivilege;
@@ -7667,7 +7666,7 @@ public class ObjectStore implements RawStore, 
Configurable {
   }
 
   @Override
-  public void getFileMetadataByExpr(List<Long> fileIds, FileMetadataExprType 
type, byte[] expr,
+  public void getFileMetadataByExpr(List<Long> fileIds, byte[] expr,
       ByteBuffer[] metadatas, ByteBuffer[] stripeBitsets, boolean[] 
eliminated) {
     throw new UnsupportedOperationException();
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java
index 4aa17a5..45428ed 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/RawStore.java
@@ -31,7 +31,6 @@ import org.apache.hadoop.hive.metastore.api.AggrStats;
 import org.apache.hadoop.hive.metastore.api.ColumnStatistics;
 import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId;
 import org.apache.hadoop.hive.metastore.api.Database;
-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;
@@ -618,7 +617,6 @@ public interface RawStore extends Configurable {
    * produce additional information based on file metadata and also filter the 
file list.
    * @param fileIds List of file IDs from the filesystem.
    * @param expr Format-specific serialized expression applicable to the 
files' metadatas.
-   * @param type Expression type; used to determine the class that handles the 
metadata.
    * @param metadatas Output parameter; fileIds-sized array to receive the 
metadatas
    *                  for corresponding files, if any.
    * @param exprResults Output parameter; fileIds-sized array to receive the 
format-specific
@@ -626,7 +624,7 @@ public interface RawStore extends Configurable {
    * @param eliminated Output parameter; fileIds-sized array to receive the 
indication of whether
    *                   the corresponding files are entirely eliminated by the 
expression.
    */
-  void getFileMetadataByExpr(List<Long> fileIds, FileMetadataExprType type, 
byte[] expr,
-      ByteBuffer[] metadatas, ByteBuffer[] exprResults, boolean[] eliminated)
-          throws MetaException;
+  void getFileMetadataByExpr(
+      List<Long> fileIds, byte[] expr, ByteBuffer[] metadatas,
+      ByteBuffer[] exprResults, boolean[] eliminated) throws MetaException;
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/java/org/apache/hadoop/hive/metastore/filemeta/OrcFileMetadataHandler.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/filemeta/OrcFileMetadataHandler.java
 
b/metastore/src/java/org/apache/hadoop/hive/metastore/filemeta/OrcFileMetadataHandler.java
deleted file mode 100644
index 14189da..0000000
--- 
a/metastore/src/java/org/apache/hadoop/hive/metastore/filemeta/OrcFileMetadataHandler.java
+++ /dev/null
@@ -1,63 +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.filemeta;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.List;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.metastore.FileMetadataHandler;
-import org.apache.hadoop.hive.metastore.PartitionExpressionProxy;
-import org.apache.hadoop.hive.metastore.hbase.HBaseReadWrite;
-import org.apache.hadoop.hive.ql.io.sarg.SearchArgument;
-
-public class OrcFileMetadataHandler implements FileMetadataHandler {
-  private final Configuration conf;
-  private final PartitionExpressionProxy expressionProxy;
-  private final HBaseReadWrite hbase;
-
-  public OrcFileMetadataHandler(Configuration conf,
-      PartitionExpressionProxy expressionProxy, HBaseReadWrite hbase) {
-    this.conf = conf;
-    this.expressionProxy = expressionProxy;
-    this.hbase = hbase;
-  }
-
-  @Override
-  public void getFileMetadataByExpr(List<Long> fileIds, byte[] expr,
-      ByteBuffer[] metadatas, ByteBuffer[] results, boolean[] eliminated) 
throws IOException {
-    SearchArgument sarg = expressionProxy.createSarg(expr);
-    // For now, don't push anything into HBase, nor store anything special in 
HBase
-    if (metadatas == null) {
-      // null means don't return metadata; we'd need the array anyway for now.
-      metadatas = new ByteBuffer[results.length];
-    }
-    hbase.getFileMetadata(fileIds, metadatas);
-    for (int i = 0; i < metadatas.length;  ++i) {
-      if (metadatas[i] == null) continue;
-      ByteBuffer result = expressionProxy.applySargToFileMetadata(sarg, 
metadatas[i]);
-      eliminated[i] = (result == null);
-      if (!eliminated[i]) {
-        results[i] = result;
-      }
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseReadWrite.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseReadWrite.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseReadWrite.java
index ffd3ee5..781f562 100644
--- 
a/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseReadWrite.java
+++ 
b/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseReadWrite.java
@@ -1747,7 +1747,7 @@ public class HBaseReadWrite {
    * @param fileIds file ID list.
    * @return Serialized file metadata.
    */
-  public void getFileMetadata(List<Long> fileIds, ByteBuffer[] result) throws 
IOException {
+  void getFileMetadata(List<Long> fileIds, ByteBuffer[] result) throws 
IOException {
     byte[][] keys = new byte[fileIds.size()][];
     for (int i = 0; i < fileIds.size(); ++i) {
       keys[i] = HBaseUtils.makeLongKey(fileIds.get(i));

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java 
b/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java
index 67a02d9..09e57e5 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/hbase/HBaseStore.java
@@ -27,7 +27,6 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.common.FileUtils;
 import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.metastore.FileMetadataHandler;
 import org.apache.hadoop.hive.metastore.HiveMetaStore;
 import org.apache.hadoop.hive.metastore.PartFilterExprUtil;
 import org.apache.hadoop.hive.metastore.PartitionExpressionProxy;
@@ -39,7 +38,6 @@ import 
org.apache.hadoop.hive.metastore.api.ColumnStatisticsObj;
 import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId;
 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.HiveObjectPrivilege;
 import org.apache.hadoop.hive.metastore.api.HiveObjectRef;
@@ -66,7 +64,6 @@ import org.apache.hadoop.hive.metastore.api.Type;
 import org.apache.hadoop.hive.metastore.api.UnknownDBException;
 import org.apache.hadoop.hive.metastore.api.UnknownPartitionException;
 import org.apache.hadoop.hive.metastore.api.UnknownTableException;
-import org.apache.hadoop.hive.metastore.filemeta.OrcFileMetadataHandler;
 import org.apache.hadoop.hive.metastore.hbase.HBaseFilterPlanUtil.PlanResult;
 import org.apache.hadoop.hive.metastore.hbase.HBaseFilterPlanUtil.ScanPlan;
 import org.apache.hadoop.hive.metastore.parser.ExpressionTree;
@@ -99,7 +96,6 @@ public class HBaseStore implements RawStore {
   private Configuration conf;
   private int txnNestLevel = 0;
   private PartitionExpressionProxy expressionProxy = null;
-  private Map<FileMetadataExprType, FileMetadataHandler> fmHandlers = new 
HashMap<>();
 
   public HBaseStore() {
   }
@@ -2245,24 +2241,10 @@ public class HBaseStore implements RawStore {
     // initialize expressionProxy. Also re-initialize it if
     // setConf is being called with new configuration object (though that
     // is not expected to happen, doing it just for safety)
-    // TODO: why not re-intialize HBaseReadWrite?
-    if (expressionProxy == null || conf != configuration) {
+    if(expressionProxy == null || conf != configuration) {
       expressionProxy = 
PartFilterExprUtil.createExpressionProxy(configuration);
     }
     conf = configuration;
-    createFileMetadataHandlers();
-  }
-
-  private void createFileMetadataHandlers() {
-    for (FileMetadataExprType v : FileMetadataExprType.values()) {
-      switch (v) {
-      case ORC_SARG:
-        fmHandlers.put(v, new OrcFileMetadataHandler(conf, expressionProxy, 
getHBase()));
-        break;
-      default:
-        throw new AssertionError("Unsupported type " + v);
-      }
-    }
   }
 
   @Override
@@ -2398,16 +2380,25 @@ public class HBaseStore implements RawStore {
   }
 
   @Override
-  public void getFileMetadataByExpr(List<Long> fileIds, FileMetadataExprType 
type, byte[] expr,
-      ByteBuffer[] metadatas, ByteBuffer[] results, boolean[] eliminated) 
throws MetaException {
-    FileMetadataHandler fmh = fmHandlers.get(type);
+  public void getFileMetadataByExpr(List<Long> fileIds, byte[] expr, 
ByteBuffer[] metadatas,
+      ByteBuffer[] results, boolean[] eliminated) throws MetaException {
+    SearchArgument sarg = expressionProxy.createSarg(expr);
     boolean commit = true;
     try {
-      fmh.getFileMetadataByExpr(fileIds, expr, metadatas, results, eliminated);
+      // For now, don't push anything into HBase, nor store anything special 
in HBase
+      getHBase().getFileMetadata(fileIds, metadatas);
+      for (int i = 0; i < metadatas.length;  ++i) {
+        if (metadatas[i] == null) continue;
+        ByteBuffer result = expressionProxy.applySargToFileMetadata(sarg, 
metadatas[i]);
+        eliminated[i] = (result == null);
+        if (!eliminated[i]) {
+          results[i] = result;
+        }
+      }
     } catch (IOException e) {
-      LOG.error("Unable to get file metadata by expr", e);
       commit = false;
-      throw new MetaException("Error reading file metadata by expr" + 
e.getMessage());
+      LOG.error("Unable to get file metadata", e);
+      throw new MetaException("Error reading file metadata " + e.getMessage());
     } finally {
       commitOrRoleBack(commit);
     }

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
 
b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
index a100e9f..d11c0d5 100644
--- 
a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
+++ 
b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
@@ -30,7 +30,6 @@ import org.apache.hadoop.hive.metastore.api.AggrStats;
 import org.apache.hadoop.hive.metastore.api.ColumnStatistics;
 import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId;
 import org.apache.hadoop.hive.metastore.api.Database;
-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;
@@ -778,7 +777,7 @@ public class DummyRawStoreControlledCommit implements 
RawStore, Configurable {
 
 
   @Override
-  public void getFileMetadataByExpr(List<Long> fileIds, FileMetadataExprType 
type, byte[] expr,
+  public void getFileMetadataByExpr(List<Long> fileIds, byte[] expr,
       ByteBuffer[] metadatas, ByteBuffer[] stripeBitsets, boolean[] 
eliminated) {
   }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/3e0d87f8/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
----------------------------------------------------------------------
diff --git 
a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
 
b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
index f6100e6..2de049a 100644
--- 
a/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
+++ 
b/metastore/src/test/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
@@ -31,7 +31,6 @@ import org.apache.hadoop.hive.metastore.api.AggrStats;
 import org.apache.hadoop.hive.metastore.api.ColumnStatistics;
 import org.apache.hadoop.hive.metastore.api.CurrentNotificationEventId;
 import org.apache.hadoop.hive.metastore.api.Database;
-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;
@@ -794,7 +793,7 @@ public class DummyRawStoreForJdoConnection implements 
RawStore {
   }
 
   @Override
-  public void getFileMetadataByExpr(List<Long> fileIds, FileMetadataExprType 
type, byte[] expr,
+  public void getFileMetadataByExpr(List<Long> fileIds, byte[] expr,
       ByteBuffer[] metadatas, ByteBuffer[] stripeBitsets, boolean[] 
eliminated) {
   }
 }

Reply via email to