You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ga...@apache.org on 2016/01/15 02:18:06 UTC

[17/22] hive git commit: HIVE-12832 Thrift and RDBMS schema changes for ACID fixes, branch-1 version.

http://git-wip-us.apache.org/repos/asf/hive/blob/92072ad2/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 36110e6..7039a75 100644
--- a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
+++ b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.2)
+ * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -364,9 +364,6 @@ typedef struct _Version__isset {
 class Version {
  public:
 
-  static const char* ascii_fingerprint; // = "07A9615F837F7D0A952B595DD3020972";
-  static const uint8_t binary_fingerprint[16]; // = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
-
   Version(const Version&);
   Version& operator=(const Version&);
   Version() : version(), comments() {
@@ -399,11 +396,17 @@ class Version {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Version& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Version &a, Version &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Version& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _FieldSchema__isset {
   _FieldSchema__isset() : name(false), type(false), comment(false) {}
   bool name :1;
@@ -414,9 +417,6 @@ typedef struct _FieldSchema__isset {
 class FieldSchema {
  public:
 
-  static const char* ascii_fingerprint; // = "AB879940BD15B6B25691265F7384B271";
-  static const uint8_t binary_fingerprint[16]; // = {0xAB,0x87,0x99,0x40,0xBD,0x15,0xB6,0xB2,0x56,0x91,0x26,0x5F,0x73,0x84,0xB2,0x71};
-
   FieldSchema(const FieldSchema&);
   FieldSchema& operator=(const FieldSchema&);
   FieldSchema() : name(), type(), comment() {
@@ -454,11 +454,17 @@ class FieldSchema {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const FieldSchema& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(FieldSchema &a, FieldSchema &b);
 
+inline std::ostream& operator<<(std::ostream& out, const FieldSchema& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Type__isset {
   _Type__isset() : name(false), type1(false), type2(false), fields(false) {}
   bool name :1;
@@ -470,9 +476,6 @@ typedef struct _Type__isset {
 class Type {
  public:
 
-  static const char* ascii_fingerprint; // = "20DF02DE523C27F7066C7BD4D9120842";
-  static const uint8_t binary_fingerprint[16]; // = {0x20,0xDF,0x02,0xDE,0x52,0x3C,0x27,0xF7,0x06,0x6C,0x7B,0xD4,0xD9,0x12,0x08,0x42};
-
   Type(const Type&);
   Type& operator=(const Type&);
   Type() : name(), type1(), type2() {
@@ -521,11 +524,17 @@ class Type {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Type& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Type &a, Type &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Type& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _HiveObjectRef__isset {
   _HiveObjectRef__isset() : objectType(false), dbName(false), objectName(false), partValues(false), columnName(false) {}
   bool objectType :1;
@@ -538,9 +547,6 @@ typedef struct _HiveObjectRef__isset {
 class HiveObjectRef {
  public:
 
-  static const char* ascii_fingerprint; // = "205CD8311CF3AA9EC161BAEF8D7C933C";
-  static const uint8_t binary_fingerprint[16]; // = {0x20,0x5C,0xD8,0x31,0x1C,0xF3,0xAA,0x9E,0xC1,0x61,0xBA,0xEF,0x8D,0x7C,0x93,0x3C};
-
   HiveObjectRef(const HiveObjectRef&);
   HiveObjectRef& operator=(const HiveObjectRef&);
   HiveObjectRef() : objectType((HiveObjectType::type)0), dbName(), objectName(), columnName() {
@@ -588,11 +594,17 @@ class HiveObjectRef {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const HiveObjectRef& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(HiveObjectRef &a, HiveObjectRef &b);
 
+inline std::ostream& operator<<(std::ostream& out, const HiveObjectRef& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PrivilegeGrantInfo__isset {
   _PrivilegeGrantInfo__isset() : privilege(false), createTime(false), grantor(false), grantorType(false), grantOption(false) {}
   bool privilege :1;
@@ -605,9 +617,6 @@ typedef struct _PrivilegeGrantInfo__isset {
 class PrivilegeGrantInfo {
  public:
 
-  static const char* ascii_fingerprint; // = "A58923AF7294BE492D6F90E07E8CEE1F";
-  static const uint8_t binary_fingerprint[16]; // = {0xA5,0x89,0x23,0xAF,0x72,0x94,0xBE,0x49,0x2D,0x6F,0x90,0xE0,0x7E,0x8C,0xEE,0x1F};
-
   PrivilegeGrantInfo(const PrivilegeGrantInfo&);
   PrivilegeGrantInfo& operator=(const PrivilegeGrantInfo&);
   PrivilegeGrantInfo() : privilege(), createTime(0), grantor(), grantorType((PrincipalType::type)0), grantOption(0) {
@@ -655,11 +664,17 @@ class PrivilegeGrantInfo {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PrivilegeGrantInfo& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PrivilegeGrantInfo &a, PrivilegeGrantInfo &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PrivilegeGrantInfo& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _HiveObjectPrivilege__isset {
   _HiveObjectPrivilege__isset() : hiveObject(false), principalName(false), principalType(false), grantInfo(false) {}
   bool hiveObject :1;
@@ -671,9 +686,6 @@ typedef struct _HiveObjectPrivilege__isset {
 class HiveObjectPrivilege {
  public:
 
-  static const char* ascii_fingerprint; // = "83D71969B23BD853E29DBA9D43B29AF8";
-  static const uint8_t binary_fingerprint[16]; // = {0x83,0xD7,0x19,0x69,0xB2,0x3B,0xD8,0x53,0xE2,0x9D,0xBA,0x9D,0x43,0xB2,0x9A,0xF8};
-
   HiveObjectPrivilege(const HiveObjectPrivilege&);
   HiveObjectPrivilege& operator=(const HiveObjectPrivilege&);
   HiveObjectPrivilege() : principalName(), principalType((PrincipalType::type)0) {
@@ -716,11 +728,17 @@ class HiveObjectPrivilege {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const HiveObjectPrivilege& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(HiveObjectPrivilege &a, HiveObjectPrivilege &b);
 
+inline std::ostream& operator<<(std::ostream& out, const HiveObjectPrivilege& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PrivilegeBag__isset {
   _PrivilegeBag__isset() : privileges(false) {}
   bool privileges :1;
@@ -729,9 +747,6 @@ typedef struct _PrivilegeBag__isset {
 class PrivilegeBag {
  public:
 
-  static const char* ascii_fingerprint; // = "BB89E4701B7B709B046A74C90B1147F2";
-  static const uint8_t binary_fingerprint[16]; // = {0xBB,0x89,0xE4,0x70,0x1B,0x7B,0x70,0x9B,0x04,0x6A,0x74,0xC9,0x0B,0x11,0x47,0xF2};
-
   PrivilegeBag(const PrivilegeBag&);
   PrivilegeBag& operator=(const PrivilegeBag&);
   PrivilegeBag() {
@@ -759,11 +774,17 @@ class PrivilegeBag {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PrivilegeBag& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PrivilegeBag &a, PrivilegeBag &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PrivilegeBag& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PrincipalPrivilegeSet__isset {
   _PrincipalPrivilegeSet__isset() : userPrivileges(false), groupPrivileges(false), rolePrivileges(false) {}
   bool userPrivileges :1;
@@ -774,9 +795,6 @@ typedef struct _PrincipalPrivilegeSet__isset {
 class PrincipalPrivilegeSet {
  public:
 
-  static const char* ascii_fingerprint; // = "08F75D2533906EA87BE34EA640856683";
-  static const uint8_t binary_fingerprint[16]; // = {0x08,0xF7,0x5D,0x25,0x33,0x90,0x6E,0xA8,0x7B,0xE3,0x4E,0xA6,0x40,0x85,0x66,0x83};
-
   PrincipalPrivilegeSet(const PrincipalPrivilegeSet&);
   PrincipalPrivilegeSet& operator=(const PrincipalPrivilegeSet&);
   PrincipalPrivilegeSet() {
@@ -814,11 +832,17 @@ class PrincipalPrivilegeSet {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PrincipalPrivilegeSet& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PrincipalPrivilegeSet &a, PrincipalPrivilegeSet &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PrincipalPrivilegeSet& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _GrantRevokePrivilegeRequest__isset {
   _GrantRevokePrivilegeRequest__isset() : requestType(false), privileges(false), revokeGrantOption(false) {}
   bool requestType :1;
@@ -829,9 +853,6 @@ typedef struct _GrantRevokePrivilegeRequest__isset {
 class GrantRevokePrivilegeRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "DF474A3CB526AD40DC0F2C3702F7AA2C";
-  static const uint8_t binary_fingerprint[16]; // = {0xDF,0x47,0x4A,0x3C,0xB5,0x26,0xAD,0x40,0xDC,0x0F,0x2C,0x37,0x02,0xF7,0xAA,0x2C};
-
   GrantRevokePrivilegeRequest(const GrantRevokePrivilegeRequest&);
   GrantRevokePrivilegeRequest& operator=(const GrantRevokePrivilegeRequest&);
   GrantRevokePrivilegeRequest() : requestType((GrantRevokeType::type)0), revokeGrantOption(0) {
@@ -871,11 +892,17 @@ class GrantRevokePrivilegeRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GrantRevokePrivilegeRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GrantRevokePrivilegeRequest &a, GrantRevokePrivilegeRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GrantRevokePrivilegeRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _GrantRevokePrivilegeResponse__isset {
   _GrantRevokePrivilegeResponse__isset() : success(false) {}
   bool success :1;
@@ -884,9 +911,6 @@ typedef struct _GrantRevokePrivilegeResponse__isset {
 class GrantRevokePrivilegeResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "BF054652DEF86253C2BEE7D947F167DD";
-  static const uint8_t binary_fingerprint[16]; // = {0xBF,0x05,0x46,0x52,0xDE,0xF8,0x62,0x53,0xC2,0xBE,0xE7,0xD9,0x47,0xF1,0x67,0xDD};
-
   GrantRevokePrivilegeResponse(const GrantRevokePrivilegeResponse&);
   GrantRevokePrivilegeResponse& operator=(const GrantRevokePrivilegeResponse&);
   GrantRevokePrivilegeResponse() : success(0) {
@@ -916,11 +940,17 @@ class GrantRevokePrivilegeResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GrantRevokePrivilegeResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GrantRevokePrivilegeResponse &a, GrantRevokePrivilegeResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GrantRevokePrivilegeResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Role__isset {
   _Role__isset() : roleName(false), createTime(false), ownerName(false) {}
   bool roleName :1;
@@ -931,9 +961,6 @@ typedef struct _Role__isset {
 class Role {
  public:
 
-  static const char* ascii_fingerprint; // = "70563A0628F75DF9555F4D24690B1E26";
-  static const uint8_t binary_fingerprint[16]; // = {0x70,0x56,0x3A,0x06,0x28,0xF7,0x5D,0xF9,0x55,0x5F,0x4D,0x24,0x69,0x0B,0x1E,0x26};
-
   Role(const Role&);
   Role& operator=(const Role&);
   Role() : roleName(), createTime(0), ownerName() {
@@ -971,11 +998,17 @@ class Role {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Role& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Role &a, Role &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Role& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _RolePrincipalGrant__isset {
   _RolePrincipalGrant__isset() : roleName(false), principalName(false), principalType(false), grantOption(false), grantTime(false), grantorName(false), grantorPrincipalType(false) {}
   bool roleName :1;
@@ -990,9 +1023,6 @@ typedef struct _RolePrincipalGrant__isset {
 class RolePrincipalGrant {
  public:
 
-  static const char* ascii_fingerprint; // = "899BA3F6214DD1B79D27206BA857C772";
-  static const uint8_t binary_fingerprint[16]; // = {0x89,0x9B,0xA3,0xF6,0x21,0x4D,0xD1,0xB7,0x9D,0x27,0x20,0x6B,0xA8,0x57,0xC7,0x72};
-
   RolePrincipalGrant(const RolePrincipalGrant&);
   RolePrincipalGrant& operator=(const RolePrincipalGrant&);
   RolePrincipalGrant() : roleName(), principalName(), principalType((PrincipalType::type)0), grantOption(0), grantTime(0), grantorName(), grantorPrincipalType((PrincipalType::type)0) {
@@ -1050,18 +1080,21 @@ class RolePrincipalGrant {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const RolePrincipalGrant& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(RolePrincipalGrant &a, RolePrincipalGrant &b);
 
+inline std::ostream& operator<<(std::ostream& out, const RolePrincipalGrant& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class GetRoleGrantsForPrincipalRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "D6FD826D949221396F4FFC3ECCD3D192";
-  static const uint8_t binary_fingerprint[16]; // = {0xD6,0xFD,0x82,0x6D,0x94,0x92,0x21,0x39,0x6F,0x4F,0xFC,0x3E,0xCC,0xD3,0xD1,0x92};
-
   GetRoleGrantsForPrincipalRequest(const GetRoleGrantsForPrincipalRequest&);
   GetRoleGrantsForPrincipalRequest& operator=(const GetRoleGrantsForPrincipalRequest&);
   GetRoleGrantsForPrincipalRequest() : principal_name(), principal_type((PrincipalType::type)0) {
@@ -1092,18 +1125,21 @@ class GetRoleGrantsForPrincipalRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GetRoleGrantsForPrincipalRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GetRoleGrantsForPrincipalRequest &a, GetRoleGrantsForPrincipalRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GetRoleGrantsForPrincipalRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class GetRoleGrantsForPrincipalResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "5926B4B3541A62E17663820C7E3BE690";
-  static const uint8_t binary_fingerprint[16]; // = {0x59,0x26,0xB4,0xB3,0x54,0x1A,0x62,0xE1,0x76,0x63,0x82,0x0C,0x7E,0x3B,0xE6,0x90};
-
   GetRoleGrantsForPrincipalResponse(const GetRoleGrantsForPrincipalResponse&);
   GetRoleGrantsForPrincipalResponse& operator=(const GetRoleGrantsForPrincipalResponse&);
   GetRoleGrantsForPrincipalResponse() {
@@ -1129,18 +1165,21 @@ class GetRoleGrantsForPrincipalResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GetRoleGrantsForPrincipalResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GetRoleGrantsForPrincipalResponse &a, GetRoleGrantsForPrincipalResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GetRoleGrantsForPrincipalResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class GetPrincipalsInRoleRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
   GetPrincipalsInRoleRequest(const GetPrincipalsInRoleRequest&);
   GetPrincipalsInRoleRequest& operator=(const GetPrincipalsInRoleRequest&);
   GetPrincipalsInRoleRequest() : roleName() {
@@ -1166,18 +1205,21 @@ class GetPrincipalsInRoleRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GetPrincipalsInRoleRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GetPrincipalsInRoleRequest &a, GetPrincipalsInRoleRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GetPrincipalsInRoleRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class GetPrincipalsInRoleResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "5926B4B3541A62E17663820C7E3BE690";
-  static const uint8_t binary_fingerprint[16]; // = {0x59,0x26,0xB4,0xB3,0x54,0x1A,0x62,0xE1,0x76,0x63,0x82,0x0C,0x7E,0x3B,0xE6,0x90};
-
   GetPrincipalsInRoleResponse(const GetPrincipalsInRoleResponse&);
   GetPrincipalsInRoleResponse& operator=(const GetPrincipalsInRoleResponse&);
   GetPrincipalsInRoleResponse() {
@@ -1203,11 +1245,17 @@ class GetPrincipalsInRoleResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GetPrincipalsInRoleResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GetPrincipalsInRoleResponse &a, GetPrincipalsInRoleResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GetPrincipalsInRoleResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _GrantRevokeRoleRequest__isset {
   _GrantRevokeRoleRequest__isset() : requestType(false), roleName(false), principalName(false), principalType(false), grantor(false), grantorType(false), grantOption(false) {}
   bool requestType :1;
@@ -1222,9 +1270,6 @@ typedef struct _GrantRevokeRoleRequest__isset {
 class GrantRevokeRoleRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "907DEA796F2BA7AF76DC2566E75FAEE7";
-  static const uint8_t binary_fingerprint[16]; // = {0x90,0x7D,0xEA,0x79,0x6F,0x2B,0xA7,0xAF,0x76,0xDC,0x25,0x66,0xE7,0x5F,0xAE,0xE7};
-
   GrantRevokeRoleRequest(const GrantRevokeRoleRequest&);
   GrantRevokeRoleRequest& operator=(const GrantRevokeRoleRequest&);
   GrantRevokeRoleRequest() : requestType((GrantRevokeType::type)0), roleName(), principalName(), principalType((PrincipalType::type)0), grantor(), grantorType((PrincipalType::type)0), grantOption(0) {
@@ -1288,11 +1333,17 @@ class GrantRevokeRoleRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GrantRevokeRoleRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GrantRevokeRoleRequest &a, GrantRevokeRoleRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GrantRevokeRoleRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _GrantRevokeRoleResponse__isset {
   _GrantRevokeRoleResponse__isset() : success(false) {}
   bool success :1;
@@ -1301,9 +1352,6 @@ typedef struct _GrantRevokeRoleResponse__isset {
 class GrantRevokeRoleResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "BF054652DEF86253C2BEE7D947F167DD";
-  static const uint8_t binary_fingerprint[16]; // = {0xBF,0x05,0x46,0x52,0xDE,0xF8,0x62,0x53,0xC2,0xBE,0xE7,0xD9,0x47,0xF1,0x67,0xDD};
-
   GrantRevokeRoleResponse(const GrantRevokeRoleResponse&);
   GrantRevokeRoleResponse& operator=(const GrantRevokeRoleResponse&);
   GrantRevokeRoleResponse() : success(0) {
@@ -1333,11 +1381,17 @@ class GrantRevokeRoleResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GrantRevokeRoleResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GrantRevokeRoleResponse &a, GrantRevokeRoleResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GrantRevokeRoleResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Database__isset {
   _Database__isset() : name(false), description(false), locationUri(false), parameters(false), privileges(false), ownerName(false), ownerType(false) {}
   bool name :1;
@@ -1352,9 +1406,6 @@ typedef struct _Database__isset {
 class Database {
  public:
 
-  static const char* ascii_fingerprint; // = "553495CAE243A1C583D5C3DD990AED53";
-  static const uint8_t binary_fingerprint[16]; // = {0x55,0x34,0x95,0xCA,0xE2,0x43,0xA1,0xC5,0x83,0xD5,0xC3,0xDD,0x99,0x0A,0xED,0x53};
-
   Database(const Database&);
   Database& operator=(const Database&);
   Database() : name(), description(), locationUri(), ownerName(), ownerType((PrincipalType::type)0) {
@@ -1418,11 +1469,17 @@ class Database {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Database& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Database &a, Database &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Database& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _SerDeInfo__isset {
   _SerDeInfo__isset() : name(false), serializationLib(false), parameters(false) {}
   bool name :1;
@@ -1433,9 +1490,6 @@ typedef struct _SerDeInfo__isset {
 class SerDeInfo {
  public:
 
-  static const char* ascii_fingerprint; // = "B1021C32A35A2AEFCD2F57A5424159A7";
-  static const uint8_t binary_fingerprint[16]; // = {0xB1,0x02,0x1C,0x32,0xA3,0x5A,0x2A,0xEF,0xCD,0x2F,0x57,0xA5,0x42,0x41,0x59,0xA7};
-
   SerDeInfo(const SerDeInfo&);
   SerDeInfo& operator=(const SerDeInfo&);
   SerDeInfo() : name(), serializationLib() {
@@ -1473,11 +1527,17 @@ class SerDeInfo {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const SerDeInfo& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(SerDeInfo &a, SerDeInfo &b);
 
+inline std::ostream& operator<<(std::ostream& out, const SerDeInfo& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Order__isset {
   _Order__isset() : col(false), order(false) {}
   bool col :1;
@@ -1487,9 +1547,6 @@ typedef struct _Order__isset {
 class Order {
  public:
 
-  static const char* ascii_fingerprint; // = "EEBC915CE44901401D881E6091423036";
-  static const uint8_t binary_fingerprint[16]; // = {0xEE,0xBC,0x91,0x5C,0xE4,0x49,0x01,0x40,0x1D,0x88,0x1E,0x60,0x91,0x42,0x30,0x36};
-
   Order(const Order&);
   Order& operator=(const Order&);
   Order() : col(), order(0) {
@@ -1522,11 +1579,17 @@ class Order {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Order& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Order &a, Order &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Order& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _SkewedInfo__isset {
   _SkewedInfo__isset() : skewedColNames(false), skewedColValues(false), skewedColValueLocationMaps(false) {}
   bool skewedColNames :1;
@@ -1537,9 +1600,6 @@ 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};
-
   SkewedInfo(const SkewedInfo&);
   SkewedInfo& operator=(const SkewedInfo&);
   SkewedInfo() {
@@ -1577,11 +1637,17 @@ class SkewedInfo {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const SkewedInfo& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(SkewedInfo &a, SkewedInfo &b);
 
+inline std::ostream& operator<<(std::ostream& out, const SkewedInfo& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _StorageDescriptor__isset {
   _StorageDescriptor__isset() : cols(false), location(false), inputFormat(false), outputFormat(false), compressed(false), numBuckets(false), serdeInfo(false), bucketCols(false), sortCols(false), parameters(false), skewedInfo(false), storedAsSubDirectories(false) {}
   bool cols :1;
@@ -1601,9 +1667,6 @@ 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};
-
   StorageDescriptor(const StorageDescriptor&);
   StorageDescriptor& operator=(const StorageDescriptor&);
   StorageDescriptor() : location(), inputFormat(), outputFormat(), compressed(0), numBuckets(0), storedAsSubDirectories(0) {
@@ -1690,11 +1753,17 @@ class StorageDescriptor {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const StorageDescriptor& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(StorageDescriptor &a, StorageDescriptor &b);
 
+inline std::ostream& operator<<(std::ostream& out, const StorageDescriptor& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Table__isset {
   _Table__isset() : tableName(false), dbName(false), owner(false), createTime(false), lastAccessTime(false), retention(false), sd(false), partitionKeys(false), parameters(false), viewOriginalText(false), viewExpandedText(false), tableType(false), privileges(false), temporary(true) {}
   bool tableName :1;
@@ -1716,9 +1785,6 @@ typedef struct _Table__isset {
 class Table {
  public:
 
-  static const char* ascii_fingerprint; // = "29EFB2A5970EF572039E5D94CC78AA85";
-  static const uint8_t binary_fingerprint[16]; // = {0x29,0xEF,0xB2,0xA5,0x97,0x0E,0xF5,0x72,0x03,0x9E,0x5D,0x94,0xCC,0x78,0xAA,0x85};
-
   Table(const Table&);
   Table& operator=(const Table&);
   Table() : tableName(), dbName(), owner(), createTime(0), lastAccessTime(0), retention(0), viewOriginalText(), viewExpandedText(), tableType(), temporary(false) {
@@ -1815,11 +1881,17 @@ class Table {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Table& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Table &a, Table &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Table& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Partition__isset {
   _Partition__isset() : values(false), dbName(false), tableName(false), createTime(false), lastAccessTime(false), sd(false), parameters(false), privileges(false) {}
   bool values :1;
@@ -1835,9 +1907,6 @@ 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};
-
   Partition(const Partition&);
   Partition& operator=(const Partition&);
   Partition() : dbName(), tableName(), createTime(0), lastAccessTime(0) {
@@ -1902,11 +1971,17 @@ class Partition {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Partition& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Partition &a, Partition &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Partition& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PartitionWithoutSD__isset {
   _PartitionWithoutSD__isset() : values(false), createTime(false), lastAccessTime(false), relativePath(false), parameters(false), privileges(false) {}
   bool values :1;
@@ -1920,9 +1995,6 @@ typedef struct _PartitionWithoutSD__isset {
 class PartitionWithoutSD {
  public:
 
-  static const char* ascii_fingerprint; // = "D79FA44499888D0E50B5625E0C536DEA";
-  static const uint8_t binary_fingerprint[16]; // = {0xD7,0x9F,0xA4,0x44,0x99,0x88,0x8D,0x0E,0x50,0xB5,0x62,0x5E,0x0C,0x53,0x6D,0xEA};
-
   PartitionWithoutSD(const PartitionWithoutSD&);
   PartitionWithoutSD& operator=(const PartitionWithoutSD&);
   PartitionWithoutSD() : createTime(0), lastAccessTime(0), relativePath() {
@@ -1977,11 +2049,17 @@ class PartitionWithoutSD {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionWithoutSD& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionWithoutSD &a, PartitionWithoutSD &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionWithoutSD& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PartitionSpecWithSharedSD__isset {
   _PartitionSpecWithSharedSD__isset() : partitions(false), sd(false) {}
   bool partitions :1;
@@ -1991,9 +2069,6 @@ typedef struct _PartitionSpecWithSharedSD__isset {
 class PartitionSpecWithSharedSD {
  public:
 
-  static const char* ascii_fingerprint; // = "7BEE9305B42DCD083FF06BEE6DDC61CF";
-  static const uint8_t binary_fingerprint[16]; // = {0x7B,0xEE,0x93,0x05,0xB4,0x2D,0xCD,0x08,0x3F,0xF0,0x6B,0xEE,0x6D,0xDC,0x61,0xCF};
-
   PartitionSpecWithSharedSD(const PartitionSpecWithSharedSD&);
   PartitionSpecWithSharedSD& operator=(const PartitionSpecWithSharedSD&);
   PartitionSpecWithSharedSD() {
@@ -2026,11 +2101,17 @@ class PartitionSpecWithSharedSD {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionSpecWithSharedSD& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionSpecWithSharedSD &a, PartitionSpecWithSharedSD &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionSpecWithSharedSD& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PartitionListComposingSpec__isset {
   _PartitionListComposingSpec__isset() : partitions(false) {}
   bool partitions :1;
@@ -2039,9 +2120,6 @@ typedef struct _PartitionListComposingSpec__isset {
 class PartitionListComposingSpec {
  public:
 
-  static const char* ascii_fingerprint; // = "A048235CB9A257C8A74E3691BEFE0674";
-  static const uint8_t binary_fingerprint[16]; // = {0xA0,0x48,0x23,0x5C,0xB9,0xA2,0x57,0xC8,0xA7,0x4E,0x36,0x91,0xBE,0xFE,0x06,0x74};
-
   PartitionListComposingSpec(const PartitionListComposingSpec&);
   PartitionListComposingSpec& operator=(const PartitionListComposingSpec&);
   PartitionListComposingSpec() {
@@ -2069,11 +2147,17 @@ class PartitionListComposingSpec {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionListComposingSpec& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionListComposingSpec &a, PartitionListComposingSpec &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionListComposingSpec& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PartitionSpec__isset {
   _PartitionSpec__isset() : dbName(false), tableName(false), rootPath(false), sharedSDPartitionSpec(false), partitionList(false) {}
   bool dbName :1;
@@ -2086,9 +2170,6 @@ typedef struct _PartitionSpec__isset {
 class PartitionSpec {
  public:
 
-  static const char* ascii_fingerprint; // = "C3F548C24D072CF6422F25096143E3E8";
-  static const uint8_t binary_fingerprint[16]; // = {0xC3,0xF5,0x48,0xC2,0x4D,0x07,0x2C,0xF6,0x42,0x2F,0x25,0x09,0x61,0x43,0xE3,0xE8};
-
   PartitionSpec(const PartitionSpec&);
   PartitionSpec& operator=(const PartitionSpec&);
   PartitionSpec() : dbName(), tableName(), rootPath() {
@@ -2140,11 +2221,17 @@ class PartitionSpec {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionSpec& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionSpec &a, PartitionSpec &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionSpec& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Index__isset {
   _Index__isset() : indexName(false), indexHandlerClass(false), dbName(false), origTableName(false), createTime(false), lastAccessTime(false), indexTableName(false), sd(false), parameters(false), deferredRebuild(false) {}
   bool indexName :1;
@@ -2162,9 +2249,6 @@ 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};
-
   Index(const Index&);
   Index& operator=(const Index&);
   Index() : indexName(), indexHandlerClass(), dbName(), origTableName(), createTime(0), lastAccessTime(0), indexTableName(), deferredRebuild(0) {
@@ -2237,18 +2321,21 @@ class Index {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Index& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Index &a, Index &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Index& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class BooleanColumnStatsData {
  public:
 
-  static const char* ascii_fingerprint; // = "EA2D65F1E0BB78760205682082304B41";
-  static const uint8_t binary_fingerprint[16]; // = {0xEA,0x2D,0x65,0xF1,0xE0,0xBB,0x78,0x76,0x02,0x05,0x68,0x20,0x82,0x30,0x4B,0x41};
-
   BooleanColumnStatsData(const BooleanColumnStatsData&);
   BooleanColumnStatsData& operator=(const BooleanColumnStatsData&);
   BooleanColumnStatsData() : numTrues(0), numFalses(0), numNulls(0) {
@@ -2284,11 +2371,17 @@ class BooleanColumnStatsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const BooleanColumnStatsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(BooleanColumnStatsData &a, BooleanColumnStatsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const BooleanColumnStatsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _DoubleColumnStatsData__isset {
   _DoubleColumnStatsData__isset() : lowValue(false), highValue(false) {}
   bool lowValue :1;
@@ -2298,9 +2391,6 @@ typedef struct _DoubleColumnStatsData__isset {
 class DoubleColumnStatsData {
  public:
 
-  static const char* ascii_fingerprint; // = "DA7C011321D74C48396AA002E61A0CBB";
-  static const uint8_t binary_fingerprint[16]; // = {0xDA,0x7C,0x01,0x13,0x21,0xD7,0x4C,0x48,0x39,0x6A,0xA0,0x02,0xE6,0x1A,0x0C,0xBB};
-
   DoubleColumnStatsData(const DoubleColumnStatsData&);
   DoubleColumnStatsData& operator=(const DoubleColumnStatsData&);
   DoubleColumnStatsData() : lowValue(0), highValue(0), numNulls(0), numDVs(0) {
@@ -2347,11 +2437,17 @@ class DoubleColumnStatsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const DoubleColumnStatsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(DoubleColumnStatsData &a, DoubleColumnStatsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const DoubleColumnStatsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _LongColumnStatsData__isset {
   _LongColumnStatsData__isset() : lowValue(false), highValue(false) {}
   bool lowValue :1;
@@ -2361,9 +2457,6 @@ typedef struct _LongColumnStatsData__isset {
 class LongColumnStatsData {
  public:
 
-  static const char* ascii_fingerprint; // = "E685FC220B24E3B8B93604790DCB9AEA";
-  static const uint8_t binary_fingerprint[16]; // = {0xE6,0x85,0xFC,0x22,0x0B,0x24,0xE3,0xB8,0xB9,0x36,0x04,0x79,0x0D,0xCB,0x9A,0xEA};
-
   LongColumnStatsData(const LongColumnStatsData&);
   LongColumnStatsData& operator=(const LongColumnStatsData&);
   LongColumnStatsData() : lowValue(0), highValue(0), numNulls(0), numDVs(0) {
@@ -2410,18 +2503,21 @@ class LongColumnStatsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const LongColumnStatsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(LongColumnStatsData &a, LongColumnStatsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const LongColumnStatsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class StringColumnStatsData {
  public:
 
-  static const char* ascii_fingerprint; // = "D017B08C3DF12C3AB98788B2E67DAAB3";
-  static const uint8_t binary_fingerprint[16]; // = {0xD0,0x17,0xB0,0x8C,0x3D,0xF1,0x2C,0x3A,0xB9,0x87,0x88,0xB2,0xE6,0x7D,0xAA,0xB3};
-
   StringColumnStatsData(const StringColumnStatsData&);
   StringColumnStatsData& operator=(const StringColumnStatsData&);
   StringColumnStatsData() : maxColLen(0), avgColLen(0), numNulls(0), numDVs(0) {
@@ -2462,18 +2558,21 @@ class StringColumnStatsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const StringColumnStatsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(StringColumnStatsData &a, StringColumnStatsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const StringColumnStatsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class BinaryColumnStatsData {
  public:
 
-  static const char* ascii_fingerprint; // = "22B0CB67183FCDB945892B9974518D06";
-  static const uint8_t binary_fingerprint[16]; // = {0x22,0xB0,0xCB,0x67,0x18,0x3F,0xCD,0xB9,0x45,0x89,0x2B,0x99,0x74,0x51,0x8D,0x06};
-
   BinaryColumnStatsData(const BinaryColumnStatsData&);
   BinaryColumnStatsData& operator=(const BinaryColumnStatsData&);
   BinaryColumnStatsData() : maxColLen(0), avgColLen(0), numNulls(0) {
@@ -2509,18 +2608,21 @@ class BinaryColumnStatsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const BinaryColumnStatsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(BinaryColumnStatsData &a, BinaryColumnStatsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const BinaryColumnStatsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class Decimal {
  public:
 
-  static const char* ascii_fingerprint; // = "C4DDF6759F9B17C5C380806CE743DE8E";
-  static const uint8_t binary_fingerprint[16]; // = {0xC4,0xDD,0xF6,0x75,0x9F,0x9B,0x17,0xC5,0xC3,0x80,0x80,0x6C,0xE7,0x43,0xDE,0x8E};
-
   Decimal(const Decimal&);
   Decimal& operator=(const Decimal&);
   Decimal() : unscaled(), scale(0) {
@@ -2551,11 +2653,17 @@ class Decimal {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Decimal& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Decimal &a, Decimal &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Decimal& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _DecimalColumnStatsData__isset {
   _DecimalColumnStatsData__isset() : lowValue(false), highValue(false) {}
   bool lowValue :1;
@@ -2565,9 +2673,6 @@ typedef struct _DecimalColumnStatsData__isset {
 class DecimalColumnStatsData {
  public:
 
-  static const char* ascii_fingerprint; // = "B6D47E7A28922BFA93FE05E9F1B04748";
-  static const uint8_t binary_fingerprint[16]; // = {0xB6,0xD4,0x7E,0x7A,0x28,0x92,0x2B,0xFA,0x93,0xFE,0x05,0xE9,0xF1,0xB0,0x47,0x48};
-
   DecimalColumnStatsData(const DecimalColumnStatsData&);
   DecimalColumnStatsData& operator=(const DecimalColumnStatsData&);
   DecimalColumnStatsData() : numNulls(0), numDVs(0) {
@@ -2614,18 +2719,21 @@ class DecimalColumnStatsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const DecimalColumnStatsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(DecimalColumnStatsData &a, DecimalColumnStatsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const DecimalColumnStatsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class Date {
  public:
 
-  static const char* ascii_fingerprint; // = "56A59CE7FFAF82BCA8A19FAACDE4FB75";
-  static const uint8_t binary_fingerprint[16]; // = {0x56,0xA5,0x9C,0xE7,0xFF,0xAF,0x82,0xBC,0xA8,0xA1,0x9F,0xAA,0xCD,0xE4,0xFB,0x75};
-
   Date(const Date&);
   Date& operator=(const Date&);
   Date() : daysSinceEpoch(0) {
@@ -2651,11 +2759,17 @@ class Date {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Date& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Date &a, Date &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Date& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _DateColumnStatsData__isset {
   _DateColumnStatsData__isset() : lowValue(false), highValue(false) {}
   bool lowValue :1;
@@ -2665,9 +2779,6 @@ typedef struct _DateColumnStatsData__isset {
 class DateColumnStatsData {
  public:
 
-  static const char* ascii_fingerprint; // = "D0719F3BBA8248297BB5287552897F59";
-  static const uint8_t binary_fingerprint[16]; // = {0xD0,0x71,0x9F,0x3B,0xBA,0x82,0x48,0x29,0x7B,0xB5,0x28,0x75,0x52,0x89,0x7F,0x59};
-
   DateColumnStatsData(const DateColumnStatsData&);
   DateColumnStatsData& operator=(const DateColumnStatsData&);
   DateColumnStatsData() : numNulls(0), numDVs(0) {
@@ -2714,11 +2825,17 @@ class DateColumnStatsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const DateColumnStatsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(DateColumnStatsData &a, DateColumnStatsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const DateColumnStatsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ColumnStatisticsData__isset {
   _ColumnStatisticsData__isset() : booleanStats(false), longStats(false), doubleStats(false), stringStats(false), binaryStats(false), decimalStats(false), dateStats(false) {}
   bool booleanStats :1;
@@ -2733,9 +2850,6 @@ typedef struct _ColumnStatisticsData__isset {
 class ColumnStatisticsData {
  public:
 
-  static const char* ascii_fingerprint; // = "15E449CA15A23E37F2D54C31ACA52106";
-  static const uint8_t binary_fingerprint[16]; // = {0x15,0xE4,0x49,0xCA,0x15,0xA2,0x3E,0x37,0xF2,0xD5,0x4C,0x31,0xAC,0xA5,0x21,0x06};
-
   ColumnStatisticsData(const ColumnStatisticsData&);
   ColumnStatisticsData& operator=(const ColumnStatisticsData&);
   ColumnStatisticsData() {
@@ -2793,18 +2907,21 @@ class ColumnStatisticsData {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const ColumnStatisticsData& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ColumnStatisticsData &a, ColumnStatisticsData &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ColumnStatisticsData& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class ColumnStatisticsObj {
  public:
 
-  static const char* ascii_fingerprint; // = "A82BA819C9FFEDDEBC0D50F6F4E46534";
-  static const uint8_t binary_fingerprint[16]; // = {0xA8,0x2B,0xA8,0x19,0xC9,0xFF,0xED,0xDE,0xBC,0x0D,0x50,0xF6,0xF4,0xE4,0x65,0x34};
-
   ColumnStatisticsObj(const ColumnStatisticsObj&);
   ColumnStatisticsObj& operator=(const ColumnStatisticsObj&);
   ColumnStatisticsObj() : colName(), colType() {
@@ -2840,11 +2957,17 @@ class ColumnStatisticsObj {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const ColumnStatisticsObj& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ColumnStatisticsObj &a, ColumnStatisticsObj &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ColumnStatisticsObj& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ColumnStatisticsDesc__isset {
   _ColumnStatisticsDesc__isset() : partName(false), lastAnalyzed(false) {}
   bool partName :1;
@@ -2854,9 +2977,6 @@ typedef struct _ColumnStatisticsDesc__isset {
 class ColumnStatisticsDesc {
  public:
 
-  static const char* ascii_fingerprint; // = "261759FF6F8FAB53F941453007FE18CB";
-  static const uint8_t binary_fingerprint[16]; // = {0x26,0x17,0x59,0xFF,0x6F,0x8F,0xAB,0x53,0xF9,0x41,0x45,0x30,0x07,0xFE,0x18,0xCB};
-
   ColumnStatisticsDesc(const ColumnStatisticsDesc&);
   ColumnStatisticsDesc& operator=(const ColumnStatisticsDesc&);
   ColumnStatisticsDesc() : isTblLevel(0), dbName(), tableName(), partName(), lastAnalyzed(0) {
@@ -2908,18 +3028,21 @@ class ColumnStatisticsDesc {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const ColumnStatisticsDesc& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ColumnStatisticsDesc &a, ColumnStatisticsDesc &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ColumnStatisticsDesc& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class ColumnStatistics {
  public:
 
-  static const char* ascii_fingerprint; // = "8A64D0A67FFD3A372726A320B3913D5A";
-  static const uint8_t binary_fingerprint[16]; // = {0x8A,0x64,0xD0,0xA6,0x7F,0xFD,0x3A,0x37,0x27,0x26,0xA3,0x20,0xB3,0x91,0x3D,0x5A};
-
   ColumnStatistics(const ColumnStatistics&);
   ColumnStatistics& operator=(const ColumnStatistics&);
   ColumnStatistics() {
@@ -2950,18 +3073,21 @@ class ColumnStatistics {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const ColumnStatistics& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ColumnStatistics &a, ColumnStatistics &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ColumnStatistics& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class AggrStats {
  public:
 
-  static const char* ascii_fingerprint; // = "1FC765A3AB2954591C14B0D946778213";
-  static const uint8_t binary_fingerprint[16]; // = {0x1F,0xC7,0x65,0xA3,0xAB,0x29,0x54,0x59,0x1C,0x14,0xB0,0xD9,0x46,0x77,0x82,0x13};
-
   AggrStats(const AggrStats&);
   AggrStats& operator=(const AggrStats&);
   AggrStats() : partsFound(0) {
@@ -2992,18 +3118,21 @@ class AggrStats {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const AggrStats& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(AggrStats &a, AggrStats &b);
 
+inline std::ostream& operator<<(std::ostream& out, const AggrStats& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class SetPartitionsStatsRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "8BCBF2CE9E942D0FB7D8F4ED57D8DC27";
-  static const uint8_t binary_fingerprint[16]; // = {0x8B,0xCB,0xF2,0xCE,0x9E,0x94,0x2D,0x0F,0xB7,0xD8,0xF4,0xED,0x57,0xD8,0xDC,0x27};
-
   SetPartitionsStatsRequest(const SetPartitionsStatsRequest&);
   SetPartitionsStatsRequest& operator=(const SetPartitionsStatsRequest&);
   SetPartitionsStatsRequest() {
@@ -3029,11 +3158,17 @@ class SetPartitionsStatsRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const SetPartitionsStatsRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(SetPartitionsStatsRequest &a, SetPartitionsStatsRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const SetPartitionsStatsRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Schema__isset {
   _Schema__isset() : fieldSchemas(false), properties(false) {}
   bool fieldSchemas :1;
@@ -3043,9 +3178,6 @@ typedef struct _Schema__isset {
 class Schema {
  public:
 
-  static const char* ascii_fingerprint; // = "5CFEE46C975F4E2368D905109B8E3B5B";
-  static const uint8_t binary_fingerprint[16]; // = {0x5C,0xFE,0xE4,0x6C,0x97,0x5F,0x4E,0x23,0x68,0xD9,0x05,0x10,0x9B,0x8E,0x3B,0x5B};
-
   Schema(const Schema&);
   Schema& operator=(const Schema&);
   Schema() {
@@ -3078,11 +3210,17 @@ class Schema {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Schema& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Schema &a, Schema &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Schema& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _EnvironmentContext__isset {
   _EnvironmentContext__isset() : properties(false) {}
   bool properties :1;
@@ -3091,9 +3229,6 @@ typedef struct _EnvironmentContext__isset {
 class EnvironmentContext {
  public:
 
-  static const char* ascii_fingerprint; // = "5EA2D527ECA3BA20C77AFC023EE8C05F";
-  static const uint8_t binary_fingerprint[16]; // = {0x5E,0xA2,0xD5,0x27,0xEC,0xA3,0xBA,0x20,0xC7,0x7A,0xFC,0x02,0x3E,0xE8,0xC0,0x5F};
-
   EnvironmentContext(const EnvironmentContext&);
   EnvironmentContext& operator=(const EnvironmentContext&);
   EnvironmentContext() {
@@ -3121,18 +3256,21 @@ class EnvironmentContext {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const EnvironmentContext& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(EnvironmentContext &a, EnvironmentContext &b);
 
+inline std::ostream& operator<<(std::ostream& out, const EnvironmentContext& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class PartitionsByExprResult {
  public:
 
-  static const char* ascii_fingerprint; // = "40B789CC91B508FE36600A14E3F80425";
-  static const uint8_t binary_fingerprint[16]; // = {0x40,0xB7,0x89,0xCC,0x91,0xB5,0x08,0xFE,0x36,0x60,0x0A,0x14,0xE3,0xF8,0x04,0x25};
-
   PartitionsByExprResult(const PartitionsByExprResult&);
   PartitionsByExprResult& operator=(const PartitionsByExprResult&);
   PartitionsByExprResult() : hasUnknownPartitions(0) {
@@ -3163,11 +3301,17 @@ class PartitionsByExprResult {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionsByExprResult& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionsByExprResult &a, PartitionsByExprResult &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionsByExprResult& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _PartitionsByExprRequest__isset {
   _PartitionsByExprRequest__isset() : defaultPartitionName(false), maxParts(true) {}
   bool defaultPartitionName :1;
@@ -3177,9 +3321,6 @@ typedef struct _PartitionsByExprRequest__isset {
 class PartitionsByExprRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "835944417A026FE6ABD0DF5A35BF52C5";
-  static const uint8_t binary_fingerprint[16]; // = {0x83,0x59,0x44,0x41,0x7A,0x02,0x6F,0xE6,0xAB,0xD0,0xDF,0x5A,0x35,0xBF,0x52,0xC5};
-
   PartitionsByExprRequest(const PartitionsByExprRequest&);
   PartitionsByExprRequest& operator=(const PartitionsByExprRequest&);
   PartitionsByExprRequest() : dbName(), tblName(), expr(), defaultPartitionName(), maxParts(-1) {
@@ -3231,18 +3372,21 @@ class PartitionsByExprRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionsByExprRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionsByExprRequest &a, PartitionsByExprRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionsByExprRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class TableStatsResult {
  public:
 
-  static const char* ascii_fingerprint; // = "2E398BAC949C93A194F1A19CA5074FF8";
-  static const uint8_t binary_fingerprint[16]; // = {0x2E,0x39,0x8B,0xAC,0x94,0x9C,0x93,0xA1,0x94,0xF1,0xA1,0x9C,0xA5,0x07,0x4F,0xF8};
-
   TableStatsResult(const TableStatsResult&);
   TableStatsResult& operator=(const TableStatsResult&);
   TableStatsResult() {
@@ -3268,18 +3412,21 @@ class TableStatsResult {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const TableStatsResult& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(TableStatsResult &a, TableStatsResult &b);
 
+inline std::ostream& operator<<(std::ostream& out, const TableStatsResult& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class PartitionsStatsResult {
  public:
 
-  static const char* ascii_fingerprint; // = "DD38B4AA7D02E288659AA12CBAAEF33B";
-  static const uint8_t binary_fingerprint[16]; // = {0xDD,0x38,0xB4,0xAA,0x7D,0x02,0xE2,0x88,0x65,0x9A,0xA1,0x2C,0xBA,0xAE,0xF3,0x3B};
-
   PartitionsStatsResult(const PartitionsStatsResult&);
   PartitionsStatsResult& operator=(const PartitionsStatsResult&);
   PartitionsStatsResult() {
@@ -3305,18 +3452,21 @@ class PartitionsStatsResult {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionsStatsResult& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionsStatsResult &a, PartitionsStatsResult &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionsStatsResult& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class TableStatsRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "8E2AD6401E83558ECFD6A13D74DD0A3F";
-  static const uint8_t binary_fingerprint[16]; // = {0x8E,0x2A,0xD6,0x40,0x1E,0x83,0x55,0x8E,0xCF,0xD6,0xA1,0x3D,0x74,0xDD,0x0A,0x3F};
-
   TableStatsRequest(const TableStatsRequest&);
   TableStatsRequest& operator=(const TableStatsRequest&);
   TableStatsRequest() : dbName(), tblName() {
@@ -3352,18 +3502,21 @@ class TableStatsRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const TableStatsRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(TableStatsRequest &a, TableStatsRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const TableStatsRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class PartitionsStatsRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "5F51D90BC323BCE4B704B7D98EDA0BD4";
-  static const uint8_t binary_fingerprint[16]; // = {0x5F,0x51,0xD9,0x0B,0xC3,0x23,0xBC,0xE4,0xB7,0x04,0xB7,0xD9,0x8E,0xDA,0x0B,0xD4};
-
   PartitionsStatsRequest(const PartitionsStatsRequest&);
   PartitionsStatsRequest& operator=(const PartitionsStatsRequest&);
   PartitionsStatsRequest() : dbName(), tblName() {
@@ -3404,11 +3557,17 @@ class PartitionsStatsRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const PartitionsStatsRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(PartitionsStatsRequest &a, PartitionsStatsRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const PartitionsStatsRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _AddPartitionsResult__isset {
   _AddPartitionsResult__isset() : partitions(false) {}
   bool partitions :1;
@@ -3417,9 +3576,6 @@ typedef struct _AddPartitionsResult__isset {
 class AddPartitionsResult {
  public:
 
-  static const char* ascii_fingerprint; // = "5A689D0823E7BFBB60C799BA60065C31";
-  static const uint8_t binary_fingerprint[16]; // = {0x5A,0x68,0x9D,0x08,0x23,0xE7,0xBF,0xBB,0x60,0xC7,0x99,0xBA,0x60,0x06,0x5C,0x31};
-
   AddPartitionsResult(const AddPartitionsResult&);
   AddPartitionsResult& operator=(const AddPartitionsResult&);
   AddPartitionsResult() {
@@ -3449,11 +3605,17 @@ class AddPartitionsResult {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const AddPartitionsResult& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(AddPartitionsResult &a, AddPartitionsResult &b);
 
+inline std::ostream& operator<<(std::ostream& out, const AddPartitionsResult& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _AddPartitionsRequest__isset {
   _AddPartitionsRequest__isset() : needResult(true) {}
   bool needResult :1;
@@ -3462,9 +3624,6 @@ typedef struct _AddPartitionsRequest__isset {
 class AddPartitionsRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "94F938D035892CF6873DEDB99358F069";
-  static const uint8_t binary_fingerprint[16]; // = {0x94,0xF9,0x38,0xD0,0x35,0x89,0x2C,0xF6,0x87,0x3D,0xED,0xB9,0x93,0x58,0xF0,0x69};
-
   AddPartitionsRequest(const AddPartitionsRequest&);
   AddPartitionsRequest& operator=(const AddPartitionsRequest&);
   AddPartitionsRequest() : dbName(), tblName(), ifNotExists(0), needResult(true) {
@@ -3514,11 +3673,17 @@ class AddPartitionsRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const AddPartitionsRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(AddPartitionsRequest &a, AddPartitionsRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const AddPartitionsRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _DropPartitionsResult__isset {
   _DropPartitionsResult__isset() : partitions(false) {}
   bool partitions :1;
@@ -3527,9 +3692,6 @@ typedef struct _DropPartitionsResult__isset {
 class DropPartitionsResult {
  public:
 
-  static const char* ascii_fingerprint; // = "5A689D0823E7BFBB60C799BA60065C31";
-  static const uint8_t binary_fingerprint[16]; // = {0x5A,0x68,0x9D,0x08,0x23,0xE7,0xBF,0xBB,0x60,0xC7,0x99,0xBA,0x60,0x06,0x5C,0x31};
-
   DropPartitionsResult(const DropPartitionsResult&);
   DropPartitionsResult& operator=(const DropPartitionsResult&);
   DropPartitionsResult() {
@@ -3559,11 +3721,17 @@ class DropPartitionsResult {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const DropPartitionsResult& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(DropPartitionsResult &a, DropPartitionsResult &b);
 
+inline std::ostream& operator<<(std::ostream& out, const DropPartitionsResult& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _DropPartitionsExpr__isset {
   _DropPartitionsExpr__isset() : partArchiveLevel(false) {}
   bool partArchiveLevel :1;
@@ -3572,9 +3740,6 @@ typedef struct _DropPartitionsExpr__isset {
 class DropPartitionsExpr {
  public:
 
-  static const char* ascii_fingerprint; // = "18B162B1D15D8D46509D3911A9F1C2AA";
-  static const uint8_t binary_fingerprint[16]; // = {0x18,0xB1,0x62,0xB1,0xD1,0x5D,0x8D,0x46,0x50,0x9D,0x39,0x11,0xA9,0xF1,0xC2,0xAA};
-
   DropPartitionsExpr(const DropPartitionsExpr&);
   DropPartitionsExpr& operator=(const DropPartitionsExpr&);
   DropPartitionsExpr() : expr(), partArchiveLevel(0) {
@@ -3609,11 +3774,17 @@ class DropPartitionsExpr {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const DropPartitionsExpr& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(DropPartitionsExpr &a, DropPartitionsExpr &b);
 
+inline std::ostream& operator<<(std::ostream& out, const DropPartitionsExpr& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _RequestPartsSpec__isset {
   _RequestPartsSpec__isset() : names(false), exprs(false) {}
   bool names :1;
@@ -3623,9 +3794,6 @@ typedef struct _RequestPartsSpec__isset {
 class RequestPartsSpec {
  public:
 
-  static const char* ascii_fingerprint; // = "864492ECAB27996CD222AACDA10C292E";
-  static const uint8_t binary_fingerprint[16]; // = {0x86,0x44,0x92,0xEC,0xAB,0x27,0x99,0x6C,0xD2,0x22,0xAA,0xCD,0xA1,0x0C,0x29,0x2E};
-
   RequestPartsSpec(const RequestPartsSpec&);
   RequestPartsSpec& operator=(const RequestPartsSpec&);
   RequestPartsSpec() {
@@ -3658,11 +3826,17 @@ class RequestPartsSpec {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const RequestPartsSpec& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(RequestPartsSpec &a, RequestPartsSpec &b);
 
+inline std::ostream& operator<<(std::ostream& out, const RequestPartsSpec& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _DropPartitionsRequest__isset {
   _DropPartitionsRequest__isset() : deleteData(false), ifExists(true), ignoreProtection(false), environmentContext(false), needResult(true) {}
   bool deleteData :1;
@@ -3675,9 +3849,6 @@ typedef struct _DropPartitionsRequest__isset {
 class DropPartitionsRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "EB263FBA01215C480A9A24C11D69E672";
-  static const uint8_t binary_fingerprint[16]; // = {0xEB,0x26,0x3F,0xBA,0x01,0x21,0x5C,0x48,0x0A,0x9A,0x24,0xC1,0x1D,0x69,0xE6,0x72};
-
   DropPartitionsRequest(const DropPartitionsRequest&);
   DropPartitionsRequest& operator=(const DropPartitionsRequest&);
   DropPartitionsRequest() : dbName(), tblName(), deleteData(0), ifExists(true), ignoreProtection(0), needResult(true) {
@@ -3750,11 +3921,17 @@ class DropPartitionsRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const DropPartitionsRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(DropPartitionsRequest &a, DropPartitionsRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const DropPartitionsRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ResourceUri__isset {
   _ResourceUri__isset() : resourceType(false), uri(false) {}
   bool resourceType :1;
@@ -3764,9 +3941,6 @@ typedef struct _ResourceUri__isset {
 class ResourceUri {
  public:
 
-  static const char* ascii_fingerprint; // = "19B5240589E680301A7E32DF3971EFBE";
-  static const uint8_t binary_fingerprint[16]; // = {0x19,0xB5,0x24,0x05,0x89,0xE6,0x80,0x30,0x1A,0x7E,0x32,0xDF,0x39,0x71,0xEF,0xBE};
-
   ResourceUri(const ResourceUri&);
   ResourceUri& operator=(const ResourceUri&);
   ResourceUri() : resourceType((ResourceType::type)0), uri() {
@@ -3799,11 +3973,17 @@ class ResourceUri {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const ResourceUri& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ResourceUri &a, ResourceUri &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ResourceUri& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Function__isset {
   _Function__isset() : functionName(false), dbName(false), className(false), ownerName(false), ownerType(false), createTime(false), functionType(false), resourceUris(false) {}
   bool functionName :1;
@@ -3819,9 +3999,6 @@ typedef struct _Function__isset {
 class Function {
  public:
 
-  static const char* ascii_fingerprint; // = "72279C515E70F888568542F97616ADB8";
-  static const uint8_t binary_fingerprint[16]; // = {0x72,0x27,0x9C,0x51,0x5E,0x70,0xF8,0x88,0x56,0x85,0x42,0xF9,0x76,0x16,0xAD,0xB8};
-
   Function(const Function&);
   Function& operator=(const Function&);
   Function() : functionName(), dbName(), className(), ownerName(), ownerType((PrincipalType::type)0), createTime(0), functionType((FunctionType::type)0) {
@@ -3884,21 +4061,30 @@ class Function {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const Function& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(Function &a, Function &b);
 
+inline std::ostream& operator<<(std::ostream& out, const Function& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+typedef struct _TxnInfo__isset {
+  _TxnInfo__isset() : agentInfo(true), heartbeatCount(true), metaInfo(false) {}
+  bool agentInfo :1;
+  bool heartbeatCount :1;
+  bool metaInfo :1;
+} _TxnInfo__isset;
 
 class TxnInfo {
  public:
 
-  static const char* ascii_fingerprint; // = "6C5C0773A901CCA3BE9D085B3B47A767";
-  static const uint8_t binary_fingerprint[16]; // = {0x6C,0x5C,0x07,0x73,0xA9,0x01,0xCC,0xA3,0xBE,0x9D,0x08,0x5B,0x3B,0x47,0xA7,0x67};
-
   TxnInfo(const TxnInfo&);
   TxnInfo& operator=(const TxnInfo&);
-  TxnInfo() : id(0), state((TxnState::type)0), user(), hostname() {
+  TxnInfo() : id(0), state((TxnState::type)0), user(), hostname(), agentInfo("Unknown"), heartbeatCount(0), metaInfo() {
   }
 
   virtual ~TxnInfo() throw();
@@ -3906,6 +4092,11 @@ class TxnInfo {
   TxnState::type state;
   std::string user;
   std::string hostname;
+  std::string agentInfo;
+  int32_t heartbeatCount;
+  std::string metaInfo;
+
+  _TxnInfo__isset __isset;
 
   void __set_id(const int64_t val);
 
@@ -3915,6 +4106,12 @@ class TxnInfo {
 
   void __set_hostname(const std::string& val);
 
+  void __set_agentInfo(const std::string& val);
+
+  void __set_heartbeatCount(const int32_t val);
+
+  void __set_metaInfo(const std::string& val);
+
   bool operator == (const TxnInfo & rhs) const
   {
     if (!(id == rhs.id))
@@ -3925,6 +4122,18 @@ class TxnInfo {
       return false;
     if (!(hostname == rhs.hostname))
       return false;
+    if (__isset.agentInfo != rhs.__isset.agentInfo)
+      return false;
+    else if (__isset.agentInfo && !(agentInfo == rhs.agentInfo))
+      return false;
+    if (__isset.heartbeatCount != rhs.__isset.heartbeatCount)
+      return false;
+    else if (__isset.heartbeatCount && !(heartbeatCount == rhs.heartbeatCount))
+      return false;
+    if (__isset.metaInfo != rhs.__isset.metaInfo)
+      return false;
+    else if (__isset.metaInfo && !(metaInfo == rhs.metaInfo))
+      return false;
     return true;
   }
   bool operator != (const TxnInfo &rhs) const {
@@ -3936,18 +4145,21 @@ class TxnInfo {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const TxnInfo& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(TxnInfo &a, TxnInfo &b);
 
+inline std::ostream& operator<<(std::ostream& out, const TxnInfo& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class GetOpenTxnsInfoResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "CCF769BBD33005B61F2079A6665E3B9C";
-  static const uint8_t binary_fingerprint[16]; // = {0xCC,0xF7,0x69,0xBB,0xD3,0x30,0x05,0xB6,0x1F,0x20,0x79,0xA6,0x66,0x5E,0x3B,0x9C};
-
   GetOpenTxnsInfoResponse(const GetOpenTxnsInfoResponse&);
   GetOpenTxnsInfoResponse& operator=(const GetOpenTxnsInfoResponse&);
   GetOpenTxnsInfoResponse() : txn_high_water_mark(0) {
@@ -3978,18 +4190,21 @@ class GetOpenTxnsInfoResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GetOpenTxnsInfoResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GetOpenTxnsInfoResponse &a, GetOpenTxnsInfoResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GetOpenTxnsInfoResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class GetOpenTxnsResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "590531FF1BE8611678B255374F6109EE";
-  static const uint8_t binary_fingerprint[16]; // = {0x59,0x05,0x31,0xFF,0x1B,0xE8,0x61,0x16,0x78,0xB2,0x55,0x37,0x4F,0x61,0x09,0xEE};
-
   GetOpenTxnsResponse(const GetOpenTxnsResponse&);
   GetOpenTxnsResponse& operator=(const GetOpenTxnsResponse&);
   GetOpenTxnsResponse() : txn_high_water_mark(0) {
@@ -4020,27 +4235,37 @@ class GetOpenTxnsResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const GetOpenTxnsResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(GetOpenTxnsResponse &a, GetOpenTxnsResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const GetOpenTxnsResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+typedef struct _OpenTxnRequest__isset {
+  _OpenTxnRequest__isset() : agentInfo(true) {}
+  bool agentInfo :1;
+} _OpenTxnRequest__isset;
 
 class OpenTxnRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "3368C2F81F2FEF71F11EDACDB2A3ECEF";
-  static const uint8_t binary_fingerprint[16]; // = {0x33,0x68,0xC2,0xF8,0x1F,0x2F,0xEF,0x71,0xF1,0x1E,0xDA,0xCD,0xB2,0xA3,0xEC,0xEF};
-
   OpenTxnRequest(const OpenTxnRequest&);
   OpenTxnRequest& operator=(const OpenTxnRequest&);
-  OpenTxnRequest() : num_txns(0), user(), hostname() {
+  OpenTxnRequest() : num_txns(0), user(), hostname(), agentInfo("Unknown") {
   }
 
   virtual ~OpenTxnRequest() throw();
   int32_t num_txns;
   std::string user;
   std::string hostname;
+  std::string agentInfo;
+
+  _OpenTxnRequest__isset __isset;
 
   void __set_num_txns(const int32_t val);
 
@@ -4048,6 +4273,8 @@ class OpenTxnRequest {
 
   void __set_hostname(const std::string& val);
 
+  void __set_agentInfo(const std::string& val);
+
   bool operator == (const OpenTxnRequest & rhs) const
   {
     if (!(num_txns == rhs.num_txns))
@@ -4056,6 +4283,10 @@ class OpenTxnRequest {
       return false;
     if (!(hostname == rhs.hostname))
       return false;
+    if (__isset.agentInfo != rhs.__isset.agentInfo)
+      return false;
+    else if (__isset.agentInfo && !(agentInfo == rhs.agentInfo))
+      return false;
     return true;
   }
   bool operator != (const OpenTxnRequest &rhs) const {
@@ -4067,18 +4298,21 @@ class OpenTxnRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const OpenTxnRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(OpenTxnRequest &a, OpenTxnRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const OpenTxnRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class OpenTxnsResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "E49D7D1A9013CC81CD0F69D631EF82E4";
-  static const uint8_t binary_fingerprint[16]; // = {0xE4,0x9D,0x7D,0x1A,0x90,0x13,0xCC,0x81,0xCD,0x0F,0x69,0xD6,0x31,0xEF,0x82,0xE4};
-
   OpenTxnsResponse(const OpenTxnsResponse&);
   OpenTxnsResponse& operator=(const OpenTxnsResponse&);
   OpenTxnsResponse() {
@@ -4104,18 +4338,21 @@ class OpenTxnsResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const OpenTxnsResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(OpenTxnsResponse &a, OpenTxnsResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const OpenTxnsResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class AbortTxnRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "56A59CE7FFAF82BCA8A19FAACDE4FB75";
-  static const uint8_t binary_fingerprint[16]; // = {0x56,0xA5,0x9C,0xE7,0xFF,0xAF,0x82,0xBC,0xA8,0xA1,0x9F,0xAA,0xCD,0xE4,0xFB,0x75};
-
   AbortTxnRequest(const AbortTxnRequest&);
   AbortTxnRequest& operator=(const AbortTxnRequest&);
   AbortTxnRequest() : txnid(0) {
@@ -4141,18 +4378,21 @@ class AbortTxnRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const AbortTxnRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(AbortTxnRequest &a, AbortTxnRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const AbortTxnRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class CommitTxnRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "56A59CE7FFAF82BCA8A19FAACDE4FB75";
-  static const uint8_t binary_fingerprint[16]; // = {0x56,0xA5,0x9C,0xE7,0xFF,0xAF,0x82,0xBC,0xA8,0xA1,0x9F,0xAA,0xCD,0xE4,0xFB,0x75};
-
   CommitTxnRequest(const CommitTxnRequest&);
   CommitTxnRequest& operator=(const CommitTxnRequest&);
   CommitTxnRequest() : txnid(0) {
@@ -4178,11 +4418,17 @@ class CommitTxnRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const CommitTxnRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(CommitTxnRequest &a, CommitTxnRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const CommitTxnRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _LockComponent__isset {
   _LockComponent__isset() : tablename(false), partitionname(false) {}
   bool tablename :1;
@@ -4192,9 +4438,6 @@ typedef struct _LockComponent__isset {
 class LockComponent {
  public:
 
-  static const char* ascii_fingerprint; // = "38B02531B0840AC9C72904A4649FD15F";
-  static const uint8_t binary_fingerprint[16]; // = {0x38,0xB0,0x25,0x31,0xB0,0x84,0x0A,0xC9,0xC7,0x29,0x04,0xA4,0x64,0x9F,0xD1,0x5F};
-
   LockComponent(const LockComponent&);
   LockComponent& operator=(const LockComponent&);
   LockComponent() : type((LockType::type)0), level((LockLevel::type)0), dbname(), tablename(), partitionname() {
@@ -4246,25 +4489,29 @@ class LockComponent {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const LockComponent& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(LockComponent &a, LockComponent &b);
 
+inline std::ostream& operator<<(std::ostream& out, const LockComponent& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _LockRequest__isset {
-  _LockRequest__isset() : txnid(false) {}
+  _LockRequest__isset() : txnid(false), agentInfo(true) {}
   bool txnid :1;
+  bool agentInfo :1;
 } _LockRequest__isset;
 
 class LockRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "46BC5ED7196BC16CB216AD5CC67C6930";
-  static const uint8_t binary_fingerprint[16]; // = {0x46,0xBC,0x5E,0xD7,0x19,0x6B,0xC1,0x6C,0xB2,0x16,0xAD,0x5C,0xC6,0x7C,0x69,0x30};
-
   LockRequest(const LockRequest&);
   LockRequest& operator=(const LockRequest&);
-  LockRequest() : txnid(0), user(), hostname() {
+  LockRequest() : txnid(0), user(), hostname(), agentInfo("Unknown") {
   }
 
   virtual ~LockRequest() throw();
@@ -4272,6 +4519,7 @@ class LockRequest {
   int64_t txnid;
   std::string user;
   std::string hostname;
+  std::string agentInfo;
 
   _LockRequest__isset __isset;
 
@@ -4283,6 +4531,8 @@ class LockRequest {
 
   void __set_hostname(const std::string& val);
 
+  void __set_agentInfo(const std::string& val);
+
   bool operator == (const LockRequest & rhs) const
   {
     if (!(component == rhs.component))
@@ -4295,6 +4545,10 @@ class LockRequest {
       return false;
     if (!(hostname == rhs.hostname))
       return false;
+    if (__isset.agentInfo != rhs.__isset.agentInfo)
+      return false;
+    else if (__isset.agentInfo && !(agentInfo == rhs.agentInfo))
+      return false;
     return true;
   }
   bool operator != (const LockRequest &rhs) const {
@@ -4306,18 +4560,21 @@ class LockRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const LockRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(LockRequest &a, LockRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const LockRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class LockResponse {
  public:
 
-  static const char* ascii_fingerprint; // = "DFA40D9D2884599F3D1E7A57578F1384";
-  static const uint8_t binary_fingerprint[16]; // = {0xDF,0xA4,0x0D,0x9D,0x28,0x84,0x59,0x9F,0x3D,0x1E,0x7A,0x57,0x57,0x8F,0x13,0x84};
-
   LockResponse(const LockResponse&);
   LockResponse& operator=(const LockResponse&);
   LockResponse() : lockid(0), state((LockState::type)0) {
@@ -4348,32 +4605,56 @@ class LockResponse {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const LockResponse& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(LockResponse &a, LockResponse &b);
 
+inline std::ostream& operator<<(std::ostream& out, const LockResponse& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+typedef struct _CheckLockRequest__isset {
+  _CheckLockRequest__isset() : txnid(false), elapsed_ms(false) {}
+  bool txnid :1;
+  bool elapsed_ms :1;
+} _CheckLockRequest__isset;
 
 class CheckLockRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "56A59CE7FFAF82BCA8A19FAACDE4FB75";
-  static const uint8_t binary_fingerprint[16]; // = {0x56,0xA5,0x9C,0xE7,0xFF,0xAF,0x82,0xBC,0xA8,0xA1,0x9F,0xAA,0xCD,0xE4,0xFB,0x75};
-
   CheckLockRequest(const CheckLockRequest&);
   CheckLockRequest& operator=(const CheckLockRequest&);
-  CheckLockRequest() : lockid(0) {
+  CheckLockRequest() : lockid(0), txnid(0), elapsed_ms(0) {
   }
 
   virtual ~CheckLockRequest() throw();
   int64_t lockid;
+  int64_t txnid;
+  int64_t elapsed_ms;
+
+  _CheckLockRequest__isset __isset;
 
   void __set_lockid(const int64_t val);
 
+  void __set_txnid(const int64_t val);
+
+  void __set_elapsed_ms(const int64_t val);
+
   bool operator == (const CheckLockRequest & rhs) const
   {
     if (!(lockid == rhs.lockid))
       return false;
+    if (__isset.txnid != rhs.__isset.txnid)
+      return false;
+    else if (__isset.txnid && !(txnid == rhs.txnid))
+      return false;
+    if (__isset.elapsed_ms != rhs.__isset.elapsed_ms)
+      return false;
+    else if (__isset.elapsed_ms && !(elapsed_ms == rhs.elapsed_ms))
+      return false;
     return true;
   }
   bool operator != (const CheckLockRequest &rhs) const {
@@ -4385,18 +4666,21 @@ class CheckLockRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const CheckLockRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(CheckLockRequest &a, CheckLockRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const CheckLockRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 
 class UnlockRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "56A59CE7FFAF82BCA8A19FAACDE4FB75";
-  static const uint8_t binary_fingerprint[16]; // = {0x56,0xA5,0x9C,0xE7,0xFF,0xAF,0x82,0xBC,0xA8,0xA1,0x9F,0xAA,0xCD,0xE4,0xFB,0x75};
-
   UnlockRequest(const UnlockRequest&);
   UnlockRequest& operator=(const UnlockRequest&);
   UnlockRequest() : lockid(0) {
@@ -4422,27 +4706,67 @@ class UnlockRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const UnlockRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(UnlockRequest &a, UnlockRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const UnlockRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+typedef struct _ShowLocksRequest__isset {
+  _ShowLocksRequest__isset() : dbname(false), tablename(false), partname(false), isExtended(true) {}
+  bool dbname :1;
+  bool tablename :1;
+  bool partname :1;
+  bool isExtended :1;
+} _ShowLocksRequest__isset;
 
 class ShowLocksRequest {
  public:
 
-  static const char* ascii_fingerprint; // = "99914B932BD37A50B983C5E7C90AE93B";
-  static const uint8_t binary_fingerprint[16]; // = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
-
   ShowLocksRequest(const ShowLocksRequest&);
   ShowLocksRequest& operator=(const ShowLocksRequest&);
-  ShowLocksRequest() {
+  ShowLocksRequest() : dbname(), tablename(), partname(), isExtended(false) {
   }
 
   virtual ~ShowLocksRequest() throw();
+  std::string dbname;
+  std::string tablename;
+  std::string partname;
+  bool isExtended;
+
+  _ShowLocksRequest__isset __isset;
+
+  void __set_dbname(const std::string& val);
+
+  void __set_tablename(const std::string& val);
+
+  void __set_partname(const std::string& val);
 
-  bool operator == (const ShowLocksRequest & /* rhs */) const
+  void __set_isExtended(const bool val);
+
+  bool operator == (const ShowLocksRequest & rhs) const
   {
+    if (__isset.dbname != rhs.__isset.dbname)
+      return false;
+    else if (__isset.dbname && !(dbname == rhs.dbname))
+      return false;
+    if (__isset.tablename != rhs.__isset.tablename)
+      return false;
+    else if (__isset.tablename && !(tablename == rhs.tablename))
+      return false;
+    if (__isset.partname != rhs.__isset.partname)
+      return false;
+    else if (__isset.partname && !(partname == rhs.partname))
+      return false;
+    if (__isset.isExtended != rhs.__isset.isExtended)
+      return false;
+    else if (__isset.isExtended && !(isExtended == rhs.isExtended))
+      return false;
     return true;
   }
   bool operator != (const ShowLocksRequest &rhs) const {
@@ -4454,28 +4778,36 @@ class ShowLocksRequest {
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
-  friend std::ostream& operator<<(std::ostream& out, const ShowLocksRequest& obj);
+  virtual void printTo(std::ostream& out) const;
 };
 
 void swap(ShowLocksRequest &a, ShowLocksRequest &b);
 
+inline std::ostream& operator<<(std::ostream& out, const ShowLocksRequest& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _ShowLocksResponseElement__isset {
-  _ShowLocksResponseElement__isset() : tablename(false), partname(false), txnid(false), acquiredat(false) {}
+  _ShowLocksResponseElement__isset() : tablename(false), partname(false), txnid(false), acquiredat(false), heartbeatCount(true), agentInfo(false), blockedByExtId(false), blockedByIntId(false), lockIdInternal(false) {}
   bool tablename :1;
   bool partname :1;
   bool txnid :1;
   bool acquiredat :1;
+  bool heartbeatCount :1;
+  bool agentInfo :1;
+  bool blockedByExtId :1;
+  bool blockedByIntId :1;
+  bool lockIdInternal :1;
 } _ShowLocksResponseElement__isset;
 
 class ShowLocksResponseElement {
  public:
 
-  static const char* ascii_fingerprint; // = "5AD11F0E0EF1EE0A7C08B00FEFCFF24F";
-  static const uint8_t binary_fingerprint[16]; // = {0x5A,0xD1,0x1F,0x0E,0x0E,0xF1,0xEE,0x0A,0x7C,0x08,0xB0,0x0F,0xEF,0xCF,0xF2,0x4F};
-
   ShowLocksResponseElement(const ShowLocksResponseElement&);
   ShowLocksResponseElement& operator=(const ShowLocksResponseElement&);
-  ShowLocksResponseElement() : lockid(0), dbname(), tablename(), partname(), state((LockState::type)0), type((LockType::type)0), txnid(0), lastheartbeat(0), acquiredat(0), user(), hostname() {
+  ShowLocksResponseElement() : lockid(0), dbname(), tablename(), partname(), state((LockState::type)0), type((LockType::type)0), txnid(0), lastheartbeat(0), acquiredat(0), user(), hostname(), heartbeatCount(0), agentInfo(), blockedByExtId(0), blockedByIntId(0), lockIdInternal(0) {
   }
 
   virtual ~ShowLocksResponseElement() throw();
@@ -4490,6 +4822,11 @@ class ShowLocksResponseElement {
   int64_t acquiredat;
   std::string user;
   std::string hostname;
+  int32_t heartbeatCount;
+  std::string agentInfo;
+  int64_t blockedByExtId;
+  int64_t blockedByIntId;
+  int64_t lockIdInternal;
 
   _ShowLocksResponseElement__isset __isset;
 
@@ -4515,6 +4852,16 @@ class ShowLocksResponseElement {
 
   void __set_hostname(const std::string& val);
 
+  void __set_heartbeatCount(const int32_t val);
+
+  void __set_agentInfo(const std::string& val);
+
+  void __set_blockedByExtId(const int64_t val);
+
+  void __set_blockedByIntId(const int64_t val);
+
+  void __set_lockIdInternal(const int64_t val);
+
   bool operator == (const ShowLocksResponseElement & rhs) const
   {
     if (!(lockid == rhs.lockid))
@@ -4547,6 +4894,26 @@ class ShowLocksResponseElement {
       return false;
     if (!(hostname == rhs.hostname))
       return false;
+    if (__isset.heartbeatCount != rhs.__isset.heartbeatCount)
+      return false;
+    else if (__isset.heartbeatCount && !(heartbeatCount == rhs.heartbeatCount))
+      return false;
+    if (__isset.agentInfo != rhs.__isset.agentInfo)
+      return false;
+    else if (__isset.agentInfo && !(agentInfo == rhs.agentInfo))
+      return false;
+    if (__isset.blockedByExtId != rhs.__isset.blockedByExtId)
+      return false;
+    else if (__isset.blockedByExtId && !(blockedByExtId == 

<TRUNCATED>